李傳立 尚俊娜 李芳



摘要:里程計是實現載體定位、完成導航任務的重要工具。介紹了里程計的概念及其從純機械式里程計、機械一電子式里程計、純電子式里程計至視覺里程計的發展歷程,重點介紹了視覺里程計工作原理,分析了不同里程計的優缺點,并對視覺里程計的間接法、直接法和半直接法進行比較分析。
關鍵詞:里程計;純機械式;機械一電子式;純電子式;視覺里程計
DOI:10.11907,rjdk.191259
中圖分類號:TP301 文獻標識碼:A 文章編號:1672-7800(2019)012-0006-05
0引言
里程計是測量行程的裝置。在輪式自主導航系統中,里程計是一個重要組成部分,可以獲取載體運動的距離和速度信息,其關系到載體定位和導航任務的實現。據史書記載,遠在1800多年前東漢時期,張衡就發明了以齒輪傳動著稱的記里鼓車,這是我國最早的純機械式里程計。汽車早期使用的里程計和記里鼓車一樣,均采用純機械零件設計。隨著電子器件及技術的發展與應用,里程計由純機械式發展為機械一電子式、純電子式。近年來,隨著圖像處理技術的發展和計算機性能的快速提升,使里程計由機器視覺實現成為可能。視覺里程計(Visual Odometer,VO)的概念由Nist6r提出,指通過機器視覺技術處理相關圖像序列,實現實時估計移動載體位姿(位置和姿態)變化的計量儀。它不但能得到里程信息,還能得到位姿信息。本文通過梳理里程計發展脈絡,分別對純機械式里程計、機械一電子式里程計、純電子式里程計、VO原理及關鍵技術進行討論,重點對VO原理及各類方法進行介紹。
1傳統里程計
1.1純機械式里程計
記里鼓車和指南車的基本原理相同,也是利用齒輪機構的傳動關系實現計量。記里鼓車通過車上的一套減速齒輪系統,在車行駛一里時,最末齒輪牽動木人鼓槌擊鼓一次,以示走過的里程。現代純機械式里程計變為由數字指示輪和蝸輪蝸桿機構組成。當汽車行駛時,變速箱主動軸上安裝的里程計主動輪(蝸桿)驅動里程計被動齒輪(蝸輪)轉動,然后蝸輪驅動鋼絲軟軸轉動,鋼絲軟軸再驅動儀表盤上的蝸桿蝸輪轉動計數器,從而顯示里程數。
1.2機械一電子式里程計
機械一電子式里程計與純機械里程計相比,最主要區別是采用電子傳感器取代了鋼絲機械一電子式里程計。電子傳感器有光電耦合式和磁電式兩種,安裝在變速箱的蝸桿上。當汽車行駛時,里程計被動齒輪驅動電子里程表傳感器內的磁鋼作圓周轉動,磁鋼每轉一周,電子里程表傳感器就輸出N個(一般為個8或10個)脈沖信號,經由連接線束傳給車速里程表。傳來的磁電脈沖信號或光電脈沖信號經過微處理器處理后,即可得到速度信息,根據速度信息和累計運行時間又可得到里程信息。
1.3純電子式里程計
純電子式里程計與機械一電子里程計最大區別在于電子傳感器不與任何機械部件直接接觸,傳感器與靶輪之間存在1.4±0.6mm的間隙。當汽車行駛時,里程計轉子與變速器主軸轉動。由于里程計轉子磁場的作用,里程計轉子的齒輪與傳感器探頭對準和沒對準時分別輸出低電平和高電平,這樣變數箱輸出軸每轉動一圈,里程計傳感器就會輸出相應的方波脈沖信號,和機械一電子式里程計相同,對里程計傳感器輸出脈沖信號進行處理即可得到里程信息和速度信息。因為減少了蝸輪蝸桿間的誤差,里程數和車速更加準確,并且由于里程計傳感器沒有機械接觸,加工和維修成本低,可靠性和準確性更好。
2視覺里程計
隨著圖像處理技術的發展和計算機性能的提高,里程計技術發生了變革,出現了以光學傳感器為基礎的視覺里程計(VO)。近年來,VO被廣泛應用于各種自主導航機器人上,其中最有名的應用是美國“勇氣號”和“機遇號”火星探測器,以及特斯拉自動駕駛系統。
2.1VO原理
由相似三角形對應邊成比例,可得到三維到二維的透視投影方程。
估計一系列圖像間的變換矩陣,集成所有變換矩陣即可恢復相機的全部軌跡。因為VO是增量式重建運動軌跡,所以累計誤差不可避免,需要進行優化得到更加精確的運動軌跡。目前主流優化方法是光束法平差(BundleAdjustment,BA),求解誤差最小的特征點空間坐標和相機位姿。
按所用圖像信息不同,VO可分為提取特征的間接法VO、不提取特征的直接法VO,及將二者結合的半直接法VO。表1為經典的VO研究成果。下文分別對VO類別進行詳細介紹。
2.2間接法VO
間接法VO又稱為特征點法VO。基于特征點法的VO運行穩定,對動態物體以及光照不敏感,是目前比較成熟的VO解決方案,長久以來被認為是主流方法,并逐漸形成了一個完整流程體系。基于特征點法的VO流程如圖3所示,主要由特征模塊、運動估計模塊和優化模塊3個模塊組成。
特征模塊主要完成特征點提取、特征點匹配以及誤匹配剔除工作。特征點由關鍵點和描述子兩部分組成。描述子是對關鍵點信息的描述,為特征匹配提供依據。研究者們設計了許多穩定的圖像特征,如SIFT(scale-invari-ant Feature Transform,尺度不變特征變換)、SURF(speed-ed Up Robust Features,加速穩健特征),二者充分考慮了圖像變換過程中的問題,但帶來了較大的計算量,所以難以滿足實時性需求。為了滿足VO實時性要求,研究者們又提出ORB(Oriented FAST and Rotated BRIEF)特征,ORB融合FAST(Features from Accelerated Segment Test)角點和BRIEF(Binary Robust Independent Elementary Fea-tures)描述子,使得其在尺度、旋轉、亮度以及計算速度等方面具有良好的特性。
特征匹配是特征點法VO中極為關鍵的一步,它解決了數據相關聯問題。最簡單的特征匹配方法是暴力匹配(Brute Force,BF)。但特征點較多時,暴力匹配的運算量很大,此時選擇快速近似最近鄰算法(Fast Library for Approxi-mate Nearest Neighbors,FLANN)更加合適。在匹配過程中,由于各種原因難以完全避免誤匹配,最簡單的篩選方法是基于閾值的方法,還可以使用隨機采樣一致性(Ran-dom Sample Consensus,RANSAC)算法剔除外點(誤匹配點)。
運動估計模塊計算相機在當前幀Ik和前一幀Ik-1之間的變換矩陣Tk,k-1。計算Tk,k-1有2D-2D、3D-3D和3D-2D 3種方法。2D-2D是用二維圖像點對計算運動參數,一般用于單目視覺;3D-3D是由三維點對計算運動參數,通常用于立體視覺;3D-2D是由三維點對和二維圖像點對計算運動參數,將已獲得的三維坐標投影到當前二維圖像中求解。
在初期VO后端優化中,主要使用濾波方法。2003年Davison提出的MonoSLAM(Monocular Simultaneous Local-ization and Mapping)方法優化即基于EKF框架。后來研究人員將SFM(structure From Motion,運動推斷結構)中的非線性優化方法BA引入VO研究中,成為后端優化的主導方法,其中PTAM(Parallel Tracking and Mapping)是第一個以BA為后端優化的程序。
現有研究成果中實用性最好的基于特征的VO是ORB-SLAM2,它由跟蹤、建圖、回環檢測3個線程組成。其中,跟蹤線程主要完成圖像ORB特征提取及匹配,并粗略估計相機位姿;建圖線程主要使用BA對局部特征點和相機位姿進行優化,求解誤差最小特征點空間坐標和相機位姿;回環檢測線程主要實現基于關鍵幀的回環檢測,能消除誤差累計、實現全局重定位。同時ORB-SLAM2中有單目、RGB-D和雙目相機3種模式,使其具有良好的泛用性。
2.3直接法VO
直接法VO指直接根據圖像灰度值計算相機運動的方法。像素灰度不變假設認為,同一個空間點的像素灰度值在各個圖像中是固定不變的。直接法避免了計算特征的時間,適用于特征缺失的場景。只要場景中存在明暗變化,直接法就能工作,所以該方法在近年來獲得了快速發展。直接法由光流演變而來,能夠不提取特征,通過最小化光度誤差(Phometric Error)計算相機運動和像素的空間位置。根據使用像素的數量,直接法又可以分為稀疏直接法、半稠密直接法和稠密直接法。
早期有一些使用直接法的研究,但直到RGB-D相機出現后,人們才發現直接法對RGB-D相機以及單目相機均是行之有效的方法。近期出現的一些直接法直接使用圖像像素點的灰度信息和幾何信息構造誤差函數,通過圖優化求解最小化代價函數,從而得到最優相機位姿,且用位姿圖表示大規模地圖問題的處理。
LSD-SLAM(Large-scale Direct Monocular SimultaneousLocalization and Mapping)是Engel等為了構建半稠密三維地圖提出的算法,該算法在計算相機位姿的同時還能構建大規模三維地圖。采用直接法進行數據關聯,由深度估計、跟蹤和建圖3個線程組成。LSD-SLAM使用權值高斯一牛頓迭代方法最小化光度值誤差。因為單目相機缺少尺度信息,該方法通過規定所有像素點逆深度均值為1控制全局地圖的尺度,最后進行回環檢測,并采用光束平差法優化全局地圖。
直接稀疏里程計(Direct Sparse Odometry,DSO)也是Engel提出來的一種單目稀疏直接法視覺里程計,并在2017年擴展為雙目功能。該方法將完全直接的概率模型(最小化光度誤差)與所有模型參數的一致聯合優化相結合,對圖像中平滑變化的點均勻采樣以降低計算量。其模型集成了全光度校準,考慮了曝光時間、鏡頭漸暈和非線性響應功能。該方法在魯棒性、精準性和實時性方面較之前的LSD-SLAM均有較大提高。
2.4半直接法VO
特征點法VO不適用于缺少特征的場景和沒有明顯紋理的地方,并且特征點提取和描述子計算很耗時;直接法VO存在非凸性、單個像素沒有區分度和灰度不變性假設性太強等問題。但二者也有各自的優點,因此2014年For-ster等在特征點法和直接法優點的基礎上,提出了半直接法視覺里程計(semi-direct Visual Odometry,SVO),該系統是基于半直接法的單目視覺里程計。SVO結合了基于特征方法的成功因素與直接方法的準確性和速度,雖然還是通過直接法獲取位姿,但該方法比之前的單一方法更精確、更穩健、更快速。
SVO系統采用單目相機,所以深度估計是構建點云地圖的前提與核心。它采用高斯分布和均勻分布的混合概率模型建圖。首先使用直接法求解位姿進行匹配,然后使用經典的Lucas-Kanade光流法匹配得到子像素精度,最后結合點云地圖計算最小化重投影誤差實現優化。
SVO整個過程只在選取關鍵幀時依賴特征,不需要計算特征點描述子或進行誤匹配剔除,所以更加高效。同時相比于直接法,不用對整張圖像進行匹配以獲取相機位姿,這樣也增強了算法高效性和魯棒性。PL-SVO(Semi-direct Monocular Visual Odometry by CombiningPoints and Line Segments)通過擴展SVO算法,能夠處理無紋理環境的系統;FSVO(semi-direct Monocular VisualOdometry Using Fixed Maps)使用固定地圖的半直接法VO框架,算法基于固定地圖而不是增量地圖,并提出了新的關鍵幀選擇標準和重定位方法。
3優缺點分析
本文對里程計的發展進行了回顧。傳統里程計中純機械式里程計因為采用鋼絲軟軸,會出現鋼絲軟軸金屬疲勞而斷裂,引起里程計不能工作以及速度表指針指示不穩等現象。機械一電子式和純電子式里程計采用電子傳感器取代了鋼絲軟軸,克服了純機械式里程計中由于鋼絲軟軸造成的缺陷,但是傳統里程計仍然不能消除道路不平、輪胎打滑等情況的影響,而VO不受到道路不平和輪胎打滑的影響,還適用于非輪式移動載體。VO在提供里程、位姿的同時,還能提供場景圖像信息,可用于實現區域巡檢、目標檢測與跟蹤、障礙識別與路徑規劃等。間接法VO一直是比較經典的方法,其魯棒性主要建立在特征點的描述子描述基礎上,雖提高魯棒性,但增加描述子算法復雜度,降低實時性,由于間接法存在局限性,無法應用于特征較弱和無特征的場景。直接法VO可以適用于特征較弱和無特征的場景,由于不用特征描述和匹配,稀疏直接法能夠適用于快速運動的運行情況,也適用于需要構建半稠密或者稠密地圖的場景,這是間接法無法實現的。但直接法基于灰度不變性的假設太牽強,易受到意外光照影響,因此直接法的研究和應用沒有間接法成熟。基于混合的半直接法具有速度快,兼具間接法和直接法的優點及場景適應力較強等長處,但是由于跟蹤的特征較少,在一些特殊的情況下會丟失跟蹤。
4結語
本文以里程計的技術發展為主線,對里程計技術進行了回顧和綜述。相比于傳統里程計,VO很好地克服了傳統里程計因為輪胎打滑而造成誤差的問題,而且適用于非平面運動環境和非輪式運動載體應用。另外VO除能提供里程信息外,還能提供每個時刻的位姿情況,且能獲得更多的環境圖像信息用于三維重建、目標跟蹤、避障和路徑規劃等,應用范圍很廣。從里程計技術的發展歷程來看,機械產品經歷了從純機械向機械與電器電子結合、至現在與光學等傳感技術融合的過程。在多源技術融合過程中,計算顯得越來越重要,因此算法和軟件技術應被給予更多的重視,以提高其智能化水平。