呂厚權,高建華,王登鵬,楊小輝
陜西法士特齒輪有限責任公司 西安 710077
隨著計算機、通信、人工智能等技術的快速發(fā)展,汽車的電氣化、網聯(lián)化、智能化程度也越來越高,世界各國都在加快進行智能車輛的戰(zhàn)略部署。我國于2020年2月發(fā)布了《智能汽車創(chuàng)新發(fā)展戰(zhàn)略》[1],用于規(guī)范和加快智能車產業(yè)的落地。目前,高級駕駛輔助系統(tǒng)已經實現(xiàn)產業(yè)化應用,而無人駕駛車輛也在碼頭、園區(qū)等特定場所逐步開始測試和運營,相關技術處于不斷發(fā)展和完善的階段。
在輔助駕駛和自動駕駛技術中,環(huán)境感知技術處于技術實現(xiàn)的最前端,是行為決策、路徑規(guī)劃和運動控制的依據。目前環(huán)境感知技術的解決方案主要是依賴雷達和攝像頭兩類傳感器,由于車載攝像頭比激光雷達在成本上有很大的優(yōu)勢,因此,基于視覺的環(huán)境感知技術一直是行業(yè)學者們研究的熱點。
基于圖像的車道線檢測技術是環(huán)境感知的一部分,研究方法可以分為基于特征的檢測方法、基于模型的檢測方法和基于深度學習的檢測方法。其中基于特征的檢測方法和基于模型的檢測方法屬于傳統(tǒng)的目標檢測方法,主要通過檢測車道線的顏色、邊緣、梯度變化等底層特征和車道線形狀等信息來提取車道線或對其進行模型化描述[2]。
本文對傳統(tǒng)車道線檢測技術進行了研究,分析了數字圖像的處理技術,包括圖像灰度化、二值化以及圖像濾波方法,研究了圖像邊緣增強方法以及霍夫變換(Hough)的原理,通過試驗驗證了方法的有效性并分析了不足之處。
數字圖像是由有限數量離散的像素點組成,它是借助于數字計算機來處理的圖像,要求計算機有足夠強大的存儲和計算能力,需要依靠計算機數據存儲、顯示和傳輸等相關技術,因此該領域的發(fā)展很大程度依賴于計算機技術的發(fā)展。
我們日常拍攝和見到的彩色圖片在計算機表示中通常被表示為RGB(紅、綠、藍)圖像,通過紅、綠、藍這三個原色按照不同的比例混合,可以獲得其他各種顏色。
RGB圖像在計算機中的表示三通道的,包含的數據量相對較多,在車道檢測中,首先需要將其轉化成單通道的灰度圖,即做灰度化處理,轉化公式為
灰度化處理后的圖像不但可以滿足后續(xù)目標的檢測,而且可以減少內存空間的占用,降低計算機的計算量及提高處理器的運算效率?;叶然幚硇Ч鐖D1所示。
圖1 圖像灰度化處理
彩色圖像完成灰度化處理后還需要進行濾波處理。濾波的目的是降低圖像噪聲,提高圖片質量。常用的濾波方法有均值濾波、高斯濾波和中值濾波。中值濾波是一種非線性濾波方法,其原理是以濾波器包圍的圖像區(qū)域中所包含的像素值的排序為依據,統(tǒng)計排序結果來替代中心像素值。該濾波器對隨機噪聲具有良好的去噪能力,同時能夠較好地保留圖像邊緣細節(jié),因此,后文將使用該濾波器對圖片進行濾波處理。
車道線檢測中,項目的目標是提取圖像中的車道線信息,圖像中的一條線可以看成是一條邊緣線段,該線段兩側的邊緣灰度值相對于周邊灰度值會有較大的變化。利用這一特性,可以計算圖片中每個像素點的梯度,從而將線與其他信息區(qū)分開來。
對于一副圖像?,在位置(x,y)處的梯度▽?可以表示為
邊緣增強中,常用的梯度算子有Prewitt算子、Sobel算子和Canny算子。Prewitt算子和Sobel算子僅僅考慮了圖像的梯度信息,Sobel算子是在Prewitt算子的基礎上進行了優(yōu)化,實現(xiàn)原理都是用模板矩陣進行濾波處理。Canny算子不僅考慮了圖像的梯度信息,它還包括圖像平滑處理、梯度計算、梯度圖非極大值抑制和閾值處理等過程,使用該算子通常能夠獲得較為理想的處理結果,因而具有較為廣泛的應用。
圖像經過邊緣增強后將使用Hough變換方法對檢測到的邊緣信息進行提取,Hough變換是計算機視覺領域中識別幾何形狀的基本方法,其實現(xiàn)原理為:在直角坐標系O-XY平面中有一點p,經過該點的直線l可以表達成公式y(tǒng)=ax+b,在參數空間中使用距離ρ和角度θ可以將直線描述為ρ=xcosθ+ysinθ。容易知道,將直線l繞p點旋轉,可以得到無數條直線,經過原點O向這無數條直線作垂線可以產生無數個垂點,所有垂點連接起來便得到了參數空間中的一條曲線。如果給出直角坐標系下兩個點,并重復上述過程,則根據參數空間中兩條曲線的交點就可以確定直角坐標系中這兩個點所確立的直線,如圖2所示。
圖2 不同坐標系下的直線表示
車道線的檢測通常是對車載相機所拍攝的視頻數據按幀提取并實時處理,車載相機的內參和外參需要提前完成校準和標定,這里不考慮相機標定問題,使用Matlab讀取拍攝完成的道路圖像進行試驗,圖像的選取原則是人眼可以清晰地從圖像中識別到車道線即可。首先選取一張清晰度較高的圖像,瀝青路面的顏色為黑色,車道線為白色,顏色反差較大,并且基本不存在光照和雜物的干擾。使用3×3濾波核進行中值濾波,邊緣增強算子使用Sobel算子,試驗結果如圖3所示。
圖3中綠色的線條為檢測出來并自動生成的車道線,所用方法能夠準確地提取出圖像中的車道線信息,檢測效果較好,滿足要求。為了驗證方法的通用性,更換圖像進行測試,將圖像更換為原始圖像,一張在法士特研究院內部拍攝的圖像,該圖像中的路面為水泥路面,路面顏色與車道線相近,同時圖像中存在一定的光線干擾,使用同樣的方法和參數進行檢測,檢測結果如圖4所示。
圖3 車道線檢測結果
圖4 Sobel算子車道線檢測結果
圖4檢測結果中,黃色的中間虛線車道線完全丟失,對比圖3和圖4檢測結果可以知道,使用Sobel算子和同樣的算法來進行車道線檢測,所使用的圖片質量對檢測結果有較大的影響。由于黃色車道線灰度值與路面灰度值較相近,在邊緣增強并二值化后黃色車道線就已經被舍棄了,因此后續(xù)霍夫變換就無法檢測到該條車道。為了解決這個問題,使用邊緣增強效果更加細膩和復雜的Canny算子進行圖片處理,其他參數和方法不變,檢測效果如圖5所示。
從圖5可以看出,將Sobel算子替換為Canny算子后進行邊緣檢測,二值化后圖像更加精細一些,中間黃色的車道線信息也被體現(xiàn)出來了,但是在檢測結果中依然無法提取出中間的黃色車道線。其原因還是黃色車道線輪廓不夠清晰,在整個圖幅中,該車道線與地面的切縫、建筑等環(huán)境噪聲沒有明顯的區(qū)別。
圖5 Canny算子車道線檢測結果
針對這個問題,在可視區(qū)域內劃定感興趣區(qū)域是一個很好的解決辦法。因為車載相機在車上的安裝位置是固定的,這就決定了路面、天空等環(huán)境信息在相機圖像中的位置也是相對固定的,因此可以僅針對路面可能出現(xiàn)的區(qū)域進行目標檢測,這樣不僅可以減少計算量,提高運算效率,更能夠提高檢測準確率,同時與實際使用工況相符。
由于黃色車道線自身灰度化特性及其附近存在地縫且漆面有掉落不連續(xù)的現(xiàn)象,在使用Cannyz和Sobel算子并反復調整閾值參數后,二值化后的圖像中黃色中間車道線的輪廓依然不清晰。接下來繼續(xù)調整邊緣增強算子,并劃定圖中車道線所在區(qū)域為感興趣區(qū)域再次進行試驗,檢測結果如圖6所示。
圖6 劃定ROI后的車道線檢測結果
從檢測結果可以看出,通過劃定ROI再進行目標檢測并適當調整邊緣增強算子后可以實現(xiàn)對圖中車道線的檢測,但仍然存在一些問題:將中間黃色車道線突顯出來以后,左邊和右邊的邊界車道線卻相應的被弱化了,導致生成的綠色車道線不夠完整且有多線段疊加現(xiàn)象,這說明二值化后的直線像素點不夠連續(xù)。此外光線的不均勻照射現(xiàn)象沒有得到抑制,這一現(xiàn)象也可能會對后續(xù)幀的檢測造成影響。
基于特征的傳統(tǒng)車道線檢測方法可以實現(xiàn)對圖像中的車道線提取,但圖像的質量對檢測結果有較大的影響。實際工況中,會存在光照不同、路面濕度不同等各種隨時可能發(fā)生變化的不利因素,這些不利因素對檢測算法的穩(wěn)定性和準確性來說都是挑戰(zhàn)。因此,單一使用圖像邊緣特征的檢測方法還需要改進,車道線的寬度、顏色、形狀及車道線間的距離等信息具有一定的規(guī)范,因此可以在圖像預處理階段加入更多的判斷條件來提取車道信息,或者使用基于數據集訓練的深度學習方法來進一步提高檢測的準確性和穩(wěn)定性[3]。