2. 計算一個相對分數minsocre:計算當前幀與其共視圖中的幀的相似分數,取其中最小的那個作為minsocre。因為DBoW計算出的絕對分數不具有可比性,取當前幀與共視幀之間最小的相似度作為基準,如果大於這個基準纔有可能是閉環幀。
3. 從上文中說的資料庫中查找閉環候選幀。因為資料庫中維護了Inverse Index,所以可以快速找到與當前幀有共同單詞的關鍵幀。其中就會有一個關鍵幀具有的共同單詞數最大,為maxcommonwords。根據這個設一個閾值,mincommons = 0.8 * maxcommonwords,據此去掉共同單詞太少的候選關鍵。再加上minscore的要求幹掉一部分關鍵幀。再再加上候選幀不能在當前幀的共視圖中的條件,又幹掉一部分。之後,把相連的的候選幀歸為一組,每個組計算一個累加分數,可以找到一個最大分數bestAccScore。據此,設置一個閾值,minScoreToRetain = 0.75*bestAccScore。用這個閾值幹掉一部分分組,這樣可以幹掉一些孤立的閉環幀候選幀(孤立的可能都是錯誤的閉環)。剩下的這些分組中的關鍵幀就是閉環候選幀啦。
4. 連續性檢測。現在,進一步對候選關鍵幀進行篩選。閉環不僅僅是單幀對單幀的匹配,好的閉環應該是多幀對多幀的閉環。也就是形成連續閉環,如下圖所示。這一步請參考[4]。