黃思博,蔡昭權(quán),方曉彬,陳伽,蔡映雪
(惠州學(xué)院,惠州516007)
隨著全球電子信息產(chǎn)業(yè)的快速發(fā)展,我國已成為全球線束及連接器增長最快和容量最大的市場[1],其中,汽車線束作為汽車電路的網(wǎng)絡(luò)主體,其質(zhì)量直接關(guān)系車輛的穩(wěn)定性和安全性[2-3]。在線束生產(chǎn)和裝配過程中,最常見的缺陷包括線束端子包膠不良[4]、銅線過長、過短,線束沒有按照規(guī)定的顏色順序接插或漏線等不良,當(dāng)前仍有不少企業(yè)在生產(chǎn)過程中采取人工目檢的方式對產(chǎn)品進行檢測,該方式容易受到視覺疲勞等因素影響而出現(xiàn)漏檢、誤檢,影響不良品的檢出效率,影響線束產(chǎn)品的良品率,且成本較高,無法滿足相關(guān)企業(yè)對線束產(chǎn)品質(zhì)量的檢測要求。本文研究通過機器視覺方法替代傳統(tǒng)的人工檢測,基于HALCON 算法包研究汽車線束端子及線束線序的檢測方法,并通過C#和HALCON 聯(lián)合編程實現(xiàn)相關(guān)功能。
線束端子及線序缺陷檢測系統(tǒng)由工業(yè)相機、可調(diào)節(jié)實驗工作臺、光學(xué)鏡頭、照明光源、相應(yīng)的數(shù)據(jù)線和PC 組成。其中,工業(yè)相機、工業(yè)鏡頭以及光源用于圖像采集,實驗工作臺可對相機和光源夾具進行水平和豎直方向的拉伸和微調(diào),適應(yīng)各種測試環(huán)境,滿足圖像采集過程中對視野的要求。
系統(tǒng)通過工業(yè)相機采集汽車線束圖像,針對單線端子和線束線材進行缺陷檢測,主要通過圖像預(yù)處理、Blob 分析、單線端子區(qū)域定位方法和孔洞銅線的特征分析、線束分割、線束顏色及混色線束特征提取分類等方法的研究,進行缺陷識別的算法設(shè)計和驗證,并通過HALCON 與C#的聯(lián)合編程實現(xiàn)。
對圖像的預(yù)處理主要包括圖像灰度化和均值濾波。
將彩色圖像轉(zhuǎn)化為灰度圖像的過程稱為圖像的灰度化處理。對于灰度化的方式有分量法、最大值法、平均值法,加權(quán)平均法等。本文采用的灰度化方式是加權(quán)平均法,其定義為:
均值濾波器使用濾波器模板確定的鄰域內(nèi)像素的平均灰度值代替圖像中的每個像素值,降低圖像灰度的尖銳變化,即模糊圖像的邊緣和輪廓。最簡單的均值濾波器是算術(shù)均值濾波器,定義為:
Sxy表示中心在點(x,y)處、大小為m×n 的矩形子圖像鄰域的一組坐標(biāo),算術(shù)均值濾波器在Sxy定義的區(qū)域內(nèi)計算圖像g( s,t )的平均值,將其作為鄰域中心點的像素值f(x,y)。
在對汽車線束的端子和線材檢測前,需要對端子和線材進行定位以及特征提取。為了實現(xiàn)線束端子和線束線序的檢測,需要對端子和線束進行定位,并提取端子和線束的特征。對于線束端子,先通過Blob 分析方法,定位出感興趣區(qū)域,再通過閾值分割銅線區(qū)域,提取區(qū)域高度特征;對于線束而言,先通過模板匹配方法,定位出感興趣區(qū)域,再通過閾值分割出線束區(qū)域,提取顏色矩特征。
圖像中具有相似顏色、紋理等特征的區(qū)域,所組成的一塊連通區(qū)域,稱作Blob。而Blob 分析[5]是對圖像中相同像素的連通域進行分析和操作,從背景中分離出目標(biāo)。
(1)單線端子Blob 分析定位方法研究
首先基于區(qū)域?qū)D像分割,利用閾值分割方法分割出處在閾值范圍內(nèi)的圖像,定義如式(2):
在HALCON 中,閾值分割的算子為:
threshold(GrayImage,Regions,80,255)
GrayImage 為輸入的灰度圖像,Regions 為閾值分割所獲取的區(qū)域,閾值范圍取80~255。如圖1(a)所示,紅色部分為分割出來的感興趣區(qū)域。由于閾值分割出來的結(jié)果中包含有不需要的部分區(qū)域,因此,需要調(diào)整分割后的區(qū)域形狀,調(diào)整區(qū)域的方法包括形態(tài)學(xué)處理、特征提取及篩選和區(qū)域形狀變化等。
其中選擇區(qū)域面積作為區(qū)域特征,區(qū)域的面積a就是區(qū)域內(nèi)的點數(shù) ||R ,定義如式(3):
首先對閾值分割后的區(qū)域進行連通,HALCON 中連通區(qū)域的算子為:
connection(Region,ConnectedRegions)
感興趣區(qū)域Region 分散為連通域ConnectedRegions。如圖1(b)所示;
接著通過連通域分析,區(qū)域面積取400 到2000 作為閾值,篩選出需要的區(qū)域,如圖1(c)所示;
select_shape(ConnectedRegions,SelectedRegions,'area','and',400,2000)
最后改變區(qū)域形狀,將篩選出的區(qū)域連接成一個包含銅線的大區(qū)域。HALCON 中區(qū)域形變的算子為:
shape_trans(SelectedRegions,RegionTrans,‘rectangle2')
取'rectangle2'最小外接矩形參數(shù)作為形變結(jié)果,將篩選區(qū)域SelectedRegions 形狀改變?yōu)榫匦螀^(qū)域RegionTrans,如圖1(d)所示。至此,完成通過Blob 分析方法的區(qū)域定位。
圖1 Blob分析定位
(2)單線端子特征提取研究
當(dāng)端子中的銅線過長或者過短時,都會導(dǎo)致生產(chǎn)的汽車線束產(chǎn)品不良。因此,可在端子中的銅線部分提取特征,作為判斷依據(jù)。首先按照Blob 分析定位的區(qū)域?qū)⒃瓐D像裁剪,如圖2(a)所示;接著使用7×7 均值濾波器平滑裁剪圖像,進行去噪處理和模糊邊緣,方便后期處理,如圖2(b)所示。
圖2 均值濾波
在RGB 顏色空間中,銅線區(qū)域難以從背景中通過閾值分割出來,因此將圖像轉(zhuǎn)換到更接近人視覺特性的HSV 顏色空間。HSV 模型中,H 分量圖像和S 分量圖像均可通過閾值分割出銅線區(qū)域。
圖3 HSV顏色空間
分割結(jié)果中往往包含干擾,通過區(qū)域形態(tài)學(xué)方法調(diào)整區(qū)域形狀。兩個區(qū)域R 和S 的交集是位于R 內(nèi)且又位于S 內(nèi)的所有點的集合,定義如式(4):
在H 分量圖像中取10 至27 的閾值范圍,在S 分量圖像中取96 至172 的閾值范圍,分割出的結(jié)果中包含有非銅線區(qū)域,為過濾掉這些干擾,可取兩個分量圖像各自分割出的區(qū)域的交集,以獲取實際需要的區(qū)域。在HALCON 中利用以下閾值分割和區(qū)域交集的算子進行處理,效果如圖4(a)所示。
threshold(Hue,HRegions,10,27)
threshold(Saturation,SRegions,96,172)
intersection(HRegions,SRegions,HSRegion)
接著對區(qū)域進行閉運算,即先膨脹處理再腐蝕處理,可有效彌補裂縫。HALCON 中閉運算的算子為:
closing_circle(HSRegion,RegionClosing,3)
取3×3 圓形模板對有裂縫的HSRegion 區(qū)域進行閉運算,彌補裂縫獲取RegionClosing 區(qū)域;取500 到12000 的區(qū)域面積特征作為閾值范圍,篩選出需要的區(qū)域,改變區(qū)域形狀以方便處理,如圖4(b)所示。
圖4 形態(tài)學(xué)處理
最后,通過提取端子的上、下孔洞銅線區(qū)域的高度和數(shù)量,作為判斷端子好壞依據(jù)的特征。
(1)線束定位方法研究
線束定位主要通過模板匹配實現(xiàn),根據(jù)相似度的定義方式,可分為不同的模板匹配方式。基于灰度值的模板匹配[6]算法,是基于模板和圖像中的灰度值計算相似度進行匹配。最簡單的相似度量是計算模板與圖像之間差值的絕對值的總和(SAD)或所有差值的平方和(SSD),但易受光照變化影響。為適應(yīng)不同的光照環(huán)境,須計算另外一種不隨光照變化而變化的相似度,即歸一化互相關(guān)系數(shù)(NCC),定義如式(5):
NCC 通過計算圖像的平均灰度值和方差來消除光照變化的影響,系數(shù)范圍在-1 到1 之間,如果模板和圖像完全相似,則NCC=±1,反之如果NCC 值越接近0,則表示模板和圖像越不相似。在整個圖像中計算相似度是非常耗時的過程,為了提高算法速度,設(shè)置一個適當(dāng)層數(shù)的圖像金字塔,減少需要檢查的位姿數(shù)量以及模板中點的數(shù)量,提高匹配速度。由于檢測的線束是雙排線束,線束連接器的正反面的形狀和細節(jié)不一致,因此,截取連接器的一部分和背景,作為基于灰度值的NCC 模板匹配的模板。
一般情況下,待測圖像目標(biāo)物體的位姿與參考圖像目標(biāo)物體的位姿往往是不同的,因此,需要對參考圖像中的感興趣區(qū)域的位姿進行適當(dāng)調(diào)整。通過仿射變換[7]修正位姿。定義如式(6):
創(chuàng)建模板后,通過模板在待測圖像中尋找目標(biāo)物體,獲取目標(biāo)物體的位姿。計算出參考圖像目標(biāo)物體的位姿變化到待測圖像目標(biāo)物體的位姿所需要的變換矩陣;再利用參考圖像感興趣區(qū)域的位姿,通過變換矩陣計算出待測圖像感興趣區(qū)域的位姿,這樣就獲取了待測圖像感興趣區(qū)域,即完成線束定位。
圖5 線束定位
(2)線束顏色特征提取方法研究
顏色矩[8]是一種非常簡單而有效的顏色特征,由于顏色分布信息主要集中在低階矩中,因此采用顏色的一階矩、二階矩和三階矩就足以表達圖像的顏色分布。定義如式(7)、(8)、(9):
式中,N 表示圖像總像素數(shù),Pi,j表示圖像第i 個顏色通道第j 個像素值,μi表示第i 個顏色通道上所有像素的均值,σi表示第i 個顏色通道上所有像素的標(biāo)準(zhǔn)差,Si表示第i 個顏色通道上所有像素的斜度的3次方根。
由于線束中包含有混色線,直接用閾值分割難以識別出混色線,因此需要選用其他顏色特征,如顏色矩。提取線束的顏色矩,僅采用顏色矩的一階矩和二階矩。由于在RGB 顏色空間中,線束區(qū)域難以從背景中通過閾值分割出來,因此在HSV 顏色空間中提取三個通道的顏色矩特征。
在H 分量圖像和S 分量圖像中通過閾值分割出部分線束區(qū)域,分別取25~230 和107~205 的閾值范圍,合并兩個區(qū)域,在HALCON 中閾值分割和區(qū)域合并的算子為:
threshold(Hue,HRegions,23,230)
threshold(Saturation,SRegions,107,205)
union2(HRegions,SRegions,HSRegion)
最后通過區(qū)域面積特征和寬度特征過濾掉不需要的區(qū)域,HALCON 中對應(yīng)篩選的算子為:
select_shape (ConnectedRegions, SelectedRegions,['width','area'],'and',[0,500],[60,3000])
這樣就可以有效分割出線束區(qū)域,并從中提取顏色矩特征。
圖6 線束特征提取
通過Blob 分析方法分割出端子的銅線區(qū)域之后,計算銅線區(qū)域的數(shù)量和高度,并判斷端子好壞。在HALCON 中實現(xiàn)的關(guān)鍵代碼為:
count_obj(HSRegionTrans,Number)
area_center(HSRegionTrans,Area,Row,Column)
smallest_rectangle2(ObjectSelected,Row1,Column1,Phi,Length1,Length2)
count_obj 獲取銅線區(qū)域HSRegionTrans 的數(shù)量Number;area_center 主要獲取銅線區(qū)域HSRegionTrans的區(qū)域面積Area,根據(jù)區(qū)域面積判斷上、下孔洞銅線區(qū)域,上孔洞銅線區(qū)域面積一般大于下孔洞的;smallest_rectangle2 主要獲取銅線區(qū)域的區(qū)域高度Length2,即銅線像素長度。如果銅線區(qū)域有兩個,且上孔洞銅線區(qū)域高度在20 到24 范圍內(nèi),下孔洞銅線區(qū)域高度在8 到12 范圍內(nèi),則判斷端子為良品。
圖7 端子檢測識別
如果銅線區(qū)域只有一個,則判斷端子為不良品。銅線過長的不良品,端子上孔洞的銅線區(qū)域高度,一般要高于銅線過短的不良端子下孔洞的銅線區(qū)域高度。不良端子的識別結(jié)果如圖8 所示。
圖8 端子檢測識別
采用BP 神經(jīng)網(wǎng)絡(luò)[9]構(gòu)造MLP(多層感知器)分類器,層數(shù)為3 層,提取實驗樣品線束在HSV 三個通道的顏色矩(一階矩和二階矩)共6 個數(shù)據(jù)作為輸入,即輸入層有6 個節(jié)點;需要識別的顏色有12 種,即輸出層有12 個節(jié)點;隱藏層節(jié)點個數(shù)一般在輸入層節(jié)點個數(shù)和輸出層節(jié)點個數(shù)之間,這里取8 個隱藏層節(jié)點。接著取一組不同線束的顏色矩作為訓(xùn)練數(shù)據(jù),如表1所示。
表1 訓(xùn)練數(shù)據(jù)
MLP 分類器訓(xùn)練完成后即可檢測是否存在漏線、誤配線等缺陷。檢測結(jié)果如圖9 所示。
圖9 線束檢測識別
系統(tǒng)界面采用C#語言制作的圖形化顯示界面,其界面如圖所示。主要功能包括讀取采集圖像,檢測圖像缺陷,顯示檢測區(qū)域,顯示檢測結(jié)果。對端子和線束線序的檢測功能和結(jié)果如圖10 所示。
本文通過研究基于機器視覺方法對汽車線束端子和線序進行自動檢測,以提升檢測精度和速度,改善現(xiàn)有人工目檢易誤檢、漏檢的缺陷,進而提升企業(yè)線束產(chǎn)品的良品率。本文基于HALCON 機器視覺算法包,設(shè)計了圖像預(yù)處理方法和基于Blob 分析、模版匹配的定位方法,并提取區(qū)域特征實現(xiàn)對線束端子的缺陷檢測,通過提取顏色特征結(jié)合BP 網(wǎng)絡(luò)實現(xiàn)線束線序的檢測,最后基于C#和HALCON 混合編程實現(xiàn),具有較好的實用價值。
圖10 線束端子及線束線序檢測結(jié)果