1. 程式人生 > >【論文系列】讀《SeqSLAM: Visual Route-Based Navigation for Sunny Summer Days and Stormy Winter Nights》

【論文系列】讀《SeqSLAM: Visual Route-Based Navigation for Sunny Summer Days and Stormy Winter Nights》

    SeqSLAM 是2012年兩位澳大利亞的IEEE fellow提出來的,Michael J. Milford, Member, IEEE, Gordon. F. Wyeth, Member, IEEE。是當時第一個在極端環境變化下還能實現的基於視覺的定位系統,"this is the first time vision-based localization has been demonstrated across extreme environmental change."

    這篇文章的核心思想就是 大家都用基於特徵來做,那麼好,我就不用基於特徵來做,我要基於影象序列,也就是所說的“sequence-based”。原因主要是因為SLAM需要在季節變換、日夜不同情況下都能具有識別同一場景的能力,而特徵方法當時效果還不足以完成,尤其是特徵主要還是選用的人工特徵,比如SIFT/SURF(因為現在已經有文章證明了深度學習的特徵在那些急劇變化的環境情況下也有好的表現,足夠多,暫不舉例。)所以作者也用了當時的FAB-MAP來做對比試驗,證明其效果。

圖1 SeqSLAM在當時666 的效果圖

    SeqSLAM的提出應該是里程碑式的吧,不管是思路還是結果,不管是從論文引用還是後續頂會(最新17年ICAR的Fast-SeqSLAM: A Fast Appearance Based Place Recognition Algorithm)中對於這個系統的繼續研究,該文的核心思想在摘要和引言中都出現了,而且隻字未改,此處也給出原文: 

“our approach calculates the best candidate matching location within every local navigation sequence. Localization is then achieved by recognizing coherent sequences of these “local best matches”. 

接下來講到該文用到的兩個部分

A.Local Best Match(看圖更明白)

圖2 shows a schematic of the local contrast enhancement process operating on a number of Dˆ vectors calculated at different times.

由圖2可見,也由前面的核心思想所述。作者將影象識別問題不再當做在全域性中找一個唯一最匹配的template,而是在每一個區域性鄰域中都找一個和當前影象最匹配的template,這樣就有了一個templates合集。也就是上圖左邊的一條。然後在對影象差向量D的每一個template i 元素 都要進行一個區域性對比增強處理(作者告訴我們這就是和一維版本的塊正則化差不多)。下面是公式啦:代表的是平均值,標準差。

公式的結果是加強了對比的影象差異度向量

(  D→

好了這部分就算結束了,get到公式就好

B.Localized Sequence Recognition

因為每一步中區域性的template匹配會產生很多的候選template匹配,這些template肯定很相似啊,所以為了識別出相似的位置序列,手選定了一個空間M,M是由前面的影象差異度組成的

ds意味著已經搜尋了多遠,T意味著現在的時間。這裡作者做出了一個假想:“that velocities (in terms of templates learned per second) on repeated traverses of a path are approximately repeatable (within 40% for these experiments).”重複穿越路徑的速度也近似重複。

這個搜尋主要是投影了大量的軌跡線,來表現源自 的可能的不同的速度。

圖3 顯示了源自單一template的不同速度軌跡線

     這裡,我們定義從T-ds到T時間段t內的每一個軌跡的差異性分數S(像不像相似性分數的概念),接下來我們會用這個分數做匹配。 軌跡搜尋會在 除了在當前的template的R recent 中最近學習到的templates之外的 每一個template上進行搜尋。

    S的定義:

k意味著軌跡在t時刻穿過是的精確差異值。

s意味著其中s是軌跡起始的模板號,V是以Vstep為步長的Vmin和Vmax之間的軌跡速度。

有了S這個關鍵的評判標準,我們進行下一步的learned templates隊伍擴充。在所有的S被計算完之後,最小分數的S所用的每一個template都會被放置在向量S中,(此S非彼分數S,加入之後的結果請看圖3最左一欄)

如果滑動視窗R內的最小分數是比其他的窗外的軌跡分數都要小的μ的因子。那麼認為該軌跡是一個匹配。

接下來是實驗的架構與結果,下次再寫

參考文獻 SeqSLAM: Visual Route-Based Navigation for Sunny Summer Days and Stormy Winter Nights. Michael J. Milford, Member, IEEE, Gordon. F. Wyeth, Member, IEEE