2.單目視覺演算法
阿新 • • 發佈:2018-11-20
- 演算法流程
建立影象塊 → 根據相機光心確定搜尋極線 → 極線搜尋演算法 → 深度濾波器進行濾波 → 得到對應畫素後,進行三角測量 → 得到深度資訊
如何匹配? 極線搜尋和塊匹配
匹配結果優化? 深度濾波器技術
- 三角測量原理
根據對極幾何,兩個成像平面中,同一空間點的歸一化座標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