鄧仕超, 張延儒, 高興宇, 劉 平, 黃海蘭, 楊家欣
(桂林電子科技大學廣西制造系統與先進制造技術重點實驗室,桂林 541004)
微型電機轉子是微型電機中旋轉的部分,電流通過轉子線圈產生交變磁場,將電能轉換為機械能,是微型電機的核心零件。轉子焊點是連接轉子線圈和電極的重要結點,位于電極的尾端,用于連通線圈和電極之間的回路,它的檢測質量嚴重影響著轉子的性能。由于焊點非常微小,肉眼無法分辨焊點的優劣。傳統的焊點質量檢測采取的是光學放大和人眼結合的檢測方法,依靠有經驗的工人憑借長期積累的經驗來判斷焊點的好壞。不僅工人的培訓需要花費大量的時間和金錢,而且人工檢測效率低,存在主觀性,對生產效率和產品質量有著嚴重影響,長時間的工作也會對工作人員的身心健康造成巨大傷害。
隨著圖像處理技術和機器學習技術的發展,越來越多的研究人員運用相關技術針對焊點檢測問題做出了一些研究。比如:劉美菊等[1]提出了改進的K-近鄰算法將電路板焊點檢測的準確率提高到了96%;吳福培等[2]利用單目視覺三維檢測的方法使印制電路板(PCB)焊點的測量精度達到了0.12 mm;謝達奇等[3]針對汽車車身焊點檢測提出了MeanShift聚類圓擬合算法,檢測精度達到了95%;陳壽宏等[4]為提高PCB板中元器件焊點的缺陷檢測正確率,提出了多特征向量的支持向量機的分類方法,準確率達到了98.46%;錢佳等[5]提出了模糊C均值聚類與松弛約束支持向量機聯用的識別方法,對人工焊點缺陷識別具有很好的效果。雖然上述研究人員對焊點檢測都有深入的研究,取得了不錯的研究成果,但是都是針對PCB焊點或者人工焊焊點檢測,少有學者針對微型電機轉子焊點檢測做相關的研究。
轉子焊點圖像屬于非常復雜的圖像,不同種類的缺陷相似度非常高,極其難以分辨,人工設計的特征描述比較依賴個人經驗,主觀意識對轉子焊點的特征描述影響較大,分類器的自適應能力不強,其分類檢測效果很難保證[6]。針對以上問題,本文利用大量數據,提出了基于殘差神經網絡的焊點檢測方法,實現焊點圖像的分類,并取得了較好的效果。
殘差網絡模型(ResNet)是目前最主流的深度卷積神經網絡之一,它于2015年被He等[7]所提出,同年在ImageNet比賽的分類識別任務上獲得了冠軍,因為強大的分類識別性能,通常應用在圖像檢測、圖像分割、目標跟蹤等領域[8]。ResNet用到了兩種映射方法:一種是恒等映射(identity mapping),另外一種是殘差映射(residual mapping),如圖1所示。恒等映射即圖1中那條折線,直接將輸入作為輸出的一部分,它可以使得網絡隨著深度增加而不會出現退化現象;殘差映射為圖1中經過卷積函數conv、激活函數relu得到的輸出f(x)那部分結構,它會在不引入額外參數和計算復雜度的情況下,將殘差塊中的數層映射擬合成另一個映射。h(x)為整個殘差網絡模型的輸出,這樣就可以保證在不出現退化的情況下,模型依舊保留深層網絡的高性能。

圖1 ResNet映射圖Fig.1 ResNet maping
ResNet50總共包含了50層,將網絡中的50層主要分成5部分,分別是conv1、conv2_x、conv3_x、conv4_x、conv5_x。其結構如圖2所示。conv1是由7×7×64(長×寬×輸出通道),步長為2的卷積操作組成的,經過conv1這部分卷積操作之后特征圖的長寬由原來的224縮小為112,通道數變成了64通道。conv2_x是由一個復合結構組成,首先是一個3×3,步長為2的最大值池化,接著是3個相同的卷積結構塊構建而成,這個結構塊是由1×1×64,3×3×64,1×1×256三個卷積核組成,卷積操做之后,特征圖長寬縮小為56。conv3_x則是直接由4個相同的卷積結構塊構成,每個結構塊包含1×1×128,3×3×128,1×1×512三個卷積核,這一步將conv3_x的56縮小為28。conv4_x的結構與conv3_x相似,該結構是由6個相同的卷積結構塊組成,每個結構塊的三個卷積核分別是1×1×256,3×3×256,1×1×1 024,特征圖大小又減小了一半。conv5_x是在前面幾層的基礎上,增加了卷積核的個數,這一部分是由3個相同的卷積結構塊構成的,每個結構塊是由1×1×512卷積,3×3×512卷積,1×1×2 048卷積組成,特征圖變成了7。最后一層是分類層,由三部分組成,首先是一個全局平均池化,接著是一個輸出通道為4的全連接層,隨后是一個softmax層。

圖2 ResNet50模型結構圖Fig.2 ResNet50 model structure diagram
殘差神經網絡模型的訓練需要大量的標記數據和強大的運算能力[9],直接用轉子焊點圖像重新訓練,需要制作大量數據集,這需要花費大量的訓練時間,造成時間和精力的浪費。適當的網絡預訓練可以加速模型的收斂,減少訓練的時間和提高模型識別率。ImageNet擁有千萬級的數據量,共有約2×104個物體類別,訓練出來的模型具有很好的抗干擾能力和泛化能力,因而可將ImageNet訓練的網絡模型遷移到轉子焊點圖像上,再提取高維深度特征進行識別,提高模型的識別準確率。利用ImageNet數據集對ResNet網絡模型進行預訓練,選擇的超參數如表1所示。

