張相勝,焦 鵬,潘 豐
(江南大學輕工過程先進控制教育部重點實驗室,江蘇無錫 214122)
隨著汽車銷量的逐漸增加,汽車線束的產(chǎn)量呈現(xiàn)出飛躍式增長的發(fā)展勢頭。汽車線束是汽車電路中信號傳輸?shù)妮d體,線束壓接后的品質直接影響汽車電子系統(tǒng)的正常運行,因此對線束壓接質量的檢測十分重要[1]。
線束的壓接是指通過施加外力將接觸件端子咬合在已經(jīng)剝離絕緣體的導線上,從而達到導電和牢固結合的目的[2],線束的壓接已經(jīng)實現(xiàn)了大規(guī)模、大批量的高速自動化生產(chǎn),但壓接缺陷的檢測一般依靠低效率、高成本的人工完成。利用機器視覺實現(xiàn)線束壓接無接觸自動檢測不僅能夠提高產(chǎn)品的檢測精度和速度,而且避免了人工視覺檢測帶來的偏差和誤差[3]。
本文設計了基于機器視覺的汽車線束壓接缺陷檢測系統(tǒng),通過圖像處理技術完成對線束關鍵部位特征的在線檢測,判斷壓接后的線束是否符合生產(chǎn)標準,可以替代人工檢測,提高檢測的效率和質量。
需檢測的線束區(qū)域分布如圖1所示,根據(jù)線束與端子壓接的相對位置,將線束分為Ⅰ、Ⅱ、Ⅲ、Ⅳ、Ⅴ區(qū)。視覺系統(tǒng)主要完成以下幾個方面的檢測:
(1)Ⅱ區(qū)、Ⅳ區(qū)中芯線出頭長度是否超標;
(2)線束是否出現(xiàn)芯線外露情況;
(3)Ⅰ區(qū)絕緣層壓著區(qū)端子、Ⅲ區(qū)芯線壓著區(qū)端子和插Ⅴ區(qū)插接區(qū)端子是否缺失變形。
圖1 線束壓接成品外觀零件圖
工藝上要求視覺系統(tǒng)的檢測精度達到±0.03 mm,誤報率小于 3%,漏報率為0,單次檢測時間小于500 ms。
根據(jù)線束壓接缺陷的檢測要求,設計了視覺系統(tǒng)的整體布局如圖2所示。工業(yè)相機安裝在相機支架上,工業(yè)鏡頭安裝在工業(yè)相機上,方形光源安裝在鏡頭正下方,工業(yè)相機與工控機通過GigE Vision協(xié)議實現(xiàn)圖像傳輸功能,實現(xiàn)圖像的采集與傳輸功能。兩個接近傳感器安裝在擺臂運行路徑的下方,與PLC的數(shù)字量輸入端相連,PLC與工控機通過TCP/IP協(xié)議實現(xiàn)數(shù)據(jù)交互。
圖2 視覺檢測系統(tǒng)整體布局
由操作員完成導線的上料后,按照流程啟動設備,開始運行生產(chǎn)檢測工位。首先,導線經(jīng)送線皮帶進入擺臂中的導向管,由擺臂帶動導線至壓接機完成線束的壓接,在擺臂擺至視覺檢測工位的過程中觸發(fā)光電傳感器,PLC接收到時序控制信號進行邏輯處理后發(fā)送相應的控制指令到工控機,由工控機發(fā)送拍照信號。工控機獲取圖片后,采用圖像處理軟件進行線束壓接缺陷檢測。檢測完畢后,擺臂擺至截斷工位截斷線束,檢測合格的線束被截斷至收線槽中,檢測不合格的線束被截斷至次品放置區(qū)中,并由工控機顯示報警信息。圖3為視覺檢測系統(tǒng)的整體工作流程。
圖3 視覺檢測系統(tǒng)工作流程圖
1.3.1 工業(yè)相機
工業(yè)相機負責采集目標產(chǎn)品圖像數(shù)據(jù),由于芯線出頭長度的檢測是基于HSI顏色空間完成的,根據(jù)視覺系統(tǒng)的檢測精度、視野范圍的大小、相機數(shù)據(jù)傳輸速率、通信接口類型等,選用acA640-120gc彩色工業(yè)相機,其主要參數(shù)如表1所示。
表1 工業(yè)相機主要參數(shù)
相機的工作距離是指相機鏡頭到產(chǎn)品檢測面的垂直距離,根據(jù)具體的檢測要求和現(xiàn)場的安裝條件確定相機工作距離為50 mm,其對應的視野大小為11.9 mm×8.9 mm。根據(jù)相機的視野大小及其分辨率,得出相機的理論檢測精度達到0.018 mm/pixel,滿足系統(tǒng)的檢測精度要達到±0.03 mm的要求。
1.3.2 鏡頭
工業(yè)鏡頭是視覺系統(tǒng)中不可缺少的部件,與人眼晶狀體的功能相同,主要功能是將目標物體聚焦并成像到相機的圖像傳感器上[4]。合理地選擇工業(yè)鏡頭是保證工業(yè)相機采集到清晰圖像的基礎,考慮到相機分辨率、視野大小和工作距離的因素,采用M118FM25型號的工業(yè)鏡頭。由式(1)計算出相機的近似焦距值:式中:f為鏡頭的焦距,mm;WD為相機的工作距離,mm;l為圖像傳感器橫向尺寸,mm;d為圖像傳感器縱向尺寸,mm;L為視野橫向尺寸,mm;D為視野橫向尺寸,mm。
可以得出相機的近似焦距為20.16 mm,因此選用25 mm的鏡頭。鏡頭的主要參數(shù)如表2所示。
表2 鏡頭主要參數(shù)
1.3.3 光源
好的打光設計可以克服環(huán)境光干擾,保證圖像質量穩(wěn)定,增強圖像的對比度,使目標與背景的邊界易于分離,形成有利于圖像處理的圖像。為盡可能采集到質量較好的圖像,采用白色方形無影單排LED高亮光源,無影燈安裝在鏡頭正下方,光源的主要參數(shù)如表3所示。
表3 光源主要參數(shù)
本系統(tǒng)選用Microsoft Visual Studio 2012開發(fā)平臺,使用C++語言和MFC界面編程完成上位機界面的開發(fā),通過調用OpenCV計算機視覺庫中的函數(shù)完成視覺檢測算法的設計,具有運行速度快、成本低等優(yōu)點。
視覺檢測過程的主要步驟如下:
STEP1:對相機進行標定,完成圖像畸變校正;
STEP2:通過獲取線束外接矩形的中心坐標和偏移角度,完成圖像空間變換;
STEP3:基于HSI空間完成芯線區(qū)域分割;
STEP4:根據(jù)標定參數(shù)檢測芯線出頭長度;
STEP5:基于芯線顏色特征分割算法和斑點檢測算法完成壓著部分芯線外露檢測;
STEP6:通過灰度化操作和斑點檢測算法完成線束外部芯線外露檢測;
STEP7:通過對模板圖像輪廓和目標圖像輪廓進行相似度匹配,完成端子形變檢測。
由于鏡頭本身的非理想性,導致相機在成像過程中存在一定程度的畸變,這些畸變會造成圖像失真,并導致識別出錯和產(chǎn)生測量誤差的情況,因此需要對圖像進行畸變校正[5]。系統(tǒng)選用格子尺寸為1 mm×1 mm的棋盤格標定板進行畸變校正,調整標定板的位置采集10幅圖像,執(zhí)行如下標定程序。
首先,調用OpenCV中的cvfindcornersubpix函數(shù)提取每一副棋盤格圖像中的亞像素角點坐標值。然后,將角點的坐標值代入calibrateCamera函數(shù)中獲取相機標定參數(shù) v0、h0、fx、fy、k1、k2、k3、k4,其中,v0、h0為圖像的中心坐標,fx、fy分別為像素坐標系的H軸、V軸的等效焦距,k1、k2為徑向畸變系數(shù),k3、k4為切向畸變系數(shù)。最后,調用 initUndistortRectifyMap和 remap函數(shù)實現(xiàn)對圖像畸變的矯正。
由于待測產(chǎn)品到達檢測工位時會存在一定程度的偏差,而且各個產(chǎn)品表面形狀特征也存在一定程度的差別,這會導致相機采集的圖像特征位置發(fā)生相應的變動,不利于后續(xù)的圖像處理和分析[7]。
通過擬合線束輪廓的最小外接矩形,實現(xiàn)對特征區(qū)域的定位,進而完成圖像空間變換。首先,對灰度化后的圖像進行邊緣檢測和開運算處理,得到僅包含線束邊界的二值圖像。然后,調用OpenCV中的find-Contours函數(shù)獲取線束的輪廓,通過執(zhí)行rectangle函數(shù)獲取輪廓的最小外接矩形。最后,通過計算矩形長邊與橫向主軸的夾角以及矩形的中心坐標完成檢測坐標系的建立。圖像初始坐標系與檢測坐標系的對應關系如圖4所示。
圖4 圖像坐標系與檢測坐標系
檢測坐標系O'是圖像坐標系O經(jīng)過旋轉和平移得到的。P點的圖像坐標p(vp,hp)和檢測坐標p(xp,yp)的轉換關系如式(2)所示:
通過式(2)實現(xiàn)圖像坐標系到檢測坐標系的轉換,線束坐標變換前后圖像如圖5所示。
圖5 坐標變換效果圖
2.5.1 芯線區(qū)域分割
對RGB空間內的源圖像分析后發(fā)現(xiàn),芯線的3個顏色通道(R、G、B分量)組合復雜且相關性較高,難以確定閾值進行顏色判斷。HSI模型中的色彩不相關性,很好地解決了這個問題。首先,將讀取到的RGB空間線束圖像轉化為HSI空間圖像,然后,根據(jù)HSI顏色空間中3個參數(shù)設定閾值對芯線進行分割操作,對大量的線束樣品采集圖像分析后確定HSI參數(shù)如表4所示。
表4 HSI顏色空間閾值
最后,根據(jù)凡是在閾值區(qū)間內的像素點灰度值置為1,不在閾值區(qū)間內的像素點灰度值置為0的原則,對HSI空間圖像進行二值化處理,結果如圖6所示。
圖6 芯線部分二值圖像
2.5.2 芯線實際尺寸的計算
視覺檢測程序中被測物的幾何尺寸按照像素數(shù)來衡量[8-9],為了得到被測物的實際尺寸,需要將檢測對象的像素單位(pixel)轉換為實際單位(mm),采用連接亞像素角點,計算實際邊長1 mm的黑白格子邊中的像素個數(shù)的方法,得到被測物的實際尺寸與像素的轉換關系,如式(3)所示:
式中:D為實際尺寸;Lpixel為像素個數(shù);k為標定參數(shù),求得標定參數(shù)k為0.018 1 mm/pixel。
采用擬合芯線區(qū)域最小外接矩形的方法完成芯線尺寸的計算。首先,通過提取芯線輪廓凸包特征擬合出芯線輪廓的最小外接矩形。然后,完成芯線部分的框選如圖7所示。最后,計算出左側矩形長度L1為58.1 pixel,右側矩形長度 L2為 33.2 pixel,即為芯線的像素尺寸。
圖7 芯線區(qū)域最小外接矩形圖像
根據(jù)標定得到的比例關系計算得出Ⅱ區(qū)芯線實際長度D1為1.05 mm,Ⅳ區(qū)芯線實際長度D2為0.60 mm。出頭長度大于1.5 mm或小于0.5 mm的線束將被判定為不合格品。
2.6.1 壓著部分芯線外露檢測
壓著部分芯線外露的線束如圖8所示,基于芯線顏色特征可以完成Ⅲ區(qū)中芯線的區(qū)域分割,并根據(jù)連通域規(guī)則計算出分割區(qū)域的像素面積。首先,對Ⅲ區(qū)壓著部分進行芯線區(qū)域分割操作,得到芯線部分的二值圖像。然后,通過斑點檢測算法計算白斑面積,濾除面積小于10個像素點的白斑區(qū)域,如圖9所示。最后,判定白斑面積占比大于等于20%的產(chǎn)品為芯線外露的不合格品。
圖8 壓著部分芯線外露圖
2.6.2 線束外部芯線外露檢測
圖9 壓著部分斑點檢測算法處理圖像
不同于壓著部分芯線外露的情況,線束外部的背景為黑色,所以采用灰度化操作完成芯線特征的分割。首先,基于圖10所示的線束圖像,對多邊形區(qū)域中的芯線進行閾值分割,采用固定閾值的分割方法,濾除像素灰度小于80的像素點得到上、下兩部分的二值圖像,如圖11所示。然后,通過斑點檢測算法計算白斑面積,判定白斑面積大于40的為芯線外露產(chǎn)品。
圖10 線束外部芯線外露圖像
圖11 線束外部斑點檢測算法處理圖像
針對端子形變檢測,采用模板匹配的方法對圖像模板與目標圖像進行相似度匹配??紤]到檢測系統(tǒng)的實時性和端子紋理特征,本文采用基于邊緣信息的匹配方法。首先,創(chuàng)建端子的模板圖像,通過Canny邊緣檢測算法提取模板圖像和目標圖像的邊緣信息。然后,將邊緣信息作為輸入計算圖像輪廓的Hu矩,調用OpenCV中的cvMatchShapes函數(shù)計算Hu矩的相似程度。最后,根據(jù)匹配值越大產(chǎn)品輪廓越不相似的原則,篩選出端子形變的線束。
為了測試該視覺檢測系統(tǒng)的功能和測量精度,將5 000根線束進行圖像處理并獲得相關檢測結果。將獲得的芯線尺寸數(shù)據(jù)與實際手工采用專業(yè)工具測量的尺寸數(shù)據(jù)進行對比分析,如表5所示。
表5 測量結果誤差統(tǒng)計分析 mm
系統(tǒng)的實際檢測精度在±0.03 mm以內,能夠將芯線長度不合格的產(chǎn)品檢出。芯線外露及端子變形的不良品都能被檢測出來,系統(tǒng)的漏報率為0。經(jīng)統(tǒng)計得出線束壓接缺陷視覺檢測系統(tǒng)的整體誤報率小于1.3%,系統(tǒng)的運行時間為300 ms左右。綜合以上數(shù)據(jù),本系統(tǒng)能夠滿足工業(yè)現(xiàn)場的應用需求。
本文設計了基于機器視覺的汽車線束壓接缺陷檢測系統(tǒng),通過圖像處理技術完成對線束關鍵部位特征的檢測,判斷壓接后的線束是否符合生產(chǎn)標準。系統(tǒng)已經(jīng)成功應用于某汽車系統(tǒng)有限公司的線束生產(chǎn)中,能夠實現(xiàn)線束缺陷的快速、精確、穩(wěn)定檢測,為企業(yè)帶來了更高的收益。