直接法和特征點法都有哪些優缺點?
直接法最大的貢獻在於,以更整體、更優雅的方式處理了數據關聯問題。特征點法需要依賴重復性較強的特征提取器,以及正確的特征匹配,才能得正確地計算相機運動。而直接法,則並不要求一一對應的匹配,只要先前的點在當前圖像當中具有合理的投影殘差,我們就認為這次投影是成功的。而成功與否,主要取決於我們對地圖點深度以及相機位姿的判斷,並不在於圖像局部看起來是什么樣子。
優勢:
- 相比特征點法(只使用了特征點周圍的信息)使用了圖像中全部的信息(半直接法只用了邊緣梯度)
- 節省特征提取與匹配的大量時間,易於移植到嵌入式系統中,以及與IMU進行融合;
- 使用的是像素梯度而不必是角點,可以在特征缺失的場合使用,如環境中存在許多重復紋理或是缺乏角點,但出現許多邊緣或光線變量不明顯區域;
- 可以進行稠密或半稠密的地圖重建;
劣勢:
- 一般對相機要求較高,需要全局快門相機,進行光度標定等
- 灰度不變是一個強假設,難以滿足(易受曝光和模糊影像);
- 單像素區沒有區分度,需要計算圖像塊或是相關性;
- 直接法成功的前提,是目標函數從初始值到最優值之間一直是下降的,然而圖像非凸。因此需要有一個相當不錯的初始估計,還需要一個質量較好的圖像;
- 難以實現地圖復用、回環檢測、丟失后的重定位等:除非存儲所有的關鍵幀圖像,否則很難利用先前建好的地圖;即使有辦法存儲所有關鍵幀的圖像,那么在重用地圖時,我們還需要對位姿有一個比較准確的初始估計——這通常是困難的。
數據關聯和位姿估計,在直接法中是耦合的,而在特征點法中則是解耦的。耦合的好處,在於能夠更整體性地處理數據關聯;而解耦的好處,在於能夠在位姿不確定的情況下,僅利用圖像信息去解數據關聯問題。所以直接法理應更擅長求解連續圖像的定位,而特征點法則更適合回環檢測與重定位。此外,稀疏直接法更適用於實時性較高而計算資源有限的場合。