表1 超參數選擇
將預訓練模型的全連接層修改為4分類,將預訓練模型的權重參數導入ResNet網絡模型,凍結前10層的權重參數,將轉子焊點數據集導入網絡中,進行迭代訓練,得到新的適合轉子焊點檢的網絡模型,將待檢測的焊點圖像輸入新的模型中,提取焊點特征,最后的到分類結果。模型預訓練結構圖如圖3所示。

圖3 模型預訓練結構圖Fig.3 Pre-training model structure diagram
殘差神經網絡訓練是一個復雜的過程,不斷的前向傳播、反向傳播和更新迭代,由于ResNet網絡層數比較深,前幾層的微小變化,會在后面幾層逐漸放大,甚至于在最后形成梯度彌散,嚴重的影響網絡的訓練速度和檢測效果。因此,在卷積層之后,激活函數之前對特征圖進行適當批量歸一化,可以減少特征圖的變換范圍,減少計算量,加速網絡的訓練速度,避免梯度彌散和提高模型整體的識別性能。批量歸一化的步驟如下。
(1)輸入批量數據x1,x2,…,xm。
其中,m是批量數據的長度;c是一個極小的常數。
轉子焊點位于微型電機的上端,在整個微型電機中占據很小的區域,轉子焊點形態多樣,肉眼極難分辨,待檢測轉子的焊點高為2.2 mm、寬為1.7 mm,如圖4所示。

圖4 焊點圖像Fig.4 Solder joint image
轉子焊點類別主要分為焊點閉合異常、焊點下垂、焊點歪斜和焊點正常共四類,通過一段時間采集到了51個焊點異常數據,119個焊點下垂數據,76個焊點歪斜數據和154個焊點正常的數據。顯然400個數據對于殘差神經網絡來說是不夠的,數據集過少,且每個類別數據不均衡,模型很容易出現過擬合現象,并且識別率不會太高,因此對數據集進行數據增強是必要的。通過對原始圖像進行旋轉、改變亮度、雙邊濾波、增加噪聲、剪裁等方式,以焊點閉合異常為例,如圖5所示,將各類數據集擴增到300,使數據集基本滿足要求,并使各類數據均衡。將數據集分為的4/5作為訓練集,1/5作為測試集。

圖5 數據增強圖Fig.5 Data enhancement image
模型的分類性能通過分類準確率表示,分類準確率是指正確分類的樣本數與總樣本(正確分類樣本數與錯誤分類樣本數之和)之比,其數學表達式為
(1)
式(1)中:P為分類準確率;xi為正確分類的樣本;yi為錯誤分類的樣本。
為了檢驗本文方法的性能,選擇了廣泛使用的先進算法來跟本文方法進行對比。在傳統機器學習算法領域選擇了K近鄰算法(K-nearest neighbor,KNN)[10]和支持向量機算法(support vector machines,SVM)[11],然后在深度學習領域比較了LeNet[12]和AlexNet兩個經典模型算法,實驗結果如表2所示。

表2 算法分類正確率對比
由表2的實驗數據可以看出,ResNet50在訓練集上的準確率為89.7%,在測試集上的準確率為91.5%;KNN聚類算法在訓練集的確率為65.3%,在測試集的準確率為64.6%,該算法的效果和ResNet50相差甚遠;SVM分類算法在訓練集上的分類準確率為68.8%,測試集上的準確率為69.8%,這個分類算法相比KNN聚類算法略有提升,但和本文算法的分類準確率相比還存在差距;LeNet模型在訓練集上的準確率達到了74.2%,測試集上的準確率為74.8%,這個效果相對于最開始的算法已經有大幅度的提升,因為該模型首次運用卷積-池化-全連接層的結構來提升模型的分類準確率;另外一個經典神經網絡模型AlexNet在訓練集上的分類準確率為80.9%,測試集上的準確率為82.1%,得益于該模型將網絡變的很寬很深并使用ReLU函數代替sigmoid函數,減少梯度彌散問題,但依然未能超過本文算法的分類正確率。
最后將本文算法部署在檢測設備上,如圖6所示,該設備包括傳送機構、夾取機構、拍照和圖像處理系統,將本文算法與現場工人的識別效果做對比,如表3所示。

圖6 檢測設備圖Fig.6 Test equipment image

表3 人工檢測與算法檢測對比
由表3的實驗數據可知,在100個樣本中,人工檢測正確分類個數為97個,正確識別率為97%,花費的時間為15 min 32 s,中間休息1次,本文的算法檢測正確分類91個,正確識別率為91%,花費時間為4 min 27 s,中間休息0次。雖然本文算法的準確率不如人工檢測的高,但是對于相同的樣本花費的時間更少,時間上面提高了約3.5倍,而且該檢測設備可以連續工作。
根據以上的對比實驗,本文提出的基于殘差神經網絡的焊點檢測方法在訓練集上取得了89.7%的分類準確率,在測試集上的分類準確率達到了91.5%,無論是在訓練集上還是測試集上,均是表現最好,相比于其他算法的準確率有了9%~27%的提升。與人工檢測相比,檢測時間上面提高了約3.5倍,效率大增。
針對轉子焊點圖像,提出了基于殘差神經網絡的轉子焊點圖像檢測方法,通過在原有的網絡結構中加入批量歸一化和預訓練的方式,提高網絡的訓練速度,減少過擬合,增強模型的泛化能力,在訓練集上得到了89.7%的準確率,在測試集上得到了91.5%的準確率,并與KNN、SVM、LeNet和AlexNet等四種算法做了對比,并將該算法部署在檢測設備上,與工人檢測作對比,在準確率上相差無幾,時間效率上提高了3.5倍,證明本文方法分類準確率最高,說明該方法對轉子焊點圖像分類行之有效,并有較好的使用效果。