?

基于機器視覺的電樞缺陷檢測系統*

2021-05-06 02:04劉劍歌楊苗苗
組合機床與自動化加工技術 2021年4期
關鍵詞:銅線電樞機器

王 楊, 王 杰, 劉劍歌, 方 夏, 李 勇, 楊苗苗

(四川大學機械工程學院,成都 610065)

0 引言

隨著生活質量的提高,人們對電子產品的品質控制也提出了更高的要求。電子產品的所有精密零件中,用作機械能和電能轉換的核心零件—電樞對用戶體驗有著重要的影響。由于電樞較小,并且工序復雜,因此會產生多種不同程度的缺陷,主要包括纖毛、異物、錫包大、斷線、變阻破損、變阻斷裂、銅線侵蝕、銅線斷、錫珠、油脂堆積。目前,電樞檢測完全依靠人工在顯微鏡下完成,不僅效率低,而且人的判別標準具有一定的主觀性,易造成判別結果的不穩定,一定程度上影響電子產品的裝配質量。

隨著工業技術的發展以及電腦性能的不斷提升,機器視覺技術已經成功應用于工業生產的質量檢測,包括汽車緊密零件、銷釘、鋁材、軸承。劉瑞媛等針對汽車精密零件的產品質量控制,提出了利用改進大津算法(OTSU)來提取外觀缺陷特征[1]。王凱等針對電力金具上銷釘松動、缺失等常見缺陷,提出了利用RetinaNet神經網絡模型來檢測銷釘的多種缺陷[2]。沈曉海等針對鋁材表面缺陷檢測問題,提出了利用深度學習來進行缺陷的多任務檢測[3]。蒙志強等針對軸承故障診斷過程,提出了利用改進的神經網絡進行缺陷檢測的方法[4]?;跈C器視覺的缺陷檢測系統已經有很多人提出,但是對電樞缺陷檢測的研究卻很少。

近年來,雖然深度卷積神經網絡(DCNNs)和傳統機器視覺算法都已經被證明是一種十分有效的視覺檢測算法,但是在某些工業領域中,不管是只使用傳統機器視覺算法還是單獨使用DCNNs都具有很大的局限性,不能直接用于檢測電樞這種缺陷復雜多樣的工件,因此本文設計了一種傳統機器視覺方法和DCNNs相結合的智能檢測系統用于電樞缺陷檢測。利用傳統機器視覺算法,MobileNet-V3模型以及DenseNet模型檢測電樞的不同區域區域,并且三個區域并行檢測。實驗結果表明,該系統運行速度快,準確率高,可為工業應用帶來實際效益。

1 電樞及其檢測系統介紹

電樞模型圖以及實物圖如圖1所示,電樞總長度不足10 mm,一些細小缺陷更是不足0.2 mm,并且缺陷類型繁多、人工檢測難度大,因此一個用來專門檢測該工件的智能檢測系統是被迫切需要的。

(a) 模型圖 (b) 實物圖圖1 電樞

開發出的智能檢測設備實物圖如圖2所示,整體圖標記部分為電樞檢測區。使用130萬像素的平面陣列相機和0.66景深、110 mm工作距離的遠心鏡頭來拍攝電樞,并設置兩個矩形光源和一個環形光源提高亮度。通過機械臂吸取電樞軸端,并由光纖傳感器(FU-20)定位,通過交流伺服馬達(MSMF5AZL1U2M)控制機械臂每旋轉120°拍攝一次。每個電樞可以得到不同角度的三張圖像,這樣可以全方位地識別電樞缺陷。

軟件系統采用Python語言編寫,傳統機器視覺算法基于OpenCV平臺,深度學習算法基于TensorFlow 和 Keras框架。

(a) 整體圖

(b) 電樞檢測區正面圖 (c) 電樞檢測區反面圖圖2 檢測設備

2 方法介紹

2.1 傳統機器視覺

本文采用的傳統機器視覺算法主要包括雙邊濾波,邊緣檢測以及霍夫變換。

(1)雙邊濾波[5]是一種非線性的濾波方法,它通過對周圍像素亮度值的加權平均來表示像素的強度。雙邊濾波的參數考慮了范圍內像素點的歐氏距離和顏色距離,這樣就保留了邊界,同時降低了噪聲。式(1)給出了雙邊濾波的具體操作:

(1)

式中:I為去噪的圖像,m為圖像中的一個像素,n為相鄰像素且像素值為Vn,m的相鄰范圍為Ω,Kn和Hn分別為空間和灰色加權系數,α為歸一化系數。

(2)邊緣檢測[6]的目的是找到圖像亮度變化劇烈的像素點,即灰度強度的不連續性。邊緣檢測操作大多基于亮度的梯度和方向。圖像g在點(x,y)處的梯度和方向可分別由式(2)和式(3)定義:

(2)

(3)

式中:?g/?x和?g/?y分別是x和y方向上的離散偏導數。

