1. 程式人生 > >2.單目視覺演算法

2.單目視覺演算法

  • 演算法流程
建立影象塊   →   根據相機光心確定搜尋極線    →   極線搜尋演算法  →   深度濾波器進行濾波   →   得到對應畫素後,進行三角測量  →   得到深度資訊

如何匹配? 極線搜尋和塊匹配
匹配結果優化? 深度濾波器技術

  • 三角測量原理

根據對極幾何,兩個成像平面中,同一空間點的歸一化座標x1,x2,滿足:
s1x1=s2Rx2+t
兩側同時左乘x1∧ 左側為零,右側可求解出深度資訊s2

  • 塊匹配&極線搜尋

塊匹配 是由於單個畫素在極線上搜尋時只有亮度資訊,沒有區分性,所以以此畫素點為中心,建立一個w*w的畫素塊
快匹配的演算法有:
SAD(sum of absolute difference)
SSD ( sum of squared distance )
NCC (Normalized cross correlationw)
極線搜尋 根據極線約束,成像面上一點在另一成像面上的對應點,必定在所在的極線上,然後在該極線上,根據影象塊進行搜尋,即可得到對應的匹配點。

  • 深度濾波器

確定基準圖後,利用其後的多張圖對基準圖進行分佈估計
1. 對參考圖中一點計算的深度值d服從: P(d) = N(μ,σ2)
2. 同樣,當新得到的觀察圖中,對參考圖的深度進行再次的估計,這次算出的深度dfuse 服從 P(dfuse) = N(μfuse, σfuse2)
3. 把兩個高斯分佈相乘,得到融合後的高斯分佈:

這裡的μ,就是每次計算出來的深度值,而σ就是假設有一個畫素的誤差時深度的d的誤差δp
4. 方差δp的計算
我們假設匹配到的點與正確的匹配點有一個畫素的差異,那麼通過三角化計算出來的深度就會與真實的相差一個δp,他的大小就是如圖所示,根據三角函式計算

a=p-t
α=arccos