Deep Auxiliary Learning for Visual Localization and Odometry 基於深度輔助學習的視覺定位和里程計

本博客僅爲作者記筆記之用,不對之處,望見諒,歡迎批評指正。
更多相關博客請查閱:http://blog.csdn.net/weixin_39779106
如需轉載,請附上本文鏈接:http://blog.csdn.net/weixin_39779106/article/details/79689208

原論文鏈接

一、摘要

zhaiyao

原文摘要 翻譯
In this work, we propose VLocNet, a new convolutional neural network architecture for 6-DoF global pose regression and odometry estimation from consecutive monocular images. 本文提出了VLocNet,是一種用於對連續圖像進行6自由度全局姿態迴歸和里程計估計的CNN網絡。
Our multitask model incorporates hard parameter sharing, thus being compact and enabling real-time inference, in addition to being end-to-end trainable. 我們的多任務模型實現了參數分享,因此除了可以進行端到端的訓練之外,同還十分的緊湊可以實時運行。
We propose a novel loss function that utilizes auxiliary learning to leverage relative pose information during training, thereby constraining the search space to obtain consistent pose estimates. 我們提出了一種新的損失函數,通過輔助學習在訓練時利用相對位姿信息,從而約束搜索空間以獲得一致的姿態估計。
even our single task model exceeds the performance of state-of-the-art deep architectures for global localization, while achieving competitive performance for visual odometry estimation. 本文所提出的單任務模型就已經超過了目前性能最好的基於深度學習框架的全局定位系統,同時在視覺里程計估計方面也取得了相當有競爭力的表現。
Furthermore, we present extensive experimental evaluations utilizing our proposed Geometric Consistency Loss that show the effectiveness of multitask learning and demonstrate that our model is the first deep learning technique to be on par with, and in some cases outperforms state-of-theart SIFT-based approaches. 此外,我們通過大量實驗評估利了使用本文提出的幾何一致性損失函數,表明了多任務學習的有效性。實驗結果同時表明了我們所提出的模型是目前唯一一個可以與基於SIFT算法性能相提並論的基於深度學習的算法,甚至在某些情況下,我們所提出的算法的性能優於基於SIFT的方法。

二、介紹

這裏寫圖片描述這裏寫圖片描述

原文摘要 翻譯
From a robot’s learning perspective, it is unlucrative and unscalable to have multiple specialized single-task models as they inhibit both intertask and auxiliary learning. This has lead to a recent surge in research targeted towards frameworks for learning unified models for a range of tasks across different domains. 從機器人學習的角度來看,擁有多個針對單一任務訓練的模型是毫無收益,也是不可擴展的,因爲這樣做抑制了任務之間相互學習以及輔助學習,因此最近的研究熱潮更多的關注於針對不同任務訓練統一的模型。
An evident advantage is the resulting compact model size in comparison to having multiple task-specific models. Auxiliary learning approaches on the other hand, aim at maximizing the prediction of a primary task by supervising the model to additionally learn a secondary task. 與訓練多個特定任務的模型相比,訓練統一模型最顯而易見的優勢在於其結構更加緊湊(模型尺寸更小)。另一方面,輔助學習可以通過監督模型額外學習次要任務來最大程度提高主要任務預測的精度。
For instance, in the context of localization, humans often describe their location to each other with respect to some reference landmark in the scene and giving their position relative to it. Here, the primary task is to localize and the auxiliary task is to be able to identify landmarks. 例如對於定位問題而言,人們通常會根據場景中的一些參考地標來描述彼此的位置,如給出相對於這些地標的位置。在這裏,主要任務是定位,輔助任務是識別地標。
Similarly, we can leverage the complementary relative motion information from odometry to constrict the search space while training the global localization model. 同樣,我們可以利用里程計中的相對運動信息來限制搜索空間的同時訓練全局定位模型。

