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

水下移動無線傳感器網(wǎng)絡(luò)拓撲
移動機器人的視覺算法種類與深度相機傳感器的分類
基于視頻深度學(xué)習(xí)的時空雙流人物動作識別模型

移動機器人的關(guān)鍵技術(shù)有哪些

評論