點選上方“3D視覺工坊”
幹貨第一時間送達
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cGcq5SM0UDO1UjZ4kjYkFjYjVDOyYzXzEDN0ITM5EzLcVDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.jpg)
作者丨sixgod
有什麼用?
深度圖在計算機視覺中有非常廣泛的應用,比如前背景分割(用于背景虛化、美顔、重對焦等)、三維重建(用于機器人導航、3D列印、視效娛樂等)。
但是很多時候由于硬體的限制,我們不能通過深度相機獲得深度圖。隻能利用單目相機通過相關算法來間接計算深度圖。比較有名的方法就是運動恢複結構(Structure from Motion),也就是說,我們需要移動(通常需要較大的移動)單目相機進而獲得不同視角的多張圖檔才能間接得到深度圖。
從微小運動中擷取深度圖(depth from small motion)是其中一個比較巧妙的、用單目相機間接獲得深度圖的方法。該方法利用非常微小的運動來計算深度圖,這個“非常微小的運動”的目的是在使用者察覺不到的時間(比如手機使用者尋找最佳拍攝位置時的微小移動,或者使用者拿着相機按快門前的預覽時間,或者類似live photo等)内得到深度圖。如果該方法可以獲得較高品質的深度圖,就可以一定程度(靜态場景下)上替代基于RGB雙目立體視覺的深度相機(如手機雙攝,手機雙攝介紹見《為什麼會出現雙攝像頭手機?》系列文章)的功能。
下面來介紹該技術的一個應用。如下圖所示,(a) 是輸入的一個微運動視訊中所有幀的平均疊加圖,可以看到運動真的是非常微小的。(c) 是算法計算的深度圖,從放大的細節來看,邊緣還是很銳利的,(d) 是利用得到的深度圖進行重對焦的效果。我們看到對焦主體比較清晰,而位于主體前後景深的物體都已經虛化。
什麼原理?
本文的亮點之一就是可以對未标定的相機進行深度圖和内外參數同時估計。大緻流程如下:
1、以第1幀作為參考幀,檢測目前幀和參考幀的Harris角點,用KLT法進行特征點比對。
2、先假設初始的相機内參和畸變參數,利用光束平差法最小化重投影誤差,疊代得到相機的内外參數、特征點對應的三維空間點。其原理示意圖如下所示。Uij是第i張圖像相對于圖像中心的第j個特征點的畸變坐标,紅色點是其去畸變後的坐标。藍色點是重投影的坐标。目标就是最小化第i幀中紅色點和藍色點的位置誤差。
3、根據得到的内外參數用平面掃描法進行稠密立體比對,并采用赢家通吃的政策得到粗糙的深度圖。微小運動有如下優勢:由于時間短,移動小,視場角變化小,可以近似認為所有幀在該時間段内的灰階值保持不變。這個假設對于可靠的稠密像素比對很重要。
4、将彩色圖作為引導圖,對深度圖進行精細化。獲得深度圖的過程如下:
(a) 用赢家通吃的政策得到一個粗糙的深度圖;(b) 去除不可靠的深度值;(c) 深度圖精細化後的結果;(d) 參考圖像。
該算法的僞代碼流程圖如下所示:
效果怎麼樣?
該算法測試效果如下圖所示。下圖左側是用iPhone 6拍攝的1s時間的微小運動連續圖像的平均圖,從中可以看出運動非常小。右側是算法輸出的對應深度圖。
該算法和其他算法在重對焦效果上的對比如下圖所示。可以看到該算法能夠在背景虛化的同時保持相對銳利的邊緣。
盡管該算法設計的初衷就是用于微小運動的情況,但是如果運動特别微小,估計的相機位姿就會非常不穩定。另外如果圖像邊緣缺乏有效的特征點,會導緻徑向畸變參數的估計變的不準确。上述情況會導緻深度圖出現較大的誤差。
該算法隻适合于靜态場景,如果有快速移動物體,該算法會失敗。另外要注意的是,該算法估計的深度圖是相對深度。
運作時間:
該算法是在個人桌上型電腦上進行測試。電腦組態:Intel i7-4970K 4.0Ghz CPU,16GB RAM。對于一個分辨率為1280x720的30幀的微小運動視訊,該算法(未優化)完成特征提取、跟蹤、光束平差需要1分鐘。稠密立體比對階段耗時10分鐘。
有什麼參考資料?
本文算法對應的文章:
Ha H, Im S, Park J, et al. High-Quality Depth from Uncalibrated Small Motion Clip[C]// Computer Vision and Pattern Recognition. IEEE, 2016:5413-5421.
源碼:
https://github.com/hyowonha/DfUSMC
上述論文的優化及加速版:
Monocular Depth from Small Motion Video Accelerated,2017 International Conference on 3D Vision
本文僅做學術分享,如有侵權,請聯系删文。
▲長按關注公衆号