轉載請說明出處:git
http://blog.csdn.net/zhubaohua_bupt/article/details/74172831
github
利用相機進行三維重建已經不是一個新鮮的話題,重建的三維環境用途很普遍,算法
好比檢測識別目標,做爲深度學習的輸入,視覺SLAM。app
目前,比較流行的是單、雙目的重建。根據重建的稀疏程度不一樣,能夠分爲如下如下幾類:dom
稀疏重建:ide
一般是重建一些圖像特徵點的深度,這個在基於特徵的視覺SLAM裏比較常見,獲得的特徵點的深度能夠用來計算相機位姿。稀疏重建在實際應用,好比檢測,避障,不能知足需求。學習
半稠密重建:spa
一般是重建圖像紋理或梯度比較明顯的區域,這些區域特徵比較鮮明。半稠密重建在直接法視覺SLAM裏比較常見。重建的三維點雲相對稠密,能夠知足部分應用需求。.net
稠密重建:orm
稠密重建是對整個圖像或者圖像中的絕大部分像素進行重建。與稀疏、半稠密相比,稠密重建對場景的三維信息理解更全面,更能符合應用需求。可是,因爲要重建的點雲數量太多,相對耗時。
雙目重建一般又稱之爲,立體匹配、雙目匹配、雙目立體視覺、靜態匹配等。
根據所用的相機差別,好比針孔相機、魚眼相機,實現略有差異。根據重建時匹配方式的不一樣,又能夠分爲全局、本全局、局部匹配。OpenCV的GM,SGBM,BM就分別實現了上述算法。
想要了解這方面知識,以上述關鍵字關鍵字(立體匹配、雙目匹配、雙目立體視覺)或(Stereo Matching)搜論文。好比[1][2][3]。其過程可描述以下:
利用左右相機獲得的兩幅矯正圖像,經過一幅圖在另外一幅圖上找匹配,而後根據三角測量原理恢復出環境三維信息。在魚眼相機的匹配中,也有不矯正圖像,直接匹配的作法,這樣作須要計算圖像極線。
因爲整個匹配的過程只需一個時刻的左右圖像,因此也有人稱爲靜態立體視覺。
傳統的視覺方法(不包括深度學習)單目重建,利用單幅圖像不能完成重建,須要時間域上一系列圖像。
因此有人也稱之爲動態立體視覺。根據重建的實時性不一樣,能夠分爲離線重建和在線重建。
好比 SFM技術,此技術根據在一段時間內得到的連續圖像來重建一個三維環境。中文文獻搜(運動恢復結構),英文搜(Structurefrom motion)。
漸進式重建利用下一時刻的圖像不斷融合以前的三維信息,相似於卡爾曼濾波思想,並且三維重建實際上也是深度重建,所以,漸進式重建也稱之爲深度濾波。
好比:[4]SVO和[5]REMODE,這兩個論文是一個做者,SVO和REMODE有深度濾波詳細的過程,而且有開源實現代碼。
SVO: https://github.com/uzh-rpg/rpg_svo (深度濾波在depth_filter.cpp裏面)
REMODE:https://github.com/uzh-rpg/rpg_open_remode
直接式重建,利用若干個時刻(通常幾幀至幾十幀)的圖像,一次性完成對同一個場景的三維重建。
直接式重建也有人稱之爲深度融合,有點相似於SFM,與SFM不一樣的是,參與計算的圖像少,實時性較高。
文章[7]是這方面的方法,但代碼沒有開源,若是比較瞭解深度濾波原理,這個也容易實現。
[1] Semi-Global-Matching
[2] Stereo Processing by Semi-Global Matchingand Mutual Information
[3] 基於魚眼相機的立體匹配
[4] C.Forster, M. Pizzoli, and D. Scaramuzza, 「SVO: Fast Semi-Direct Monocular VisualOdometry,」 in Proc. IEEE Intl. Conf. on Robotics and Automation, 2014.
[5] MatiaPizzoli, Christian Forster, and Davide Scaramuzza. REMODE: Probabilistic,monocular dense reconstruction in real time. In International Conference onRobotics and Automation (ICRA), pages 2609–2616, Hong Kong,China, June 2014.
[6] V. Usenko,J. Engel, J. Stuckler, and D. Cremers. Reconstructing Street-Scenes inReal-Time From a Driving Car
[7] Ra´ulMur-Artal and Juan D. Tard´os Probabilistic Semi-Dense Mapping from HighlyAccurate Feature-Based Monocular SLAM,2015