鈦媒體註:本文來自於微信公眾號淺黑科技(ID: qianheikeji),作者為木子Yanni,鈦媒體經授權發布。
比「改編自真實事件」更震撼的,是直接站在真實面前。
前段時間,一位叫做大谷的 90 後北京小夥兒,無意中看到了一段拍攝於 1920 年左右的珍貴影像視頻,他靈光一閃,藉助科技的力量,用人工智慧對視頻進行了修復,讓我們有幸目睹了 100 年前北京城真實的煙火氣。
街道上,行人、車馬交錯而行,《駱駝祥子》裡的黃包車穿梭而過;如今要深入沙漠才尋得到的駱駝,正馱著貨物穩步走在大街上;小小的院兒門口,有催促孩童的動,也有挑擔賣貨的靜,甚至在 30 秒內,就上演了三種不同的問候方式;與現在不同,那時街上悠然閒逛的大多都是男性;一個轉頭,還能瞅見街邊興致盎然接力逗狗的老哥。
三種問候 ,截圖來源於YouTube:人民日報
沒想到,時隔月餘,大谷的「老北京 Vlog」第二彈又來了。
這一次修復的視頻,拍攝於 1928 年前後,與第一彈視頻僅相隔 10 年,卻能明顯看到變化:十年前,人們在街頭看到攝像機時,或盯住幾秒鐘後倉皇逃開,或原地看呆逐漸石化,或因好奇而一步三回頭,想看又不敢看。
眾人驚呆相,截圖來源於YouTube:人民日報
十年後,在小院兒裡剃頭的隨便一位路人小夥兒,都能神態自若的對著鏡頭,瀟灑的拍拍自己剛剃好的頭,用地道的老北京話反覆念叨著:「不錯、剃挺好,不錯、剃挺好...」
「不錯,剃挺好」,截圖來源於B站:大谷的遊戲創作小屋
街邊一擁而上打午飯的孩子們,眼睛盯著攝像頭,等著端飯的手卻絲毫沒受影響:吃飯最重要,害怕?不存在的。
「我也要、我也要」,截圖來源於B站:大谷的遊戲創作小屋
你再瞧這個舔碗的靚仔,是不是跟你小時候如出一轍?
「真香,還想要...」截圖來源於B站:大谷的遊戲創作小屋
此外,視頻中還有摩肩接踵的集市、街頭的民俗樂隊等場景,一個熟悉又陌生的年代,瞬間躍然於眼前。
古人不見今時月,今月曾經照古人。
你站在街上歪頭瞅攝像機,我在 100 年後隔著屏幕看你。視頻中的他們,見證了歷史,而我們正在回望,如果要說遺憾,大概是模糊的畫面,遍布歷史劃痕;黑白的色調,失了時代本色。
於是,大谷利用人工智慧,從三個方面對視頻進行了修復。值得一提的是,第一彈視頻中的聲音,是用素材後期配的,而這一次的修復,全部都是時代原聲,有興趣的話,各位可以去看完整版視頻(比如 B 站搜索「大谷的遊戲創作小屋」)。
接下來,我們一起來看看,當你在看修復版視頻的時候,視頻到底修復了些什麼。
(一)頓頓頓頓頓
如果你看過早期的影視作品,比如 83 版射鵰、86 版西遊記、94 版三國,大概率會有這樣的感受:明顯看到畫面在跳動,仿佛攝影師得了帕金森一般。
為什麼會這樣呢?
我們需要先弄清楚一個問題:當你在看視頻時,你看的到底是什麼?劇情、演技,還是中間插播的廣告?都不是。
其實是一連串圖片。
我們現在看到的電影,絕大多數都是 24 幀,意思是每秒由 24 張圖片組成。電影在播放時,24 幀既能保證你看到的畫面是流暢的,也能恰到好處地繼承優良傳統:最初,電影拍攝離不開膠捲,雖然幀數越多,細節表現就越好,但每一幀都是錢啊,經過認(扣)真(門)對比,優秀的電影人發現,24 幀是性價比最高的選擇,既不會浪費膠捲,畫面的流暢度也能達標。儘管如今已經是數碼時代,但 24 幀的傳統依然保留了下來。
如此看來,老舊視頻卡頓的問題就有答案了,因為幀數不夠。剛才有提到,要想畫面流暢,每秒就不能少於 24 幀,而老電影是低於這個數字的,比如大谷修復的那部 100 年前「老北京 Vlog」,幀數都在 10 以下,用我們已經嬌生慣養出的好萊塢大片觀感來審視,只能是囫圇吞水,「頓頓頓頓頓」。
幀數不夠,補幀來救。但要清楚一點:因為補出的幀,原本是不存在的,所以補幀需要依靠想像力。
傳統的補幀方法主要有三種:幀採樣、幀混合,以及光流法。看到這兒,有句話恐怕要應驗了:專有名詞一出現,吃瓜群眾走一半。其實,Duck 不必,我們逐一來看。
第一種,幀採樣。是指把前一幀複製到後一幀,簡單來說就是 112233。
第二種,幀混合。是指在前後兩幀中間合成一個新的幀,同時調整新合成幀的透明度,做出畫面過渡的感覺,也就是1、1.5、2、2.5、3。
第三種,光流法。什麼是光流呢?當一隻蝴蝶從你眼前飛過,蝴蝶的移動軌跡會在你的視網膜上形成一連串變化的圖像,仿佛光在流動,於是,你就看到了蝴蝶的飛舞路線。換句話說,光流有記錄物體位置移動信息的能力。光流法補幀,就可以簡單理解為,找到物體在相鄰兩幀之間的位移,在位移中補出中間幀。
舉個慄子,我們看下面這張圖,假設物體在幀 1 中的位置是 1,在幀 2 中的位置是 3,在幀 3 中的位置是 5,那麼,根據光流確定相鄰兩幀中物體的位移情況,就能在 1 和 3 中補出 2,在 3 和 5 中補出 4,這樣一來,原本 3 幀的視頻就補成了 5 幀,看起來,物體的運動就會流暢很多。
運動物體的光流
以上這三種補幀方法,在物體處於平移狀態的時候,效果比較好,但是,如果物體處於旋轉跳躍不停歇的狀態下,效果就要大打折扣了。比如一隻正在跳旋轉舞的小熊,上一幀你還只能看到臀部,下一幀它的小短尾巴就出現了,像這種上一幀沒有、下一幀突然出現的情況,傳統的補幀方法就不太好用了。
另外,在補幀的時候,還有一種非常難處理、但又非常常見的情況,就是有其他物體亂入,導致目標物體被遮擋。
比如你在海邊想給女朋友拍一段衝浪的視頻,但海裡都是人,不停有人擋在你女朋友面前,這種情況下,如果你後期想把視頻從 24 幀補到 30 幀,就非常難,你想,軟體正在專心腦補你女朋友的衝浪動作,一位路人甲突然出現,把軟體的預測給打斷了,畫面就會出現一種情況:疊影。
疊影大概就是這樣,你感受一下
針對這種複雜場景下的補幀,AI 的優勢就顯現出來了。
在修復 100 年前的「老北京 Vlog」時,大谷用到的 AI 工具是 DAIN (Depth-Aware Video Frame Interpolation),中文名叫做「深度感知視頻幀插值」,這是一個開源的人工智慧補幀軟體。它的優秀之處在於兼顧了光流和深度,不但能準確追蹤物體的位置移動,還能檢測到物體遮擋。光流剛剛已經講過了,這裡再來說說物體遮擋檢測。
DAIN 的架構圖
你眼中的視頻是平面的沒錯,但視頻中的世界卻是立體的。DAIN 利用算法,可以猜測出每一幀中不同物體的深度信息,根據深度的不同,AI 就能知道是誰遮住了誰,接下來,根據「遮擋物近、被遮擋物遠」的原則,就能較為精準地確定畫面中物體的邊緣輪廓,避免出現疊影,從而產生更好的補幀效果。
深度圖中,不同顏色代表不同深度值
(二)糊糊糊糊糊
對於視頻來說,畫面流暢遠遠不夠,清晰也很重要。
如果畫面很朦朧,你連主演的表情都看不真切,就不能揪著 Ta 的演技口吐芬芳,從而失去一個閒談時的八卦談資,進而你會質疑當下的視頻製作水平,你的不信任就會阻礙視頻行業的健康發展,為了這一切不會發生,畫面必須要清楚。
提到清晰度,你肯定會想到 480P、720P、1080P、2K、4K,那麼問題來了,怎麼才能把 480P 的視頻提升到 720P 呢?重拍。
除了重拍呢?那就是超解析度重建。
超解析度,意思是用硬體或軟體提高原圖的解析度,這個處理過程,就叫做超解析度重建。
超解析度重建技術可以分為兩種,一種是多合一,多張低解析度圖片合成一張高解析度圖片,另一種是單重建,用單張低解析度圖片恢復一張高解析度圖片。大谷在修復 100 年前的「老北京 Vlog」 時,用的擴增解析度工具 ESRGAN,就屬於後者。
ESRGAN 全稱叫做「增強型超解析度生成對抗網絡」,是由 SRGAN (超解析度生成對抗網絡) 升級而來,它們都是基於生成對抗網絡的超解析度方案。
生成對抗網絡 (Gan) 可以看做是兩個小人在博弈,一個小人叫做生成模型,另一個小人叫做判別模型,生成模型小人的任務是以假亂真,用超解析度技術造出可媲美原圖的照片,而判別模型小人的任務則是明辨真假,判斷眼前的照片究竟是原圖還是對手生成的,兩個小人在長期的鬥智鬥勇中,水平越來越高,基於這個模型訓練出來的 AI,就能夠越來越精確的重建出高解析度圖片。
ESRGAN 不僅繼承了前身 SRGAN 優良的全局把控力,而且通過調整算法,彌補了之前的短板:容易丟失細節。如此重建出來的圖片,與原圖相差無幾。
從下圖中可以明顯看出,用 ESRGAN 重建的照片,細節 (鬍鬚) 呈現的更好。
SRGAN、ESRGAN 還原效果與實際畫面的對比
但不得不說,有時候,「畫至清、則有瑕」,畫質太過清晰,也難免會把「瑕疵」推到觀眾眼前,這一點在老電影修復的過程中,就常常會發生。比如在《亮劍》修復版中,就出現了無比醒目的穿幫鏡頭:
截圖來源於《亮劍》修復版
所以,在此友情提示:觀影重在沉浸感,你可以專注於看劇情、看演員、看特效,別的就算了,能過就過,千萬別較真,比如我就根本沒有注意到某部電影中精良的化妝技術。
截圖來自於某部忘了名字的電影
(三)給黑白加彩
1839 年,法國畫家達蓋爾成功做出了世界上第一臺照相機,人們驚奇的看著這個奇怪的木匣子,興奮又忐忑地圍觀著這門獨一無二的「新藝術」。然而,當照片呈現在眼前,人們的興奮卻變成了失望。
照片,記錄下了每一個精緻的細節,可是顏色去哪兒了呢?
本著「顧客就是上帝,上帝不能失望」的商業準則,一場聲勢浩大的色彩捕捉行動開始了。科學家、攝影師、藝術家都參與其中,拼命想找出能讓照片顯示出色彩的辦法,然而一圈下來,毫無進展。
情急之下,一個替代方案誕生了:上色。
值得一提的是,絕大多數情況下,攝影師和上色技師並不是同一個人,最後的呈現效果,極大依賴於技師的理解和審美。所以你瞧,照片上色這個事兒,從一開始就屬於二次主觀創作。
照片上色主要經歷了三個階段,首先是彩色膠捲問世之前,當時的照片上色純靠手工,也就是畫。鴉片戰爭打開了中國國門,讓攝影技術進入了人們的視線,也催熟了國內的照片上色行業,甚至在新中國成立之後,還專門舉辦了上色技師評比大賽,大家說好,才是真的好。
上世紀30年代,明星周璇17歲時的手工上色照片
手工上色從工藝上來看,分為水色和油色兩種,水色就是水彩類顏料,優點是畫面通透,油色則是油性顏料,優點是保存持久。相比之下,油色更受歡迎。
上色不是直接用筆在照片上畫,需要先給照片褪色:先用鐵氰化鉀,把照片上的黑色變成白色;再用硫化鈉,把照片整體調成棕色;接下來,就可以在這張棕色的「畫布」上進行填色了。
1935 年,柯達克羅姆彩色膠捲問世,彩色攝影成了主旋律,照片上色也走進了第二個階段:數碼調色。工具就是各位熟知的 Photoshop (PS),可謂是「PS 在手,萬物皆可彩色」,不變的,依然是二次主觀創作的屬性。
時間再往後走,照片上色來到了第三個階段:AI 填色。
人工智慧本不認識顏色,看的多了,也就會猜了。修復 100 年前的「老北京 Vlog」時,大谷用的 AI 上色工具叫做 DeOldify,是由一位美國小哥首發在 Twitter 上的開源軟體,我們先來看幾個它過往的作品。
DeOldify 的工作步驟大概是這樣:對照片進行圖像分割,識別出圖像中的所有元素,接下來,學習大量包含這些元素的數據集,填鴨式記憶物體的常規顏色,比如海洋藍、樹木綠,最後,學以致用,給黑白照片填充上合理的顏色。
如果給人工智慧一個完美的數據集,它恐怕能給靈魂塗上顏色。
起初,DeOldify 只被用來做照片上色,鑑於它出色的表現,才開始讓它為老電影上色,從效果來看,依然驚豔,正如在「老北京 Vlog」中的表現一樣,DeOldify 帶我們穿越歷史,跳出曾經無數次背誦過的歷史考點,隔著百年時光,感受屬於小人物的平凡和精彩。
Jason Antic藉助DeOldify 為1936年的老電影上色
而在第二彈視頻中,大谷使用了 AI 新技術 DeepRemaster,在全局表現效果來看,更加優於 DeOldify,這就是 AI 後浪的力量。
不過,從實際效果來看,驚豔中仍有遺憾,比如視頻中的上色不是 100% 精確的,因為人工智慧學習使用的數據集,還不能涵蓋這一歷史時期的所有色彩樣本,所以只能說,這種上色效果是合乎常理的,是人工智慧基於現實所帶來的浪漫復現:給不了你真實,只能給你一種真實的可能性。
突然想起一句話:我們所謂的故鄉,不過是祖先流浪的最後一站。
回望視頻中的這些人,他們一生經歷了些什麼,我們不得而知,但在 AI 的修復下,時光突然被摺疊,我們有幸得以瞥見他們人生中的一瞬真實,已經是科技最好的饋贈了。
是路人,也該好好路過。