特征點法流程:
- 在圖像中提取特征點并計算特征描述 非常耗時, ~10 +ms in orb
- 在不同圖像中尋找特征匹配 非常耗時糙麦,O(n^2) in brute force matching
- 利用匹配點信息計算相機位姿 比較快速 < 1ms
不需要使用特征匹配的思路:
- 通過其他方式尋找配對點: 光流
- 不需要配對點:直接法
光流法
光流:追蹤源圖像某個點在其他圖像中的運動
一般分為稀疏光流和稠密光流
- 稀疏以Lucas-Kanade(LK)光流為代表
- 稠密以Horn-Schunck(HS)光流為代表
-
本質是估計像素在不同時刻圖像中的運動
LK光流法示意圖
步驟:
設t時刻位于想x,y出像素點的灰度值為
在時刻墓阀,該像素運動到了
希望計算運動
- 灰度不變假設:
-
注意:灰度不變是一種理想假設背苦,實際當中由于高光/陰影/材質/曝光等不同床估,很可能不成立。
上式是一個二元一次線性方程氢拥,欠定
- 需要引用額外的約束
-
假定一個窗口內(nèi)光度不變:
通過超定最小二乘解求得運動u,v
1.png
LK光流的結果依賴于圖像梯度
- 但梯度不夠平滑锨侯,可能劇烈變化
- 局部的梯度不能用于預測長期圖像走向
- 解決方式: 多層光流
注解
- 可以看成最小化像素誤差的非線性優(yōu)化
- 每次使用Taylor一階近似嫩海,在離優(yōu)化點較遠時效果不佳,往往需要迭代多次
- 運動較大是需使用金字塔
- 可以用于跟蹤圖像中的稀疏關鍵點的運動軌跡
- 得到配對點后囚痴,后續(xù)計算與特征法VO中相同
- 按方法可分為正向/反向 + 平移/組合的方式
直接法
光流僅估計了像素間平移叁怪,但
- 沒有用到相機本身的幾何結構
- 沒有考慮到相機的旋轉和圖像的縮放
- 對于邊界上的點,光流不好追蹤
- 直接法則考慮了這些信息
直接法的推導
- 假設有兩個幀深滚,運動未知奕谭,但有初始估計R,t
- 第一幀上看到了點P,投影為p1
-
按照初始估計,P在第二幀上投影為P2
可以看到痴荐,直接法的雅克比項有一個圖像梯度因子
- 因此血柳,在圖像梯度不明顯的地方,對相機運動估計的貢獻就小
根據(jù)使用的圖像信息不同生兆,可分為:
稀疏直接法:只處理稀疏角點或關鍵點
稠密直接法:使用所有像素
半稠密直接法:使用部分梯度明顯的像素
直接法的直觀解釋
- 像素灰度引導著優(yōu)化的方向
- 要使優(yōu)化成立难捌,必須保證從初始估計到最優(yōu)估計中間的梯度一直下降
-
這很容易受到圖像非凸性的影響(可部分地由金字塔減輕)
優(yōu)缺點總結
-
優(yōu)勢
- 省略特征提取時間
- 只需有像素梯度而不必是角點(對白墻等地方效果較好)
- 可稠密或半稠密
-
劣勢
- 灰度不變難以滿足
- 單像素區(qū)分性差
- 圖像非凸性