馬國慶,劉珺瑋,曹國華,3
(1.長春理工大學(xué)機(jī)電工程學(xué)院,吉林長春 130022; 2.蕪湖哈特機(jī)器人產(chǎn)業(yè)技術(shù)研究院有限公司,安徽蕪湖 241000; 3.長春理工大學(xué)重慶研究院,重慶 401133)
汽車內(nèi)分布著很多組成車輛內(nèi)部電路網(wǎng)絡(luò)的線束,其上的綁扎膠套對其安裝質(zhì)量影響極大,但由于線束長度大、分支多、形狀復(fù)雜等特點(diǎn),目前應(yīng)用中線束綁扎膠套的檢測和尺寸測量還是以人工為主,嚴(yán)重影響測量精度。
近年來隨著人工智能和機(jī)器視覺的飛速發(fā)展,越來越多制造業(yè)廠商開始引入機(jī)器視覺的軟硬件設(shè)施以取代傳統(tǒng)人工操作[1]。文獻(xiàn)[2]使用機(jī)器視覺的方式對大間距空間角度測量方法進(jìn)行了研究,取得了較好的效果。文獻(xiàn)[3]采用機(jī)器視覺的方法,對植物的生長過程實(shí)現(xiàn)了主動監(jiān)測。另外,圖像中被測對象的準(zhǔn)確定位及邊緣提取是視覺測量的關(guān)鍵[4]。文獻(xiàn)[5]提出了一種基于轉(zhuǎn)軸的外接矩形法定位工件,但在感興趣區(qū)域(ROI)上提取復(fù)雜度較高。文獻(xiàn)[6]改進(jìn)傳統(tǒng)閾值選取方式,使邊緣精確到單像素,但并不適用于多變性目標(biāo)。文獻(xiàn)[7]提出了一種二維切片采樣的自適應(yīng)閾值邊緣檢測法,噪聲抑制能力強(qiáng),但計(jì)算復(fù)雜度較高。文獻(xiàn)[8]為解決Canny算法對無關(guān)信息抑制能力弱的問題,提出一種改進(jìn)的Canny算法,能提升工件邊緣檢測準(zhǔn)確率,但存在微小邊緣抑制過度的問題。
本文使用機(jī)器視覺的方法對膠套進(jìn)行檢測和尺寸測量。首先利用深度學(xué)習(xí)實(shí)現(xiàn)膠套數(shù)量及位置檢測,然后通過Halcon算法庫對圖像進(jìn)行處理,最后聯(lián)合C++編程語言設(shè)計(jì)了用戶功能界面,在實(shí)際測量工作中應(yīng)用效果良好。
膠套檢測與測量系統(tǒng)硬件主要有PLC控制器、圖像采集系統(tǒng)、PC上位機(jī)組成的圖像處理系統(tǒng)和相機(jī)運(yùn)動伺服模組。經(jīng)測量精度分析,選擇500萬像素工業(yè)面陣相機(jī),鏡頭焦距為16 mm。為防止外部光照變化對測量的影響,使用穩(wěn)定光源照明,光源選擇長條環(huán)形光源。硬件系統(tǒng)如圖1所示。
圖1 系統(tǒng)硬件構(gòu)成
如圖2所示,系統(tǒng)通過PLC控制器驅(qū)動伺服電機(jī)帶動相機(jī)橫向伺服模組運(yùn)動,同時(shí)在相應(yīng)位置控制相機(jī)對檢測工作臺上的汽車線束各部分分別進(jìn)行圖像采集,將采集的線束圖像上傳到PC上位機(jī)圖像處理系統(tǒng)中進(jìn)行圖像拼接、膠套檢測及測量等處理工作,并將檢測結(jié)果顯示在上位機(jī)用戶界面。
圖2 系統(tǒng)結(jié)構(gòu)關(guān)系圖
通過圖像采集系統(tǒng)獲得汽車線束各部分圖像后,使用Halcon圖像算法庫對圖像進(jìn)行中值濾波、圖像增強(qiáng)等預(yù)處理;然后對預(yù)處理得到的圖像進(jìn)行特征點(diǎn)提取,進(jìn)而實(shí)現(xiàn)多位置圖像的拼接。
圖像拼接完成后,基于拼接圖像進(jìn)行膠套檢測與測量工作,其長度測量算法流程如圖3所示。首先通過深度學(xué)習(xí)最佳訓(xùn)練模型對圖像中的多個(gè)膠套進(jìn)行粗定位并記錄膠套數(shù)量,然后生成對應(yīng)的ROI,再分別對其進(jìn)行形態(tài)學(xué)處理,精準(zhǔn)定位ROI中的膠套。然后通過自適應(yīng)閾值設(shè)定法確定每個(gè)ROI中提取膠套邊緣應(yīng)該選擇的閾值,確定邊緣后通過自適應(yīng)權(quán)重分布的全采樣測量方法對膠套進(jìn)行長度測量。
圖3 膠套長度測量流程
2.1.1 圖像特征點(diǎn)提取
使用Halcon算法庫對圖像進(jìn)行特征點(diǎn)提取。特征點(diǎn)即圖像中與周圍像素點(diǎn)在顏色、亮度等特征上存在明顯不同的像素點(diǎn)[9]。計(jì)算平滑矩陣
(1)
式中:Ix,c和Iy,c為圖像每個(gè)通道的一階導(dǎo)數(shù)值;S為平滑系數(shù)。
矩陣M的跡Trace(M)即為不均勻度,矩陣M的行列式值為Det(M),則圖像像素點(diǎn)的各向同性程度為
(2)
從中選擇出不均勻度和各向同性程度分別在設(shè)定閾值內(nèi)的點(diǎn)即為特征點(diǎn)。
2.1.2 特征點(diǎn)匹配
特征點(diǎn)提取完成后,將特征點(diǎn)作為輸入,尋找對應(yīng)特征點(diǎn)之間的變換關(guān)系。
首先,確定兩張圖像輸入點(diǎn)周圍掩模窗口的灰度值相關(guān)性,并通過掩模窗口相似性實(shí)現(xiàn)兩張圖像間的初始匹配;然后在上述初始約束條件下,使用RANSAC算法找到使對應(yīng)特征點(diǎn)匹配數(shù)量最大化的投影變換矩陣,將變換矩陣應(yīng)用到圖像整體,即可實(shí)現(xiàn)2張圖像的拼接。
多張圖像可視為每相鄰兩圖像的特征點(diǎn)提取及匹配,多次應(yīng)用上述算法即可實(shí)現(xiàn)多張圖像的依次拼接。
2.2.1 深度學(xué)習(xí)基本原理
深度學(xué)習(xí)在學(xué)習(xí)特征時(shí)采用的是使用低階特征來表示高階特征的方式,即使用簡單概念來構(gòu)建復(fù)雜概念[10]。深度學(xué)習(xí)把要學(xué)習(xí)的復(fù)雜映射拆分成一套簡單的映射來學(xué)習(xí)。每個(gè)映射由模型的不同數(shù)據(jù)變換層來描述,每層的數(shù)據(jù)變換由該層的權(quán)重決定[11]。
對于一個(gè)模型而言,要確定每一層的合理參數(shù),首先需要找到其輸出結(jié)果與預(yù)期結(jié)果之間的差值,衡量該差值的函數(shù)就是損失函數(shù),損失函數(shù)的輸入為模型預(yù)測值與目標(biāo)真實(shí)值,輸出為兩者之間的差值,即損失。為逐步減小預(yù)測值與真實(shí)值之間的差距,應(yīng)該對學(xué)習(xí)過程進(jìn)行不斷調(diào)整。深度學(xué)習(xí)利用兩者之間的差距作為反饋信號,對每一層的參數(shù)進(jìn)行調(diào)整,以使損失值不斷減小[12]。該調(diào)節(jié)過程由優(yōu)化器應(yīng)用反向傳播算法來實(shí)現(xiàn)[13]。圖4為深度學(xué)習(xí)基本原理。
圖4 深度學(xué)習(xí)基本原理
首先對神經(jīng)網(wǎng)絡(luò)權(quán)重隨機(jī)賦值,此時(shí)輸出結(jié)果可能與真實(shí)值差別較大,即損失值較大。但隨著網(wǎng)絡(luò)訓(xùn)練樣本數(shù)的不斷增加,權(quán)重值會逐步向正確的方向調(diào)整,該過程稱為循環(huán)訓(xùn)練。當(dāng)訓(xùn)練循環(huán)次數(shù)足夠多時(shí),調(diào)整得到的最終權(quán)重可使損失值最小,即得到預(yù)測值與真實(shí)值之間差距最小的模型,稱為最佳訓(xùn)練模型[14]。
2.2.2 模型訓(xùn)練
圖5為同一線束綁扎膠套沿軸線分別旋轉(zhuǎn)0°、45°、90°和180°的視圖,可見該目標(biāo)在不同的觀察角度上存在較大的差異。但是對于自動化檢測而言,并不能每次均將其擺放至同樣的角度,這就對目標(biāo)檢測的適應(yīng)能力提出了較高的要求。
(a)膠套0°視圖
(b)膠套45°視圖
(c)膠套90°視圖
(d)膠套180°視圖圖5 目標(biāo)不同角度視圖
通過相機(jī)采集圖像和數(shù)據(jù)增強(qiáng)處理,建立了一個(gè)包含1 000張不同規(guī)格尺寸膠套的線束圖像數(shù)據(jù)集,并使用該數(shù)據(jù)集對模型進(jìn)行訓(xùn)練。訓(xùn)練周期數(shù)設(shè)置為30,訓(xùn)練結(jié)束時(shí)的損失值為0.328。訓(xùn)練得到的損失曲線如圖6所示。
圖6 訓(xùn)練過程損失曲線
2.2.3 膠套粗定位
將訓(xùn)練好的最佳模型應(yīng)用到要檢測目標(biāo)的圖像中,可得到圖7所示膠套識別結(jié)果,矩形框左上角即為該目標(biāo)類別索引值及其置信度。至此即完成了膠套的粗定位。
圖7 膠套粗定位效果
經(jīng)粗定位圖像分析發(fā)現(xiàn),存在部分矩形框并未將膠套邊緣完全包含在其中的問題。通過對提取出的ROI圖像作顏色空間轉(zhuǎn)換,使得膠套部分與其余部分灰度產(chǎn)生較顯著差別,進(jìn)行二值化和多次形態(tài)學(xué)處理,使得膠套區(qū)域在圖像中水平分布,最后求取該區(qū)域的最小外接矩形,此時(shí)膠套已經(jīng)完全被矩形框包圍。處理過程如圖8所示。
圖8 膠套精定位過程
進(jìn)行尺寸測量需要對膠套兩側(cè)進(jìn)行邊緣檢測,而邊緣檢測首先應(yīng)當(dāng)對圖像進(jìn)行平滑處理。ROI中由于線束被編織線圍繞,會有很多噪點(diǎn),而中值濾波不僅可以減少噪聲對被測物邊緣的影響,還能很好地保留被測物邊緣,所以采用中值濾波對圖像進(jìn)行處理。濾波完成后,對該ROI做灰度線性變換,以提升膠套與背景的對比度,便于更好地進(jìn)行邊緣檢測。該預(yù)處理過程如圖9所示。
圖9 尺寸測量預(yù)處理過程
2.4.1 自適應(yīng)閾值的邊緣檢測
由于膠套生產(chǎn)過程影響,不同膠套可能存在一定色差,這就會導(dǎo)致顏色空間轉(zhuǎn)化完成后不同膠套灰度不同,因此邊緣檢測時(shí)設(shè)定固定邊緣閾值的方式并不能滿足測量要求。
以每個(gè)ROI的左上角點(diǎn)作為原點(diǎn),同原始圖像坐標(biāo)系行列軸方向一致建立局部坐標(biāo)系,如圖10所示,可以推算出該ROI內(nèi)右下角行列坐標(biāo)。建立一個(gè)1×1的最小鄰域(陰影部分),使該鄰域從ROI的左上角開始,以水平掃描的方式逐像素獲取灰度值,并計(jì)算該行像素中最高灰度值與最低灰度值之差。以此類推,直到該小鄰域遍歷完整個(gè)ROI。可以得到與ROI行數(shù)相同個(gè)數(shù)的多個(gè)差值,選擇不為零的差值中最小差值作為邊緣分割的自適應(yīng)閾值。
圖10 自適應(yīng)閾值獲取法
設(shè)精確定位后得到的ROI寬和高分別為W和H。詳細(xì)過程如下:
(1)從該ROI左上角的局部坐標(biāo)系原點(diǎn)開始,讓小鄰域沿列軸逐個(gè)讀取該行像素灰度值,并計(jì)算灰度值中最大值與最小值的差值,記為Δt1;
(2)使小鄰域下移一行開始遍歷,第二行像素灰度值中最大值與最小值的差值記為Δt2;
(3)以此類推,得到一個(gè)差值集合{Δt1,Δt2,Δt3,…,ΔtH};
(4)去除掉集合中等于0的元素,求剩余元素的最小值min作為此ROI的自適應(yīng)邊緣檢測閾值。
2.4.2 自適應(yīng)類高斯權(quán)重分布的長度測量
由于膠套質(zhì)地較軟,工人操作金屬卡扣固定時(shí)會使得膠套兩端上翹,這就使得在測量過程中,膠套外側(cè)邊緣并非一條直線,因此測量位置不同得到的測量結(jié)果也就不同,由此造成一定的測量誤差。
針對此,提出一種自適應(yīng)類高斯權(quán)重分布的全采樣測量方法。人工測量膠套長度時(shí),測量位置基本固定為中間位置,即把膠套中間位置測量長度視為膠套長度,所以實(shí)施權(quán)重分布時(shí),采用調(diào)高中間位置權(quán)重,降低邊緣位置權(quán)重的方式,即離膠套中間位置越近的測量值對最終測量結(jié)果影響越大,離膠套中間位置越遠(yuǎn)的測量值反之。
首先建立膠套左右邊緣全采樣區(qū)域。在自適應(yīng)閾值獲取坐標(biāo)系中,通過求取精準(zhǔn)定位所獲得ROI的中間行R=Rm在膠套左右邊緣上的對應(yīng)點(diǎn),可獲得膠套左右兩側(cè)的邊緣中點(diǎn),如圖11(a)所示,坐標(biāo)分別為(Rm,C1m)和(Rm,Crm),然后以左右邊緣的中點(diǎn)列坐標(biāo)C1m和Crm為起始值,取該值左右范圍內(nèi)各10像素,左側(cè)范圍區(qū)間為[C1m-10,C1m+10],右側(cè)范圍區(qū)間為[Crm-10,Crm+10],如圖11(b)所示。然后分別以邊緣中點(diǎn)行坐標(biāo)Rm為起始值,沿行軸向上向下篩選列坐標(biāo)落在上述范圍內(nèi)的邊緣點(diǎn),遇到未在該區(qū)間內(nèi)的點(diǎn)即停止篩選。若所有邊緣點(diǎn)均在范圍內(nèi),則到達(dá)精準(zhǔn)定位ROI的上下邊緣停止??傻米髠?cè)上邊緣點(diǎn)(R1u,C1u),左側(cè)下邊緣點(diǎn)(R1d,C1d),右側(cè)上邊緣點(diǎn)(Rru,Cru),右側(cè)下邊緣點(diǎn)(Rrd,Crd)。比較左側(cè)上邊緣點(diǎn)行坐標(biāo)R1u與右側(cè)上邊緣點(diǎn)行坐標(biāo)Rru,取兩者中較大的作為上邊界行坐標(biāo)Ru;比較左側(cè)下邊緣點(diǎn)行坐標(biāo)R1d與右側(cè)下邊緣點(diǎn)行坐標(biāo)Rrd,取兩者中較小的作為最后下邊界行坐標(biāo)Rd。則行區(qū)間[Ru,Rd]的膠套部分即為最終左右邊緣全采樣區(qū)域,如圖11(c)所示。在該區(qū)間內(nèi)進(jìn)行自適應(yīng)權(quán)重分布計(jì)算。
(a)獲取ROI兩側(cè)邊緣中點(diǎn)
(b)建立兩側(cè)范圍區(qū)間
(c)獲得全采樣區(qū)域圖11 邊緣采樣區(qū)域建立過程
一維高斯函數(shù)[15]
(3)
使用原高斯函數(shù)在進(jìn)行權(quán)重分配時(shí),由于存在嚴(yán)重的權(quán)重衰減現(xiàn)象,不滿足本測量系統(tǒng)要求,故對原函數(shù)進(jìn)行簡化修改。修改后的權(quán)重函數(shù)為
(4)
式中f(x)為計(jì)算出的權(quán)重值。
以膠套右側(cè)邊緣中點(diǎn)(Rm,Crm)作為原點(diǎn),以Rm所在行作為y軸,以Crm所在列作為x軸,建立如圖12所示的權(quán)重分布坐標(biāo)系。由于坐標(biāo)系建立方式近似符合標(biāo)準(zhǔn)高斯分布,故μ為0,最終權(quán)重分布函數(shù)可以寫作
圖12 權(quán)重分布坐標(biāo)系
(5)
式中x為當(dāng)前像素行在上述坐標(biāo)系下的x軸方向的坐標(biāo)值。
將各邊緣點(diǎn)所在像素行的坐標(biāo)x代入權(quán)重分布函數(shù),得到|Rd-Ru+1|個(gè)權(quán)重值f(xi)。為保證所有采樣行權(quán)重值總和為1,用當(dāng)前行權(quán)重值除以所有行權(quán)重值總和,作為該行最終權(quán)重值ωi,即
(6)
權(quán)重計(jì)算完成后,對如圖13(a)所示的全采樣區(qū)域內(nèi)各像素行分別進(jìn)行長度測量,將測量值li與對應(yīng)行計(jì)算出來的權(quán)重值相乘再求和,即為最終得出的膠套長度。計(jì)算公式為
(7)
式中L為系統(tǒng)測量膠套長度值,mm。
自適應(yīng)權(quán)重分布的全采樣測量方法通過給不同測量位置分配與其位置相關(guān)的權(quán)重值,既平衡了由于測量位置不同造成的誤差,又將各測量位置的尺寸均考慮在內(nèi),最終得出的測量結(jié)果準(zhǔn)確性和可信度更高。由圖13(b)可見每行可提取到4個(gè)邊緣,2個(gè)深色部分為膠套,中間淺色部分為固定膠套的金屬卡扣,計(jì)算4個(gè)邊緣點(diǎn)中相鄰兩邊緣點(diǎn)的距離再求和即得該像素行所測膠套長度。圖13(b)選擇了膠套全采樣區(qū)域中的2個(gè)像素行并顯示出其測量狀態(tài)。
(a)膠套全采樣區(qū)域
(b)2像素行測量狀態(tài)示意圖圖13 自適應(yīng)權(quán)重的全采樣測量示意圖
為方便實(shí)際應(yīng)用,開發(fā)了如圖14所示的用戶功能界面,界面主要包括圖像及結(jié)果預(yù)覽區(qū)、系統(tǒng)狀態(tài)及參數(shù)設(shè)定區(qū)、測量數(shù)據(jù)設(shè)定及顯示區(qū)和功能按鈕區(qū)4個(gè)部分,可以清晰地設(shè)定測量過程所需參數(shù),簡單高效,操作方便,檢驗(yàn)結(jié)果直觀。
圖14 系統(tǒng)用戶功能界面
為驗(yàn)證系統(tǒng)應(yīng)用的穩(wěn)定有效,首先對同一規(guī)格膠套的不同線束進(jìn)行多次采集圖像并測量,記錄膠套個(gè)數(shù)檢測值,計(jì)算測量值與約定真值之間的差值。約定真值由二維數(shù)字式投影測量儀在人工協(xié)助下測得。為控制變量,系統(tǒng)測量使用的圖像均在與投影測量儀同角度同環(huán)境下采集獲得。表1為膠套數(shù)量檢測對比表,表2為測量數(shù)據(jù)對比表。
表1 同一規(guī)格膠套系統(tǒng)檢出膠套個(gè)數(shù)對比
表2 同一規(guī)格膠套系統(tǒng)測量數(shù)據(jù)與約定真值對比 mm
為進(jìn)一步測試系統(tǒng)魯棒性,選擇3種帶有不同規(guī)格膠套的線束分別進(jìn)行檢測與測量,檢測結(jié)果如表3所示,測量結(jié)果如表4所示。
表3 3種規(guī)格膠套系統(tǒng)檢出膠套個(gè)數(shù)對比
表4 3種規(guī)格膠套系統(tǒng)測量數(shù)據(jù)與約定真值對比
以各規(guī)格實(shí)驗(yàn)次數(shù)為橫坐標(biāo),測量值與約定真值差值的絕對值為縱坐標(biāo),繪制折線圖如圖15所示。
圖15 測量數(shù)據(jù)對比折線圖
由圖15可知,系統(tǒng)測量值與約定真值的差值均在0.5 mm以內(nèi),計(jì)算得測量值平均相對誤差為1.12%,并且各規(guī)格膠套檢出率均達(dá)到100%,驗(yàn)證了系統(tǒng)的穩(wěn)定性與魯棒性。
針對不同規(guī)格膠套,在用戶界面上將膠套個(gè)數(shù)理論值及長度理論值設(shè)定,則可用于判定膠套個(gè)數(shù)檢測值及長度測量值與理論值差值是否超過閾值,超過即為不合格,并將檢測結(jié)果顯示在圖像預(yù)覽框中。
針對汽車線束綁扎膠套的檢測及測量過程中人工主觀影響大、效率低等問題,設(shè)計(jì)了一種基于機(jī)器視覺和深度學(xué)習(xí)的膠套檢測與測量系統(tǒng)。系統(tǒng)通過多張圖像拼接、基于深度學(xué)習(xí)的膠套檢測和自適應(yīng)權(quán)重分布的全采樣測量算法實(shí)現(xiàn)對膠套的檢測和測量工作。經(jīng)現(xiàn)場實(shí)驗(yàn)及結(jié)果分析,該系統(tǒng)能夠滿足實(shí)際質(zhì)檢工作的基本需求,膠套檢出率達(dá)到100%,測量的平均相對誤差低至1.12%。另外,系統(tǒng)還具有魯棒性強(qiáng)、測量效率高等優(yōu)點(diǎn),能夠更好地滿足實(shí)際應(yīng)用中線束膠套的檢測與測量需求。后續(xù)將對系統(tǒng)進(jìn)行進(jìn)一步的算法優(yōu)化,提升算法適應(yīng)性,提高運(yùn)行效率,推進(jìn)工業(yè)生產(chǎn)自動化進(jìn)程。