回顧了一下比賽的問題
我們這個slam針對的場景是什么?這個需要分析下優(yōu)缺點。
直覺:
1、ORB更穩(wěn)定,rfnet更準確。
可能原因:
- orbslam對于orb特征點選擇問題,特征點選擇方式使得系統(tǒng)更加穩(wěn)定
- 系統(tǒng)參數(shù)沒調(diào)整好
- rfnet特征點本身的問題
2、Orb,rfnet,lfnet在什么場景會好?什么場景會不好?
較難比較
3、ORB與SIFT之類的在keypoints上有什么差異?
keypoints對比:
ORB
ORBSLAM系統(tǒng)中的ORB
orbslam
with scale ori
RFNET
直觀上RFNET更稀疏,傾向于物體的輪廓,似乎能感知到圖片中高層語義信息,比如電腦和桌子的輪廓非常清晰,不僅僅是圖像灰度變化就會相應。
匹配效果上:
ORB
ORB_allmatch.png
ORB_withRANSAC.png
RFNET
RFNET_all_match.png
RFNET_withRANSAC.png
感覺比orb匹配成功的更多
Fast與Sift的比較
4、SURF之類的加速策略?
5、能不能在RFNET網(wǎng)絡中引入在無紋理區(qū)域加特征點機制。使得密集地方還是很密,但是在空白地方也要有至少達到一定數(shù)量的特征點,盡管要保持不均勻性,但是要兼顧穩(wěn)定性
6、RFNet直覺上光照更穩(wěn)定
當我們都提取1000個特征點時候,RFNet能得到的正確匹配比ORB要多很多
RFNET
ORB
7、 能不能也安LIFT學習SIFT流程學習一遍ORB?
不太可能,因為detector本質(zhì)上就是fast,orb是描述方法通過學習的,改成深度學習意義不是很大。
8、 ORBSLAM系統(tǒng)上希望得到的特征點
均勻,并且要有一定表現(xiàn)能力
9 、ORBSLAM系統(tǒng)提取特征點策略:
整個特征提取部分涉及到的對象結(jié)構(gòu)如下:
特征點提取策略
每一幀圖像共提取1000個特征點,分布在金字塔8層中,層間尺度比例1.2,計算下來金字塔0層大約有217個特征點,7層大約有50個特征點。
9.1 建立金字塔
為了得到尺度不變性,使用金字塔結(jié)構(gòu)。
9.2 在每層金字塔上劃分網(wǎng)格提取fast角點
-
ComputeKeyPointsOctTree()
這一步要對圖像每一層來計算特征點,具體步驟就是將圖像劃分成小網(wǎng)格區(qū)域(orbslam2里使用的是30大小的窗口),然后對每個小網(wǎng)格單獨使用FAST角點檢測。值得注意是,為了盡可能使得每個小網(wǎng)格都能有點被檢測到,這里使用了兩種不同的閾值,如果沒有檢測到角點則使用更低閾值檢測。//計算FAST關鍵點 vector<cv::KeyPoint> vKeysCell; FAST(mvImagePyramid[level].rowRange(iniY,maxY).colRange(iniX,maxX), vKeysCell,iniThFAST,true); // 如果沒有找到關鍵點,就降低閾值重新計算FAST if(vKeysCell.empty()) { FAST(mvImagePyramid[level].rowRange(iniY,maxY).colRange(iniX,maxX), vKeysCell,minThFAST,true); }
得到角點后對每一層都調(diào)用一下DistributeOctTree()
9.3 使用四叉樹均勻角點
- DistributeOctTree()
其實是四叉樹均勻分布算法的實現(xiàn)。
為了提取出的特征點在圖像中分布比較均勻(實際情況中,特征點通常分布得比較集中,這樣不利于進行匹配,也不利于精確地求解相機間的位姿從而得到精確的VO軌跡),使用了八叉樹(其實是平面上的四叉樹)的數(shù)據(jù)結(jié)構(gòu)來存儲提取出的特征點。
這個樹結(jié)構(gòu)除了根節(jié)點其實只實現(xiàn)了3層,最頂層的node數(shù)量由圖像的橫縱比決定(例如2);下面兩層最多產(chǎn)生64個葉子。因此,對于前面提到的特征點數(shù),平均每個分割節(jié)點中分布一兩個特征點,如果該葉子中含有較多特征點,則選取其中Harris響應值(是由OpenCV的KeyPoint.response屬性計算的)最大的,其他的拋棄!
10 初步設想
- end-to-end學出來這種orbslam2的特征選擇方式,甚至要更穩(wěn)定
- 速度要提升上來
- lfnet在尺度上來說是失敗的,rfnet提高了很多,但是角度上反而變差了,應當具有更好的尺度角度信息
- 實際應用場景更加魯棒,如光線明暗、模糊、動態(tài)場景