谷歌最新視訊摳圖術:影子煙霧都能摳,新增水印更順滑,還開源
如何更順滑的新增水印?
谷歌的這項新技術,讓文字簡直就像貼在地面上,哪怕是在沙塵橫飛的場景裡。
方法也很簡單。
只需輸入一段視訊,和指定物件的粗略蒙版。
那這個物件的所有相關場景元素,都能解鎖!
比如人和狗的影子。
還有黑天鵝緩緩拂過的漣漪~
以及上述那個賽車疾馳過後激起的沙塵。
不管是任意物件和主體,不論怎麼移動,所有元素都能摳出來。
這就是谷歌最新的視訊分層技術 ——omnimatte,入選 CVPR 2021 Oral。
目前這項技術已開源。
如何實現
計算機視覺在分割影象或視訊中的物件方面越來越有效,然而與物件相關的場景效果。
比如陰影、反射、產生的煙霧等場景效果常常被忽略。
而識別這些場景效果,對提高 AI 的視覺理解很重要,那谷歌這項新技術又是如何實現的呢?
簡單來說,用分層神經網路渲染方法自監督訓練 CNN,來將主體與背景影象分割開來。
由於 CNN 的特有結構,會有傾向性地學習影象效果之間的相關性,且相關性卻強,CNN 越容易學習。
輸入一段有移動物體的視訊,以及一個或者多個標記主體的粗略分割蒙版。
首先,使用現成的分割網路比如 Mask RCNN,來講這些主體分成多個遮罩層和背景噪聲圖層,並按照某種規則進行排序。
比如,在一個騎手、一輛自行車以及幾個路人的場景中,就會把騎手和自行車歸入一個層,把人群歸入第二層。
omnimatte 模型是一個二維 UNet,逐幀處理視訊。每一幀都用現成的技術來計算物體掩碼,來標記運動中的主體,並尋找和關聯蒙版中未捕捉到的效果,比如陰影、反射或者煙霧,重建輸入幀。
為了保證其他靜止的背景元素不被捕獲,研究人員引入了稀疏損失。
此外,還計算了視訊中每一幀和連續幀之間的密集光流場,為網路提供與該層物件相關的流資訊。
最終生成 Alpha 影象(不透明度圖)和 RGBA 彩色影象,尤其 RGBA 影象,簡直可以說是視訊/影象剪輯法寶!
目前這一技術已經開源,配置環境如下:
Linux
Python 3.6+
英偉達 GPU + CUDA CuDNN
有什麼用途
技術效果如此,那有什麼樣的用途呢?
首先就可以複製或者刪除影象。
還有順滑地切換背景。
還可以實現這一經典操作,讓原本依次掉水的小孩一起入水~
背後的團隊
最後再來說一下背後的團隊。
這項研究由谷歌研究院、牛津大學以及魏茨曼科學研究所共同完成。
其中,論文一作是牛津大學四年級博士生 Erika Lu,曾是谷歌實習生,在麻省理工學院獲得了電腦科學與工程學士學位。
論文連結: