視頻也能P!谷歌CVPR 2021最新視頻P圖模型omnimatte

點擊下方AI算法與圖像處理”,一起進步!

重磅乾貨,第一時間送達

來源:Google AI 、新智元

【導讀】你是否還在受視頻P圖不能分割主體的苦?是否還在被人說P圖不真實,影子都沒有?谷歌在CVPR 2021發佈的omnimatte將徹底解決你的煩惱,只需一鍵操作,視頻立刻分爲背景和前景主體,影子水花都能摳,多個蒙版,視頻想怎麼P就怎麼P!

圖像和視頻編輯操作通常依賴於 精確的 蒙版(matte) 操作 ,即分離前景和背景並能夠合成圖像。
 
雖然最新的計算機視覺技術可以爲自然圖像和視頻生成高質量的蒙版,允許合成景深、編輯和合成圖像,或者從圖像中移除背景等應用場景。
 
 
最基本的核心邏輯目前CV技術仍無法做到:也就是被遮蓋或添加的物體可能在新圖像中有新的場景效果,例如陰影、鏡面反射或煙霧,這些通常都沒有被添加到合成圖像中。
 
這也是PS圖片合成和鑑別中特別需要注意的,不然就會被人說P圖太假了。
 
Google在CVPR 2021上發表了一篇文章,主要描述了一種新的蒙版生成方法omnimatte,能夠利用分層神經渲染技術(layered neural rendering)將視頻分層,能夠把包括主體在內的所有環境交互的效果都給提取出來。
 
https://ai.googleblog.com/2021/08/introducing-omnimattes-new-approach-to.html

一般的分割模型只能夠提取場景中的主體的mask,例如,一個人和一條狗,但Google提出的方法可以分離和提取與主體相關的其他細節,包括投射在地面上的陰影。
 
 
與分割遮罩(segmentation masks)不同的是,omnimatte能夠捕捉部分透明的柔和效果,比如反射、飛濺或輪胎煙霧。與傳統蒙版一樣,omnimatte是 RGBA 圖像,包括一個alpha 通道。
 
omnimatte可以在大部分圖像或視頻編輯工具進行操作,並且可以在任何使用傳統蒙版的地方使用,例如,將文本插入視頻中的煙跡下,效果真是牛。
 
爲了生成omnimatte,首先將輸入的視頻分成一組層: 每一個層用於一個移動的主體或是用於靜止的背景物體。例如下圖中可以看到,有一個圖層用於人,一個圖層用於狗,還有一個圖層用於背景,當合並在一起使用傳統的阿爾法混合方法,這些層可以重新合成這個輸入視頻。
 
 
除了能夠重新合成視頻,層分解必須能夠在每一層捕獲正確的效果。例如,如果人的陰影出現在狗的圖層中,合併後的圖層雖然仍然能夠重新合成輸入視頻,但是在人和狗之間插入一個額外的元素會產生一個明顯的錯誤。
 
所以這個難點在於找到一個分解的地方,其中每個主體的層只捕捉主體的效果,從而才能產生一個真正的omnimatte。
 
解決方案是應用Google 先前開發的分層神經渲染方法來訓練一個卷積神經網絡分割模板來將主體的分割遮罩和背景噪聲圖像映射到一個omnimatte圖像中。
 
由於 CNN 的結構,它們很自然地傾向於學習圖像效果之間的相關性,而且效果之間的相關性越強,CNN 就越容易學習。
 
例如在上面的視頻中,人和他們的影子之間的空間關係,以及狗和它的影子之間的空間關係,在他們從右向左走的過程中保持相似。人和狗的影子或者狗和人的影子之間的關係變化更大(因此,相關性更弱)。CNN 首先學習更強的相關性,然後才能正確地分解層。
 
在預處理中,用戶選擇主體併爲每個主體指定一個層。使用現成的分割網絡(如 MaskRCNN)提取每個主體的分割遮罩,並使用標準的攝像機穩定工具找到相對於背景的攝像機轉換。
 
在背景參考幀中定義隨機噪聲圖像,並利用攝像機變換進行採樣,生成每幀噪聲圖像。噪聲圖像提供是隨機但一致的圖像特徵,隨着時間的推移,能夠爲 CNN 學習重建背景顏色提供一個自然的輸入。
 
渲染的 CNN 採用分割遮罩和每幀噪聲圖像作爲輸入,生成 RGB 彩色圖像和 alpha 圖像,用來捕獲每一層的透明度。這些輸出通過傳統的 alpha 混合來產生輸出幀。
 
