人類的視覺神經(jīng)是一套神奇的系統(tǒng)。
作為三維生物的視覺系統(tǒng),我們可以輕易地把三維空間的二維投影(照片/視頻)在大腦里重新還原成三維空間。換句話說,當(dāng)我們看到一個(gè)平面上的兩個(gè)物體時(shí),我們知道這兩個(gè)物體并非重疊,而是一前一后。我們甚至可以估算出這兩者之間的大致距離。
對(duì)于試圖超越人類視覺能力的計(jì)算機(jī)視覺技術(shù)來說,重建三維空間時(shí)的深度預(yù)測(cè)這一技能卻是一個(gè)繞不開的難題。畢竟,機(jī)器的輸入只是一個(gè)二維平面上的像素分布數(shù)據(jù),而利用兩個(gè)觀測(cè)點(diǎn)進(jìn)行三角測(cè)量卻需要多相機(jī)陣列或?qū)ο蟊3朱o止。面對(duì)“人機(jī)皆動(dòng)”的動(dòng)態(tài)場(chǎng)景,當(dāng)下的計(jì)算機(jī)視覺算法就無能為力了。
當(dāng)然,任何技術(shù)突破需要的只是時(shí)間。這不,GoogleAI 的研究人員根據(jù)運(yùn)動(dòng)視差(MotionParallax)的原理,成功的訓(xùn)練出了一個(gè)深度學(xué)習(xí)的沙漏模型,有效地解決了移動(dòng)鏡頭下移動(dòng)人物的深度預(yù)測(cè)問題。
圖 |輸入鏡頭和人物都在自由移動(dòng)的普通視頻(左)得到深度圖(右),此深度圖中越亮表示離相機(jī)越近。(來源:Tali Dekel,et al./Google AI)
我們的世界并不是二維平面,雖然人類視覺系統(tǒng)可以輕易地將看到的 2D 圖像轉(zhuǎn)化為 3D,但機(jī)器該如何知曉深度呢?目前的主流方法是利用三角測(cè)量(Triangulation),三角測(cè)量理論是通過兩點(diǎn)觀測(cè)來確定對(duì)象的位置,即兩個(gè)觀測(cè)點(diǎn)和對(duì)象處于同一平面,通過兩個(gè)觀測(cè)點(diǎn)的距離和兩個(gè)夾角來計(jì)算對(duì)象的位置。完成三角測(cè)量需要有多個(gè)相機(jī)組成陣列,如 Google’sJump,若一個(gè)鏡頭的話,就要在鏡頭移動(dòng)的時(shí)候?qū)ο蟊3朱o止。
而在鏡頭和場(chǎng)景里的對(duì)象都在自由移動(dòng)的情況下,不確定的位置使三角測(cè)量算法感到迷惑迷茫甚至絕望,于是大多現(xiàn)存的深度預(yù)測(cè)方法就會(huì)開始“瞎算”,要么過濾掉移動(dòng)對(duì)象,將他們視為噪音,直接標(biāo)記為 0,要么假裝目標(biāo)沒有移動(dòng),計(jì)算出不正確的深度值。
圖 | 傳統(tǒng)立體測(cè)量場(chǎng)景是利用同時(shí)的兩點(diǎn)觀測(cè)數(shù)據(jù),即目標(biāo)物靜止(左);鏡頭和對(duì)象在同時(shí)移動(dòng)的測(cè)量場(chǎng)景,三角測(cè)量理論無法適用(右)。(來源:Tali Dekel,et al./Google AI)
面對(duì)這種不科學(xué)的做法,GoogleAI 的研究人員創(chuàng)造了首個(gè)針對(duì)于鏡頭和人體同時(shí)移動(dòng)情況的深度學(xué)習(xí)模型,并不是傳統(tǒng)針對(duì)靜止對(duì)象的深度預(yù)測(cè)模型,無需 3D 三角測(cè)量,僅利用鏡頭和人物都在移動(dòng)的普通視頻數(shù)據(jù),完美輸出深度圖(一種三維場(chǎng)景的信息表達(dá)方式,圖的像素值反映場(chǎng)景中物體到相機(jī)的距離)。這與現(xiàn)實(shí)世界大多數(shù)物體都在運(yùn)動(dòng)的情況契合,并且模型表現(xiàn)優(yōu)于現(xiàn)有最佳深度預(yù)測(cè)模型,能真實(shí)還原移動(dòng)人物的位置,如此,一些視頻里動(dòng)態(tài)人物的扣除、遮擋鏡頭的還原,一些 3D 效果渲染,都不在話下。
訓(xùn)練數(shù)據(jù)的收集
此深度預(yù)測(cè)模型利用有監(jiān)督的方式進(jìn)行訓(xùn)練,即需要自然場(chǎng)景下的有移動(dòng)鏡頭的視頻,并且有精準(zhǔn)的深度數(shù)據(jù)。那么如何得到有標(biāo)注的訓(xùn)練數(shù)據(jù)集呢?這就要從 2016 年 11 月開始風(fēng)靡互聯(lián)網(wǎng)的 YouTube 人體模特挑戰(zhàn)(Mannequin Challenge)說起了。
在這個(gè)挑戰(zhàn)中,人靜止于各種姿勢(shì),如同模特,鏡頭移動(dòng)過整個(gè)場(chǎng)景拍成視頻,素材里整個(gè)場(chǎng)景靜止,只有相機(jī)在移動(dòng),所以基于三角測(cè)量的一些 3D 重建方法,如 multi-view-stereo (MVS),可以精準(zhǔn)地計(jì)算出整個(gè)場(chǎng)景包括人物的深度,從而得到深度標(biāo)注。整個(gè)數(shù)據(jù)集約有 2000 個(gè)視頻,涵蓋各種真實(shí)場(chǎng)景下的各種造型各種姿勢(shì)的人類。
畢竟,如果合成數(shù)據(jù)的話需要大量的各種場(chǎng)景和人類動(dòng)作進(jìn)行逼真的模擬和渲染,不太現(xiàn)實(shí),并且這種模擬數(shù)據(jù)所訓(xùn)練出來的模型可能也難以遷移到真實(shí)場(chǎng)景;如果換用 RGBD(RGB+depth)相機(jī),如 Microsoft 的 Kinect,來記錄真實(shí)場(chǎng)景產(chǎn)生數(shù)據(jù),也會(huì)受到深度相機(jī)本身限制,比如物體材質(zhì)影響反射導(dǎo)致深度值缺失,并且深度相機(jī)一般也受限于室內(nèi)場(chǎng)景。
故,風(fēng)靡一時(shí)的 Mannequin Challenge 視頻,在此將做出卓越的貢獻(xiàn)。
圖|YouTube 上人體模特挑戰(zhàn)的視頻,視頻中人物以各種姿勢(shì)造型靜止,鏡頭劃過整個(gè)靜止場(chǎng)景,傳統(tǒng) 3D 重建算法 MVS 計(jì)算出所有視頻中的深度值作為訓(xùn)練數(shù)據(jù)集的標(biāo)注(來源:Tali Dekel,et al./Google AI)
預(yù)測(cè)移動(dòng)人物的深度
但新的問題產(chǎn)生了,人體模特挑戰(zhàn)視頻里人物是靜止的,想要處理移動(dòng)鏡頭下的移動(dòng)人物,如何解決?
一個(gè)可能的解決方案:從視頻的每一幀來單獨(dú)推斷深度值,即僅將單個(gè)幀輸入模型。這種方案所訓(xùn)練的模型的確優(yōu)于現(xiàn)有的最佳單圖像深度預(yù)測(cè)方法,但考慮多幀圖像提供的信息,模型是否會(huì)進(jìn)一步提升呢?
這就是運(yùn)動(dòng)視差。由于透視,從不同位置觀察靜止畫面時(shí),近處物體比遠(yuǎn)處物體有更大視差,這種視差信息可以判斷深度信息。因此,研究者引入了每?jī)蓭嬅嬷g的 2D 光流圖,即兩幀圖像間像素位移信息,來輔助深度預(yù)測(cè)。光流(opticalflow)是指空間運(yùn)動(dòng)物體在觀察成像平面上的像素的瞬時(shí)速度,利用圖像序列中像素在時(shí)間上的變化以及相鄰幀之間相關(guān)性,根據(jù)視差原理可以計(jì)算出相鄰幀物體的運(yùn)動(dòng)信息。
光流一般是由于目標(biāo)本身的移動(dòng)、相機(jī)的移動(dòng)或兩者共同運(yùn)動(dòng)產(chǎn)生,所以場(chǎng)景深度、相機(jī)的相對(duì)位置自然會(huì)影響光流圖,相機(jī)位置是已知的(利用視覺慣性測(cè)距得到),故可以得到靜態(tài)場(chǎng)景的初始深度值,但人物同時(shí)也在運(yùn)動(dòng),所以在得到初始深度圖時(shí),人物會(huì)產(chǎn)生噪音,利用人體切割模型,將人物區(qū)域掩去,剩下的就是靜態(tài)的場(chǎng)景深度信息。故模型輸入為 RGB 圖像、人物掩蔽圖,和利用 SfM 對(duì)光流圖計(jì)算出的掩蔽人物后的深度圖。
圖|深度預(yù)測(cè)網(wǎng)絡(luò)模型的輸入輸出,模型的輸入包括:一張 RGB 圖像(Framet),一張掩去人物的圖像,和一張計(jì)算得到的無人物初始深度圖;模型的輸出是 Framet 圖像的深度圖。訓(xùn)練集的深度圖標(biāo)注是 MVA 方法計(jì)算的深度值。(來源:Tali Dekel,et al./Google AI)
最終模型
研究人員最終采用了沙漏模型(hourglass network)的一個(gè)變種作為模型結(jié)構(gòu),將最近鄰上采樣層變?yōu)殡p線性上采樣層。沙漏模型一般結(jié)構(gòu)如下,相同顏色的方塊為相同結(jié)構(gòu)的網(wǎng)絡(luò),H是卷積核 3x3 的卷積網(wǎng)絡(luò),所有其他網(wǎng)絡(luò)結(jié)構(gòu)是 Inception Module,Inception Module 是一種區(qū)別于傳統(tǒng)將卷積層串聯(lián),而將 1x1、3x3以及5x5的卷積層進(jìn)行并聯(lián)的結(jié)構(gòu)。
圖 |沙漏模型(hourgalss network)具體結(jié)構(gòu)。(來源:WeifengChen,et al./University of Michigan)
這個(gè)模型可以預(yù)測(cè)有移動(dòng)人類場(chǎng)景的深度,細(xì)化其他地方的深度,實(shí)現(xiàn)移動(dòng)人物的去除。由于人體有著大概一致的形狀和物理維度,所以可以通過訓(xùn)練數(shù)據(jù)來先驗(yàn)地學(xué)習(xí)到這些信息。因此,這個(gè)深度預(yù)估模型可以實(shí)現(xiàn)對(duì)任意移動(dòng)人類和任意移動(dòng)相機(jī)情況下的深度預(yù)測(cè)。
和一些業(yè)界現(xiàn)有最佳深度預(yù)測(cè)模型相比,此模型效果優(yōu)越,輸出的深度圖十分完美。
圖 |深度預(yù)測(cè)網(wǎng)絡(luò)模型表現(xiàn)對(duì)比:上層的 DORN 和 Chen 等人設(shè)計(jì)的模型都為單圖深度預(yù)估方法,下層的 DeMoN 為基于立體視覺的方法(來源:Tali Dekel,et al./Google AI)
該深度預(yù)測(cè)模型可以在一些視頻中形成3D感知的效果,比如合成散焦。下圖是利用模型將普通視頻合成散焦。
圖 |產(chǎn)生散景視頻特效,視頻由Wind Walk Travel Videos提供。(來源:Tali Dekel,et al./Google AI)
這個(gè)模型也可以用于將單目鏡頭視頻變成立體視頻,或者將場(chǎng)景中插入合成的 CG(ComputerGraphics)對(duì)象,或者實(shí)現(xiàn)一些被遮場(chǎng)景、缺失場(chǎng)景的填充。如下圖,通過利用視頻的其他幀出現(xiàn)的內(nèi)容,模型實(shí)現(xiàn)了相機(jī)擺動(dòng)時(shí)演員身后領(lǐng)域的填充。
圖 | 填充被遮擋的視頻。(來源:Tali Dekel, et al./Google AI)
這么強(qiáng)大的模型,這么優(yōu)秀的思路,在增強(qiáng)現(xiàn)實(shí)、3D 渲染等一些計(jì)算機(jī)視覺領(lǐng)域自然有其用武之地。
-
機(jī)器視覺
+關(guān)注
關(guān)注
162文章
4410瀏覽量
120785 -
AI
+關(guān)注
關(guān)注
87文章
31683瀏覽量
270484 -
計(jì)算機(jī)視覺
+關(guān)注
關(guān)注
8文章
1701瀏覽量
46144
原文標(biāo)題:計(jì)算機(jī)視覺領(lǐng)域又一大突破!谷歌 AI 實(shí)現(xiàn)對(duì)移動(dòng)鏡頭下移動(dòng)人物的深度預(yù)測(cè)
文章出處:【微信號(hào):deeptechchina,微信公眾號(hào):deeptechchina】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
機(jī)器視覺的鏡頭選擇
機(jī)器視覺技術(shù)
想設(shè)計(jì)炫酷的移動(dòng)機(jī)器人?視覺定位設(shè)計(jì)方案分享給你!
【設(shè)計(jì)技巧】機(jī)器視覺設(shè)計(jì)者如何選擇合適的鏡頭?
CAD圖紙中如何才能在布局模式下移動(dòng)圖形?
如何實(shí)現(xiàn)移動(dòng)機(jī)器人的設(shè)計(jì)?
請(qǐng)問大家在LABVIEW表格控件中,如何實(shí)現(xiàn)點(diǎn)擊上移下移按鈕,表格中的數(shù)據(jù)能上下移動(dòng)?
PLC的漿液下移動(dòng)機(jī)器人控制系統(tǒng)
![PLC的漿液<b class='flag-5'>下移動(dòng)機(jī)器</b>人控制系統(tǒng)](https://file1.elecfans.com//web2/M00/A5/91/wKgZomUMOQeASTvJAAG3CSbVriA909.jpg)
水下移動(dòng)無線傳感器網(wǎng)絡(luò)拓?fù)?/a>
移動(dòng)機(jī)器人的視覺算法種類與深度相機(jī)傳感器的分類
基于視頻深度學(xué)習(xí)的時(shí)空雙流人物動(dòng)作識(shí)別模型
![基于視頻<b class='flag-5'>深度</b>學(xué)習(xí)的時(shí)空雙流<b class='flag-5'>人物</b>動(dòng)作識(shí)別模型](https://file.elecfans.com/web1/M00/4F/30/pIYBAFrVYMmAGgkIAAB_0wBxGv0797.jpg)
移動(dòng)機(jī)器人的關(guān)鍵技術(shù)有哪些
![<b class='flag-5'>移動(dòng)機(jī)器</b>人的關(guān)鍵<b class='flag-5'>技術(shù)</b><b class='flag-5'>有</b>哪些](https://file.elecfans.com/web1/M00/C1/A0/pIYBAF8VYRSABStcAAKjTDfzbeU170.png)
評(píng)論