綠幕通通扔掉 ੧ᐛ੭ | 谷歌AI實時「摳」背景

量子位發表於2018-03-02
原作 Valentin Bazarevsky & Andrei Tkachenka
Root 編譯自 Google Research Blog
量子位 報導 | 公眾號 QbitAI

大場面的科幻動作片,拍攝過程肯定離不開綠幕。

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

製作過程更加磨人。

摳綠+後期要做到完美(空間位置關係、光影關係),不僅要求細心,還得堆大量時間。

為了讓影視製作簡單點,谷歌研發出了可以在手機端就實時摳背景的工具(暫時沒名兒)

這個實時摳背景的工具目前只出到Beta版,只在YouTube移動端上有。

640?wx_fmt=jpeg640?wx_fmt=jpeg640?wx_fmt=jpeg

 谷歌小哥哥戲精附體(´• ᵕ •`)*

這個技術,是用CNN(卷積神經網路)實現的。

這個神經網路框架,專為移動端設計。所以,在構建和訓練的過程中,谷歌給自己定了一些原則:

  • 移動端的解決方案一定要足夠輕量,跑起來至少要比現有的最厲害的摳圖模型快個十倍,要30倍就更理想了;

  • 為了最好的實時呈現效果,這個模型出的片必須達到30FPS(幀/秒)。

這個摳背景的模型,幀數的處理得很講究。

幀數不能太多,不然費算力,也無法及時出圖;但也不能太少,否則看起來卡頓。

資料集

為了訓練這個模型,谷歌標註了成千上萬個影像。

前景標出頭髮、眉毛、皮膚、眼鏡、鼻孔、嘴脣等。

640?wx_fmt=png

神經網路的輸入

谷歌的分離模型,是通過RGB通道計算出視訊源每幀的前景。

關鍵摳出來的前景前後兩幀之間要連貫。

現在的方法是用LSTM和GRU,對算力要求太高了,要用在移動端實時出片上不太現實。

LSTM,長短期記憶演算法,是一種時間遞迴神經網路。GRU,門控迴圈單元。

LSTM搭GRU,可以通過門控機制使迴圈神經網路,做到記憶過去的資訊,同時還能選擇性地忘記一些不重要的資訊而對長時間跨度的資訊的前後關係進行建模。

谷歌想到的解決辦法是,把上一幀已經算出來的蒙版(擋住背景用的)當作下一幀的第四個通道的資訊。這樣,就能節省算力,拿到的片子視覺上還滿足連貫介個要求。

640?wx_fmt=jpeg

 訓練流程:原始幀(左);被分離成三個通道加上一幀的蒙版通道(中);根據這四個通道資訊預測出這一幀的蒙版(右)

視訊裡摳背景,如果鏡頭裡前景物體劇變,比方說突然多了個人,前後幀的去背景效果就不連續了。

為了避免這個問題,保持視訊的流暢性,谷歌稍微改了一下標註的規則:

  • 訓練模型先空杯(不把上一幀的蒙版當成已知的資訊),判斷出新闖進來的物體;

  • 然後定義新進入物體以外的背景蒙版,小改動的話就調整上幀蒙版,大改動的話就拋棄上幀蒙版;

  • 對當前幀做羽化處理,優化摳圖後的毛邊,模仿鏡頭在快速移動或旋轉時候的情境。

640?wx_fmt=jpeg

 小姐姐在試實時的摳圖效果

經過調整,谷歌訓練的模型表現炒雞好,在iPhone7上能實時出100多FPS的片,谷歌的Pixel2出40多FPS的高清片。

拿YouTube上stories頻道上的片試了試,摳背景效果都很流暢。摳圖效果也很棒棒,在驗證資料集上實現了94.8%的IOU(交疊率,在這裡就是摳背景效果貼不貼合)。

谷歌短期內想實現的目標是,用YouTube上stories頻道上的片子來測試優化這個摳背景技術。最後能成熟地用於未來的AR服務上。

最後,附編譯來源,
https://research.googleblog.com/2018/03/mobile-real-time-video-segmentation.html

你可能還感興趣:

MaskGAN:谷歌大腦讓AI學做完形填空

谷歌大腦提速1000倍的神經架構搜尋新方法

谷歌AI“你畫我猜”強推“狗年版本”

加入社群

量子位AI社群13群開始招募啦,歡迎對AI感興趣的同學,加小助手微信qbitbot5入群;


此外,量子位專業細分群(自動駕駛、CV、NLP、機器學習等)正在招募,面向正在從事相關領域的工程師及研究人員。


進群請加小助手微訊號qbitbot5,並務必備註相應群的關鍵詞~通過稽核後我們將邀請進群。(專業群稽核較嚴,敬請諒解)

誠摯招聘

量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話介面,回覆“招聘”兩個字。

640?wx_fmt=jpeg

量子位 QbitAI · 頭條號簽約作者

վ'ᴗ' ի 追蹤AI技術和產品新動態



相關文章