[論文]VSO:Visual Semantic Odometry

[論文]VSO:Visual Semantic Odometry

來自專欄語義SLAM基礎與論文解析23 人贊了文章

VSO:Visual Semantic Odometry

前言

語義坑友們大家好,繼續和大家分享論文。

VSO是最近非常火的一篇視覺語義里程計論文。

是第一作者Konstantinos-Nektarios Lianos在ETH Zurish期間完成的作品,作者Johannes L. Sch¨onberger 帶有ETH Zurish以及Microsoft背景,該篇文章發表在ECCV2018。

VSO這篇算是比較有名的論文之一,也是某位大神在語義領域裡推薦的四篇文章之一技術劉-博客,另外三篇分別為:

  • 《Probabilistic Data Association for Semantic SLAM》 ICRA 2017
  • 《Stereo Vision-based Semantic 3D Object and Ego-motion Tracking for Autonomous Driving》 ECCV 2018(港科大)
  • 《Long-term Visual Localization using Semantically Segmented Images》ICRA 2018

順便也整理一下專欄最近發布的文章來源:

vso- 蘇黎世聯邦理工。svo是蘇黎世大學。《Probabilistic data association for semantic SLAM》是賓夕法尼亞大學。然後slam++, SemanticFusion都是英國帝國理工學院。

下面開始論文正題。

摘要

該篇論文提出了一種用語義信息實現中期連續點跟蹤的方法。可以被簡單地融合進已有的直接或間接視覺里程計框架中。

在自動駕駛下應用該方法實現了巨大改善。

1 Introduction

為了減小積累的誤差,相關觀測圖像之間的關聯用於聯合估計姿態和地圖。有兩種正交方法:第一種使用圖像之間的短期關聯來獲得暫時的漂移校正,通過過渡性地建立連續相機幀之間的約束。這種方法在車輛長期在直線公路上前進時非常有效。

第二種通過迴環檢測在遠幀之間建立長距離約束。這種情況適用於相機重複訪問之前的位置,或者基於建立好的地圖定位的情況。

本文提出利用語義信息來改善第一種漂移校正策略,建立點的中期連續跟蹤。目前自動駕駛領域的一流方案中都缺少不變數的呈現:無論是基於特徵的ORB-SLAM還是直接法的LSD-SLAM或者DSO,不能連續跟蹤一個點持續很長距離。因為它們的呈現對視角和光照變化並不魯棒。

Fig.1. 追上前面的車輛過程中,跟蹤的Patch由於尺度變化後跟蹤失效,但語義信息一直保持一致。

由於圖1中的問題,該場景下的沿著路走的車輛無法實現中期跟蹤。

論文的主要思想為使用語義作為不變的場景呈現元素。潛在假設為視角、尺度、光照的變化僅僅影響低等級的物體表觀,而不影響它們的語義含義。本文提出獨特的visual semantic odometry (VSO) 來整合語義約束到姿態和地圖優化中。

論文的貢獻如下:

1) 推導一種獨特的最小化語義投影誤差的損耗函數,而且發現可以使用期望最大化(EM)法最小化。可以與任何語義分割演算法結合。2) 將語義誤差項整合到VO演算法中顯著改善自動駕駛場景的平移漂移問題。

3) 我們做了實驗分析什麼條件下有改善,並討論當前限制。

2 Related Work

視覺里程計系統可以這樣分類:濾波或非濾波優化,稀疏或稠密,直接或間接。論文旨在提出應用語義誤差項改善數據關聯。因此,論文提出的方法和現有的VO方法不太一樣,它們大部分使用語義來做VO或者做圖像-模型關聯。

直接法 最小化相鄰幀相關像素的光度誤差。由於能量函數基於圖像梯度,因此很需要好的相機初始化姿態和場景結構來收斂。作者一再強調光度誤差度量對小的視角和光照變化不魯棒。大部分直接法都只能短時間內跟蹤,引入語義使得跟蹤範圍加大。

間接法 最小化3D地圖點到觀測圖像中的投影誤差。間接VO一般使用特徵匹配建立稀疏的聯繫,因此對視角和光照變化更加魯棒。由於其局部性質,特徵檢測和描述子對大的變化並不能適應。因此和直接法的局限性差不多。

語義建圖 基於已知姿態從圖像中建立語義3D地圖。地圖通過固定相機位置來聯合推斷語義和幾何信息來建立,論文的方法也建立了語義標註的3D地圖作為副產品。但論文專註於聯合優化語義、幾何和相機姿態。

語義視覺里程計方法 使用更高等級特徵,如線、平面或物體來改善VO魯棒性或獲得更豐富的地圖呈現。該部分詳細論述了一下,Bowman 的《probabilistic data association for semantic slam》提出概率關聯模型來避免硬決策,與之對比,作者的論文不需要離散數據關聯,它通過考慮物體邊界的連續距離來獲得,而不是僅僅是獨立的物體檢測。(In contrast, our approach does not need a discrete data association by considering continuous distances to object boundaries rather than individual object detections)

