孫悅
摘 要:車道線檢測是無人車環(huán)境感知模塊的重要組成部分。為實(shí)現(xiàn)對(duì)智能小車循跡過程中的精準(zhǔn)控制,文章提出了一種新的車道中心線的提取算法。首先對(duì)圖像進(jìn)行處理,根據(jù)光照條件不同進(jìn)行分類,之后用霍夫變換特征提取方法來檢測車道線;根據(jù)圖像中車道線的幾何關(guān)系以非擬合的方式得到正確的車道中心線。所提出的方法在規(guī)定地圖中可以完成完整的車道保持,尤其在彎道中保持良好。實(shí)踐證明,該智能小車的車道中心線提取準(zhǔn)確、穩(wěn)定、計(jì)算速度快。關(guān)鍵詞:圖像處理;智能小車;霍夫變換;車道中心線中圖分類號(hào):U461.4??文獻(xiàn)標(biāo)識(shí)碼:A ?文章編號(hào):1671-7988(2019)01-47-03
The overall design of medium-sized trucks based on Python
Sun Yue
(?Chang'an University, Shanxi Xi'an 710064 )
Abstract:?Lane line detection is an important part of the unmanned vehicle environment awareness module. In order to achieve precise control of the tracking process, this paper proposes a new lane center line extraction algorithm. Firstly, the image is processed, classified according to different lighting conditions, and then the Hough transform feature extraction method is used to detect the lane line; the correct lane center line is obtained in a non-fitting manner according to the geome?-tric relationship of the lane lines in the image. The proposed method can complete a complete lane keeping in a prescribed map, especially in a corner. Practice has proved that the lane center line of the smart car is accurate, stable and fast.Keywords:?Image Processing;?Smart car;?Hough transform;?Lane centerlineCLC NO.:?U461.4??Document Code: A ?Article ID: 1671-7988(2019)01-47-03
前言
近些年,隨著雷達(dá)、攝像頭、傳感器的升級(jí)換代,各種智能駕駛輔助技術(shù)成了汽車行業(yè)前瞻研究的熱點(diǎn)課題:自動(dòng)跟車、車道保持、自動(dòng)泊車等,但智能駕駛算法實(shí)車驗(yàn)證成本大,硬件設(shè)備復(fù)雜,企業(yè)前瞻研究和高校科研都基于單片機(jī)或樹莓派的智能小車進(jìn)行方法驗(yàn)證。
車道中心線的位置主要用于估計(jì)車輛位置,作為車道保持算法的輸入。目前,國內(nèi)外研究人員提出了多種基于攝像頭的車道線識(shí)別和車道中心線提取方法。曹旭光[1]在非結(jié)構(gòu)化道路識(shí)別中,用估計(jì)中值截距法和最小二乘法進(jìn)行車道線擬合;Marc Revilloud[2]等通過對(duì)車道線進(jìn)行標(biāo)記來改善車道的檢測和估算算法,在置信度圖中使用車道估計(jì)的輪廓得到車道標(biāo)記的面積;Yue Wang[3]等提出基于B-Snake的車道檢測和跟蹤算法,能夠描述更寬范圍的車道結(jié)構(gòu)。但當(dāng)車道線曲率較大時(shí),以上方法的車道中心線提取效果就會(huì)變差。
本文就此種情況提出了一種適合智能駕駛小車的快速車道中心線提取方法,對(duì)場景地圖中的直道、彎道等復(fù)雜車道的中心線進(jìn)行識(shí)別提取,使小車可以實(shí)現(xiàn)自主循跡。
1 硬件搭建
本文設(shè)計(jì)的為基于Arduino和樹莓派平臺(tái)的差速舵機(jī)轉(zhuǎn)向小車,由圖像采集模塊、驅(qū)動(dòng)模塊、轉(zhuǎn)向模塊、通信模塊組成,控制系統(tǒng)選擇樹莓派3b微控制器作為核心處理器,結(jié)合GPIO及無線通信接口為智能小車提供了一個(gè)功能強(qiáng)大具有擴(kuò)展性的硬件平臺(tái)。圖1為智能小車結(jié)構(gòu)詳解。
2 圖像分類處理
當(dāng)受到光線影響時(shí),圖像的像素信息會(huì)有變化,因此不同光線下應(yīng)對(duì)圖片做不同的處理。圖像整體灰度均值是一種全局統(tǒng)計(jì)特征,受到局部影響的因素較小,有很強(qiáng)的濾波局部噪聲誤差的能力[4]。經(jīng)試驗(yàn)統(tǒng)計(jì)發(fā)現(xiàn),圖像的整體灰度均值能夠很好的反映出圖像的光照強(qiáng)度[5]。因此本文選擇以圖像灰度均值作為圖像分類標(biāo)準(zhǔn),將圖像分為三類:強(qiáng)光、正常光和弱光?;叶染涤?jì)算公式為:
其中,μ為灰度均值,M為灰度值最大值,ni為某個(gè)灰度值的個(gè)數(shù),a、b分別為圖像的長與寬,a*b為整個(gè)圖像的像素點(diǎn)。
圖像初步處理后運(yùn)用Canny算子進(jìn)行邊緣檢測:首先進(jìn)行高斯濾波,平衡圖像判斷的噪聲;用一階偏導(dǎo)有限差分計(jì)算梯度幅值和方向;對(duì)梯度幅值進(jìn)行非極大值抑制;用雙閾值算法檢測和連接邊緣。該算子提取的車道線邊緣完整,,有多種參數(shù)可以設(shè)置,適應(yīng)多種實(shí)際情況。本文三種不同灰度均值圖像對(duì)應(yīng)著不同的二值化闕值,以強(qiáng)光處理為例,如圖所示。
圖2(c)為圖2(a)不采用圖像分類時(shí)識(shí)別的結(jié)果;圖2(b)為采用分類方法且識(shí)別為強(qiáng)光,調(diào)整二值化闕值后的Canny算子識(shí)別結(jié)果,車道線識(shí)別更完整。實(shí)踐證明,以灰度均值為基礎(chǔ)的圖像分類方法可以提高車道線識(shí)別過程中邊緣檢測的準(zhǔn)確性。
3 基于霍夫變換的車道線識(shí)別
曲線擬合是提取車道中心線常用的方法,但小車的識(shí)別過程在樹莓派中進(jìn)行,需要提高算法的計(jì)算速度,降低計(jì)算占用空間。因此本文采用車道線的幾何關(guān)系提取中心線,提取到的中心線垂直于圖像的X軸,為下一單位時(shí)間內(nèi)的車道中心線。由于較遠(yuǎn)的視野對(duì)當(dāng)前控制作用不大,甚至?xí)绊懙礁浇恢门袛嗟臏?zhǔn)確性,因此在選取圖像時(shí)要截掉較遠(yuǎn)的視野。F_fllag和R_fllag是左右車道線的標(biāo)記,等于1說明存在一側(cè)車道線,等于零說明不存在。
小車視野較好時(shí),圖像可以得到完整的雙側(cè)車道線,即F_fllag=1,R_fllag=1。根據(jù)兩側(cè)車道線的位置關(guān)系得到車道中心線的位置,公式如下:
其中,xcenter為車道線的橫坐標(biāo),b為圖像最上方的y軸坐標(biāo),krb為右側(cè)車道線的斜率,xrb為右側(cè)車道線與b的交點(diǎn),klb為左側(cè)車道線的斜率,xlb為左側(cè)車道線與b的交點(diǎn)。圖3是利用Python識(shí)別車道線的結(jié)果。紅色為霍夫變換車道線識(shí)別結(jié)果,綠色為車道中心線識(shí)別結(jié)果。
3.2?單側(cè)車道線
小車在彎道行駛時(shí)通常只能檢測到單側(cè)車道線,此時(shí)F_fllag=1、R_fllag=0或F_fllag=0、R_fllag=1。以只有左側(cè)車道線時(shí)為例,車道中心線提取公式如下:
車道線斜率大于1時(shí):
車道線斜率小于1時(shí):
其中,f為車道中心線偏移量,c為車道中心線偏移系數(shù),數(shù)值大于1。
由于地圖復(fù)雜,在小車行駛過程中會(huì)出現(xiàn)很多干擾的線條。為了避免漏檢、誤檢,車道線提取方法應(yīng)做出優(yōu)化改進(jìn)。地圖中,干擾線條不會(huì)出現(xiàn)在車道線內(nèi),且越靠近小車位置的直線斜率越小,因此根據(jù)斜率的大小篩選合適的車道線。圖5中出現(xiàn)了環(huán)島的單側(cè)車道線以及干擾線條,干擾線條的
斜率較大,車道線斜率較小,識(shí)別結(jié)果如圖。
4 結(jié)論
本文根據(jù)已有的研究成果,提出了一種基于單目視覺的車道邊緣檢測及中心線提取算法研究。首先,根據(jù)不同光照強(qiáng)度,圖像的灰度均值不同,對(duì)圖像分類,然后進(jìn)行Canny算子車道線邊緣檢測,在感興趣區(qū)域進(jìn)行霍夫變換車道線識(shí)別,最后根據(jù)車道線的位置關(guān)系,單側(cè)車道線或雙側(cè)車道線進(jìn)行不同的車道中心線的提取。實(shí)驗(yàn)中,算法在直道、彎道和環(huán)島中,均具有較好的檢測結(jié)果。
參考文獻(xiàn)
[1]?曹旭光.非結(jié)構(gòu)化道路識(shí)別及擬合算法研究[D].東華理工大學(xué),?2015.
[2]?M Revilloud,DGruyer,MC Rahal.A lane marker estimation method for improving lane detection[C].2016 IEEE 19th International Con?-ference on Intelligent Transportation Systems, 2016 :289-295.
[3]?Yue Wang,EamKhwangTeoh,Dinggang Shen. Lane detection and tracking using B-Snake[J]. Image and Vision Computing,2003,22?(4).
[4]?田磊.變光照條件CyberCar標(biāo)示符識(shí)別算法研究[D].吉林大學(xué),?2005.
[5]?楊喜寧,段建民,高德芝,鄭榜貴.基于改進(jìn)Hough變換的車道線檢測技術(shù)[J].計(jì)算機(jī)測量與控制,2010,18(02):292-294.