個人理解1:本段主要講述了爲什麼要使用輔助學習,因爲現有的模型通常是針對單一任務訓練的,而機器人系統本身爲多任務系統,將多個單一任務模型並行使用的性能不如利用輔助訓練得到的多任務模型(一個模型完成多項任務)。作者舉了兩個例子,即定位和地標識別之間可以互補,從而提高兩者的精度,以及里程計信息也可以利用相對運動信息限制全局定位搜索空間。
個人理解2:本段同樣提出了多任務模型的難題,1.首先需要確定如何構建網絡框架從而可以實現多任務學習;2.由於現有不同任務針對的網絡具有不同的屬性和不同的收斂速度,如何實現聯合優化。接下來作者將提出針對這兩個問題的解決方案。
這裏寫圖片描述這裏寫圖片描述

原文摘要 翻譯
In this work, we address the problem of global pose regression by simultaneously learning to estimate visual odometry as an auxiliary task. We propose the VLocNet architecture consisting of a global pose regression sub-network and a Siamese-type relative pose estimation sub-network. Our network based on the residual learning framework, takes two consecutive monocular images as input and jointly regresses the 6-DoF global pose as well as the 6-DoF relative pose between the images. We incorporate a hard parameter sharing scheme to learn inter-task correlations within the network and present a multitask alternating optimization strategy for learning shared features across the network. Furthermore, we devise a new loss function for global pose regression that incorporates the relative motion information during training and enforces the predicted poses to be geometrically consistent with respect to the true motion model. 本文主要解決的是全局位姿迴歸以及同時實現視覺里程計的問題,其中全局重定位是主任務,視覺里程計是輔助任務。本文提出的VLocNet結構包含了一個全局位姿迴歸子網絡和一個連體式(Siamese-type)相對姿態估計子網絡。本文所提出的網絡基於殘差學習框架,將兩個兩個連續單目圖片作爲輸入,共同迴歸得到6自由度全局位姿以及圖像之間的6自由度相對位姿。我們引入了一個硬參數共享方案來學習網絡內部任務間的相關性,同時提出了一個多任務交替優化策略,用於學習整個網絡中的共享特徵。此外,我們設計了一種新的全局位姿迴歸損失函數,該函數包含了訓練期間的相對運動信息,並強制預測的位姿在幾何上與真實運動模型相一致。
We present extensive experimental evaluations on both indoor and outdoor datasets comparing the proposed method to state-ofthe-art approaches for global pose regression and visual odometry estimation. We empirically show that our proposed VLocNet architecture achieves state-of-the-art performance compared to existing CNN-based techniques. To the best of our knowledge, our presented approach is the first deep learning-based localization method to perform on par with local feature-based techniques. Moreover, our work is the first attempt to show that a joint multitask model can precisely and efficiently outperform its task-specific counterparts for global pose regression and visual odometry estimation. 通過大量實驗(包括使用大量室內室外數據集)本文對比了所提出的方法以及目前最好的用於全局位姿迴歸和視覺里程計估計的方法,直觀地展示了我們提出的VLocNet框架的性能要優於現有的基於CNN的方法。據我們所知,本文提出的方法是首次實現基於深度學習方法與基於局部視覺特徵方法的性能相媲美。此外,通過同時實現全局位姿迴歸和視覺里程估計,我們的工作首次嘗試證明了聯合多任務模型可以精確而有效地勝過多單一任務模型的並行。

三、相關工作(略)

四、深度位姿回溯

0. 概述

這裏寫圖片描述

  • 本文提出框架的主要任務是通過最小化所提出的幾何一致性損失函數(Geometric Consistency Loss
    function)來精確估計全局位姿,同時又利用兩個連續幀之間的相對運動來約束全局定位的搜索空間。本文將這一問題定義成一種輔助學習,該輔助學習以估計全局定位爲主目標,以估計相對運動爲第二目標。通過相對運動估計學習得到的特徵將被全局位姿迴歸部分用於學習針對不同場景更具區分力的描述子。
  • 本文所提出的框架包含三個流程的神經網絡:一個流程爲全局位姿迴歸網絡,另外兩個流程應用於實現連體式里程估計。整體結構如圖1所示。給定一組連續圖像 ( I t , I t 1 ) 本文提出的網絡先預測出兩幅圖像的全局位姿 p t = [ x t , q t ] , p t 1 = [ x t 1 , q t 1 ] 以及相對位姿 p t , t 1 = [ x t , t 1 , q t , t 1 ] ,全局位姿歸回網絡輸入爲圖像 I t ,連體式里程估計輸入爲連續圖像 ( I t , I t 1 )

