王相龍,胡釗政,李祎承,黃 剛,蔡 浩
(武漢理工大學(xué)智能交通系統(tǒng)研究中心,武漢430063)
目前,主流的基于視覺(jué)的車(chē)輛定位方法為:基于SLAM(Simultaneous Localization and Mapping)的車(chē)輛定位和基于地圖的車(chē)輛定位.基于SLAM的車(chē)輛定位同時(shí)進(jìn)行建立地圖步驟和定位步驟,適合在未知的環(huán)境下,但SLAM計(jì)算復(fù)雜度高且需要進(jìn)行大量?jī)?yōu)化計(jì)算,并且在沒(méi)有GPS/INS(Global Positioning System/Inertial Navigation System)提供絕對(duì)定位信息的情況下,存在累積誤差.而基于地圖的車(chē)輛定位方法利用構(gòu)建的高精度地圖實(shí)現(xiàn)車(chē)輛定位,定位精度高且穩(wěn)定,受到越來(lái)越多的研究者關(guān)注.
基于地圖的車(chē)輛定位主流方法之一是利用圖像實(shí)現(xiàn)車(chē)輛定位,該方法利用前視或側(cè)視圖像實(shí)現(xiàn)車(chē)輛定位.Valgren等[1]前視攝像頭采集圖像,通過(guò)匹配SIFT(Scale-Invariant Feature Transform)特征和SURF(Speeded-Up Robust Features)特征實(shí)現(xiàn)車(chē)輛定位.Wong等[2]利用前視攝像頭和側(cè)視攝像頭采集的街景圖像,通過(guò)匹配SURF特征從而實(shí)現(xiàn)車(chē)輛定位.由于前視和側(cè)視圖像易受運(yùn)動(dòng)物體,如車(chē)、人等干擾且光照對(duì)兩個(gè)視角采集的圖像影響較大,從而使圖像特征匹配的魯棒性變差進(jìn)而降低定位精度.由于路面比街景變化小且通過(guò)補(bǔ)光等方法使光照環(huán)境穩(wěn)定,因此利用俯視路面圖像實(shí)現(xiàn)車(chē)輛定位的方法受到關(guān)注.張黎明等[3]利用SURF匹配路面圖像并結(jié)合單應(yīng)矩陣實(shí)現(xiàn)車(chē)輛定位.以上基于地圖的車(chē)輛定位均需要找到1個(gè)距離待定位節(jié)點(diǎn)最近的地圖節(jié)點(diǎn),而該步驟需要遍歷地圖節(jié)點(diǎn),由于地圖中的節(jié)點(diǎn)數(shù)量巨大,導(dǎo)致耗時(shí)較長(zhǎng).傳統(tǒng)方法利用GPS縮小遍歷范圍.由于GPS誤差為10 m,因此通過(guò)GPS篩選后依然存在較多的地圖節(jié)點(diǎn).
針對(duì)車(chē)輛定位效率的問(wèn)題,本文提出一種具有唯一性和穩(wěn)定性的表征模型——路面指紋.該模型包括GPS、路面特征和圖像特征.通過(guò)引入路面特征從而在GPS初定位的基礎(chǔ)上進(jìn)一步篩選地圖節(jié)點(diǎn),提高定位效率.在路面特征密集和稀疏的路段進(jìn)行實(shí)驗(yàn),本文的創(chuàng)新點(diǎn)為:
(1)提出利用路面指紋對(duì)路面進(jìn)行表征,路面指紋包含GPS、路面特征、圖像特征.相比于傳統(tǒng)方法使用GPS對(duì)地圖節(jié)點(diǎn)篩選,路面指紋利用路面特征信息對(duì)地圖節(jié)點(diǎn)進(jìn)一步篩選,提高定位效率.
(2)利用CNN和連通區(qū)域識(shí)別路面特征.相比于傳統(tǒng)方法利用CNN對(duì)整張圖像進(jìn)行識(shí)別,本文利用CNN對(duì)圖像子塊進(jìn)行識(shí)別,并利用連通區(qū)域方法去除噪聲子塊從而識(shí)別路面特征,使CNN在采集圖像數(shù)量較少的情況下具有較高的識(shí)別精度.
(3)提出一種基于路面指紋的多尺度定位方法.該方法采用多尺度漸進(jìn)的定位策略,經(jīng)過(guò)GPS初定位、路面特征信息定位、圖像級(jí)定位和度量級(jí)定位,從而實(shí)現(xiàn)車(chē)輛定位.
路面指紋是一種融合GPS,路面特征和圖像特征的具有唯一性和穩(wěn)定性的表征模型,如圖1所示.路面指紋通過(guò)引入路面特征,從而進(jìn)一步篩選地圖節(jié)點(diǎn),縮小候選節(jié)點(diǎn)范圍,提高定位效率.
圖1 路面指紋Fig.1 The pavement fingerprint
本文利用基于路面指紋的多尺度定位方法實(shí)現(xiàn)車(chē)輛定位.多尺度定位方法為:
(1)GPS初定位,通過(guò)匹配待定位節(jié)點(diǎn)和地圖節(jié)點(diǎn)中的GPS,篩選地圖節(jié)點(diǎn)以減少搜索范圍.
(2)路面特征信息定位,通過(guò)匹配待定位節(jié)點(diǎn)和地圖節(jié)點(diǎn)的路面特征,進(jìn)一步減小搜索范圍.
(3)圖像級(jí)定位,通過(guò)比較待定位節(jié)點(diǎn)和地圖節(jié)點(diǎn)的局部圖像特征點(diǎn)數(shù)量,找到與待定位圖像最相似的地圖圖像.
(4)度量級(jí)定位,利用匹配的局部圖像特征、單應(yīng)矩陣和支撐平面計(jì)算旋轉(zhuǎn)矩陣和轉(zhuǎn)移矩陣,得到最終定位結(jié)果.
流程圖如圖2所示.
通過(guò)匹配待定位節(jié)點(diǎn)和地圖節(jié)點(diǎn)的GPS,篩選地圖節(jié)點(diǎn)以減少搜索范圍,實(shí)現(xiàn)初定位.設(shè)待定位節(jié)點(diǎn)GPS為P={(a,b)},地圖節(jié)點(diǎn)DGPS為,計(jì)算待定位節(jié)點(diǎn)P與地圖節(jié)點(diǎn)qi的距離,通過(guò)設(shè)定的閾值k對(duì)地圖節(jié)點(diǎn)進(jìn)行篩選,得到與待定位節(jié)點(diǎn)相近的地圖節(jié)點(diǎn)為
式中:qi表示為第i個(gè)地圖節(jié)點(diǎn),由于GPS的精度為10 m,因此k=10.
圖2 基于路面指紋的多尺度定位流程圖Fig.2 The flow-chart for multi-scale localization referring to pavement fingerprint
由1.2節(jié)得到篩選后的地圖節(jié)點(diǎn),再通過(guò)基于CNN和連通區(qū)域的方法識(shí)別待定位圖像的路面特征,利用路面特征進(jìn)一步篩選地圖節(jié)點(diǎn).通過(guò)搭建一個(gè)9層的CNN識(shí)別路面特征,其網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示.搭建的CNN由3個(gè)卷積層,3個(gè)池化層和3個(gè)全連接層組成.卷積層由大小為3×3的卷積核組成,卷積核的數(shù)目分別為64,128,256.池化尺寸為2×2,步長(zhǎng)為2.最后3層為全連接層 FC1,F(xiàn)C2,F(xiàn)C3,其中FC1,F(xiàn)C2層包含4 096個(gè)神經(jīng)元,F(xiàn)C3為2路的softmax輸出層,在FC1,F(xiàn)C2和FC2,F(xiàn)C3之間加入了dropout以減小過(guò)擬合.
圖3 用于路面特征識(shí)別的CNN結(jié)構(gòu)Fig.3 The structure of CNN for pavement feature recognition
目前,沒(méi)有針對(duì)路面圖像的公開(kāi)數(shù)據(jù)集,導(dǎo)致訓(xùn)練集圖像較少?gòu)亩档虲NN識(shí)別正確率.將圖像切割成M個(gè)80×80的圖像子塊,利用圖像子塊代替整張圖像作為訓(xùn)練樣本,從而增加訓(xùn)練集數(shù)量.CNN將圖像子塊分為2類(lèi),分別為:①標(biāo)志特征子塊,即圖像子塊中包含裂紋,車(chē)道線,減速帶等;②無(wú)標(biāo)志特征子塊,即圖像子塊中只有路面.由于路面存在油斑,水漬,從而導(dǎo)致CNN識(shí)別錯(cuò)誤,識(shí)別錯(cuò)誤的子塊為噪聲子塊,如圖4(b)所示,通常情況下噪聲子塊為孤立子塊,通過(guò)連通區(qū)域識(shí)別噪聲子塊,即當(dāng)識(shí)別為標(biāo)志特征子塊的八鄰域內(nèi)存在標(biāo)志特征子塊的數(shù)量小于設(shè)定的閾值時(shí),則為噪聲子塊,通常情況下閾值為1.經(jīng)過(guò)噪聲塊去除后,當(dāng)圖像中存在標(biāo)志特征子塊,則該圖像為包含標(biāo)志特征的路面;反之,則為無(wú)標(biāo)志特征路面,如圖4(c)所示.
圖4 路面特征識(shí)別Fig.4 The pavement feature recognition
通過(guò)上述方法以離線和在線方式識(shí)別地圖圖像和待定位圖像的路面特征,以待定位圖像的路面特征為匹配條件,進(jìn)一步篩選地圖節(jié)點(diǎn),縮小候選地圖節(jié)點(diǎn)范圍,提高定位效率.
本文利用ORB[4]匹配地圖圖像和待定位圖像的局部特征點(diǎn)并利用RANSAC消除錯(cuò)誤的匹配點(diǎn),根據(jù)匹配特征點(diǎn)的數(shù)量實(shí)現(xiàn)圖像級(jí)定位.ORB是一種結(jié)合oFAST特征檢測(cè)算法和rBRIEF特征描述符的圖像匹配算法.相比于SURF和SIFT算法,ORB不僅速度快而且匹配精度不低于兩種算法.
ORB算法利用oFAST檢測(cè)圖像特征點(diǎn).oFAST是FAST(Features from Accelerated Segment Test)的改進(jìn)算法,通過(guò)灰度質(zhì)心法對(duì)FAST特征點(diǎn)賦予方向信息.具體而言,以特征點(diǎn)為圓心構(gòu)成圖像塊I,通過(guò)式(2)定義圖像塊的力矩.
式中:I(x,y)表示x,y處的灰度值,其質(zhì)心為
特征點(diǎn)的方向?yàn)?/p>
根據(jù)求取的特征點(diǎn)方向θ,構(gòu)建旋轉(zhuǎn)矩陣Rθ為
通過(guò)oFAST檢測(cè)特征點(diǎn),再利用Harris對(duì)檢測(cè)的特征點(diǎn)進(jìn)行排序,根據(jù)角點(diǎn)響應(yīng)值大小篩選前1 500個(gè)角點(diǎn),然后利用rBRIEF特征描述子對(duì)特征點(diǎn)進(jìn)行編碼.以角點(diǎn)p為例,在角點(diǎn)p周?chē)x取n個(gè)點(diǎn)對(duì),將n個(gè)點(diǎn)對(duì)的映射結(jié)果作為描述符,其中,映射方式為
式中:P(x)為x處的像素灰度值,通過(guò)式(7),得到角點(diǎn)p的BRIEF描述符為
為了使BRIEF描述子具備旋轉(zhuǎn)不變性,首先對(duì)角點(diǎn)建立1個(gè)2×n矩陣S為
通過(guò)旋轉(zhuǎn)矩陣Rθ構(gòu)建Sθ為
得到具備旋轉(zhuǎn)不變形的steered BRIEF特征描述符為
ORB通過(guò)貪婪搜索篩選出相關(guān)性不高的steer BRIRF,即 rBRIEF,詳見(jiàn)文獻(xiàn)[4].再利用RANSIC算法消除錯(cuò)誤的匹配點(diǎn),最后根據(jù)待定位圖像和地圖圖像匹配的特征點(diǎn)數(shù)量,找到1張與待定位圖像匹配特征點(diǎn)數(shù)量最多的地圖圖像,實(shí)現(xiàn)圖像級(jí)定位.
通過(guò)地圖圖像和待定位圖像的匹配局部特征點(diǎn)建立2D關(guān)系,利用支撐平面[5]統(tǒng)一2張圖像的世界坐標(biāo)系,支撐平面為1個(gè)放置在路面上的棋盤(pán)格,如圖5所示.路面可視為1個(gè)平面,通過(guò)支撐平面建立世界坐標(biāo)系,并通過(guò)H矩陣變換,從而統(tǒng)一地圖圖像和待定位圖像的世界坐標(biāo)系,得到相對(duì)位置關(guān)系,實(shí)現(xiàn)度量級(jí)定位.具體而言,通過(guò)對(duì)放置在路面上的棋盤(pán)格標(biāo)定得到H矩陣為
式中:[u v1]T和[X Y1]T分別為圖像局部特征點(diǎn)在圖像坐標(biāo)系和世界坐標(biāo)系的齊次坐標(biāo);λ表示比例因子.
再通過(guò)分解式(11)得到的H矩陣,從而獲得攝像機(jī)的內(nèi)外參.
式中:K表示攝像機(jī)內(nèi)參數(shù);r1,r2,t為攝像機(jī)外參數(shù),分別表示x軸與y軸方向的旋轉(zhuǎn)角度和平移向量.由于外參數(shù)表示攝像機(jī)坐標(biāo)系與世界坐標(biāo)系的相對(duì)位置,因此當(dāng)車(chē)輛發(fā)生移動(dòng)時(shí),攝像機(jī)位置也發(fā)生了改變,導(dǎo)致拍攝的路面圖像對(duì)應(yīng)不同的世界坐標(biāo)系,通過(guò)統(tǒng)一世界坐標(biāo)系,即可得到2個(gè)節(jié)點(diǎn)之間的相對(duì)關(guān)系,從而實(shí)現(xiàn)度量級(jí)定位.
圖5 支撐平面Fig.5 The support plane
以地圖節(jié)點(diǎn)P1和待定位節(jié)點(diǎn)P2為例,由于待定位圖像和地圖圖像為平面圖像,因此通過(guò)單應(yīng)矩陣H2建立地圖圖像和待定位圖像之間的關(guān)系為
式中:[u1v11]T,[u2v21]T分別為地圖圖像和待定位圖像的匹配特征點(diǎn)在圖像坐標(biāo)系的齊次坐標(biāo),通過(guò)單應(yīng)矩陣H3將待定位圖像的特征點(diǎn)映射到地圖圖像的世界坐標(biāo)系中,即
式中:H1為地圖節(jié)點(diǎn)P1的單應(yīng)矩陣.
通過(guò)分解待定位節(jié)點(diǎn)P2的單應(yīng)矩陣H3得到旋轉(zhuǎn)矩陣R2和平移矩陣T2為
同理,通過(guò)地圖節(jié)點(diǎn)P1的單應(yīng)矩陣H1計(jì)算得到旋轉(zhuǎn)矩陣R1和平移矩陣T1,進(jìn)而地圖圖像和待定位圖像的相對(duì)位置為
以此類(lèi)推,可得到地圖節(jié)點(diǎn)Pn和待定位節(jié)點(diǎn)Pn+1的位置關(guān)系.
本次實(shí)驗(yàn)的地點(diǎn)在武漢理工大學(xué)余家頭校區(qū)附近,選取2段具有代表性的路面,如圖6所示,分別為路面特征稀疏和密集的路段.
圖6 實(shí)驗(yàn)場(chǎng)景和采集的圖像Fig.6 Collected images and scenarios for the experiment
本次選擇陰天采集實(shí)驗(yàn)數(shù)據(jù),需要指出的是目前通過(guò)補(bǔ)光等方法可以消除光照和陰影對(duì)圖像的影響,因此本次試驗(yàn)結(jié)果適用于晴天.通過(guò)在移動(dòng)平臺(tái)上搭建1臺(tái)盈芯RGB圖像采集器和1臺(tái)DGPS采集實(shí)驗(yàn)數(shù)據(jù),如圖7所示.本次實(shí)驗(yàn)采集的路面圖像分辨率為640×480,并且實(shí)驗(yàn)地點(diǎn)開(kāi)闊,GPS信號(hào)良好.每次試驗(yàn)進(jìn)行兩輪實(shí)驗(yàn)數(shù)據(jù)采集,兩輪實(shí)驗(yàn)采集圖像信息和GPS信息,第1輪數(shù)據(jù)作為地圖數(shù)據(jù),第2輪數(shù)據(jù)作為待定位數(shù)據(jù).兩輪間隔時(shí)間不少于4 h.為了驗(yàn)證算法在不同距離下的有效性,采集的地圖節(jié)點(diǎn)和待定位節(jié)點(diǎn)的橫向距離分別為100 mm,200 mm和300 mm.同時(shí)為了保證測(cè)量精度,通過(guò)測(cè)繪尺測(cè)量確定地圖節(jié)點(diǎn)和待定位節(jié)點(diǎn)的位置.
將14 000張路面圖像作為訓(xùn)練集,將每一張圖像切割成48個(gè)80×80的圖像子塊,通過(guò)人工挑選圖像子塊得到正負(fù)樣本,其中正樣本為包含路面裂紋、減速帶、車(chē)道線和路面文字的圖像子塊,負(fù)樣本為瀝青路面圖像子塊.訓(xùn)練網(wǎng)絡(luò)的學(xué)習(xí)率為0.9,訓(xùn)練批大小為30,訓(xùn)練網(wǎng)絡(luò)的代價(jià)函數(shù)在200個(gè)訓(xùn)練周期不下降或訓(xùn)練周期大于1 000次時(shí)停止訓(xùn)練.利用CNN結(jié)合連通區(qū)域識(shí)別路面特征,識(shí)別路面特征耗時(shí)如表1所示,識(shí)別1張圖像路面特征的平均耗時(shí)為42 ms.處理數(shù)據(jù)的電腦配置為:i7CPU,主頻3.30GHz,GTX1080GPU,顯存8G.
圖7 數(shù)據(jù)采集平臺(tái)和采集方式Fig.7 Data acquisition platform and method
表1 路面特征識(shí)別耗時(shí)Table 1 Time consuming for pavement feature
本次試驗(yàn)對(duì)229張圖像進(jìn)行路面特征識(shí)別,其中有標(biāo)志特征的路面圖像117張,無(wú)標(biāo)志特征的路面圖像112張.正確識(shí)別有標(biāo)志特征和無(wú)標(biāo)志特征的路面圖像分別為110張和109張.實(shí)驗(yàn)利用精確率、召回率和F-measure作為路面特征識(shí)別的評(píng)價(jià)指標(biāo).根據(jù)式(17)~式(19)計(jì)算精確率P、召回率R和F-measure為
式中:TP表示正樣本識(shí)別正確的數(shù)量;FP表示正樣本識(shí)別為負(fù)樣本的數(shù)量;FN表示負(fù)樣本識(shí)別為正樣本的數(shù)量.
路面特征識(shí)別的精確率,召回率和F-measure如表2所示.
表2 路面特征識(shí)別的精確率、召回率和 F-measureTable 2 The precision,recall and F-measure for pavement feature recognition (%)
本次試驗(yàn)分別在路面特征稀疏和密集的路段上采集90和312個(gè)待定位節(jié)點(diǎn),實(shí)驗(yàn)的定位誤差如圖8所示,橫坐標(biāo)表示節(jié)點(diǎn)個(gè)數(shù),縱坐標(biāo)表示誤差值.
在特征稀疏路段,定位最大誤差為159.6 mm,最小誤差為1.4 mm,平均誤差為48.0 mm,誤差的方差為31.7,其中,誤差值小于100 mm的結(jié)點(diǎn)個(gè)數(shù)為84,約占93.3%.在特征密集路段,定位最大誤差為228.3 mm,最小誤差為0.1 mm,平均誤差為47.2 mm,誤差的方差為38.5,其中,誤差值小于100 mm的結(jié)點(diǎn)個(gè)數(shù)為281,約占90.1%,在特征稀疏和密集的路段,定位誤差均值為47.4 mm,滿(mǎn)足車(chē)輛的高精度定位要求.
為了進(jìn)一步驗(yàn)證該方法,選用文獻(xiàn)[3]和[6]作為對(duì)比試驗(yàn),利用相同的數(shù)據(jù)進(jìn)行對(duì)比實(shí)驗(yàn),本次對(duì)比試驗(yàn)將耗時(shí)和定位精確作為對(duì)比指標(biāo),其結(jié)果如表3所示.
圖8 指紋定位誤差Fig.8 Localization error for pavement fingerprint
表3 對(duì)比實(shí)驗(yàn)Table 3 The comparison experiment result
文獻(xiàn)[3]運(yùn)用SURF結(jié)合H矩陣實(shí)現(xiàn)車(chē)輛定位,SURF相比于ORB匹配耗時(shí)較長(zhǎng),與文獻(xiàn)[3]定位耗時(shí)相比,本算法定位耗時(shí)減少347 ms,耗時(shí)減少約20.3%,同時(shí)定位精度提高61 mm.文獻(xiàn)[6]運(yùn)用基于M加權(quán)ICP實(shí)現(xiàn)車(chē)輛定位并利用無(wú)損卡爾曼濾波(Unscented Kalman Filter,UKF)減少定位誤差,由于ICP算法迭代次數(shù)較多,與文獻(xiàn)[6]定位耗時(shí)相比,本算法定位耗時(shí)減少3 747 ms,耗時(shí)減少約73.4%,同時(shí)定位精度提高73 mm.
本文提出一種基于路面指紋匹配的高精度車(chē)輛定位方法,通過(guò)GPS初定位后再利用CNN和連通區(qū)域識(shí)別路面特征,根據(jù)路面特征進(jìn)一步篩選地圖節(jié)點(diǎn),再利用ORB算法結(jié)合RANSIC實(shí)現(xiàn)圖像級(jí)定位,最后利用單應(yīng)矩陣、匹配的圖像特征點(diǎn)和支撐平面,計(jì)算待定位節(jié)點(diǎn)與地圖節(jié)點(diǎn)的相對(duì)位置關(guān)系,實(shí)現(xiàn)相對(duì)定位.經(jīng)實(shí)驗(yàn)驗(yàn)證,結(jié)論如下:
(1)利用CNN和連通區(qū)域識(shí)別路面特征,在特征稀疏和密集的路面下,該方法識(shí)別路面特征的F-measure值為95.6%.實(shí)驗(yàn)結(jié)果表明,利用該方法能有效地識(shí)別路面特征.
(2)通過(guò)基于路面指紋的多尺度定位方法實(shí)現(xiàn)定位,與文獻(xiàn)[3]相比,定位耗時(shí)減少20.3%;與文獻(xiàn)[6]相比,定位耗時(shí)減少73.4%.實(shí)驗(yàn)結(jié)果表明,利用路面指紋可有效地提高定位效率.
(3)實(shí)驗(yàn)分別在路面特征密集和稀疏的道路上經(jīng)行驗(yàn)證,定位的平均誤差為47.4 mm.實(shí)驗(yàn)結(jié)果表明,定位精度滿(mǎn)足智能車(chē)定位要求.