通過聚焦於語義物體邊界,我們可以處理很多語義物體。比如,我們既可以利用凸物體,還有不能被矩形框描述的物體,如街道、天空、建築。

語義圖像-模型匹配 有人分割三維物體,通過將物體投影到2d分割圖像中。同時期作品中,有將語義標註的3d點投影到語義分割圖像中的。它們需要一個事先建立並標記的3d模型,作為對比,我們是為VO設計。

3 Visual Semantic Odometry

3.1 Visual Semantic Odometry Framework

做一些基本的符號定義:

  • 輸入圖像

  • 相機姿態

,其中? T_kin SE(3)

  • 地圖點

首先基本的里程計目標函數為:

其中? e_{base}(k,i) 表示在第k個相機下看到的第i個點的cost。要麼被定義為光度差異(直接法)或者幾何差異(間接法)。由於作者表示提出的語義方法可以基於原來的方法改善,所以該公式即為原本演算法的誤差模型。重點在於接下來的語義模型。

對於輸入圖像,進行語義分割,得到稠密的,每個點都有類別的分類圖像。因而每個地圖點除了3d位置,也包含了分類信息。

定義 w_i^{(c)} ?來表示點Pi屬於分類c的概率,該參數將在後面詳細論述。

定義語義cost function,每一項聯繫了相機姿態Tk和地圖點Pi:

因此構造了優化對象,結合基礎演算法的目標函數和新增的語義項目標函數:

而?則作為權重,與語義的可信度有關。而語義的可信度取決於分類器的效果和場景影響,在後文詳細論述。

3.2 Semantic Cost Function

首先,該部分的核心思想其實很簡單,即我們要衡量該姿態的相機觀測得到的語義分類和地圖的語義關係能多好地匹配。匹配方式則是將地圖的點,按照當前相機的姿態,投影到成像平面中(類似BA,只是BA比較的是RGB而已)。對應成像平面的位置如果分類就是地圖中點的分類,那就概率取高,那麼如果不是呢?便定義一個方法以最近正確分類來表示這個概率,即下文將描述的DT。

定義觀測似然,該公式表示將地圖點投影到圖像Sk中,對應的位置標籤為c的概率。投影與最近標記為c的點距離越遠則概率越低。

這裡定義了一個Distance transform - DT.

?DT_B(p):R^2-> R ,其中p是像素位置,B是二值圖像。

根據Fig.2. 語義似然推斷的闡述。輸入語義分割圖(a),取出分類為車輛的部分到圖(b),語義似然( sigma=10 ?)和( sigma=20 ?)的情況分別見圖(c),(d)。紅色代表1,藍色代表0.

即公式用高斯分布的方式來將距離轉化成了概率。

幾個細節:1) sigma ?表示語義圖像分類的不確定度。 2) 公式4的詳細推導可見附加材料。

對於該部分,圖像和公式看著嚇人,實際上再簡單不過了:我需要判斷投影過來的點與正確分類的距離,於是建了這麼一張圖來表示,不用再挨個遍歷去算。而概率與距離的關係是用高斯分布建模,方差為 sigma^2 ?。

該部分可以參考激光模型中的似然域模型,非常類似,如下圖衡量了這次激光觀測的概率概率機器人專欄。

結合Eq.4,我們可以定義語義誤差項:

其中? pi(T_k,X_i) 用相機姿態Tk將點Pi投影到語義分割圖像Sk中。

前面的? w_i^{(c)} 是我們的老朋友,文章開頭說過,表示? P_i 是類別c的概率,而且會隨著觀測實時更新。論文說「直觀上該公式是2D距離的權重平均」。誰的2D距離呢,即到最近正確分類點 P_i 的2D像素距離。又舉了個例子說:如果點? P_i 分類為人行道和馬路的概率相同,那麼它的誤差項將在二者的分界上取得最小值。

? w_i^{(c)} 的實時隨觀測更新表現在哪呢。具體來說,點?的標籤概率向量? w_i^{} 聯合考慮所有觀測來計算。如果點 P_i ?被一組觀測量觀測,那麼:

常量用於確保

所以每次能看到Pi的觀測,得到的其分類為c的概率將被乘上去來改變? w_i^{c} 的值,該規則允許通過積累觀測數據增量式更新標籤向量? w_i^{} 。而如果大部分觀測值們對於同一個分類有最大值,那麼該類別c整體的乘積也將相對於其他錯誤分類收斂到一個尖峰值去。

有個小問題

