劉康婷,高 坤,趙奉奎
(南京林業大學 汽車與交通工程學院,南京210037)
當代汽車工業發生了革命性的變化,道路日趨復雜,汽車數量逐年攀升,交通事故發生率也在增加。其中,人為因素成了道路安全問題的主要來源,要想有效解決這一重大難題,必須把未來汽車研究的方向轉移到智能交通系統上來[1]。智能交通系統包括道路、車輛以及駕駛人三大主體,如何有效采集道路信息,反饋給車輛以及駕駛員,減少交通事故的發生是目前智能交通系統所要解決的問題。
汽車智能化是解決該問題的重要步驟。有研究者在汽車上安裝環境感知傳感器,如基于激光雷達的汽車防撞預警系統,實現對周圍車輛的準確檢測,并在車距過近時及時進行聲光報警,有效減少了車輛間的碰撞所帶來的安全隱患[2]。圖像處理[3]在汽車智能化方面發揮著重要的作用,可實現車道線檢測、障礙物識別、交通標志識別等功能。其中車道線檢測技術是汽車自動駕駛的基礎,研究人員常使用Hough變換[4]、最小二乘法[5]之類的方法來識別車道線,為完善車道線檢測的一系列算法提供必要的理論依據。但如果道路狀況比較復雜并且不斷變化,道路標志被行人或障礙物遮擋,天氣情況不好時,這些算法可能無法檢測,還存在計算量大,精度不高,受噪聲干擾嚴重等問題。
為了解決這一問題,本文采用“張正友標定法”對相機參數進行標定,并利用基于隨機樣本共識(RANSAC)的魯棒曲線擬合算法擬合車道線,并對所提算法進行了驗證。
本文所研究的車道線檢測技術包括3大過程。首先,相機參數標定,這是視覺系統正常工作運行的基礎;其次,道路圖像處理,建立車輛坐標系,完成原始圖像和車輛坐標系的轉換,把原始圖像轉換為鳥瞰圖,并從道路表面分離出車道線;最后,采用RANSAC算法擬合出車道線并對其進行虛實的分類。
相機參數標定通常包括3種方法:自標定法、傳統標定法以及張正友標定法[6]。自標定法標定結果的精度比較低,魯棒性差;傳統標定法對需要標定的對象的精度要求很高,計算過程也相對更復雜;本文選擇了張正友標定法,此種標定方法對標定目標的精度要求不高,實驗過程也比較簡單,標定的結果精度較高。
張正友標定法使用一個打印出來的棋盤格就可以進行標定,如圖1所示。以棋盤格為標定板,對棋盤格拍照后,可以用相應的圖像檢測算法得到每一個角點的像素坐標。張正友標定法將世界坐標系固定在棋盤格上,則棋盤格上任意一點的物理坐標均為0。于是,可以利用每一個角點的像素坐標和每一點的物理坐標來進行相機參數標定,得到相機的內外參數矩陣和畸變參數。

圖1 棋盤格Fig.1 Checkerboard
張正友標定法中因為光學透鏡失真會引起鏡頭的畸變,相機畸變類型分為徑向透鏡畸變、枕形畸變、桶形畸變等。對透鏡畸變進行矯正,計算徑向變形位置,將發生變形的點在成像儀上的位置表示為(X,Y),(x,y)為調節后的點的坐標,其中k1,k2和k3為徑向畸變系數,r為圖像像素點到圖像中心的距離。調節公式為式(1)~式(3):

當鏡頭和像平面不平行時,會發生切向畸變。(x,y)為調節后的點的坐標,其中P1和P2為鏡頭的切向畸變系數,調節公式為式(4)~式(6):

調節鏡頭畸變,接下來在MATLAB中標定,得到相機的內外參數,首先要選擇合適的標定校準板,整個過程中,要保持相機靜止,對校準板不同的角度,不同的位置進行拍攝采集,保存拍攝到的圖片。進而進行角點的提取,運行校準程序來獲取相機相應的內外部參數,具體在MATLAB中校準流程如圖2所示。

圖2 相機參數標定流程圖Fig.2 Flow chart of camera parameter calibration
經過程序標定,得到相機內部參數見表1。

表1 相機內部參數Tab.1 Camera internal parameters
通過旋轉矩陣和平移向量得到相機的外部參數,相機相對于路面的高度和向地面的傾斜度,分別為hei gh t=2.1798 m,p i t ch=14°。將以上得到的內外參數配置存儲在monoCamera對象中,綜上完成了相機參數標定。
攝像機所拍攝到的圖像是以數組的形式儲存的,數組中每一個元素的值就是圖像的灰度值。如圖3所示,在圖像上定義直角坐標系u-v,每一個像素的坐標(u,v)表示該像素點在數組中的列數和行數,所以(u,v)是以像素為單位的圖像坐標系坐標[7]。
在地面上找到車輛坐標系統的原點O2,在攝像機的焦點定義的攝像機中心的正下方。建立如圖4所示的車輛坐標系,其中,X軸通過O2垂直于路面向上,Y軸指向車輛行駛的方向,Z軸垂直于Y軸并平行于路面。

圖3 圖像定義下的直角坐標系Fig.3 Cartesian coordinates based on image definition

圖4 車輛坐標系Fig.4 Vehicle coordinates
攝像機拍攝的圖像坐標與車輛坐標之間的轉換關系如式(7)所示,根據式(7),完成圖像坐標系和車輛坐標系之間的轉換。

單目相機對象monoCam檢查從攝像機捕獲的圖像,并確定圖像中車輛的位置。根據前文標定結果設置相機的固有參數,指定焦距、像平面的主點和輸出圖像的大小,單位是像素。將坐標系之間的轉換假定為平坦道路,基于一個全息矩陣,將成像平面上的位置映射到路面上的位置。
本論文使用逆向透視圖創建鳥瞰圖,使用MATLAB中birdEyeView對象,反透視圖映射創建2D場景的鳥瞰圖。其是二維(x,y)到三維(X,Y,Z),再到另一個二維(x^,y^)空間的映射,其中不要求投影平面與圖像平面互相平行。
透視變換矩陣變換公式(8)為:

其中透視變換矩陣式(9):

完成鳥瞰圖轉換,創建一個用于執行鳥瞰圖變換的對象,定義要轉換為鳥瞰視圖的相機前面的區域。在相機前方設置3~30 m的區域,同時在相機兩側分別設置6 m的區域,將輸出圖像寬度設置為250像素,通過將長度設置為NaN,可以自動根據寬度計算輸出長度,加載由傳感器捕獲的圖像,最后,將輸入圖像轉換為鳥瞰圖像,轉換結果如圖5所示。
本文采用LaneRidge檢測器從道路表面中分離車道線,該技術具有簡便、有效的優點。LaneRide采用指數函數線性組合形式的最佳邊緣提取算子網,該方法既能控制噪音影響又可以得到較準確的檢測效果。該算法的實質就是利用一個準高斯函數對圖像作平滑運算,以含有方向信息的一階微分找到導數最大值。
利用該算法將鳥瞰圖圖像轉換為灰度圖像,如圖6所示,車道標記的大約寬度設置為25 cm。

圖5 鳥瞰視圖Fig.5 Aerial View

圖6 灰度圖像Fig.6 Gray image
RANSAC算法的基本思想是根據隨機選擇的兩個點來計算出兩個點所表示的模型方程,然后將所有的數據點套到這個模型中計算誤差,進而找到所有滿足誤差閾值的點[8]。迭代運行程序選出被支持的最多的模型,作為擬合的解完成擬合。數據包括有效數據和無效數據,有效數據即符合所選模型且偏差較小的數據,反之則為無效數據。在有效數據占比遠大于無效數據時,可以采用最小二乘法來擬合曲線,但是當無效數據過多時,最小二乘法就會失效,所以需要用新的算法RANSAC來進行曲線的擬合。與最小二乘法相比,RANSAC的優點在于其在一般以及特殊情況下包括有效數據占總數據的比重的大或小都能夠準確擬合出最佳曲線,魯棒性較強。而最小二乘算法在無效數據過多時不能準確擬合曲線,會很大程度發生偏離的情況。因此,本論文選用準確性和實用性較好的RANSAC算法。
為保證道路車道線擬合的準確性,需要選取四個數據點來建立拋物線模型方程,所有的數據點都將套入此模型,并將所有滿足誤差閾值的有效點進行再次擬合,直到得到最佳曲線。
RANSAC算法擬合車道線[9]流程圖如圖7所示。首先,對圖像中的點集初始化,并在其中隨機抽取4個數據點,用所抽取的4個數據點進行曲線的擬合,然后判斷其它點到曲線的距離,若距離大于設定的閾值,則為無效點,返回第二步繼續抽取,若距離在設定范圍之內,則將其列入有效點集的行列,并累計加1,接著判斷有效點數是否大于設定數值n,若不大于n則再次回到第二步,重新選擇4個數據點,如大于n將所有得到的有效點擬合成拋物線,記錄最佳的擬合結果,一直到達設定的迭代次數,則完成擬合。

圖7 隨機抽樣一致算法(RANSAC)擬合車道線流程圖Fig.7 Flow chart of lane line fitting based on random sampling consensus algorithm(RANSAC)
虛、實車道線決定了車輛能否變道,本文研究了虛、實車道線的分類方法。由于單條實線之間沒有空隙,虛型車道線之間具有空隙,本文根據判斷單條車道線之間有無間距來判斷車道線的虛實。
對車道線進行分類的程序流程圖如圖8所示。首先找到車道候選邊界線,然后判斷單條車道線之間的最小距離,若距離大于0,則得到左側車道最小邊界距離,最終形成虛形車道線;若距離不大于0,則得到右側車道線的最小邊界距離,最后將所有有效數據點擬合得到實車道線。

圖8 虛實車道線分類檢測流程圖Fig.8 Flow chart of virtual and real Lane classification detection
利用實際拍攝的圖像對算法進行驗證,圖像處理結果如圖9所示。圖9分別展示了車道線擬合結果和虛實線分類結果,由圖9可知,所提算法能夠準確檢測車道線,并對虛實車道線進行準確的分類。

圖9 虛實車道線擬合圖像Fig.9 Display of virtual and real lane lines
車道線檢測與識別技術是汽車安全輔助系統中非常關鍵的技術,也是無人駕駛技術研究的基礎。本文采用張正友標定法對相機進行標定,接著將圖像轉換為鳥瞰圖進行處理,最后利用提出的車道線檢測算法對采集的圖像進行分析,準確檢測出車道線并識別虛實線。雖然本研究技術在準確性、實時性上具有很大的優勢,但在遇到特殊路況時卻難以準確識別車道線,例如曲線型車道、殘缺路面、車道線遮擋等問題。因此,未來的研究會將重點轉移到特殊環境的應對上面。