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