CNN 從隨機初始化權重開始訓練,通過尋找並關聯蒙版中未捕捉到的效果(例如陰影、反射或煙霧)與給定的前景層來重建輸入幀,並確保主體的 alpha 大致包括分割蒙版。爲了確保前景層只捕獲前景元素而不捕獲靜止背景元素,在前景層 alpha 上也應用了稀疏損失(sparsity loss)。
 
 
並且還需要爲每個視頻訓練一個新的渲染網絡。由於網絡只需要重建單一的輸入視頻,除了分離每個主體的影響,它還能夠捕捉精細結構和快速運動。例如在步行的圖片中,omnimatte能夠捕獲包括投射在公園長椅板條上的影子。
 
 
在網球的例子,網球的的小陰影,甚至網球都能夠被捕獲。
 
 
在足球的例子中,運動員和球的陰影被分解爲合適的層,但是當運動員的腳被球擋住時有一個小的錯誤。
 
 
這個基本模型已經能夠運行的非常666了,但是還可以通過增加 CNN 的輸入來改進結果,例如增加額外的緩衝區,如光流或紋理座標等。
 
omnimate的應用場景也很多,例如可以刪除指定的主體,只需從合成中刪除他們的層,也可以複製某個物體,也只需要在合成中複製它們的圖層即可。
 
下圖演示瞭如何刪除和複製主體,視頻已經被分解爲一個omnimatte,並且馬被複制了幾次以產生頻閃攝影效果,並且可以看到馬投射在地面和障礙物上的陰影能夠被正確捕捉。
 
 
一個更強大的應用場景是重新計時(retime)這個主體。時間操縱在電影中被廣泛使用,但是通常需要爲每個主體單獨拍攝,並且有一個可控制的拍攝環境。
 
通過對omnimatte的分解,僅僅通過獨立地改變每一層的播放速率,就可以使日常視頻產生重定時效果。
 
由於omnimatte是標準的 RGBA 圖像,這種重新定時編輯可以使用傳統的視頻編輯軟件。
 
例如下面的三個主體被分解爲三個層,通過簡單地調整圖層的回放速度,這些小孩兒最初的不同步的跳躍就能對齊,並且從水花的濺落和反射中也看不出修改的痕跡。
 
 
最後依然是道德性的說明,Google 提醒研究人員應該意識到即使是簡單的重新排列也能顯著改變視頻的效果,並且研究人員應該對任何操作圖像的技術的可能應用場景負責,因爲它可能被濫用來產生虛假和誤導性的信息。
 
omnimate目前的工作也還有改進空間,例如它要求相機的位置是固定的,並且系統只支持可以被建模爲全景的背景。當攝像機位置移動時,全景模型不能準確捕捉整個背景,一些背景元素可能會打亂前景層的提取。
 
如果要處理通用的相機運動,如走過一個房間或街道,則需要一個3 d 背景模型。在運動物體和運動效果下重建三維場景仍然是一個困難的研究挑戰。
 
並且理論上CNN學習相關性的能力是強大的,但仍然不可解釋,某些應該能分解出來的層卻無法分解,雖然現在能夠人工編輯抽取,但最好的方法還是好好解決CNN的問題,提升模型。



參考資料:

https://ai.googleblog.com/2021/08/introducing-omnimattes-new-approach-to.html

努力分享優質的計算機視覺相關內容,歡迎關注:

交流羣


歡迎加入公衆號讀者羣一起和同行交流,目前有美顏、三維視覺計算攝影、檢測、分割、識別、醫學影像、GAN算法競賽等微信羣


     
        
        
        
個人微信(如果沒有備註不拉羣!
請註明: 地區+學校/企業+研究方向+暱稱



下載1:何愷明頂會分享


AI算法與圖像處理」公衆號後臺回覆:何愷明,即可下載。總共有6份PDF,涉及 ResNet、Mask RCNN等經典工作的總結分析


下載2:終身受益的編程指南:Google編程風格指南


AI算法與圖像處理」公衆號後臺回覆:c++,即可下載。歷經十年考驗,最權威的編程規範!



   
      
      
      
下載3 CVPR2021

AI算法與圖像處公衆號後臺回覆: CVPR 即可下載1467篇CVPR 2020論文 和 CVPR 2021 最新論文




本文分享自微信公衆號 - AI算法與圖像處理(AI_study)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章