郭笙聽,李子印,趙 儲
(中國計量大學 光學與電子科技學院,浙江 杭州 310018)
近年來,智能駕駛技術受到研究者們的普遍關注[1-2],車道線提取是智能駕駛系統(tǒng)的重要組成部分,也是智能車輛計算機視覺系統(tǒng)中的關鍵技術之一,它提供了車輛與車道位置關系的信息,由此可確定車輛行駛的區(qū)域[3].車道線的提取是從車載攝像頭獲得的視頻圖像中,根據車道線的顏色、形狀和紋理等特征,將車道線與背景進行分離,從而獲得車道線的走向與車輛相對于車道線的位置等信息[4-5].一種高效的車道檢測算法須同時滿足實時性、準確性、魯棒性三個要求,但三者又是相互限制的.為得到精確的車道線位置信息并適應道路的各種情況以保證系統(tǒng)的魯棒性,則檢測算法的復雜度和運算時間將會增加,不能很好滿足實時性的要求;相反,為滿足系統(tǒng)的實時性,就需要對檢測算法進行簡化,往往會犧牲檢測的精確性和魯棒性.
目前,常用車道線方法主要基于RANSAC算法[6]的掃描擬合或Hough變換算法[7]. RANSAC的優(yōu)點是它能從包含大量局外點的數據集中估計出高精度的參數,估計模型參數,缺點是該算法計算參數的迭代次數沒有上限,如果設置迭代次數的上限不合理,得到的結果可能不是最優(yōu)的結果,甚至可能得到錯誤的結果[6].而且RANSAC算法只能從特定的數據集中估計出一個模型,如果存在兩個(或多個)模型,RANSAC算法就不能找到別的模型. Hough變換算法的優(yōu)點是對噪音不敏感,能較好地處理圖像中物體局部被遮擋和覆蓋的情況,但是如果算法中圖像點受到干擾因素較多、雜亂,則容易丟失目標,出現檢測錯誤而影響整個系統(tǒng)的準確性.
本文提出了一種基于Hough變換和Kalman濾波的車道線檢測方法,對原始圖像進行設定感興趣區(qū)域和逆透視變換,結合Hough變換算法和Kalman濾波算法對當前行駛的車道進行車道線檢測與修正,在保證實時性的情況下提高算法的精確性.
本文車道線檢測系統(tǒng)實現流程如圖1.
圖1 車道線檢測系統(tǒng)流程Figure 1 Flow chart of the lane detection system
進行車道線檢測,以保證減少其他因素的干擾使檢測的精確性得以實現.一般地,通過實時獲取的圖像中有1/3部分是天空或是較遠的非暫時關注的問題.本文采用基于車載攝像機成像模型,獲取視頻圖像幀中的車道信息.
由于存在透視的因素,原本車道線平行的線條會出現相交的情況,車道線虛線部分的間隔在圖像遠端變得很小,這種情況不利于車道線的檢測和辨識[8].
本文采用相機幾何模型的方法,通過單目攝像機得到的單幅圖像,在已知一些參數的情況下,將三維空間中路面的坐標和單目相機獲取圖像的坐標對應,以便通過圖像上的相對位置判斷三維空間坐標中路面點的相對位置.在二維空間和三維空間相互轉換的過程中,利用已知的參數去掉原圖像的透視效果, 得到一幅鳥瞰二維圖像.圖2所示為相機幾何模型.在反透視變換中需已知如下一些參數:
1)攝像機C位置的參數I(l,d,h);l為攝像機的焦距;h為攝像機相對于地面的高度;d為攝像機在大地坐標系x軸上的值.
2)攝像頭光軸與車道線的夾角為γ;α為攝像機的最大水平視角;β為攝像機的最大垂直視角.安裝的時候,攝像機的光軸的位置需與路面平行.
圖2 相機在二維坐標系中的位置Figure 2 Camera positions in the 2nd dimension coordinate
建立路面圖像上任意一點I(x,y)與路面坐標的對應點映射模型如下[9]:
(1)
(2)
(3)
(4)
其中:H1,H2分別為攝像機的水平分辨率和垂直分辨率;α,β通過標定得到.隨著距離的增加車道線寬度在透視圖像中逐漸縮短,即在近視場中車道線寬度較寬,在遠視場中車道線寬度較窄;車道線間距也是如此.結合相機成像模型,在世界坐標系中的距離Δx對應的圖像坐標中第y行中的距離Δx如下[8]:
(5)
適當調節(jié)參數和視頻尺寸,設置原圖像的ROI范圍,盡量裁掉天空等不必要的干擾因素,保留車道線部分.圖3為感興趣區(qū)域結果,圖4為反透視變換和灰度化后的效果.
圖3 感興趣區(qū)域Figure 3 The region of interest
圖4 灰度化的反透視變換效果Figure 4 The result of the gray inverse perspective mapping
首先對逆透視變換結果利用中值濾波[10]進行平滑處理,然后采用大津法[11]進行閾值分割,將車道分離出來,再通過腐蝕、膨脹運算去除噪聲點.實現流程如圖5,上述流程的效果如圖6.
圖5 閾值處理流程圖Figure 5 Flow chart of the threshold
圖6 閾值處理效果Figure 6 Result of the threshold processing
霍夫變換(Hough transform)是從圖像中提取出曲線的一種很普遍的方法, 它被廣泛用來進行車道線的檢測[12-13].它的基本原理是把圖像空間上的點對應到參數空間上,通過在參數空間里進行簡單的累加,尋找累加器的峰值的方法檢測直線.Hough變換的極坐標方程為
ρ=xcosθ+ysinθ.
(6)
可以得到圖像空間上同一直線上的點在參數空間中對應正弦曲線交于一點(ρ,θ).ρ是圖像空間直線到到坐標原點的距離,θ為直線與x軸的夾角.
本文采用了累計概率霍夫變換(Progressive Probabilistic Hough Transform ,PPHT),其特點是在選擇擬合點時采用了隨機抽取的方法,結合計數器,當直線擬合的次數達到設定閾值時,完成直線擬合.
由于Hough變換檢測出的直線,除了車道線以外,還存在其他的干擾直線,為了提高準確性,必須篩選掉這些干擾直線[14-15],這就得做三次優(yōu)化篩選.具體流程圖如圖7.
圖7 Hough變換檢測流程圖Figure 7 Flow chart of the Hough Transform detection
第一次篩選:首先利用累計概率霍夫變換對閾值處理結果圖像求取直線,因路面車道線的規(guī)格和經過逆透視的轉換,圖像中車道線的斜率值均是在一個范圍內變化的,幾乎接近垂直,可以根據斜率來去除干擾直線[16];同時利用概率型Hough變換函數的特點,獲取線段兩端點所在位置,通過計算線段的長短,設定線段長度閾值范圍,篩選出目標車道線;
第二次篩選:利用已經檢測到直線上的點,根據與中心線距離篩選出當先行駛車道的兩邊線,如下:
distance=px-Centerx.
(7)
其中px是檢測到點的橫坐標,Centerx是當前視頻幀中心的橫坐標,當distance<0時為左側車道線,當distance>0時為右側車道線,以此作為判斷條件.
第三次篩選:為了防止因為檢測點不足兩個,調用直線擬合函數時出錯生成水平線造成干擾,再次用斜率篩掉水平線,并儲存擬合直線.
由于序列圖像的時空連續(xù)性,即連續(xù)兩幀圖像之間車道線位置具有的相關性,車道線位置變化幾乎不變,所以可以用前一幀圖像獲取到的信息預測下一幀車道線的位置,這樣可以提高算法的處理速度和魯棒性[17].
卡爾曼濾波器是通過K時刻檢測值和K-1上一個時刻最優(yōu)值來確定當前K時刻目標的最優(yōu)位置的算法.利用上一個時刻來預測下一個時刻的狀態(tài),而不是累計之前所有的狀態(tài),這樣可以大大減少計算工作量.對于一個動態(tài)系統(tǒng),首先定義一組狀態(tài)空間方程和測量方程,定義式子如(8)(9)所示.
狀態(tài)方程:
xk=Akxk+Bkμk+wk;
(8)
測量方程:
zk=Hkxk+vk.
(9)
xk是狀態(tài)向量,zk是測量向量,Ak是狀態(tài)轉移矩陣,μk是控制向量,Bk是控制矩陣,wk是系統(tǒng)誤差(噪聲),wk~N(0,Qk).Hk是測量矩陣,vk是測量誤差(噪聲),vk~H(0,Rk).wk和vk都是高斯噪聲.
整個卡爾曼濾波的過程就是個遞推計算的過程,不斷的預測到更新再預測再更新循環(huán)過程[18],計算過程如下,如公式(10)~(16)所示.
預測過程如下:
預測狀態(tài)值
(10)
預測最小均方誤差
(11)
更新過程如下:
測量誤差
(12)
測量協(xié)方差
(13)
最優(yōu)卡爾曼增益
(14)
修正狀態(tài)值
(15)
修正最小均方誤差
Pk|k=(1-KkHk)Pk-1|k-1.
(16)
(17)
(18)
本文在擬合直線之后,提取車道線參數,將此時檢測的車道線狀態(tài)作為K-1時刻的最佳值,對存儲的線的兩個端點進行卡爾曼濾波追蹤(每條線2個端點,一共設立4個卡爾曼濾波器),把預測的點進行相應的連接,得到預測的車道線,然后在水平x軸上對預測所得的車道線進行移位,得到一個相應的預測區(qū)域.
本文在VS2013的編譯環(huán)境下,利用OpenCV 2.4.11實現了基于Hough變換和Kalman濾波的車道線檢測.測試使用的PC機配置為:Intel Core(TM)i3-2120 CPU 3.3GHz,內存為2 GB.
實驗中的視頻通過行車記錄儀記錄圖像序列,圖8是本文算法的實驗仿真結果,視頻分辨率為856×480.(a)、(b)、(c)為逆透視下車道線仿真結果,(d)、(e)、(f) 為再次調用逆透視變換函數使之逆變換回原圖像的測試結果.整個算法在實現的過程中保證了實時性和準確性,成功實現了車道線參數的連續(xù)檢測和跟蹤,在汽車輔助駕駛及車道線的檢測和跟蹤研究中有較好的應用價值.
圖8 算法兩種視角的檢測結果Figure 8 Result of algorithm from two visual angle
通過實驗統(tǒng)計列出了對不同幀數視頻的測試結果,根據檢測結果分為車道線檢測完整、不完整漏檢、誤檢三種情況,如表1所列:在序號1和序號2視頻道路標志線明顯、車輛和干擾線都較少時,車道線檢測的準確率能達到96%以上;在序號3和序號4視頻光照亮度陰暗,標志線不明顯的情況,車道線的檢測準確率也能達到90%以上.在光線陰暗的情況下,可以采用啟動車輛前照燈以及提高視頻圖像亮度的方法來保證算法的準確性.此算法的識別速度和識別率與文獻[16]中利用 Hough變換的算法和文獻[17]中利用邊緣點信息識別車道線的算法做了對比,如表2.相比另外兩種算法,本文提出的算法.由于采用了Hough變換和Kalman濾波的對圖像序列的實時檢測的方法,在保證了算法的準確率的情況下,算法的識別速度有所降低,這也是接下來需要改進的地方.
表1 車道線檢測實驗統(tǒng)計結果
表2 不同算法的識別速度與識別率
為了檢驗車道線跟蹤算法的效果,本文選取不同場景下的道路圖像進行了大量的實驗,圖9展示了不同公路情況下車道線檢測結果.從圖中可以看出,即在不同的光照條件下,本文算法始終能夠得到穩(wěn)定的車道線結果.
圖9 車道線檢測結果Figure 9 Result of lane detection
本文介紹了一種結合改進的Hough變換和Kalman濾波的車道線檢測算法、該方法能夠實時地、準確地檢測出當前行駛車道位置、并具有效率高、速度快、準確性強的特點.車道線通過三重篩選的方式,提高算法的精確性,利用Kalman濾波對車道線進行預測跟蹤,提高了算法的魯棒性.在后續(xù)工作中,我們將進一步研究并考慮車道線的直線-曲線融合模型,彌補算法在彎道車道線檢測時存在的不足,以便對彎道檢測得更加準確.
[1] OZGUNALR U, FAN R, AI X, et al. Multiple Lane detection algorithm based on novel dense vanishing point estimation[J]IEEETransactionsonIntelligentTransportationSystems, 2017, 18(3): 621-632.
[2] 蔡軍偉, 顏幸堯, 戎悅. 移動智能終端的車輛制動系統(tǒng)監(jiān)測技術[J]. 中國計量學院學報, 2016, 27(1):28-32.
CAI J W, YAN X Y, RONG Y. Vehicle braking system monitoring techniques based on mobile intelligent terminals[J].JournalofChinaUniversityofMetrology, 2016, 27(1):28-32.
[3] STERNLUND S, STRANDROTH J, RIZZI M, et al. The effectiveness of lane departure warning systems—A reduction in real-world passenger car injury crashes[J].TrafficInjuryPrevention, 2017, 18(2): 225-229.
[4] SON J, YOO H, KIM S, et al. Real-time illumination invariant lane detection for lane departure warning system[J].ExpertSystemswithApplications, 2015, 42(4):1816-1824.
[5] SHIN J, LEE E, KWON K K, et al. Lane detection algorithm based on top-view image using random sample consensus algorithm and curve road model[C]//UbiquitousandFutureNetworks(ICUFN),2014SixthInternationalConfon. Shanghai: IEEE,2014: 1-2.
[6] XU S, YE P, HAN S, et al. Road lane modeling based on RANSAC algorithm and hyperbolic model[C]//InternationalConferenceonSystemsandInformatics. Shanghai: IEEE, 2017:97-101.
[7] XU G, YANG L, LIU X, et al. Research of road extraction based on hough transformation and morphology[C]//ComputerScience&ServiceSystem,2012InternationalConferenceon.Nanjing: IEEE CSSS, 2012: 2261-2264.
[8] YING Z, LI G. Robust lane marking detection using boundary based inverse perspective mapping[C]//Acoustics,SpeechandSignalProcessing(ICASSP),2016IEEEInternationalConferenceon. Shanghai: IEEE, 2016: 1921-1925.
[9] 陳龍, 李清泉, 毛慶洲. 基于成像模型的車道線檢測與跟蹤方法[J]. 中國公路學報, 2011, 24(6): 96-102.
CHEN L, LI Q Q, MAO Q Z. Lane detection and following algorithm based on imaging model [J].ChinaJournalofHighwayandTranspor, 2011, 24(6): 96-102.
[10] 王歡, 王修暉. 基于閾值判斷的自適應中值濾波算法[J]. 中國計量學院學報, 2011, 22(4):382-385.
WANG H, WANG X H. An improved adaptive median filter based on noises detection[J].JournalofChinaUniversityofMetrology, 2011, 22(4):382-385.
[11] SHOU-XIN J I, YI-QUAN W U, ZHAN B C. Threshold segmenation method for infrared images based on 2-D symmetric cross-entropy[J].JournalofOptoelectronicsLaser, 2010, 21(12):1871-1876.
[12] LIU Z, WANG S, DING X. ROI perspective transform based road marking detection and recognition[C]//Audio,LanguageandImageProcessing,2012InternationalConferenceon.Shanghai: IEEE ICALIP, 2012: 841-846.
[13] LI X, WU Q, KOU Y, et al. Lane detection based on spiking neural network and hough transform[C]//ImageandSignalProcessing,20158thInternationalCongresson. Shenyang:IEEE CISP, 2015: 626-630.
[14] LI W, GONG X, WANG Y, et al. A lane marking detection and tracking algorithm based on subregions[C]//InformativeandCyberneticsforComputationalSocialSystems,2014InternationalConferenceon. Qingdao: IEEE ICCSS, 2014: 68-73.
[15] LIU X, DAI B, SONG J, et al. Real-time long-range lane detection and tracking for intelligent vehicle[C]//ImageandGraphics,2011SixthInternationalConferenceon. Hefei: IEEE ICIG, 2011: 654-659.
[16] WANG J, AN X. A multistep curved lane detection algorithm based on hyperbola-pair model[C]//IEEEInternationalConferenceonAutomationandLogistics. Hong Kong and Macau: IEEE, 2010:132-137.
[17] LIN Q, HAN Y, HAHN H. Real-time lane departure detection based on extended edge-linking algorithm[C]//ComputerResearchandDevelopment,2010SecondInternationalConferenceon. Kuala Lumpur: IEEE ICCDR, 2010: 725-730.
[18] 彭紅, 肖進勝, 程顯,等. 基于擴展卡爾曼濾波器的車道線檢測算法[J]. 光電子·激光, 2015(3):567-574.
PENG H, XIAO J S, CHEN X, et al. Lane detection algorithm based on extended Kalman filter [J].JournalofOptoelectronics·Laser, 2015(3):567-574.