视觉slam十四讲 pdf_视觉SLAM十四讲|第12讲 回环检测
1. 什么是回環檢測
前面有說過累積誤差的問題,前一時刻的誤差會積累到后面,導致畫不成圈圈,如圖12-1所示,而畫圈圈(全局一致性)很重要,所以需要有一個步驟來糾正當前的計算偏差。
回環檢測通過判斷相機是否經過同一個地方來進行糾正的,本講介紹的方法是基于外觀的,拿到兩張圖像后,比較兩張圖像的相似度,越高說明越有可能是同一個地方。在評價時更注重算法的準確率。
2.相似度計算
在計算相似度之前需要定義一個能夠用來描述圖像的量,這個量可以表達圖像的特征或者屬性,我們可以通過這個量來計算圖像的相似度。在本節中采用詞袋模型。
詞袋模型是用向量來描述圖像,比如用向量[0,1,1,0,1]來表達圖像a,其中第i個元素表示圖像是否擁有特征i,向量的維度也就是總的特征數量由“字典”決定(也可以看成每個特征是字典中的一個單詞,字典從a到z有3000個單詞,那么向量就有3000維,如果某個圖像只具有100個特征,那么除了這100個元素以外,該圖像其他位置的元素值都是0)。
字典生成:前面學習了提取ORB特征來描述圖像,在生成字典時,通常會選用一個比較大的圖像數據集,用ORB特征描述每一幅圖像,然后使用聚類算法,聚成N類,生成N維的ORB字典。
當字典很大時,O(n)的查找效率會很影響使用,為了提升查找效率可以使用k叉樹結構表達字典。先聚成k類,作為k個根結點,在根結點上再對屬于當前根結點的所有圖像聚成k類,作為第二層,依次向下,最后得到的葉子節點就是詞袋模型中的每個特征(也可以說是字典中的每個單詞)。
相似度計算,最簡單的方法是使用TF-IDF模型,TF計算的是特征i在圖像A中出現的頻率(也就是單詞i,在句子中出現的頻率),
。IDF是指某個特征在整個字典中出現的頻率越低,則這個特征的區分度越高(比如一組100張的人臉圖片,提取出來的特征有眼睛、鼻子、嘴巴、蘋果,那么對于這100張圖片來說幾乎每張都有眼睛、鼻子、嘴巴的特征,這些特征出現頻率很高,不能夠對于這組圖片進行很好的區分。然而可能只有20張圖片中有蘋果,所以蘋果這個特征能夠很好的將這20張圖片區分出來)
。假設當前字典中有N個單詞,根據詞袋模型,圖片A就要用N維向量表示,每一維的元素值,是這一維特征的TFIDF值,
,再根據兩張圖像的向量進行距離計算,得到相似度。3. 后續處理
兩張圖片的相似度數值,并不能直接說明是否同一場景,會存在同一個環境下每個地方都不一樣的情況。在實際比較時取先驗相似度
,表示此時與上一時刻關鍵幀的相似性,將其他分值根據這個值進行歸一化。認為如果當前幀與之前某關鍵幀的相似度超過了當前幀與上一幀相似度的3倍,則可能存在回環。參考文獻
[1] 《視覺SLAM十四講從理論到實踐》 高翔,張濤
總結
以上是生活随笔為你收集整理的视觉slam十四讲 pdf_视觉SLAM十四讲|第12讲 回环检测的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql存储过程触发器游标_MySQL
- 下一篇: 龙芯下中标系统C语言查找设备号_龙芯:主