谷歌最新視頻摳圖術:影子煙霧都能摳,添加水印更順滑
本文經(jīng)AI新媒體量子位(公眾號ID:QbitAI)授權轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。
如何更順滑的添加水???
谷歌的這項新技術,讓文本簡直就像貼在地面上,哪怕是在沙塵橫飛的場景里。

方法也很簡單。
只需輸入一段視頻,和指定對象的粗略蒙版。

那這個對象的所有相關場景元素,都能解鎖!
比如人和狗的影子。

還有黑天鵝緩緩拂過的漣漪~

以及上述那個賽車疾馳過后激起的沙塵。
不管是任意對象和主體,不論怎么移動,所有元素都能摳出來。
這就是谷歌最新的視頻分層技術——omnimatte,入選CVPR 2021 Oral。
目前這項技術都已開源。
如何實現(xiàn)
計算機視覺在分割圖像或視頻中的對象方面越來越有效,然而與對象相關的場景效果。
比如陰影、反射、產(chǎn)生的煙霧等場景效果常常被忽略。
而識別這些場景效果,對提高AI的視覺理解很重要,那谷歌這項新技術又是如何實現(xiàn)的呢?
簡單來說,用分層神經(jīng)網(wǎng)絡渲染方法自監(jiān)督訓練CNN,來將主體與背景圖像分割開來。
由于CNN的特有結(jié)構(gòu),會有傾向性地學習圖像效果之間的相關性,且相關性卻強,CNN越容易學習。

輸入一段有移動物體的視頻,以及一個或者多個標記主體的粗略分割蒙版。
首先,使用現(xiàn)成的分割網(wǎng)絡比如Mask RCNN,來講這些主體分成多個遮罩層和背景噪聲圖層,并按照某種規(guī)則進行排序。
比如,在一個騎手、一輛自行車以及幾個路人的場景中,就會把騎手和自行車歸入一個層,把人群歸入第二層。
omnimatte模型是一個二維UNet,逐幀處理視頻。每一幀都用現(xiàn)成的技術來計算物體掩碼,來標記運動中的主體,并尋找和關聯(lián)蒙版中未捕捉到的效果,比如陰影、反射或者煙霧,重建輸入幀。
為了保證其他靜止的背景元素不被捕獲,研究人員引入了稀疏損失。
此外,還計算了視頻中每一幀和連續(xù)幀之間的密集光流場,為網(wǎng)絡提供與該層對象相關的流信息。
最終生成Alpha圖像(不透明度圖)和RGBA彩色圖像,尤其RGBA圖像,簡直可以說是視頻/圖像剪輯法寶!

目前這一技術已經(jīng)開源,配置環(huán)境如下:
- Linux
- Python 3.6+
- NVIDIA GPU + CUDA CuDNN
有什么用途
技術效果如此,那有什么樣的用途呢?
首先就可以復制或者刪除圖像。

還有順滑地切換背景。

還可以實現(xiàn)這一經(jīng)典操作,讓原本依次掉水的小孩一起入水~
背后的團隊
最后再來說一下背后的團隊。

這項研究由谷歌研究院、牛津大學以及魏茨曼科學研究所共同完成。
其中,論文一作是牛津大學四年級博士生Erika Lu,曾是谷歌實習生,在麻省理工學院獲得了計算機科學與工程學士學位。
論文鏈接:
https://arxiv.org/pdf/2105.06993.pdf