孫悅
摘 要:車道線檢測是無人車環境感知模塊的重要組成部分。為實現對智能小車循跡過程中的精準控制,文章提出了一種新的車道中心線的提取算法。首先對圖像進行處理,根據光照條件不同進行分類,之后用霍夫變換特征提取方法來檢測車道線;根據圖像中車道線的幾何關系以非擬合的方式得到正確的車道中心線。所提出的方法在規定地圖中可以完成完整的車道保持,尤其在彎道中保持良好。實踐證明,該智能小車的車道中心線提取準確、穩定、計算速度快。關鍵詞:圖像處理;智能小車;霍夫變換;車道中心線中圖分類號:U461.4??文獻標識碼:A ?文章編號: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
前言
近些年,隨著雷達、攝像頭、傳感器的升級換代,各種智能駕駛輔助技術成了汽車行業前瞻研究的熱點課題:自動跟車、車道保持、自動泊車等,但智能駕駛算法實車驗證成本大,硬件設備復雜,企業前瞻研究和高校科研都基于單片機或樹莓派的智能小車進行方法驗證。
![]()
車道中心線的位置主要用于估計車輛位置,作為車道保持算法的輸入。目前,國內外研究人員提出了多種基于攝像頭的車道線識別和車道中心線提取方法。曹旭光[1]在非結構化道路識別中,用估計中值截距法和最小二乘法進行車道線擬合;Marc Revilloud[2]等通過對車道線進行標記來改善車道的檢測和估算算法,在置信度圖中使用車道估計的輪廓得到車道標記的面積;Yue Wang[3]等提出基于B-Snake的車道檢測和跟蹤算法,能夠描述更寬范圍的車道結構。但當車道線曲率較大時,以上方法的車道中心線提取效果就會變差。
本文就此種情況提出了一種適合智能駕駛小車的快速車道中心線提取方法,對場景地圖中的直道、彎道等復雜車道的中心線進行識別提取,使小車可以實現自主循跡。
1 硬件搭建
本文設計的為基于Arduino和樹莓派平臺的差速舵機轉向小車,由圖像采集模塊、驅動模塊、轉向模塊、通信模塊組成,控制系統選擇樹莓派3b微控制器作為核心處理器,結合GPIO及無線通信接口為智能小車提供了一個功能強大具有擴展性的硬件平臺。圖1為智能小車結構詳解。
2 圖像分類處理
當受到光線影響時,圖像的像素信息會有變化,因此不同光線下應對圖片做不同的處理。圖像整體灰度均值是一種全局統計特征,受到局部影響的因素較小,有很強的濾波局部噪聲誤差的能力[4]。經試驗統計發現,圖像的整體灰度均值能夠很好的反映出圖像的光照強度[5]。因此本文選擇以圖像灰度均值作為圖像分類標準,將圖像分為三類:強光、正常光和弱光。灰度均值計算公式為:
其中,μ為灰度均值,M為灰度值最大值,ni為某個灰度值的個數,a、b分別為圖像的長與寬,a*b為整個圖像的像素點。
圖像初步處理后運用Canny算子進行邊緣檢測:首先進行高斯濾波,平衡圖像判斷的噪聲;用一階偏導有限差分計算梯度幅值和方向;對梯度幅值進行非極大值抑制;用雙閾值算法檢測和連接邊緣。該算子提取的車道線邊緣完整,,有多種參數可以設置,適應多種實際情況。本文三種不同灰度均值圖像對應著不同的二值化闕值,以強光處理為例,如圖所示。
圖2(c)為圖2(a)不采用圖像分類時識別的結果;圖2(b)為采用分類方法且識別為強光,調整二值化闕值后的Canny算子識別結果,車道線識別更完整。實踐證明,以灰度均值為基礎的圖像分類方法可以提高車道線識別過程中邊緣檢測的準確性。
3 基于霍夫變換的車道線識別
曲線擬合是提取車道中心線常用的方法,但小車的識別過程在樹莓派中進行,需要提高算法的計算速度,降低計算占用空間。因此本文采用車道線的幾何關系提取中心線,提取到的中心線垂直于圖像的X軸,為下一單位時間內的車道中心線。由于較遠的視野對當前控制作用不大,甚至會影響到附近位置判斷的準確性,因此在選取圖像時要截掉較遠的視野。F_fllag和R_fllag是左右車道線的標記,等于1說明存在一側車道線,等于零說明不存在。
小車視野較好時,圖像可以得到完整的雙側車道線,即F_fllag=1,R_fllag=1。根據兩側車道線的位置關系得到車道中心線的位置,公式如下:
其中,xcenter為車道線的橫坐標,b為圖像最上方的y軸坐標,krb為右側車道線的斜率,xrb為右側車道線與b的交點,klb為左側車道線的斜率,xlb為左側車道線與b的交點。圖3是利用Python識別車道線的結果。紅色為霍夫變換車道線識別結果,綠色為車道中心線識別結果。
3.2?單側車道線
小車在彎道行駛時通常只能檢測到單側車道線,此時F_fllag=1、R_fllag=0或F_fllag=0、R_fllag=1。以只有左側車道線時為例,車道中心線提取公式如下:
車道線斜率大于1時:
車道線斜率小于1時:
其中,f為車道中心線偏移量,c為車道中心線偏移系數,數值大于1。
由于地圖復雜,在小車行駛過程中會出現很多干擾的線條。為了避免漏檢、誤檢,車道線提取方法應做出優化改進。地圖中,干擾線條不會出現在車道線內,且越靠近小車位置的直線斜率越小,因此根據斜率的大小篩選合適的車道線。圖5中出現了環島的單側車道線以及干擾線條,干擾線條的
斜率較大,車道線斜率較小,識別結果如圖。
4 結論
本文根據已有的研究成果,提出了一種基于單目視覺的車道邊緣檢測及中心線提取算法研究。首先,根據不同光照強度,圖像的灰度均值不同,對圖像分類,然后進行Canny算子車道線邊緣檢測,在感興趣區域進行霍夫變換車道線識別,最后根據車道線的位置關系,單側車道線或雙側車道線進行不同的車道中心線的提取。實驗中,算法在直道、彎道和環島中,均具有較好的檢測結果。
參考文獻
[1]?曹旭光.非結構化道路識別及擬合算法研究[D].東華理工大學,?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標示符識別算法研究[D].吉林大學,?2005.
[5]?楊喜寧,段建民,高德芝,鄭榜貴.基于改進Hough變換的車道線檢測技術[J].計算機測量與控制,2010,18(02):292-294.