直接法是用于視覺里程計估計相機位姿的一種重要方法。相比于其他依賴幾何特征做相機位姿估計的方法,直接法具有無需計算特征點、不會丟失圖像信息的特點,并且在缺乏幾何特征的場景,比如白墻或者走廊等依然可以有效的工作。
下面我們就對直接法做詳細的說明:
直接法最直觀簡單的應用在于RGB-D相機,這種相機可以得到同一時刻RGB圖像和深度圖像,根據深度圖像可以得到每一個像素點在三維空間中的坐標,所有的這些三維點就形成的被拍攝場景中物體的surface,同時也知道每一個surface點對應的顏色信息。相機在運動過程中會產生一系列連續的RGB-D數據,給定了前后兩幀RGB-D數據,也就是連續兩幀的surface和RGB信息,我們就可以找到一個變形(warp),使得后一幀的輸入圖像與前一幀的模板圖像相配準(alignment)。這個warp代表了我們要尋找的相機位姿的變換。
1、必備知識點
1-1 圖像配準
關于圖像配準的方法,請參考博文對三種圖像配準方法的說明,其中詳細說明了三種圖像配準方法的思想和算法流程,由于inverse compositional方法效率最高,不需要迭代地計算Hessian矩陣,這里,我們在介紹相機位姿估計時仍然選擇應用最廣泛的inverse compositional method來介紹。如果要更加詳細的了解有關圖像配準方面的知識,可以閱讀參考文獻[1]。
1-2相機模型、剛體運動模型和李代數
這部分內容可以參考博文相機模型、剛體運動模型與李代數。這篇博文對上述幾個方面進行了簡要的介紹。如果要對這部分內容做更深入的了解,可以閱讀參考文獻[2]。
2、inverse compositional estimation of camera pose
我們依舊參考圖像配準中inverse compositional 方法,算法迭代更新方式如圖1所示。
泰勒展開線性化如圖2所示:
算法流程圖如圖3所示:
下面我對上述公式中出現的符號做相應的解釋:
▽T指的是模板圖像T在x方向和y方向上的梯度圖,如圖4所示:
變換矩陣W對未知參數的導數即J草編矩陣可以用鏈式求導法則來計算,即如圖5所示。
[1]Baker S, Matthews I. Lucas-kanade 20 years on: A unifying framework[J]. International journal of computer vision, 2004, 56(3): 221-255.
[2]Ma Y, Soatto S, Kosecka J, et al. An invitation to 3-d vision: from images to geometric models[M]. Springer Science & Business Media, 2012.