秦超,吳杰,陶丹萍,武光澤,潘明清
(常州星宇車燈股份有限公司,江蘇常州 213000)
汽車前照燈是在夜間以及其他能見度較低的環(huán)境中提供照明的重要安全部件,并且可以發(fā)出警示聯(lián)絡(luò)等信號。前照燈必須滿足相關(guān)的重要法規(guī)要求,因此對汽車前照燈的檢測是必不可少的。我國主要采用歐洲的ECE標(biāo)準(zhǔn),針對近光截止線、拐點(diǎn)、光照中心、光軸偏轉(zhuǎn)角,以及遠(yuǎn)光的光照中心、光軸偏轉(zhuǎn)角都有嚴(yán)格的檢測要求[1]。
隨著計算機(jī)處理運(yùn)算速度的逐年增長,機(jī)器視覺在許多新的領(lǐng)域都有廣泛應(yīng)用。其中汽車前照燈檢測技術(shù)也有了很大的提升,主要體現(xiàn)在設(shè)備結(jié)構(gòu)的簡化以及處理算法的提高,可以很好地滿足工業(yè)生產(chǎn)中的速度和精度要求[2-3]。當(dāng)前,采用機(jī)器視覺技術(shù)的在線配光檢測已經(jīng)成為了主流。
檢測系統(tǒng)的硬件主要包括CCD相機(jī)、鏡頭、菲涅爾透鏡、接收屏、I/O數(shù)據(jù)采集卡、工控機(jī)、鼠標(biāo)鍵盤、顯示器。具體如圖1所示。
圖1 系統(tǒng)硬件框圖
其工作流程為:將待檢車燈放置于檢測工裝上點(diǎn)亮,經(jīng)過菲涅爾透鏡在接收屏上形成光形圖像,CCD相機(jī)采集圖像經(jīng)以太網(wǎng)傳輸至工控機(jī)。其中圖像采集模塊主要由CCD相機(jī)、菲涅爾透鏡、接收屏組成。如圖2所示,軟件安裝在計算機(jī)中,操作平臺為Windows7,應(yīng)用程序包括圖像處理程序和運(yùn)行控制程序。圖像處理軟件采用灰度變換、濾波去噪、圖像分割、邊緣查找、線性擬合等算子實(shí)現(xiàn)圖像的處理和參數(shù)分析,對于分析的結(jié)果通過I/O卡直接驅(qū)動執(zhí)行器件動作和報警。在該檢測系統(tǒng)中,CCD相機(jī)為Basler工業(yè)相機(jī)acA2000-50gc;鏡頭為Computar 500萬像素工業(yè)鏡頭M1620-MPW2;I/O板卡為研華PCI-1730U-BE。
圖2 圖像采集示意圖
該系統(tǒng)的圖像處理是基于HALCON軟件開發(fā)的。HALCON作為德國某公司研發(fā)的一套完善的機(jī)器視覺算法包,其集成開發(fā)環(huán)境應(yīng)用非常廣泛,可以導(dǎo)出C、C++、C#以及VB等代碼,大大節(jié)約了產(chǎn)品開發(fā)成本并有效縮短了軟件的開發(fā)周期。在歐洲和日本的工業(yè)界已經(jīng)是公認(rèn)具有最佳效能的機(jī)器視覺軟件。HALCON擁有1 000多個獨(dú)立函數(shù),包含各類濾波、色彩以及幾何、數(shù)學(xué)轉(zhuǎn)換、形態(tài)學(xué)分析和計算、校正、分類識別、形狀搜尋等基本的幾何以及圖像計算功能。從醫(yī)學(xué)、遙感探測、監(jiān)控,到工業(yè)上的各類自動化檢測等HALCON都有涉及[4]。HALCON支持了絕大多數(shù)圖像獲取設(shè)備,可以為百余種工業(yè)相機(jī)和圖像采集卡提供相應(yīng)的接口,包括GenlCam、GigE和IIDC 1394等。
系統(tǒng)軟件基本上可按照圖像處理的流程進(jìn)行描述,主要包括源圖像的采集、灰度變換、濾波去噪、圖像分割、形態(tài)學(xué)處理、參數(shù)分析與統(tǒng)計、結(jié)果信息顯示及數(shù)據(jù)保存等幾個模塊[5-6]。組成框圖如圖3所示。研究這些函數(shù)的算法與功能組合,可以高效率、高精度的完成車燈光形的各種參數(shù)檢測。
圖3 車燈光形圖像檢測流程圖
前照燈檢測主要包括近光截止線檢測、遠(yuǎn)近光的光照中心點(diǎn)檢測及其光軸偏轉(zhuǎn)角檢測。
近光截止線檢測項(xiàng)目包括:截止線傾角以及截止線拐點(diǎn)。通過HALCON的HDdevelop平臺實(shí)現(xiàn)的具體步驟如下:
(1)圖像的采集與顯示。先用open_framegrabber打開圖像采集設(shè)備(CCD相機(jī)),再用grap_image算子抓取單幅車燈近光圖像,存儲到HALCON圖形庫中,通過read_images算子讀入圖片,再經(jīng)dev_display算子顯示出來。
(2)圖像的濾波去噪。在圖像獲取過程中,由于相機(jī)本身的CCD靈敏度的不均、數(shù)字化過程中的量化噪聲以及信號傳輸過程中的干擾等,獲取的圖像包含了各種隨機(jī)噪聲。為了消除圖像采集過程中產(chǎn)生的噪聲,采用平滑濾波器對圖像進(jìn)行預(yù)處理。由于均值濾波器會使圖像邊緣模糊進(jìn)而影響截止線的檢測,采用中值濾波去噪。在HALCON中運(yùn)用mediann_image算子。具體語句為:
median_image(Image, ImageMedian, ′circle′, 3, ′mirrored′)
其中:Image為輸入圖像;ImageMedian為輸出圖像;circle為濾波窗口形狀;3為濾波窗口半徑;mirrored為邊緣處理方法。
(3)圖像邊緣提取。在近光截止線檢測中,對邊緣質(zhì)量有較高要求,所以采用基于坎尼算法的亞像素精度的邊緣提取方法。具體語句為:
edges_sub_pix(Image, Edges,′canny′,7, 20, 40)
其中圖4為亞像素精度的邊緣提取圖,圖5為像素精度的邊緣提取圖。由圖4和圖5可以看出:基于亞像素精度的邊緣更加清晰,抗干擾性明顯提高。
圖4 亞像素精度的邊緣提取
圖5 像素精度的邊緣提取
(4)直線擬合。通過segment_contours_xld算子將得到的邊緣線分為一系列線段,通過sort_contours_xld算子將得到的線段從左至右排序,并存放于一維數(shù)組中,如圖6所示。最后運(yùn)用fit_line_contour_xld算子擬合直線,該方法利用了輪廓線段上的所有點(diǎn)來擬合直線,通過5次迭代,應(yīng)用削波因素為2σδ的Tukey加權(quán)函數(shù),可以得到擬合很好的直線。
圖6 輪廓劃分示意圖
(5)近光拐點(diǎn)檢測。通過line_orientation算子計算出每條直線的斜率,并求出相鄰線段擬合出的兩條直線的夾角,從而得到夾角最大的兩條直線,其夾角即為截止線傾角。通過intersection_lines算子得出兩直線的交點(diǎn),即為拐點(diǎn)。如圖7所示。
圖7 截止線拐點(diǎn)
在這里,選取灰度重心法求取光照中心點(diǎn)?;叶戎匦姆ㄊ菍^(qū)域內(nèi)每一像素位置的灰度值作為該點(diǎn)的“質(zhì)量”,其區(qū)域中心的求解公式如下:
(1)
(1)采集圖像并去除噪聲;
(2)運(yùn)用scale_image_max算子進(jìn)行對比度拉伸,突出光形中心區(qū)域特征;
(3)運(yùn)用threshold算子分割圖像,得出中心區(qū)域(如圖8所示);
圖8 閥值分割后近光的圖像
(4)通過area_center_gray算子求取區(qū)域中心(如圖9所示)。
圖9 區(qū)域中心點(diǎn)
關(guān)于光軸偏角檢測,可通過圖像的唯一特征點(diǎn)來計算,近光可以選取拐點(diǎn)作為特征點(diǎn),遠(yuǎn)光可以選用光照區(qū)域中心點(diǎn)作為特征點(diǎn)。分別得出偏轉(zhuǎn)前和偏轉(zhuǎn)后的特征點(diǎn)坐標(biāo),求出其橫、縱坐標(biāo)的差值(Δu,Δv),由于圖像坐標(biāo)差值(Δu,Δv)和實(shí)際空間坐標(biāo)差值(Δx,Δy)存在對應(yīng)關(guān)系,此對應(yīng)關(guān)系表通過前期的相機(jī)標(biāo)定可以獲得。通過查表可以獲得實(shí)際空間坐標(biāo)差值(Δx,Δy)。即:
(2)
其中:α為光軸水平偏移角;β為光軸垂直偏移角;l為透鏡至接收屏的距離。光路偏轉(zhuǎn)示意圖如圖10所示。
圖10 光路偏轉(zhuǎn)示意圖
根據(jù)硬件設(shè)計,搭建如圖11所示的實(shí)驗(yàn)裝置,在采集光形圖像前需要對前照燈透鏡模組的位置進(jìn)行校準(zhǔn),保證發(fā)光中心和透鏡中心在水平和垂直坐標(biāo)系上重合,從而保證光束盡可能多的進(jìn)入受光箱體。
圖11 實(shí)驗(yàn)平臺
基于C#通過Microsoft Visual Studio Community 2015開發(fā)一個簡易的測試系統(tǒng)軟件,對圖像進(jìn)行采集處理,并輸出相應(yīng)結(jié)果。具體如圖12所示。
實(shí)驗(yàn)運(yùn)行環(huán)境CPU為Intel Core i5-4310M,2.70 GHz,內(nèi)存8 GB,操作系統(tǒng)為Windows7 64位專業(yè)版,軟件為Microsoft Visual Studio Community 2015 Version 14.0.25431.01 Update 3,HALCON 11.0.1.1。為了驗(yàn)證算法的準(zhǔn)確性和穩(wěn)定性,可實(shí)時采集圖像,并且每經(jīng)過0.5 s記錄一次數(shù)據(jù),共采集20組數(shù)據(jù)。近光拐點(diǎn)和光照中心點(diǎn)的實(shí)驗(yàn)結(jié)果如圖13所示,其中縱坐標(biāo)為各像素點(diǎn)(x,y)與基準(zhǔn)點(diǎn)的距離,單位為Pixel,基準(zhǔn)點(diǎn)選用20個像素坐標(biāo)點(diǎn)的橫縱坐標(biāo)最小值即(xmin,ymin),為了讓兩折線不重合,將中心點(diǎn)的折線向上平移兩個像素單位。從實(shí)驗(yàn)結(jié)果來看,拐點(diǎn)和中心的誤差都在3個像素內(nèi),其中相機(jī)的空間分辨率為0.112 mm/pixel,所以拐點(diǎn)和中心點(diǎn)的誤差為0.336 mm,可見拐點(diǎn)和中心點(diǎn)的查找算法穩(wěn)定性較好。
其中光軸偏移角的測量,選取的測量角度為上下1°,左右2°。將車燈按照旋轉(zhuǎn)刻度分別上下左右旋轉(zhuǎn)。通過多次測量和對數(shù)據(jù)進(jìn)行相關(guān)分析后,其結(jié)果如表1所示。
圖12 檢測系統(tǒng)軟件界面
圖13 拐點(diǎn)和中心點(diǎn)的重復(fù)檢測
(°)
由以上結(jié)果可以看出,光軸偏移角的測量誤差不超過1.32′,滿足系統(tǒng)要求。因此這種檢測光軸偏轉(zhuǎn)角度的方法還是比較可靠的。
文中通過對汽車前照燈光形檢測技術(shù)的研究,提出了基于坎尼的亞像素邊緣提取方法,提高了邊緣檢測的精度和抗干擾性;為了提高拐點(diǎn)檢測精度,提出了采用基于Tukey加權(quán)函數(shù)的線性擬合法;并提出了采用灰度重心法檢測光束中心。最后通過HALCON和Microsoft Visual Studio,開發(fā)了一套前照燈光形檢測系統(tǒng)。實(shí)驗(yàn)表明該系統(tǒng)檢測穩(wěn)定性、準(zhǔn)確性都較好,可以滿足前照燈的光形檢測要求。