A. 全局位姿迴歸

  • 全局定位子網絡的輸入是圖像 I t ,先前預測的位姿 p ^ t 1 ,輸出是新預測的當前位姿 p ^ t
  • 1)子網絡結構:子網絡是在ResNet-50上構建的,在最後一個平均遲化層之前與ResNet-50是一樣的,包含5個具有多個殘差單元的殘差模塊,其中每個單元具有由三個卷積層組成的瓶頸結構,每一個卷積層後接一個批量標準化層(batch normalization),縮放層(scale)以及修正線性單元層(ReLUs)。本文對殘差單元進行了改進,將ReLUs換成了指數線性單元(ELUs),從而可以減少神經元中的偏差,同時避免了梯度消失以及收斂速度更快的問題,本文將最後的平均池化層換成了全局平局池化,並在其後增加了三個內積層 f c 1 , f c 2 , f c 3 f c 1 爲1024維, f c 2 , f c 3 分別爲3維,4維對應着位置和姿態四元數。
  • 本文提出的幾何一致損失函數可以確保新預測的位姿與基於上一位姿利用相對運動累積得到的位姿相一致,因此,可以將上一位姿提供給網絡(訓練時用真值,測試時用預測值)從而更好的學習環境空間關係。本文首先將上一位姿提供給 f c 4 (沒看懂,因爲上文中說只用三個全連接層,且圖1中只畫了三個全連接層),其維數爲D,重塑其輸出爲 H × W × C ,跟降採樣前最後一個殘差單元的輸出形狀有關。然後將這兩個張量連接起來並提供給隨後的殘差單元。
  • 2)幾何一致性損失:利用相同的損失函數同時學習平移和旋轉是十分具有挑戰性的,因爲兩個量之間的規模和單位都不相同,先前有工作表明同時迴歸位置和姿態的性能超過單獨訓練的模型,我們利用 β 作爲權重平衡器來調節兩者的二範數(歐式距離)損失項從而得到損失函數如下:
    L β ( I t ) = L x ( I t ) + β L q ( I t )
    之前很多工作證明了該式的有效性,但需要手動調節 β 參數,而且針對不同場景的 β 值還不一樣,有文獻使用可學習的參數來代替 β ,如下所示:
    L s ( I t ) = L x ( I t ) exp ( s ^ x ) + s ^ x + L q ( I t ) exp ( s ^ q ) + s ^ q
    其中 s ^ x , s ^ q 是兩個可學習的參數,分別代表着兩個部分的權重。雖然解決了手動調參的問題但是沒辦法和上一幀的運動保持一致,因此本文基於此提出了一種新的損失函數,加入新的約束(懲罰項),通過懲罰與相對運動矛盾的位姿估計來構成新的損失函數。具體而言,我們儘可能的使得所預測位姿 p ^ t p ^ t 1 之間的差值與相對運動真值 p t , t 1 相一致。分別用 R x ( I t ) R q ( I t ) 來表示當前圖像 I t 和上一預測位姿 p ^ t 1 之間的相對運動,有:
    R x ( I t ) = x ^ t x ^ t 1
    R q ( I t ) = q ^ t 1 1 q ^ t
    我們將其集成爲里程損失形式並最小化位姿估計的誤差,里程損失可以表示如下:
    L x o d o m ( I t ) = | | x t , t 1 R x ( I t ) | |
    L q o d o m ( I t ) = | | q t , t 1 R q ( I t ) | |
    接着將里程損失和損失函數相結合,可得:
    L G e o ( I t ) = ( L x ( I t ) + L x o d o m ( I t ) ) exp ( s ^ x ) + s ^ x + ( L q ( I t ) + L q o d o m ( I t ) ) exp ( s ^ q ) + s ^ q
    我們推測,通過在損失函數中加入這種相對運動,所得到的訓練模型對於環境內的感知偏差(perceptual aliasing )將更加魯棒。

B.視覺里程計

  • 爲了利用提出的全局位姿迴歸網絡集成得到運動相關的特徵,本文通過訓練一個輔助網絡從連續圖像 ( I t , I t 1 ) 迴歸得到6自由度相對位姿,並構建了基於ResNet-50的連體式網絡(兩個線程)。我們將兩個線程網路最後降採樣層之前的特徵串聯,然後再將其映射傳遞給最後的三個殘差單元,隨後就是三個內積層,跟全局位姿迴歸網絡相同,其損失函數爲:
    L v o ( I t , I t 1 ) = L x ( I t , I t 1 ) exp ( s ^ x ) + s ^ x + L q ( I t , I t 1 ) exp ( s ^ q ) + s ^ q
    具體訓練步驟在稍後實驗B部分詳細闡述。

C.深度輔助學習

  • 使用聯合學習的原因:1)全局定位和視覺里程計之間本身有很大的關聯;2)通過分享特徵可以實現一種競爭合作的關係,這種關係將在訓練時提供額外的正則化約束從而可以避免過擬合。
  • 與一般的連體式網絡不同,我們不在兩個線程間共享權重,而是在處理 I t 圖像的線程和全局位姿迴歸線程間共享權值。通過在學習兩幅圖像之間的相關性之前學習每幅圖像的判別特徵,該視覺里程計網絡能夠有效地在包含運動模糊和感知偏差的場景中使用。
  • 其實共享特徵可以看作一種正則化行爲,但是我們並不清楚要共享多少層,淺了沒用,因爲淺層特徵太普通,深了又會同時影響到每個網絡的性能,因此本文做了大量共享不同層數的實驗,將在實驗部分具體闡述。
  • 在預測過程中,聯合網絡可以作爲一個單獨模型,這爲以後融合更多網絡提供了可能。

五、實驗評估

A.介紹數據集(略)

B.訓練網絡

  • 爲了能夠使網絡訓練不同的數據集,我們將所有的圖像調整到短邊爲256像素的圖像,我們對每個數據集的每個場景進行像素級平均,然後讓輸入圖像減去均值(實際上就是進行歸一化)。還用了位姿合成(pose synthesis)和視圖合成(synthetic view synthesis)來增強圖像,但並沒有提高性能,有時還起反作用。。。利用224*224的隨機裁剪可以幫助提高泛化能力。
  • 使用了Adam解決方案, β 1 = 0.9 , β 2 = 0.999 , ϵ = 10 10 。初始學習率爲 β 1 = 0.9 , β 2 = 0.999 , ϵ = 10 10 。初始學習率爲 λ 0 = 10 4 ,mini-batch是32,dropout概率爲0.2。爲了訓練統一的模型以及實現輔助學習,我們使用了很多不同的優化策略,這些策略使得網絡可以高效地學習共享特徵以及特定任務的特徵。例如在交替訓練中,我們在不同的任務上使用不同的優化器,並交替地在特定任務損失函數上執行從而使得信息可以從一項任務到另一項同步傳輸。在聯合訓練中,我們把每個子任務的損失函數相加利用一個優化器來同時訓練多個子網絡。
  • 對於初始權重本文進行了多種測試,將在F小節中詳細討論,基於轉移學習,全局遲化層前用ImageNet訓練的權值作爲初值,剩下的權重採用高斯初始化。
  • 使用了TensorFlow的框架,TitanX的GPU,120000次迭代,大約花了15個小時進行訓練。

C.與state-of-the-art對比

這裏寫圖片描述 這裏寫圖片描述

  • 如表所示,將本文提出的VLocNet與目前著名的幾個基於深度學習的定位方法進行比較,PoseNet,Bayesian-PoseNet,LSTM-Pose,VidLoc,Hourglass-Pose,Branch-Net,PoseNet2,SVS-Pose以及NNnet。
  • 表一,在7-Scenes數據集上,初始化
相關文章
相關標籤/搜索