胥 鈞, 曾德斌, 林大超, 王文鑫
(1.華北科技學院, 河北 三河 065201; 2.彌榮(北京)交通科技有限公司,北京 100086)
前照燈是汽車燈光系統的組成部分,是夜間或光照不足環境條件下車輛安全行駛的光源保障裝置[1,2]。出廠之前,汽車前照燈都需要經過嚴格的技術檢驗[3,4]。即使如此,在使用過程中,燈泡的老化、外界環境污染以及行駛中的顛簸與振動等不可避免的情況,都可能引起燈光照射方向的變化,從而構成正常行車的安全隱患[5]。因此,有必要就車輛前照燈的實際情況開展定期檢測[4],以便及時調整和維護,保障汽車的安全行駛。
汽車前照近光燈照射方向檢測的主要檢測對象是明暗截止線及其拐點[6-8]。明暗截止線的快速、準確定位為近光燈檢測算法提供了良好的基礎條件。目前,已經提出的近光燈算法大多是先對完整的明暗截止線進行提取,再進行明暗截止線拐點檢測。算法的側重點大都傾向于使用不同的算法對明暗截止線進行提取。何揚名[9]提出根據圖像每列的最大梯度確定明暗截止線的邊緣點,使用Hough直線檢測確定明暗截止線,再通過明暗截止線的幾何位置關系提取拐點位置。從結果來看,這種方法需要對拐點的合理性進行判斷,暴露出拐點檢測結果精度不高的問題。使用形態學處理方法和背景匹配方法可以確定明暗截止線的邊緣點,將邊緣點劃分為水平明暗截止線邊緣點集和傾斜明暗截止線邊緣點集,利用直線擬合得到明暗截止線的擬合直線,通過擬合直線相交得到明暗截止線拐點[10]。此方法中對于分界點的判斷缺少可靠依據,同樣存在著檢測結果準確度低的問題。將明暗截止線視為圖像邊緣特征,使用邊緣檢測算子對近光燈圖像進行邊緣檢測,獲取明暗截止線邊緣特征,是當前被采納較多的解決方案,如基于亞矩陣的Canny邊緣檢測[11,12]、Sobel邊緣檢測[13]、LoG邊緣檢測[14]等。經過對比研究發現,LoG算子和Canny算子在傳統的邊緣檢測算法中優勢更為明顯,LoG算子對明暗截止線的定位更為準確,Canny算子提取的邊緣細節更為豐富[15,16]。文獻[17]中通過實驗探討了明暗截止線的清晰度及拐點定位中的一些問題,研究表明,由于實際物理設備的影響,近光明暗截止線及拐點具有一定的模糊性,很難直接準確求取明暗截止線拐點位置。對于具有模糊特性的近光明暗截止線,改進后的模糊增強算法在明暗截止線特征提取上有較為積極的作用。但是對于拐點檢測結果仍然存在著準確度不高的問題,且算法結構比較復雜,推廣性較差,不能很好地應用到實際生產中[18]。其實,明暗截止線拐點并非是一個物理概念上明確清晰的點,通常通過明暗截止線水平和傾斜部分相交的幾何關系確定。然而,明暗截止線水平部分和傾斜部分的分界具有明顯的模糊性,無法找到一個準確的位置將兩者區分開,這將直接影響到計算拐點檢測結果的準確性。迄今,這個問題還沒有比較有效的解決方案。鑒于此,本文提出了一種自適應感興趣區域定位算法,分別對明暗截止線的水平部分和傾斜部分進行區域定位,期望為現有近光燈檢測算法提供更為適用的改進措施。
利用機器視覺技術對近光燈檢測的原理是,借助相機采集近光燈投射在配光屏上的光型圖像,結合圖像處理技術,最終達到檢測目的。光源在圖像中所對應的點即為熱點。圖1為使用AVT G-032B工業相機采集到的矯正后標準近光燈光源圖像,圖2為其對應的偽彩圖圖像。透過偽彩圖,能夠更直觀形象地反映出實際的光型分布情況。原圖中最亮的區域即為熱點所在的區域,對應到偽彩圖中顏色最深的區域。經過觀察,得出以下幾點信息:第一,相對于熱點位置,明暗截止線水平部分總位于其左上方,而斜明暗截止線總位于水平明暗截止線的上方,拐點位置大致位于熱點的上方,但是,具體位置并不清楚。第二,離熱點越遠,明暗截止線越模糊,且呈現出彎曲趨勢。第三,水平明暗截止線與熱點之間的相對位置穩定,且位于熱點區域的左上方。在離拐點較近范圍內,總存在一段相對清晰的明暗截止線水平部分。第四,傾斜明暗截止線總位于水平明暗截止線的上方,且相互連通。通過分析發現,對明暗截止線水平部分和傾斜部分進行感興趣區域定位,首先需要完成熱點的準確定位,在此基礎上,依次實現水平明暗截止線和斜明暗截止線區域定位。
圖1 標準近光燈光源圖像Fig.1 Photo of a dipped headlight by CCD camera
圖2 近光燈照片的偽彩圖Fig.2 Pesudo-color of the dipped headlight
熱點的準確定位是圖像中感興趣區域定位的基礎。當圖像未達到過曝狀態時,熱點即對應到灰度圖像中灰度值最大的點。當圖像中存在過曝區域時,圖像中最亮處以區域的形式存在,通過尋找最大灰度值的方法無法很好定位出熱點位置。對于灰度值分布均勻的燈光圖像,灰度重心法可按目標光強分布求出權重質心。求取對應質心的基本公式如下:
(1)
其中,x0和y0分別表示重心的橫坐標和縱坐標,m和n表示目標圖像的列數和行數,xi和yi分別表示點的橫坐標和縱坐標,f(i,j)表示(i,j)點對應的灰度值。
以下為熱點算法具體步驟:
1)對輸入圖像I(x,y)轉為灰度圖像并進行初始化,f(x,y) =I(x,y),其中x∈ [0,M-1],y∈ [0,N-1],M與N分別為圖像的行數和列數。
2)尋找圖像中的最大灰度值Graymax,并根據最大灰度值確定閾值,閾值確定方法如下:
(2)
3)對圖像進行二值化。
(3)
4)尋找二值化圖像中的所有輪廓Contours。
5)根據輪廓面積,尋找所有輪廓中的最大輪廓Contourmax。
6)繪制最大輪廓的最小矩,確定計算灰度重心的目標區域。
7)使用式(1)計算感興趣區域內的灰度重心位置坐標。
在確定熱點位置之后,根據熱點、水平明暗截止線及斜明暗截止線直線三者之間的相對位置關系,首先對明暗截止線的水平部分進行感興趣區域定位和邊緣檢測,然后根據得到的水平明暗截止線,對傾斜部分進行感興趣區域定位。具體算法步驟如下:
1)將輸入圖像I(x,y)轉為灰度圖像并初始化,f(x,y)=I(x,y)。
2)利用熱點算法計算熱點坐標hotspot(x0,y0)。
3)計算水平明暗截止線感興趣區域左上角頂點坐標及感興趣區域的長度和寬度。
4)繪制水平明暗截止線ROI并計算ROI的平均灰度值,記為MeanGray。
5)使用LoG算子對水平明暗截止線進行邊緣定位,通過Canny算子提取邊緣點細節。
6)利用最小二乘法對邊緣像素點進行直線擬合,得到水平明暗截止線直線方程:
y1=k1x+b1,x∈[0,M-1]
8)以point(xi,yi)為參照點,確定斜明暗截止線感興趣區域。
在這套算法中,目標區域頂點坐標計算所用到的公式為:
(4)
其中,(x0,y0)為參照點坐標,width、height分別為采集到的圖像寬度和高度,a、b為可調比例系數,通過對系數的調整可以對感興趣區域頂點具體位置進行微調。
圖3為添加自適應感興趣區域定位后的近光燈測算法圖。將輸入的圖像由RGB三通道轉為單通道的灰度圖像。根據現有的文獻資料,選用去噪效果最優的高斯濾波函數對圖像進行濾波[18]。利用Gamma變換進行圖像對比度增強。感興趣區域內明暗截止線檢測部分,首先利用高斯-拉普拉斯算子(LaplacianofGaussian,LoG)對明暗截止線進行定位,再使用Canny算子提取邊緣細節信息。使用最小二乘法對獲取到的邊緣點進行直線擬合,先后得到水平明暗截止線方程和斜明暗截止線直線方程,最后根據點斜式得到實際圖像中的直線函數。通過水平明暗截止線和傾斜明暗截止線之間的幾何位置關系,計算拐點坐標。
圖3 改進后的近光燈檢測算法圖Fig.3 Improved low-beam detection algorithm diagram
本文使用一臺標準近光燈光源作為驗證器材,對檢測算法的可靠性、魯棒性和實用性進行驗證。
圖4為采集的同一臺標準近光燈燈具在不同照度下的燈光圖像。圖中給出了使用本文熱點定位算法對近光燈圖像進行熱點定位的檢測結果。用矩形框框出了熱點區域,十字標識出了檢測出的熱點位置,從視覺上看,檢測得到的熱點位置準確。
圖4 不同照度下熱點檢測結果Fig.4 Detection results of hotspot in different conditions
圖5、圖6和圖7分別給出了低照度、良好照度、過曝條件下近光燈檢測結果。其中,圖(a)為采集到的近光燈原圖。圖(b)和圖(c)分別為利用自適應感興趣定位算法得到的水平明暗截止線感興趣區域和傾斜明暗截止線感興趣區域,截取的感興趣區域圖像中只存在水平明暗截止線和傾斜明暗截止線。圖(d)是最后的檢測結果,圖中用直線標識出了檢測得到的明暗截止線,以十字標識出檢測得到的拐點位置。從檢測結果圖看,得到的擬合直線與明暗截止線完全重合,檢測結果準確。
圖5 低照度條件近光燈檢測結果Fig.5 Detection results in low illumination condition
圖6 良好照度條件下近光燈檢測結果Fig.6 Detection results in positive illumination condition
圖7 過曝條件下近光燈檢測結果Fig.7 Detection results in overexposure condition
目前,對于如何判別近光明暗截止線及拐點檢測結果的準確性,還未有明確的鑒定方法。實際汽車生產中,大多數廠商需要通過人工檢測對前照燈檢測結果進行核驗。本文提出將根據拐點測量得到的偏轉角度與燈具實際偏轉角度進行對照,對算法的穩定性和準確性進行評價。原因如下:第一,根據世界坐標系、相機坐標系、圖像坐標系及像素坐標系之間的關系,可求出圖像中任意一像素點對應的世界坐標,由此計算出參照點偏轉前后位移,再根據反三角函數求出偏轉角度。第二,偏轉角準確測量的基礎依賴于檢測點的準確、穩定定位。當參照點檢測結果不穩定或不準確時,由該點計算出的偏轉角則會存在較大的波動,與實際偏轉角度之間存在較大的誤差。
表1、表2分別給出了水平方向和垂直方向燈具實際偏轉角度和計算偏轉角度的數值,表中以0.5°為增量。實際角度是標準近光燈燈具的偏轉角,計算偏轉角度是將明暗截止線拐點作為檢測點,通過偏轉位移和反三角函數計算得到的偏轉角度。測量數據表明,燈具實際偏轉角度值與測量偏轉角度值之間的誤差在0.025°以內,且整個測量過程中角度計算穩定,沒有較大波動,表明測得的拐點準確、穩定,算法具有較好的魯棒性、實用性和準確性。
表1 水平偏轉角測量,向左為正,向右為負
表2 垂直方向偏轉角測量,向上為正,向下為負
針對近光明暗截止線拐點檢測問題,本文提出使用一種基于熱點的自適應目標區域定位算法,對明暗截止線的水平部分和傾斜部分分別進行檢測,通過檢測得到的水平明暗截止線直線方程和傾斜明暗截止線直線方程之間的幾何關系,計算得到拐點位置。
從視覺角度,可以直觀地看出本文檢測出的明暗截止線和實際的明暗截止線完全重合,表明檢測結果的準確性。通過水平明暗截止線與傾斜明暗截止線之間的幾何關系計算得到的拐點比原有的明暗截止線拐點檢測算法的檢測結果更為準確。
拐點位置偏轉角的測試結果間接證明本文算法求得的拐點穩定、準確,具有較高的實用價值。