化春鍵潘 瑞陳 瑩
(1.江南大學機械工程學院,江蘇 無錫214122;2.江蘇省食品先進制造裝備技術重點實驗室,江蘇 無錫214122;3.江南大學物聯網工程學院,江蘇 無錫214122)
直線特征是圖像重要的幾何特征,對直線的檢測也是機器視覺中的經典問題,在視頻跟蹤,相機標定,位姿估計和目標識別等很多領域都有應用。在汽車領域中,從高級駕駛輔助系統ADAS[1]到完全意義上的無人駕駛[2],都離不開車道直線的檢測與識別,為汽車行駛提供路徑信息并且對偏離路線做出預警。
傳統的車道線檢測方法主要分為基于特征的分割方法[3]和基于模型的分割方法[4],分別利用車道線顏色,梯度,紋理等特征或者建立車道線空間模型的方式實現車道線的精確檢測定位。這其中最為經典的方法是基于Hough變換檢測車道[5],文獻[6]基于車道線邊緣點梯度特征,統計梯度直方圖并優化了Hough變換算法提高了檢測速度。文獻[7]基于幾何矩采樣獲取動態感興趣區域,利用車道線段的質心與偏轉角度動態估計下一段車道線位置,縮減了直線檢測搜索空間,提高了檢測速度及魯棒性。傳統的車道線檢測研究中常采用先二值化圖像再邊緣檢測的方法得到較少的邊緣信息,但是由于二值化閾值選擇不確定性,對于復雜環境下,例如艷陽天多陰影區域,雨天積水區域等,難以選擇合適的閾值分割得到車道線邊緣,容易出現車道線分割不足或過分割問題,并且傳統Hough變換在復雜環境下也很難保持較好的實時性。隨著深度學習[8-9]技術的發展,通過訓練合適的神經網絡[10-11]檢測車道線信息魯棒性強,然而其計算復雜,對硬件設備要求較高。
為了準確且快速的識別出復雜道路環境中的車道線,本文根據Lab色彩空間對黃色敏感性特點,實驗選擇合適的閾值與灰度圖像加權;根據車道線邊緣方向連續性特點,選擇合適的掩膜窗口上下沿邊緣掩膜窗口遍歷圖像,篩選車道線邊緣;再根據輪廓刪選后邊緣輪廓的集中性特點,改進Hough變換掃描方式,通過迭代去點的方法提高算法速度,并利用消失點[12]原理進一步篩選直線。
通過對平行道路安裝的車載相機采集到的圖像分析可知,采集圖中包括道路平面信息,及天空、道路兩旁的樹木、建筑等干擾信息。因此在進行車道線檢測之前,必然要首先選擇合適的檢測區域。如圖1所示,道路信息處于圖片的下方區域,故選擇圖片下方區域當作感興趣區域[13]進行進一步的圖像處理。

圖1 感興趣區域裁剪圖
在光照較差的多陰影圖像中,黃色車道線區域模糊不清,往往很難被檢測。本文針對這種現象,根據Lab色彩空間b分量對黃色敏感度高的特點,選擇加權閾值增強灰度圖像,增強車道線對比度。圖像增強算法步驟如下:
①將采集圖片灰度化,計算圖像坐標系上(x,y)的灰度值gray;
②將RGB圖像轉化成Lab圖像,并且提取b分量值b0;
③選取加權閾值w,得出增強后圖像f,如式(1)所示:

式中:w為加權閾值,gray為灰度圖像,b0為b分量圖像,f為增強圖像。經過實驗表明,w為0.6時圖像效果最好,增強了黃色車道線區域對比度,也不影響其他區域的正常檢測,結果如圖2所示。

圖2 對比度增強效果圖
在復雜光照環境中,由于光照不均勻、反光、陰影等問題,很難把車道線從路面背景中分割出來。為了避免二值化圖像后車道線分割不足導致的漏檢測問題,本文直接對灰度圖像進行邊緣檢測,得到冗雜但完整的圖像邊緣信息。如圖3所示,在光照穩定、多陰影、障礙物干擾等情況下,車道線邊緣信息皆呈現連續且方向相同的特點,基于此特點將邊緣分為上升點,下降點,一般點三種情況,分別對三種邊緣點分析。

圖3 邊緣檢測圖
如圖4所示,在邊緣圖像中,將由7種上升點組成的連續線段標志成上升車道線,將由7種下降點組成的連續線段標志為下降車道線,而2種一般點既有可能存在于上升車道線中,又有可能存在于下降車道線中。

圖4 邊緣方向分析圖
經過實驗,選擇如圖5的掩膜對邊緣點情況進行量化,對該點的上升性、下降性進行描述。兩種掩膜都包含3個整十元素和3個個位元素,無論是上升點還是下降點,其鄰域內必包含一個或多個整十元素,也必包含一個或多個個位元素。取邊緣點3×3鄰域與邊緣模板卷積的結果作為該邊緣點梯度方向響應值,則7種上升點與上升濾波模板卷積響應值為:31,33,32,13,12,21,23;7種下降點與下降濾波模板卷積響應值為:31,33,32,13,12,21,23;2種連接點響應值為:11,22。因此,可選用合適判定準則區分上升邊緣與下降邊緣。

圖5 濾波模板
故對邊緣點篩選的步驟如下:
①從中間將圖像均分為左、右兩個子圖像。其中上升沿的車道線位于左圖像,下降沿的車道線位于右圖像;
②遍歷左圖像每行每列,選擇3×3的鄰域與圖5(a)卷積,若值大于11且不能被10整除,則將此點置為1,定義此點為上升點,否則置0,定義此點為干擾點;
③遍歷右圖像每行每列,選擇3×3的鄰域與圖5(b)卷積,若值大于11且不能被10整除,則將此點置為1,定義此點為下降點,否則置0,定義此點為干擾點。
經過篩選后,左右圖像中車道線邊緣上的點仍具有較好的連通性,而非車道線的邊緣線皆斷開,分割成了一個個特別小的連通區域。對篩選后圖像進行區域生長處理,選擇合適的閾值刪除小連通區域。此時連通域較大的線段即可能為車道線線段,不排除存在誤檢測直線的可能,可結合車道線傾斜角度和位置信息等特征對檢測車道線進一步約束。
直線和曲線是常見的兩種車道線形狀,本文采用Hough變換與最小二乘法分別對直線輪廓、曲線輪廓進行擬合。在進行車道線輪廓擬合之前,應該對檢測到邊緣輪廓進行曲直判定,然后將輪廓選擇合適的方式進行擬合。如圖6所示,Pm是輪廓P1P2的中點,而對于理想直線P′m與Pm應該重合,而對于曲線來說,P′m與Pm的位置會有一定的偏差,因此,本文采用P′m與Pm之間的距離作為檢測輪廓邊緣是曲線或是直線的判斷依據。

圖6 曲直判定示意圖
Hough變換是一種常用的模型識別方法,常用檢測直線,圓等形狀特征,通過建立圖像空間和參數空間的對應關系,圖像空間中一個點對應參數空間一條線,圖像空間一條直線對應參數空間中一個點,其極坐標表示為:

式中:ρ表示原點到直線的垂直距離;θ表示直線與x軸夾角,(x,y)為像素點坐標。傳統的Hough變換遍歷所有像素點,建立(ρ,θ)累加器,采用投票的方式選出峰值。然而在復雜環境下,由于邊緣點冗雜,投票累加的過程占據大量計算資源。
基于以上缺點,本文提出一種改進Hough變換方法,提高車道線檢測速度。首先根據先驗知識限定車道線極角、極距范圍,經過對大量車道線圖像統計分析可知:

式中:θl,θr分別為左右兩個車道線極角,m,n為圖像的長和寬。
其次,根據上文得到的去除不連續小邊緣后的左右輪廓圖,建立新的像素點掃描方式,迭代刪除已測直線上點,流程如圖7所示,具體步驟如下:

圖7 改進Hough變換流程圖
①經過邊緣輪廓分割后,將各邊緣輪廓按從大到小排序得contours[i],i=1,2,3,…,contours[1]為做圖像最長的邊緣;
②建立累加器,從contours[i]開始對(ρ,θ)單元投票累加,首次迭代i=1。設定閾值T,若A(ρ0,θ0)>T時,即檢測到一條長為T的小直線,轉步驟3。否則等所有點集累加完成,跳轉步驟4;
③遍歷所有點集其他所有輪廓點(x′,y′),若x′cosθ0+y′sinθ0=ρ0,則點(x′,y′)位于小直線上,A(ρ0,θ0)=A(ρ0,θ0)+1,并從點集中剔除此點。迭代完成后,記錄(ρ0,θ0)為檢測到的一條直線,并將A(ρ0,θ0)置0,并返回步驟2,i=i+1;
④記錄左右圖像所有檢測到的直線,并根據平行車道線在圖像中交于一點,篩選出正確的車道線。
本文采用最小二乘法擬合曲線,將曲直判定后的曲線輪廓擬合成數學曲線。由于本文獲得的曲線輪廓干擾點少,利用最小二乘法可使車道線擬合具有較高的精度和實時性。假設最小二乘法擬合多項式如式(4)所示:

式中:a0,a1,…,ak,為對應項系數,(x,y)為待測點坐標,各點到這條曲線距離平方和的數學表達式如式(5)所示:

式中:R2為偏差值,當其值最小時,擬合效果最好,故分別對ak求偏導并化簡為矩陣形式:

式中:

本文采用最小二乘法對曲線車道線進行曲線擬合,根據曲線的形狀選擇三次多項式y=a0+a1x+a2x2+a3x3擬合車道曲線,因此需求解出[a0,a1,a2,a3]四個未知量。
為驗證本文提出的車道線檢測方法魯棒性和實時性,本文驗證環境為:Intel(R)Core(TM)i7-8750H,8G內存PC機,Win10操作系統,開發環境為VS2015配置opencv3.3.0。
在圖8(a)的車道線圖像中,除了車道線信息外,還包含路旁樹木、路燈等干擾,通過邊緣檢測可以獲得清晰邊緣輪廓,結果如圖8(b)所示。邊緣檢測圖像具有完整圖像邊緣信息,其中包括車道線輪廓信息和道路旁樹木、路燈等冗余信息的邊緣輪廓。這些冗余的邊緣輪廓不僅增加了車道線檢測算法的計算量,也對車道直線、曲線擬合過程造成一定程度干擾。
根據車道線邊緣梯度連續性特點,選擇合適掩膜遍歷所有邊緣點,刪除方向不連續的邊緣點,中斷不規則冗余干擾信息的輪廓邊緣,而車道線邊緣輪廓仍保持較高的連續性,如圖8(c)所示,路邊路燈、樹叢干擾信息邊緣輪廓斷裂成一個個短小的片段,而路面上連續的車道線邊緣輪廓仍保持較大的長度。統計每個8連通邊緣輪廓尺寸,刪除較小尺寸的邊緣輪廓,保留較長邊緣輪廓擬定為車道線邊緣,結果如圖8(d)所示。

圖8 車道線輪廓分割效果圖
圖9 為彎曲車道線輪廓分割效果圖,由圖可知,彎曲車道線經過濾波模板篩選后,車道線輪廓仍保持較高的連通性,可從路面背景中分割出正確的彎曲車道輪廓。

圖9 彎曲車道線輪廓分割效果圖
從圖8、圖9中可以看出,本文方法根據車道線方向連續性的特點,可以從復雜的邊緣輪廓圖中尋找出正確的車道線邊緣。車道線邊緣保持較高的完整性,其中,車輛所在車道區域的車道線邊緣表現為具有一定距離的兩條平行線,而距離車輛所在車道較遠的車道線邊緣由于相機分辨率的限制表現為一條線或距離較近的兩條平行線。
為驗證本文算法在復雜光照環境中的魯棒性和實時性,選取了正常光照,昏暗光照和陰影光照下圖像進行測試,與文獻[14]算法相比較,結果如圖10~圖13所示:

圖10 正常光照

圖13 曲線擬合實驗
文獻[14]首先采用自適應閾值分割技術將車道線區域與路面背景分割,再檢測邊緣輪廓進行Hough變換檢測車道線。如圖10、圖11所示,在正常光照及昏暗光照下,閾值分割后的車道線邊緣保持完整,足以檢測出直線。然而當光照不均,或受到

圖11 昏暗光照
陰影干擾時,往往無法選擇合適的閾值分割出車道線,容易造成車道線信息丟失,如圖12所示,左側明亮域區域車道線信息丟失。本文直接從灰度圖像中檢測邊緣,得出完整的圖像輪廓,再基于連續性原則篩選出車道線,如圖10~圖12所示,在正常光照,昏暗光照及陰影干擾下都能較好的檢測效果。

圖12 陰影光照
此外,文獻[14]僅采用Hough變換擬合直線,將曲線也當成直線擬合,彎曲車道線擬合精度較差,本文采用最小二乘法擬合車道線輪廓,擬合精度較高,結果如圖13所示。
由于ROI劃分與Hough極角約束相關參數與相機拍攝高度、角度有關,本文采用相機水平拍攝方案,相機距地面1 m,分別采集正常光照、昏暗光照和陰影干擾等3類光照環境下各500幀路面圖像進行測試,統計數據如表1所示。
由表1可知,與文獻[14]相比,本文算法在正常光照及昏暗光照下魯棒性和實時性上有一定的提高,在復雜陰影光照下,由于避免了因為背景復雜導致的車道線漏分割和邊緣點冗雜問題,識別率從90.6%提高到96.4%,時間從45.2 ms提高到25.4 ms。本文算法平均識別率達到97.1%,平均用時22.9 ms。結果表明,本文所提算法抵抗干擾性能良好,能適合各種復雜光照環境,具有較高的辨識正確率,且滿足實時性要求。

表1 車道檢測時間與精度對比
本文提出一種基于邊緣方向連續性的車道線快速檢測算法。首先,采用Lab色彩空間b分量與灰度圖像加權的方法,使車道線在明亮區域、昏暗區域皆有較高的對比度,降低了黃色車道線漏檢率。針對二值圖像存在車道線漏分割的缺陷,采用邊緣連續性篩選分割出正確車道線輪廓,并采用Hough變化和最小二乘法擬合車道線。經過不同光照環境下實驗測試,本文算法平均識別率達到97.1%,平均用時22.9 ms,尤其在陰影干擾下,識別率提高5.8%,速度提高43%。因此,本文所提出算法具有較高的普適性,且滿足實時性要求。