顧海艷 陳穎潔 丁堯
摘要:視覺里程計(VO)通過軌跡推算,累加運動矢量,得出當(dāng)前位置的相對定位方法,單目里程計僅使用單個相機作為圖像獲取載體,使獲得信息的要求更低,且能較精確地識別和定位特征點,實時性好,成本也少很多,因此具有更廣的應(yīng)用前景。本課題采用SURF算法來同時檢測和匹配特征點,使用一種基于機器學(xué)習(xí)算法(SVM)自適應(yīng)卡爾曼濾波器,減緩原本卡爾曼濾波器中會出現(xiàn)的精度低和發(fā)散狀況,起到優(yōu)化單目里程計的系統(tǒng)準確度。
關(guān)鍵詞:單目;視覺里程計;SURF算法;卡爾曼濾波
中圖分類號:G642.0 ? ? 文獻標志碼:A ? ? 文章編號:1674-9324(2016)43-0257-03
移動機器人的自主定位導(dǎo)航是機器人運動的前提之一,隨著計算機技術(shù)和圖像處理技術(shù)的發(fā)展,利用機器視覺進行導(dǎo)航逐漸成為熱點之一[1]。視覺里程計(VO)通過軌跡推算,累加運動矢量,得出當(dāng)前位置的相對定位,從而幫助機器人感知周圍環(huán)境和自由移動。對比雙目里程計,單目里程計僅使用單個相機作為圖像獲取載體,使獲得信息的要求更低,實時性好,成本也更少,因此具有更廣的應(yīng)用前景[2]。本研究課題引入機器學(xué)習(xí)算法,對傳統(tǒng)單目視覺里程計進行改良,提出了一種新的解決方案,優(yōu)化單目視覺里程計,對后期的工程應(yīng)用有一定的實踐意義。
一、設(shè)計單目視覺里程計系統(tǒng)模型
單目視覺里程計模型設(shè)計分為:硬件設(shè)計和軟件設(shè)計。硬件設(shè)計就是安裝在機器上帶有調(diào)節(jié)機構(gòu)的單個相機。軟件模型設(shè)計包括:圖像的采集和預(yù)處理、目標的選取特征與運動估計等模塊,其軟件設(shè)計工作流程如圖1所示:
圖1中,在采集到圖像后,要進行濾波、圖像矯正、標定參數(shù)等預(yù)處理,相機參數(shù)標定獲得的參數(shù)能將現(xiàn)實三維與相機二維圖像聯(lián)系起來,是單目里程計能否準確定位的關(guān)鍵[3],本課題采用張友正的棋盤標定法,較其他算法實現(xiàn)起來更簡單,準確度較高。
圖片在成像過程中會出現(xiàn)畸變、失真等情況,可以采用灰度插值法或雙線條插值法進行矯正,以起到減小里程計誤差的作用。由于估算圖像特征的運動參數(shù)是估算相機運動的關(guān)鍵,因此特征的選取顯得尤為重要。選擇具體的物體作為特征,在復(fù)雜的外部環(huán)境中是不現(xiàn)實的,所以,應(yīng)該盡可能的選擇簡單,明顯的點線面、角點、特定區(qū)域作為特征。在計算圖像特征運動時,需要檢測出兩幅連續(xù)的圖像中對應(yīng)的特征點,然后找出所有特征點之間的對應(yīng)關(guān)系進行匹配[4]。常用的特征點提取算法有Harris角點檢測算法,SUSA(smallest univalve segment assimilating nucleus)角點檢測算法,SIFT,SURF,F(xiàn)AST角點算法等。Harris算法定義局部領(lǐng)域內(nèi)極大興趣值對應(yīng)的像素點為檢測的特征點,并不如SURF(Speeded Up Robust Features)算法選取的特征點明顯[5],所以相較于兩者SURF更適合于本課題的研究,SURF基于積分圖像提取特征點,通過Haar小波濾波器描述特征點,是一種集特征提取和描述于一體的算法,其抗干擾能力強,運算量低于SIFT算法,運算速度卻更快,并且結(jié)合了SIFT算法的許多優(yōu)點,因此本文選用SURF算法進行特征提取和匹配。由于SURF算法具有平移、旋轉(zhuǎn)時尺寸不變的優(yōu)勢,因此所檢測出的特征無論在哪個角度都是同一個特征,首先給特征點確定一個主方向,以特征點為原點,建立二維直角坐標系,獲得一個64維特征向量r來描述特征點。之后SURF對特征點的匹配就可分為兩步:第一步,快速索引進行初步匹配,但是會存在較大的誤差,第二步進行最近鄰匹配算法運算,若最近鄰歐氏距離與次近鄰歐式距離的比值在一定閾值范圍內(nèi),則認為特征點匹配正確,反之則是匹配錯誤[6],能快速有效的剔除錯誤的匹配點。SURF算法的流程圖如圖2所示:
SURF最近鄰歐式距離算法如式1所示:
dis(j)=(dis(rr)) (式1)
SURF次近鄰歐氏距離算法如式2、式3所示:
dis(j)=(dis(rr)) ?(式2)
R= (式3)
式(1)中,dis(j)——兩個特征點間的最近鄰歐氏距離,r中第j個向量與r中第i個向量的歐式距離最小;
式(2)中,dis(j)——兩個特征點間的次近鄰歐氏距離,r中第j個向量(除第j個向量外)與r中第i個向量的歐式距離最小;
式(3)中,R為最近鄰歐氏距離與次近鄰歐氏距離之比。設(shè)閾值為R,當(dāng)R≤R時,特征向量匹配成功,反之則失敗。
二、單目視覺里程計目標定位:
在設(shè)計完單目視覺里程計的模型后,進行計算,得出現(xiàn)實中的點的三維坐標;首先先確立相機的位置關(guān)系,就是在本質(zhì)矩陣E(一個有5個自由度,秩為2的三階矩陣)中分解出旋轉(zhuǎn)矩陣R和平移向量T,可以由E=UDV,計算出R=UGV,其中G=,
Z=。而得到的平移向量T是一個比例值,只能根據(jù)現(xiàn)實數(shù)據(jù)計算出,因此平移向量還是一個未知數(shù)。在現(xiàn)實相機標定時可直接選用張友正的棋盤標定算法,使用ROS下的標定庫,通過camera_calibration直接標定插入電腦的相機,當(dāng)拍攝照片達到一定量之后,標定程序會自動開始計算各種參數(shù),我們只需要選定焦距值,圖像尺寸大小,主點坐標(u,v)。知道兩張相片的坐標分別為A=(x,y,z),A=(x,y,z),可以通過數(shù)學(xué)計算來獲取目標的三維坐標, 由先前得到的相機坐標位置關(guān)系可得式4:
A=RA+T (式4)
由于(u,v)和(u,v),R,T均可得出所以可以求出x,y如式5所示:
x=y= (式5)
z和平移系數(shù)可由最小二乘法得出。算出結(jié)果后我們可以的得出A=(x,y,z)為當(dāng)前相機坐標系下算出的目標點的三維坐標,因此目標點被定位成功。
三、基于機器學(xué)習(xí)算法的Kalman濾波改良設(shè)計
卡爾曼濾波器(Kalman Filtering)是一種軟件濾波方式,以最小方差估計為算法基礎(chǔ),通過狀態(tài)方程來描述被估計量的動態(tài)變化過程,利用相機上一時刻的狀態(tài)和當(dāng)前時刻傳感器的測量值來估計當(dāng)前的狀態(tài)值[7]?;究枮V波器算法,適用于解決隨機線性離散系統(tǒng)的參數(shù)估計問題,卡爾曼濾波器在濾波過程中不需要存儲歷史數(shù)據(jù),有效地減少了計算量,大大節(jié)省了運算時間。但是基本卡爾曼濾波器會因為實際噪聲和其使用的噪聲不相符,而導(dǎo)致濾波運算精度低,甚至?xí)霈F(xiàn)濾波器發(fā)散的現(xiàn)象。為了直觀地理解卡爾曼濾波器的應(yīng)用,可給出其運行流程圖如圖3所示:
研究者們曾提出自適應(yīng)卡爾曼濾波器(AKF)來克服這一缺點,其中Sage-Husa自適應(yīng)濾波器算法因為原理簡單,實時性好,受到廣泛的關(guān)注,但存在著時間窗口難以設(shè)置的問題,時間窗口是指測量數(shù)據(jù)選取的時間長度,若設(shè)得過大,算法效率會變得很低,動態(tài)性能也變差;若過小,算法中用到的數(shù)據(jù)就顯得過少,估算出的當(dāng)前相機狀態(tài)值會發(fā)生偏差。所以本文介紹了一種基于機器學(xué)習(xí)算法SVM(支持向量機)的自適應(yīng)卡爾曼濾波設(shè)計方法。支持向量機(SVM)是一種將結(jié)構(gòu)風(fēng)險最小化的機器學(xué)習(xí)算法[8],在解決非線性問題領(lǐng)域有著極大的優(yōu)勢,恰好在基于SVM的新型自適應(yīng)卡爾曼濾波算法中,正是運用SVM的回歸預(yù)測分析(SVR),將原本復(fù)雜的非線性問題通過構(gòu)造線性函數(shù)轉(zhuǎn)化成線性問題,進而動態(tài)的調(diào)節(jié)卡爾曼濾波器算法中的噪聲矩陣參數(shù)。巧妙地避開了選取時間窗口的難題,并且這一新型的算法增加了單目里程計的穩(wěn)定性和準確性。
四、提高單目里程計算法的研究
如何提高單目里程計算法,可以從三個角度進行分析:魯棒性、實時性和精確度。
1.提高系統(tǒng)的魯棒性。魯棒性可以是指,控制系統(tǒng)在參數(shù)攝動情況下保持系統(tǒng)某個性能指標保持不變,即抗干擾能力。在視覺里程計中,局部視覺特征能有效的提高系統(tǒng)的魯棒性,局部視覺特征有尺寸不變特性,并且對復(fù)雜的外部環(huán)境有很好的檢測能力,適用于室外等復(fù)雜場地,若與GPS等設(shè)備結(jié)合使用,實現(xiàn)多傳感器信息融合。
2.提高系統(tǒng)的實時性。在特征檢測和匹配時,選取有效的少量特征進行檢測和匹配,并運用好的數(shù)據(jù)加以描述,能有效的提高系統(tǒng)的實時性,簡而言之,特征的選取要易跟蹤,匹配算法要高效可行。可以從兩個角度提高算法的實時性:數(shù)據(jù)處理并行優(yōu)化和數(shù)據(jù)降維。數(shù)據(jù)降維能高效利用有限的計算能力,主成分分析PCA(Principle component analysis)方式已有效的運用于SIFT數(shù)據(jù)降維中,可以在大大降低計算量的情況下,達到了相同的特征匹配效果。
3.提高系統(tǒng)的精確度。視覺里程計是一個數(shù)據(jù)迭代累加的過程,但在迭代累加過程中,都會存在誤差的累積,如何有效地減少誤差的累加,就成了視覺里程計特高精確度的關(guān)鍵。減少誤差的累加,應(yīng)該從選取特征點這一源頭開始。由此特征的選取,檢測和匹配都要選擇合適的方式[9]。特征點的選取應(yīng)盡量選擇靜止物體的顯著特征,減少特征帶來誤差和大量的無用外點。運用圖的最大團內(nèi)點檢測方法對錯誤匹配有很強的制約能力。
視覺里程計作為移動機器人自主導(dǎo)航的重要組成部分,已成功運用于海陸空及宇宙探索中,本文主要研究了一種基于機器學(xué)習(xí)算法的單目里程計算法,僅使用一個攝像機,在不借助于其他傳感設(shè)備的幫助下,實現(xiàn)機器的自主定位。本課題引入SURF算法對目標進行特征匹配,提高了系統(tǒng)的魯棒性,同時較SIFT算法提高了運算速度。利用機器學(xué)習(xí)改善傳統(tǒng)的卡曼濾波,有效的抑制了噪聲發(fā)散。通過上述改善,本課題所研究設(shè)計的單目里程計在魯棒性、實時性和精準性上有了一定的提高。
參考文獻:
[1]姜國權(quán),何曉蘭,杜尚豐,柯杏.機器視覺在農(nóng)業(yè)機器人自主導(dǎo)航系統(tǒng)中的研究進展[J].農(nóng)機化研究,2008,(3):9-11.
[2]羅堪.基于復(fù)眼模型的視覺里程計方法研究[D].湖南大學(xué),2014.
[3]劉曉利,田媛,童飛,唐艦,隋國榮,陳抱雪.雙目立體視覺的光學(xué)標定技術(shù)[J]光學(xué)儀器,2013,(3):11-15.
[4]蘇宇,郭寶龍.一種基于曲率尺度空間的圖像拼接算法[J].計算機工程與應(yīng)用2008,(1):39-41.
[5]相陽.基于點特征的圖像配準技術(shù)研究[D].東北大學(xué),2010.
[6]白廷柱,侯喜報.基于SIFT算子的圖像匹配算法研究[J].北京理工大學(xué)學(xué)報,2013,(6):622-627.
[7]戴洪德,陳明,周紹磊,李娟,彭賢.基于支持向量機的自適應(yīng)卡爾曼濾波技術(shù)研究[J].控制與決策,2008,(8):949-952.
[8]張偲敏,汪艷,郭天太,洪博,劉焱煜.支持向量回歸機的參數(shù)擇優(yōu)算法[J].中國科技信息,2015,(13):26-27.
[9]李宇波,朱效洲,盧惠民,張輝.視覺里程計技術(shù)綜述[J].計算機應(yīng)用研究,2012,(8):2801-2805,2810.
A Study on Monocular Mileage based on Machine Learning Algorithm
GU Hai-yan 2,CHEN Ying-jie 1,DING Yao 1
(1.Nanjing University Jinling College,Nanjing,Jiangsu 210089,China;2. Jiangsu Police Institute,Nanjing,Jiangsu 210000,China)
Abstract:Visual odometry(VO) through the trajectory calculation,cumulative motion vector,the relative positioning method of current position. Monocular odometer using only a single camera as image acquisition carrier,make information requirements lower,and can identify and locate the feature point accurately,real-time,cost much less,so it has more wide prospect of application. This paper uses SURF algorithm to simultaneously detect and match feature points,using a machine learning algorithm based on adaptive Calman filter (SVM),slow down will appear originally Calman filter in low precision and divergence,to system optimization of monocular odometric accuracy.
Key words:Single camera;Visual odometry;SURF;Calman filter