簡單說說雙目立體視覺的原理(后面有機會再講講應用)


現在三維視覺越來越成為趨勢,尤其和機器人結合后,相當於手臂帶了眼睛,真正的活了起來。

下面簡單說說最常用的雙目立體視覺的原理。
都是大白話,也不秀公式了,搞工程着重怎么用,至於算法優化,留給年輕的精英學子們研究。

雙目立體視覺(Binocular Stereo Vision):
基於視差原理並利用成像設備從不同的位置獲取被測物體的兩幅圖像,通過計算圖像對應點間的位置偏差,來獲取物體三維幾何信息的方法。

概念都比較抽象,上個圖能清晰一點(圖是引用來的,說的比較清晰),其實原理很簡單,就是仿真人的雙眼對3D物體的立體定位機制。
雙目立體定位

簡單說就是,一個眼睛能成像但是不能確定z軸的深度,但是另一個眼睛根據成像的位置和角度,輔助計算確定深度。
畢竟兩只眼睛的距離是個確定值。按三角形的原理,兩個角一個邊,足夠算出來所有數據了,包括深度。

實際在實現的時候當然沒有這么簡單,我們需要知道 相機焦距,兩相機基線-可以簡單看成就是兩相機的距離了,視差等數據。
這里還有個極線約束,名字很嚇人,其實原理很簡單。
已知A圖中P點,查找它在B圖中的位置,其實不用全圖找,只需要在根據投影規律在有限范圍找就可以了。這樣縮小范圍,減少計算。

濃縮后的原理如下

對A圖中每個點
根據極線約束的規則
找到B圖中對應的點
計算所有點的深度,形成深度圖

然后,所有上面這些都有一個假設,就是兩個相機是在同一個平面的,並且光軸要是平行的。

但是實際情況中是找不到這樣的兩個相機的。咋辦?

先標定得到單應(homography)矩陣
然后把兩圖像根據矩陣校正成理想狀態
最后就可以按理想狀態計算深度了

一般雙目立體視覺的簡單步驟:
1、首先要對雙目相機進行標定。
2、然后根據標定結果校正原始圖像,使兩張圖像在同一平面且互相平行。
3、再對校正后的兩張圖像進行像素點的匹配。
4、根據結果計算每個像素的深度,獲得深度圖。

下面說說雙目立體視覺法優缺點

優點
1、相機硬件要求低,成本低。使用普通的消費級RGB相機即可。但是工程上一般直接采購雙目深度相機。代表有:Leap Motion, ZED, 大疆;
2、不挑環境,室內外都適用。由於直接根據環境光采集圖像,適用范圍廣。

缺點
1、對環境光照非常敏感。
由於光照角度、強度變化影響,拍攝的兩張圖片亮度差別會比較大,對匹配算法提出很大的挑戰。另外,在光照較強(會出現過度曝光)和較暗的情況下也會導致算法效果急劇下降。

2、需要有較好的辨識特征場景,不適用於單調缺乏紋理的場景。
由於算法是根據視覺特征進行圖像匹配,所以對於弱視覺特征的場景(如平板、白牆)匹配困難,誤差較大甚至失敗。

3、計算復雜度高。
逐像素計算;又要保證匹配結果健壯可信,需要增加大量的錯誤剔除策略,對算法要求較高,想要實現可靠商用難度大,計算量較大。

4、相機基線限制了測量范圍。
測量范圍受限於基線(兩個攝像頭間距):基線越大,測量范圍越遠;基線越小,測量范圍越近。

至於更深入的想深入了解原理的同學,可以看看大神的PPT。
詳細數學原理點這里

好吧,原理就到這,后面有時間整個在Halcon中是怎么實現的出來。


看了感覺怎么樣?來說說吧。。。
喜歡記得關注起來!趕緊的。



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM