Paper Reading | 首次使用DL的框架來解決VIO問題——帶你讀懂VINet 深度神經網路架構
插播一則招聘啟事
「「你是我的眼」!Momenta招聘視覺演算法工程師(全職/實習)」如果把自動駕駛汽車看作一個特定場景下工作的機器人,那麼基於計算機視覺技術的感知方案則可以看作是它的眼睛。這雙"眼睛"是連接汽車與環境的窗口,是整個自動駕駛產業流程上必不可少的一環。Momenta團隊在計算機視覺領域一直深耕不輟,處在行業的潮頭浪尖,但我們依然求賢若渴,依然在不斷尋求成長壯大。如果你精通計算機視覺演算法,如果你對自動駕駛領域充滿好奇和熱情,如果你不懼新鮮的挑戰,如果你想讓汽車更好地"看見"甚至理解人類世界,那麼,你就是我們要找的人!職位描述負責自動駕駛中視覺演算法的長期研發和迭代 崗位要求1. 熟悉 C/C++ 和至少一種腳本語言,能夠獨立實現演算法 2. 熟悉開源深度學習框架和相關演算法者優先3. 有機器學習經驗者優先4. 有學術論文發表經歷優先簡歷投遞網址:
Momenta
#清華專場宣講會——Momenta2018年春招# 3月22日(周四)下午14:00-16:00 清華大學學生職業發展 指導中心會議廳東風廳人工智慧大咖面對面交流,學術乾貨和精美禮品現場放送
該文為Momenta Paper Reading 第一季第三期回顧,始發於2017年3月12日。
論文鏈接:Visual-Inertial Odometry as a Sequence-to-Sequence Learning ProblemPPT下載鏈接:https://pan.baidu.com/s/1bpN6EDL,密碼: 7i6h
分享視頻回放鏈接:undefined_騰訊視頻
主講人
陳亮
Momenta視覺演算法研究員,南京理工大學PCALab博士生,自主車組組長。機器人系統設計師,曾先後完成了KylinCar,DeepCar,PipeRobot等多型號機器人的設計和開發。
分享內容
高精度的車道級導航和定位是自動駕駛汽車的核心技術。常規的高精度定位手段,如差分GPS和慣性導航設備在一些GPS信號不佳的場合(如立交橋,隧道)誤差較大。其次,這類設備的價格往往較高,並不適用於商用的無人駕駛汽車方案。相比而言,一些基於語義地圖的匹配定位方案相對廉價,但是考慮到視覺語義感知的誤差和語義地圖中語義要素的稀疏性,此類方案並不能達到任意場景下的定位。作為語義地圖匹配定位方案的補充,視覺慣性里程計(Visual Inertial Odometry)是一種融合圖像視覺和廉價慣性數據的組合定位方法。它通過攝像頭和慣性器件的廉價結合,既可以有效抑制慣性器件的漂移,又可以克服視覺里程計(Visual Odometry)中的尺度、相對運動和低幀率等問題,是實現低成本高精度定位的有效手段。
傳統VIO的框架一般可分為三個過程,基於圖像序列的光流估計、基於慣性數據的積分操作以及基於濾波和優化的運動融合。從文獻披露的情況來看,深度學習在這三個子領域均已涉及。首先來說說光流估計的問題。光流是運動物體在像素空間中瞬時速度的體現,它需要結合相鄰幀之間像素的對應關係。
FlowNet 網路結構
Flownet 是目前用DL來做光流問題的state of art。與一般的深度卷積神經網路相比,Flownet有兩點不同:首先它的輸入是相鄰幀的兩張圖像,其次它通過對來自於不同圖像的feature map 做相關性操作來學習兩幀圖像之間的運動差異。
接著,來談談IMU時序數據的問題。眾所周知,RNN和LSTM是DL領域數據驅動的時序建模大法。而IMU輸出的高幀率角速度、加速度等慣性數據,在時序上有著嚴格的依賴關係,特別適合RNN這類的模型。
VINet中的IMU時序數據處理模塊
因此,我們可以很自然的想到利用FlowNet和RNN來做結合,處理VIO的問題。
VIO 的網路架構
VINet正是基於這樣的動機所設計,它的整個網路可以分為三部分。其中,CNN部分通過一個FlowNet來得到相鄰幀間圖像間的光流運動特徵(1024維)。接著,使用一個常規的小型LSTM網路來處理IMU的原始數據,得到IMU數據下的運動特徵。最後,對視覺運動特徵和IMU運動特徵做一個結合,送入一個核心的LSTM網路進行特徵融合和位姿估計。
VINet中處理不同幀率輸入數據的機制
值得一提的是,VIO問題中IMU數據的幀率與圖像的幀率往往並不匹配,例如KITTI 數據中IMU的幀率是100Hz,圖像數據的幀率是10Hz,這就要求神經網路能夠對不同幀率的輸入數據進行處理。在VINet中,小型的LSTM網路能夠以較快的頻率處理高幀率的IMU數據,而參數量較多的核心LSTM則和CNN一起以圖像的幀率工作。利用LSTM對輸入數據的不定長特性,完成了不同速率下的視覺和慣性數據的特徵學習和融合。
有了融合的特徵,那麼問題來了,如何在神經網路中建模位姿呢?
在機器人和計算機視覺中,位置姿態除了表達3D旋轉與位移之外,我們還要對它們進行估計,為了做這件事,需要對變換矩陣進行插值、求導、迭代等操作,我們希望有更好的數學工具幫助我們做這些事,而李群與李代數理論正好提供了這樣的工具。通常,我們用特殊歐式群SE(3)來表示相機的位姿。然而SE(3)中的旋轉矩陣必須要求正交,這種特性在進行參數學習的過程中很難保證。為了解耦這種正交性,數學中可以用李代數 se(3) 來表示這種變換。數學上可以證明,李代數se(3)表達的正切空間和原來的SE(3)群相比,具有相同的自由度,更重要的是,通過簡單的指數映射,我們可以很方便把se(3)中的變換向量映射回歐式空間中的變換矩陣。有了這種建模手段,我們至少可以得到如下兩種損失函數。
一種是建立在SE(3)群上位姿約束(Full pose),另一種是建立在se(3)空間中的相對運動(Frame-to-frame)約束。實驗結果表明,這兩種損失函數在一起聯合約束的時候,VINet所能達到的效果是最佳的。
在傳統的VIO應用中,只要涉及到攝像頭和慣性器件的數據融合,就無法避開兩種感測器的聯合標定。感測器之間的標定可分為時間和空間兩個維度,在時間維度上稱之為數據幀同步,在空間維度上稱之為外參標定。傳統VIO往往需要標定的效果近乎完美,否則演算法很難正常工作。而VINet上的實驗結果表明,當感測器的標定參數發生誤差的時候,基於深度學習的VIO方法較常規方法而言,體現出了一定的魯棒性。對於VINet這樣的數據驅動的模型,往往有較大的潛力去學習來自於數據中的規律,因此對於標定誤差這樣的數據擾動,模型對其具有較強的建模和擬合能力,這也是數據驅動模型的最大魅力。
綜合以上,本講我們介紹了VINet,它是一種端到端可訓練的深度神經網路架構,用來嘗試解決機器人領域視覺慣性里程計的問題。這種網路使用FlowNet來建模視覺運動特徵,用LSTM來建模IMU的運動特徵,最後通過李群李代數中的SE(3)流行來建模位姿,用幀間堆疊的LSTM網路來預測位姿。在真實的無人駕駛和無人機數據集上,VINet獲得了與state of art 方法具有可比性的結果。同時,VINet在面對時間不同步和外參標定不準確的多視覺慣導數據時,表現出了一定的優勢。就整體而言,VINet是首次使用DL的框架來解決VIO問題,目前所披露的實驗表現出了一定的實用價值,值得我們後續的繼續關注。
------------------------------------------------
知乎機構號:Momenta,打造自動駕駛大腦。
基於深度學習的環境感知、高精度地圖、駕駛決策技術,讓無人駕駛成為可能。
Momenta知乎專欄:Paper Reading,集聚自動駕駛知名大咖的前沿知識分享平台,歡迎申請加入或直接投稿。
Paper Reading推薦閱讀:
TAG:人工智慧 | 深度學習DeepLearning | 自動駕駛 |