(3)基于電樞的幾何結構,利用霍夫變換[7]檢測到兩條基準線,再根據電樞的尺寸定位到目標區域?;舴蛑本€檢測原理是將圖像空間中的直線檢測問題轉化為參數空間中的點檢測問題。如:方程(4)可以代表圖像空間中的一條線, 那么這條直線在參數空間中表示為點(θ,r)。

r=x*cosθ+y*sinθ

(4)

式中,r表示在圖像空間中點(x,y)和原點的距離,θ表示圖像空間中點(x,y)和原點連線與x軸正方向的夾角。

2.2 MobileNet-V3

所用到的MobileNet-V3具體網絡結構如表1所示。MobileNet-V3在網絡結構上繼承了V1的深度可分離卷積[8]、V2的具有線性瓶頸的逆殘差結構(Bottleneck)[9]的同時簡化了V2最后階段網絡結構,并且結合了MnasNet 模型引入的基于squeeze and excitation(SE)結構的輕量級注意力結構[10],達到了參數量更少、速度更快的目的。在模型結構的優化中,MobileNet-V3首先在計算和參數量受限的前提下搜索網絡的各個模塊[11],然后進行對各個模塊確定之后的網絡層的微調[12],并且通過引入一種新的激活函數h-swish[13]進一步提高了網絡精度。

表1 MobileNet-V3網絡結構

續表

2.3 DenseNet

DenseNet每一層都會輸入來自前面所有層的輸出[14],這樣通過對特征極致利用可以達到更好的效果和更少的參數。在反向傳播時每一層都會接受其后所有層的梯度信息,不會隨著網絡深度的增加導致靠近輸入層的梯度變得越來越小,所以可以減輕在訓練過程中梯度消散的問題。并且由于大量的特征被復用,使得使用少量的卷積核就可以生成大量的特征,一定程度上減少了參數。

DenseNet結構如圖3所示,其中Block包含兩次卷積,每個Block的輸出都會與前面的特征進行融合,每兩個DenseBlock之間插入一個TranBlock進行特征壓縮。所使用的DenseNet-121模型包含4個DenseBlock,每個DenseBlock分別包含6,12,24,16個Block。

圖3 DenseNet結構示意圖

3 實驗與分析

電樞檢測的區域劃分如圖4所示,電樞在2、3區域的特征是極其微小的,檢測工件缺陷時如果用整張圖作為網絡的輸入,由于電樞總體特征較為明顯,導致網絡可能忽略掉微小的缺陷特征,這樣極易導致網絡過擬合。若使用目標檢測網絡,數據集制作的時間成本和人力成本較大并且也有著前面所述的不足?;谝陨蠁栴},根據電樞特殊的幾何結構,把電樞的缺陷檢測由簡到難分為三個區域:外圍區域檢測,變阻部分檢測,銅線交叉區域檢測,并且對不同的區域運用專門的檢測方法進行檢測。采用三個區域不同模型同時檢測的方法不僅可以提高電樞檢測的準確率,也可以節省電樞的檢測時間和模型訓練成本。

圖4 檢測區域劃分

3.1 外圍區域檢測

由于每個電樞會采集三張不同角度的圖片,為了避免外圍區域的重復檢測,只檢測電樞一側圖像即可?;陔姌械膸缀谓Y構,采用霍夫直線變換可以定位到目標區域。因為這種缺陷在電樞主體結構的外部,且和背景區域有較大對比,使用雙邊濾波加上邊緣檢測對這種缺陷進行處理,再根據邊緣檢測結果設定合適的閾值就可以得到外圍區域的判別結果,檢測流程如圖5所示。

圖5 外圍區域檢測流程圖

電樞外圍區域的缺陷及其檢測結果如圖6所示,外圍區域缺陷主要為斷線、纖毛、異物和錫包大,可以看到,這些缺陷在外圍區域都可以被很好地檢測到。實驗表明,此方法具有95.8%準確率,滿足工業要求。

(a) 斷線 (b) 纖毛

(c) 異物 (d) 錫包大圖6 外圍區域缺陷檢測結果

3.2 變阻區域檢測

變阻區域的檢測分為兩個步驟:①通過定義和變阻大小相同的掃描框在圖片的上半部分進行掃描并把框內像素點灰度值的和與閾值進行比較,如果能夠得到在閾值范圍內的框則進行步驟②,如果得不到就把工件判為變阻嚴重損壞,如圖7所示。②把框內圖像輸入到訓練好的MobileNet-V3模型中進行判別。

圖7 變阻嚴重損壞

3.2.1 數據集

壞件中的缺陷類型如圖8所示,主要包括破損、斷裂、異物和油脂堆積。好件中容易誤判的主要包括焊錫粘在變阻上的工件和均勻油脂的工件,由于這種工件和壞件差別較小,容易導致誤判。為增加數據集,采用鏡像處理對壞件和難分好件進行數據增強,并對所有工件采用高斯噪聲進行數據增強。

