視覺SLAM中的特征點及匹配
- 參考文章或鏈接
- 特征點性能的評估
- 傳統特征點和描述子(僅特征點或者特征點+描述子)
- 傳統描述子
- 基于深度學習的特征點
- 基于深度學習的描述子
- 基于深度學習的特征點+描述子
- 特征匹配
參考文章或鏈接
Image Matching from Handcrafted to Deep Features: A Survey
Image Matching across Wide Baselines: From Paper to Practice
Image Registration Techniques: A Survey
基于地圖的視覺定位
特征點性能的評估
參考論文:
- A performance evaluation of local descriptors
- SuperPoint附錄
重復率(repeatability)
角點檢測平均誤差
角點定位誤差
簡而言之, 一個好的特征點提取器, 在不同變化條件下(如視角、光照等)都能穩定準確地提取到同一空間3D點投影到圖片上形成的2D點。
傳統特征點和描述子(僅特征點或者特征點+描述子)
視覺特征點剛開始都是基于研究者思考而設計的,比如SIFT, SURF,ORB和Harris等,它們也被用于同一時期的視覺slam或定位中。
[Harris,1988] VINS
[Shi-Tomasi, 1994] MonoSLAM
[FAST,1998] ORB_SLAM, T265 VIO, MSCKF-VIO, OpenVSLAM, OKVIS, ROVIO, PTAM
[Blob and Corner] SOFT-SLAM
[SIFT, 1999] MSCKF
[FREAK,2012] Vision-Aided Localization For Ground Robots
傳統描述子
[BRIEF, 2010] 與fast角點配合使用比較多, 如ORB_SLAM,LDSO等
[BRISK, 2011]:BRIEF的改進,具有尺度和旋轉不變性
傳統描述子的局限性:從人的感覺出發設計的,對計算機而言特異性不足,如無法應對光照視角等變化。
基于深度學習的特征點
CovDet
Quad-networks
AffNet
KeyNet
MagicPoint
基于深度學習的描述子
L2Net: 新的采樣模式及誤差, CVPR2017
DeepCD:浮點描述子與二值描述子互補,ICCV2017
Spread-out:學習描述子的空間分布,ICCV2017
HardNet:基于L2Net的改進誤差, NIPS2017
SoSNet:基于二階相似性正則化的學習型描述子,CVPR2019
GIFT:采用群卷集學習具有一定尺度和旋轉不變性的描述子,NIPS2019
S2DNet:將描述子學習轉化為分類問題,并采用由稀疏到稠密的方式進行訓練,ECCV2020
CAPS:僅采用極線約束進行描述子學習。
基于深度學習的特征點+描述子
SuperPoint:自監督特征點與描述子學習,對光照具有一定魯棒性, DX-SLAM,CVPR2018
LIFT:基于學習的不變特征變換,2016:
DISK:采用強化學習中的策略梯度法學習特征提取和描述, 對弱文理區域具有一定魯棒性,NIPS2020
R2D2:針對特征點的可重復性和可靠性提出,NeurIPS2019
D2Net:局部特征共同檢測與描述可訓練的CNN,CVPR2019
ASLFeat:精確形狀與定位的局部描述子學習,CVPR2020
基于深度學習的特征點及描述子往往是針對傳統方法在實際應用中不足而提出的,其對光照、視角等的魯棒性更加。
特征匹配
最近鄰Knn匹配
FLANN匹配算法
GMS:利用運動平滑信息進行快速和魯棒的特征匹配,CVPR2017
AdaLAM:兼顧對應點分布和仿射一致性的錯誤匹配剔除算法,圖像分塊做基于仿射變換RANSAC
SGM-Nets:使用神經網絡進行半全局匹配,CVPR2017
PointCN:經過暴力匹配后,利用多層感知機提出錯誤匹配,CVPR2018
SuperGlue匹配:基于圖神經網絡和注意力機制的魯棒匹配,CVPR2020
LoFTR:利用Transformer進行無特征提取器的局部特征匹配,CVPR2021