最後解釋了一下Eq.5中的參數? sigma 非常重要,假設一個地圖點投影到了Fig2中car分類的外面,我們假設只有兩個分類:car和no_car。這個點在c=car的時候的? w_i^{(car)}=1 。那麼根據公式5,剩餘部分將與?的值成反比(怎麼不是負反比)。而且如果 sigma ?大的話,Eq.4中分類似然幾乎會是單調的(因為是個高斯分布,方差大的時候分布非常寬),於是導致語義項對點分類的影響無效了。比如與物體邊界相近???

接下來將產生一些補充材料的翻譯,見我另一篇專欄文章。

3.3 Optimization

該部分論述如何求解上述模型。使用expectation maximization (EM) 法,分E、M兩步分別求解。

E-step : 對每個點P_i計算權重向量,同時保持點位置和相機姿態固定。

M-step : 反過來優化點的位置和姿態,但固定權重。

由於E_sem含有稀疏結構,M-step使用Levenberg-Marquardt演算法求解。

給出的優化框架能夠通過將點標籤Zi作為潛在變數並最大化似然推導出。見附錄文件。

僅僅使用語義信息會使得約束過少,公式四(DT)在物體內部是均勻分布。

如左圖所示,語義的解有很多。為了避免這種情況,作者提了四點:

1) 語義優化聯合基本視覺里程計功能一起

2) 使用多個點和語義約束優化單獨相機姿態

3) 僅僅提供語義約束而不提供基本約束的點,如不會再被基本系統優化的點,將被固定並且僅僅相關的相機姿態會被優化來減小漂移。這個過程不光限制了優化變數的數量,並且提供了點之間的結構關聯,因而約束了姿態解。如右圖。

4) 通過高頻的語義優化,我們減少了將點匹配到錯誤物體情況的概率,由於優化基於DT的梯度,我們假設點會在正確標記區域附近,所以會把點拉向正確區域。

3.4 Obtaining Semantic Constraints & System Integration

除了語義系統外還有基本的視覺里程計系統。可選用直接法或間接法。對每幀生成一張可視點V(k),其中每個點可建立可優化的相機-點約束。每一幀還生成語義可見列表V_sem(k),如果點i的投影足夠接近該點的語義區域,那麼將被插入到V_sem(k)中。

VO方法有active window來用一部分幀優化軌跡,我們也定義了active semantic window存放語義關鍵幀。一旦一幀離開AW,就將其加入到ASW。ASW中幀的姿態不再被優化,因為它們缺少與當前幀的光照/尺度約束。

補充材料更加詳細地描述了如何從存在的VO框架中獲得語義關係,以及整合論文方法到已存在系統中。

4 Experimental Evaluation

該部分中,我們實驗性地證明了整合語義中期約束到state-of-the-art的VO方法中,顯著減少了平移漂移。

4.1 Experimental Setup

對於segmentation,使用的是現成分類器[54]在Cityscapes的預訓練集。由於其在KITTI效果不是那麼好,如圖5。我們將不確定性用?和?來建模。分別代表了語義項的權重和分割的不確定性。

基於每個數據集序列,我們經驗性地挑選值。作者表示如上圖所示的極端錯誤分類也能通過合理調整誤差參數來讓系統工作正常。

對於P4B作者使用ground truth語義數據,展現了系統潛力的上限。

ORB-SLAM2 做間接法。

PhotoBundle 做直接法。

評價標準。

RMSE: 均方根誤差

RPE: 相對姿態誤差。測量估計量相對ground truth的固定長度間隔幀內的平均偏差。

ATE: 絕對軌跡誤差。測量兩條軌跡之間點的絕對距離差。

對於立體實驗,我們測量 Relative RPE in % 來衡量漂移在語義約束引入後的相對減少。對於平移誤差,相對RPE ? t_{rel}^{(\%)} 定義為:

其中base和joint分別是沒有我們的約束和有我們的約束下的RPE值。

[就是個平移量的改善百分比。]

4.2 Results

感想

總感覺整體理論不是非常複雜,將語義當rgb圖投影過來做匹配。而匹配過程生成了一個DT變換圖。

另一篇《Long-term Visual Localization using Semantically Segmented Images》很像,區別在於,

1 它提出的模型是直接覆蓋和原地點的點做比較,這個點的概率來自於建圖的時候周圍7*7的格子。

2 它使用粒子濾波而非優化方法(有沒有回想起被激光slam時代支配的恐懼)

這兩個差別,就產生了ECCV和ICRA兩篇頂會...

最後也推薦 @陳煜 的一篇講解,也非常棒,見參考文獻。

另外:Markdown的圖床真不好弄...以上圖片和公式都重新一一複製上傳過,有丟失的我再補上. —— 2018/9/29 晚

參考文獻

[1] zhuanlan.zhihu.com/p/42 概率機器人——觀測模型 @fashmarch

[2] liuxiao.org/2018/08/sem

[3] zhuanlan.zhihu.com/p/41 VSO: Visual Semantic Odometry


推薦閱讀:

TAG:同時定位和地圖構建SLAM | 計算機視覺 | 機器人 |