(a) 破損 (b) 斷裂

(c) 異物 (d) 油脂堆積

(e) 好件 (f) 好件圖8 變阻區域數據集

3.2.2 實驗結果

訓練集12 420張,好件和壞件的比例約為1:1,測試集2936張,比例約為1:1。為增加模型泛性,訓練時采用隨機裁剪、亮度變化、隨即旋轉的方式進行在線數據增強。訓練中學習率采用自動衰減的方式,最終的訓練結果如圖9所示,準確率高達97.1%,滿足實際需要。

圖9 MobileNet-V3 Small訓練過程

從上圖可以看出,雖然在訓練35次之前幾個時間節點出現過擬合現象,但是之后隨著學習率的減小以及進一步的優化,模型逐步收斂。

和基于HOG特征的SVM分類器對比的結果如表2所示,可以看出,HOG+SVM的方法學習能力差并且泛型差嚴重過擬合,因此人為構造的HOG特征和神經網絡自動尋找的高維特征相比具有很大局限性。

表2 不同方法準確率對比

3.3 銅線交叉區域檢測

由于銅線交叉區域缺陷種類繁多且微小,此區域缺陷最難檢測。為了最大化提高準確率,前期通過多個神經網絡模型的嘗試找到最優的神經網絡模型,再通過改變超參數以及數據處理方式進行進一步優化模型。

3.3.1 數據集

采用模板匹配得到銅線交叉區域數據集,壞件中主要的缺陷類型如圖10所示。由于工業上對錫珠、異物和銅線侵蝕這三類缺陷具有一定的容忍度,如果通過人工進行主觀判斷,標準難以統一。

(a) 錫包大 (b) 多線 (c) 錫珠

(d) 銅線露出 (e) 異物附著 (f) 銅線侵蝕

(g) 纖毛 (h) 銅線斷圖10 銅線交叉區域缺陷

3.3.2 實驗結果

為了選出檢測微小缺陷的最優模型,先作初步實驗。首先對壞件進行鏡像作數據增強,得到訓練集15 855張,好件和壞件的比例約為2:1,測試集5332張,比例約為3:2。使用上述數據集,多個模型的實驗準確率對比如表3所示。

表3 不同模型準確率對比

由表3數據可知, DenseNet-121模型在相同的數據集下測試集有著最高的準確率即抵抗過擬合的能力最強,由于電樞的產量以百萬計,因此選用泛型最強的DenseNet-121模型作進一步的優化。

通過調整初始學習率大小、更改學習率衰減方式、改變圖像處理方式、更換優化器、提升數據集大小、添加數據增強方式包括高斯模糊、隨機裁剪、亮度變化以及隨即旋轉,最后測試集準確率達到了97.8%,主以滿足要求。

在實驗中發現學習率衰減方式的設置對模型最后的收斂效果有著顯著的影響,最后學習率衰減方式采用余弦衰減,衰減公式如下:

(5)

上式中,L為新的學習率,l為上一次訓練所使用的學習率,d為衰減率,e為當前的訓練次數,n為衰減到最小學習率所需的訓練次數。

通過改變衰減率d對模型的收斂過程有著很大的影響,如圖11所示。訓練時設置若連續訓練10次損失值不再減小則訓練停止,可以看到,當d=0.7的時持續優化時間最長并且達到了最高的準確率,并且最后的準確率和衰減率沒有線性關系。

圖11 不同衰減率訓練結果

4 結論

本文提出了一種基于經典機器視覺和深度學習的電樞缺陷檢測系統。根據不同區域和不同類型的缺陷采用相適應的算法進行檢測。經典機器視覺算法可以有效地檢測外圍區域缺陷;深度學習算法由于只檢測缺陷區域,不會受到非缺陷區域特征的干擾,所以在對變阻區域和銅線交叉區域的缺陷檢測上有著很高的準確率。經過多次實驗,結果表明此方法滿足工業制造的要求。本文的主要貢獻如下:

(1)根據工件的實際檢測要求,設計了與其對應的檢測設備以及與之匹配的算法。

(2)通過實驗證明了深度學習算法和傳統機器視覺算法相結合可以有效地應用在工業領域當中。

(3)對工件進行分區域,并且用于不同的算法同時檢測的想法促進機器視覺更快地在工業領域應用。

(4)證明了MobileNet-V3和DenseNet模型可以有效地應用在不同的工業需求中。

猜你喜歡
銅線電樞機器
四軌電磁發射器電樞-軌道初始接觸特性研究*
機器狗
機器狗
從性能層面提升觀影游戲體驗 FIBBR 8K HDMI2.1銅線
銅線高速拉拔過程數值模擬及質量控制
雙層電樞結構設計及其電磁力和電流密度分布*
電樞裝配后接觸壓力不均勻特性研究*
未來機器城
澆“水”即亮的“花”
電磁發射系統C型固體電樞的電流密度分布特性及其機理分析
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合