張鵬飛 王淑青 王年濤 頓偉超 黃劍鋒
[摘 要]為解決傳統(tǒng)PCB裸板缺陷檢測效率低、誤檢率高、通用性差等問題,提出一種基于改進MobileNetV3的PCB表面缺陷檢測模型。首先對PCB數(shù)據(jù)集進行預處理,然后采用多方向協(xié)調注意力代替原網(wǎng)絡中的擠壓和激勵注意力模塊,提升特征定位精度從而增強感受野;最后利用軟池化優(yōu)化MobileNetV3的末端結構,以在簡化后的激活映射中保留更多的特征信息。實驗結果證明,提出的模型對PCB裸板缺陷檢測的平均準確率可達96.1%,圖片平均檢測速度為25.1 ms,能夠高效識別PCB裸板的多種缺陷類型,對工業(yè)生產(chǎn)中PCB裸板的質量檢測有實際應用價值。
[關鍵詞]PCB裸板;缺陷檢測;MobileNetV3;軟池化;深度學習
[中圖分類號]TP391.4[文獻標識碼]A
隨著電子通訊、智能駕駛、智慧醫(yī)療、工業(yè)控制等領域的電力電子設備向著高精密、智能化及更加輕薄的方向發(fā)展,印刷電路板(PCB)的電路繪制以及功能元件量也越來越多,PCB高度集成模塊化也是必然趨勢[1]。但PCB作為電子產(chǎn)品的核心組件,其生產(chǎn)工藝非常復雜,包含繁多的制造工序,這將導致PCB在生產(chǎn)過程中不可避免地出現(xiàn)多種質量缺陷,影響整體性能[2]。因此,PCB裸板缺陷檢測在整個生產(chǎn)制造工藝過程中顯得極為重要。
目前,PCB裸板缺陷檢測方法可分為三大類:接觸檢測法、機器視覺檢測法及深度學習檢測法[3]。其中前兩類傳統(tǒng)方法中存在檢測效率低以及易受人為因素影響的問題,而深度學習檢測法[4]既符合當前人工智能時代的發(fā)展趨勢,同時也可以更好的解決這些問題。V. A. Adibhatla等[5]采用卷積神經(jīng)網(wǎng)絡對PCB圖像進行了缺陷分類,精度較低。在此基礎上,瞿棟等[6]使用卷積神經(jīng)網(wǎng)絡結合遷移學習對PCB圖像進行了缺陷檢測,但檢測缺陷類型較少。耿朝輝等[7]在Faster RCNN網(wǎng)絡中加入了特征金字塔并優(yōu)化損失函數(shù)對PCB裸板的多種缺陷進行檢測,但數(shù)據(jù)集數(shù)量較小有待優(yōu)化。謝黎等[8]通過在YOLOv4網(wǎng)絡中強化特征融合,并結合Kmeans聚類改進網(wǎng)絡模型對電路板元器件進行了缺陷檢測。為進一步提高PCB裸板的檢測精度及速度,降低誤檢率,本研究采用前沿的輕量級網(wǎng)絡MobileNetV3[9],并通過改進注意力機制及池化效果增強了模型的整體性能,實現(xiàn)對PCB裸板多種缺陷的高效檢測,對PCB裸板生產(chǎn)工藝的質量規(guī)范具有實際意義。
1 PCB裸板檢測網(wǎng)絡原理
PCB裸板缺陷檢測方法主要采用MobileNetV3[9]網(wǎng)絡,是由Google在2019年提出的網(wǎng)絡架構,其網(wǎng)絡建立在高效的構建塊bneck上(圖1)。
MobileNetV3首先引入深度可分離卷積(DSConv),對傳統(tǒng)卷積層進行有效替換。DSConv通過把空間濾波從特征生成機制中分離而出,有效分解了傳統(tǒng)卷積。DSConv由兩個單獨的層來定義,分別為用于空間濾波的輕量級深度卷積和用于特征生產(chǎn)的1×1點卷積構成。其次,引入了線性瓶頸的倒置殘差結構,通過采用低秩特性實現(xiàn)更高效的層結構,該結構由1×1膨脹卷積,深度可分離卷積以及1×1映射層構成。當且僅當輸入和輸出具有相同數(shù)量的通道時,使用殘差連接的方式,使結構輸入和輸出更加緊湊,同時在內(nèi)部擴展到高維度特征空間,以增加非線性(NL)全通道轉換的性能。
在此基礎上,線性瓶頸結構中引入了擠壓和激勵的注意力模塊(SE)[10],同時提出了一種新的激活函數(shù)H-Swish,增強特征提取精度,并提升檢測速度,公式如下:
H-Swishx=x·ReLU6(x+3)/6
式中,ReLU6為激活函數(shù)。為進一步提高網(wǎng)絡預測功能,采用多方向協(xié)調注意力(MCA)模塊替換SE模塊,并對MobileNetV3的網(wǎng)絡末端進行了進一步優(yōu)化,采用軟池化(Soft Pool)替代平均池化(Avg Pool)[11],提高PCB裸板缺陷的檢測性能。
2 特征提取網(wǎng)絡優(yōu)化
2.1 多方向協(xié)調注意力機制
SE模塊只考慮通過構建通道關系來重新衡量每個通道的重要性,而忽略了同樣重要的位置信息。為此,本文采用MCA模塊替換SE模塊對特征提取網(wǎng)絡進行改進。MCA模塊可以看作是一個計算單元,分為兩步:協(xié)調信息嵌入和協(xié)調注意力生成;通過捕獲位置信息和通道之間的明確關系,以增強移動網(wǎng)絡的特征表達能力(圖2)。
如圖2所示,在信道注意力中,通常使用全局池化(Global Pooling)[11]對空間信息進行全局編碼,但全局空間信息壓縮到信息描述符中往往無法保存位置信息,而位置信息是PCB裸板缺陷檢測的關鍵。首先,通過選擇任意特征張量X=x1,x2,…,xC∈RC×H×W作為輸入,輸出為一個帶有增廣表示的變換張量Y=y1,y2,…,yC大小與X相同,其中R是對應二維空間區(qū)域的特征激活映射集合,C為通道數(shù),H為高度,W為寬度。為激勵注意力模塊通過精確的位置信息捕捉遠距離空間交互作用,將全局池化對應分解為一對一維編碼操作,給定輸入X,通過兩個池化核空間范圍(H,1)或(1,W)分別沿水平坐標核垂直坐標對每個通道進行編碼。因此,可以將第c個通道在高度h處的輸出表示如下:
式(1)中,W為通道寬度特征向量,xc為第c個通道的輸入值。同理可以得出第c個通道在寬度w處的輸出表達式:
式(2)中,H為通道高度特征向量,xc為第c個通道的輸入值。以上兩種轉換操作分別沿著兩個空間方向聚合特征,生成一對方向感知特征映射。這與SE模塊中的擠壓操作是不同的。這兩種轉換操作讓注意力塊捕捉到空間方向上的長期依賴關系,并在另一個空間方向上保留了精確的位置信息,使得網(wǎng)絡能夠更加精準的定位感興趣區(qū)域。
為進一步利用式(1)和式(2)產(chǎn)生的表達性特征,采用協(xié)調注意力生成的方式盡可能地保持提取過程的簡潔和高效,捕捉通道間的聯(lián)系;同時可以充分利用定位信息,準確地突出感興趣區(qū)域。協(xié)調注意力機制將生成的聚合特征映射連接起來,然后傳送到1×1卷積變換函數(shù)F1中,具體操作見下式:
式中,f∈RC/r×(H+W)是中間過程在水平和垂直方向上的編碼空間信息特征表示,其中r是控制模塊大小的縮減比例參數(shù),如SE模塊。δ為非線性激活函數(shù);[zh,zw]為空間維度的連接操作。對生成的卷積進行批量歸一化及非線性操作之后,沿著空間維度將f函數(shù)分解為兩個張量,分別為fh∈RC/r×H和fw∈RC/r×W。通過兩個1×1卷積變換函數(shù)Fh和Fw分別將fh和fw變換到與原有輸入X相同通道數(shù)的張量上來,如下:
式中,ρ表示激活函數(shù)H-Swish,gh和gw表示不同方向上的注意力權重。最后結合各通道輸入值xc構成MCA模塊的最終輸出,如下:
式中,ghc(i),gwcj分別表示不同方向上第c個通道的權重值,yci.j為第c個通道的注意力模塊輸出值。MCA模塊不同于只關注衡量不同通道重要性的SE模塊,在水平和垂直方向同時施加注意力作用于輸入張量,以確認兩種特征表示中的每個元素是否存在于感興趣區(qū)域的對應位置。這種操作方式使MCA模塊能更精確地定位有效特征位置,從而實現(xiàn)對PCB裸板上各類缺陷的有效識別。
2.2 軟池化方式
Soft Pool是基于Softmax[12]的加權方法,采用自然指數(shù)e以確保較大的激活值對輸出產(chǎn)生更大的影響,同時保持了可微性,軟池化包含了信息的正向傳播和反向傳播過程中的梯度計算,也就是下采樣過程[7];與其他池化方式相似,都具有一個用于描述非線性變換域與對應激活關系的權重值wi,且
式中,每個激活ai和對應的映射i都具有一個對應權重wi,表示為特定激活指數(shù)相對于鄰域R內(nèi)所有激活指數(shù)總和的占比。這使得在2維特征空間中能夠突出更大的激活特性,以保留PCB裸板圖像中更易于區(qū)別的特征,相比于均值池化更具備合理性。軟池化操作的輸出值是通過內(nèi)核領域R內(nèi)的所有加權激活總和而產(chǎn)生的,如下式:
最終,將式(1)代入式(2)得到軟池化具體描述公式如下:
與原有的Avg Pool[9]相比,Soft Pool不需要可訓練的參數(shù),并具有更大的計算和記憶效率,由于Soft Pool具有可微性,在反向傳播過程中為每個輸入獲得了梯度值,提高了訓練速度。既對整個區(qū)域顯示進行了一定程度的抑制,又保留了一些較為突出的特征,這對于更加精準的檢測PCB裸板的缺陷是更加有利的,PCB圖像特征的軟池化過程見圖3。
如圖3所示,通過2×2卷積核對原始PCB圖像進行下采樣,輸出基于內(nèi)核區(qū)域內(nèi)原始像素的指數(shù)加權和,從而改善高對比度區(qū)域、線路邊緣區(qū)域以及特定特征激活映射,更好地提取PCB裸板的缺陷特征。
特征提取網(wǎng)絡使用池化操作來減小激活映射,這個過程對于增加接收域和減少后續(xù)卷積計算量是至關重要的。為在初始映射過程中不增加額外計算量條件下保留更豐富的最小化信息,采用上述Soft Pool操作,替換MobileNetV3末端網(wǎng)絡中的Avg Pool操作,改進后的末端網(wǎng)絡結構如圖4所示。
最后,將改進的MobileNetV3作為主干網(wǎng)絡(Backbone),以YOLOv5[13]網(wǎng)絡作為檢測模型,實現(xiàn)PCB裸板的缺陷檢測,檢測模型整體框架如圖5所示。
3 實驗過程與結果分析
3.1 實驗環(huán)境配置
本實驗的平臺為PC機Windows10系統(tǒng),CPU為 Intel(R) Core (TM) i7-10700K @3.8GHz、GPU為NVIDIA GeForce RTX 3080Ti、顯存12G,內(nèi)存16G;實驗環(huán)境及軟件為Anaconda3、PyCharm 2020.2.1、GPU 加 速 包 為 CUDA11.1 和CUDnn10.1以及深度學習框架Pytorch 1.7。
3.2 數(shù)據(jù)預處理
實驗采用PCB公共數(shù)據(jù)集[13],共包含10668張PCB裸板圖像,其中包含短路、斷路、缺口、余銅、漏焊、毛刺6種缺陷類型(圖6)。
采用LableImage對PCB裸板的6種缺陷類型進行標記,生成對應的.xml格式文件,文件內(nèi)主要包含了PCB裸板圖片名稱filename,圖片尺寸寬度width和高度heights,標注目標object,類別標簽lables,標注框bndbox及其位置信息xmin、ymin、xmax、ymax等。數(shù)據(jù)按訓練集和測試集7∶3的比例隨機分配,其中訓練集7467張圖像,測試集包含3201張圖像。在訓練前,對數(shù)據(jù)設置文件內(nèi)VOC、COCO的類別名稱、數(shù)量以及訓練路徑等相關參數(shù)進行初始化。在訓練過程中采用動量衰減因子為0.9的SGD優(yōu)化器對所有模型進行訓練,調整圖像大小為608×608,批處理大小設為8,最大迭代輪數(shù)設為300輪;權重衰減系數(shù)設為0.0005,初始學習速率設為0.001。
3.3 模型評估指標
模型評估指標是衡量模型好壞的重要參數(shù),其中平均精度值(AP)是根據(jù)在PCB裸板數(shù)據(jù)集上預測得到的精確率(Precision)和召回率(Recall)決定的,如下:
式中,TP為被正確預測的正類、FP為被正確預測的負類、FN為被錯誤預測的正類。以Precision為縱軸,Recall為橫軸的曲線被稱為P-R曲線,曲線下圍成的面積占總面積的比例為AP。PCB裸板各類缺陷的AP平均值為mAP值;FPS為每秒處理圖片的幀數(shù),上述各指標值越大,說明檢測模型的預測效果越好。模型的損失值(Loss)表示預測樣本與真實樣本的誤差,Loss越小代表模型越穩(wěn)定,檢測效果越好。
3.4 模型結果與分析
訓練完的模型會生成對應的訓練日志,其中包含了所有迭代輪數(shù)下的評估指標,通過適當?shù)钠交幚?,將PCB裸板缺陷檢測模型的整體平均損失值、訓練精度值以及召回率繪制成相應曲線圖,進行模型評估(圖7、圖8)。
從圖7可以看出,模型整體平均損失值曲線收斂速度較快,在300輪次的迭代下,最終損失值降至0.001以下,說明PCB裸板缺陷分類的效果較好,預測值與真實值之間的偏差較低,有著較穩(wěn)定的缺陷檢測性能。
從圖8可以看出,PCB裸板缺陷檢測模型的精度值及召回率較高,表示該模型能對于PCB裸板各類缺陷進行精準的預測,漏檢率較低;同時較高的召回率可以大大減低PCB裸板缺陷的誤檢率,最終的平均精確值和召回率分別為98.52%、94.76%,能夠較好地完成PCB裸板的缺陷檢測任務。
在完成PCB裸板缺陷檢測模型的訓練及指標獲取后,為進一步對改進的模型進行評估,保持實驗環(huán)境配置信息不變,使用Faster-RCNN[7]、SSD[14]、YOLOv4[8]和YOLOv5[15]深度學習模型在相同數(shù)據(jù)集上測試,并選擇上述模型的最佳權重在測試集上進行比較,各模型的PCB缺陷裸板缺陷平均精度值AP對比見表1;各模型整體性能對比見表2。
由表1和表2可知,與Faster-RCNN、SSD、YOLOv4模型相比,改進的模型mAP值分別提升了7.7.%,9.9%,4.3%;每秒檢測圖片的速度分別提升了20.9幀,12.5幀,7.3幀,模型性能占明顯優(yōu)勢。對于不同主干網(wǎng)絡的YOLOv5模型,改進的模型比YOLOv5m提高了1.4%,比YOLOv5(MobileNetV3)提升了2.8%;而檢測速度比YOLOv5m降低了0.8幀,比YOLOv5(MobileNetV3)降低了3.9幀。雖然檢測速度有些許下降,但同樣滿足PCB裸板工業(yè)缺陷檢測需求,并且在此基礎上提高了缺陷檢測精度,這對于PCB裸板生產(chǎn)的質量保障更為重要;由此證明,改進后的PCB裸板缺陷檢測模型的綜合性能效果更好,PCB裸板缺陷檢測結果見圖9。
從圖中可以看出,改進后的模型對于PCB裸板的短路、斷路、余銅、漏焊、缺口、毛刺6類缺陷的實際檢測效果較好,其中一些較小的缺陷,如缺口、毛刺也能很好的識別,強化了PCB裸板多種缺陷的檢測性能,大大降低了誤檢率。
4 結論
提出了一種改進MobileNetV3特征提取網(wǎng)絡的PCB裸板表面缺陷檢測方法,通過多方向協(xié)調注意力模塊優(yōu)化MobileNetV3線性瓶頸結構中的擠壓和激勵注意力跨塊,結合通道和位置信息的明確關系,增強網(wǎng)絡的表征能力;并采用Soft Pool替換MobileNetV3末端網(wǎng)絡的平均池化操作,保留了更豐富的最小化特征信息。采用YOLOv5網(wǎng)絡作為檢測模型,完成PCB裸板缺陷檢測;由模型的評估及對比實驗可知,提出的模型檢測效果更好,具有更強的綜合性能,可部署于PCB裸板工業(yè)缺陷檢測環(huán)節(jié)中,對PCB裸板的質量保障具有一定的實際意義。
[ 參 考 文 獻 ]
[1] 李磊, 秦偉鵬, 江庭富. 印制電路板鉆孔毛刺的產(chǎn)生原因與改善探討[J].印制電路信息, 2021, 29(11): 10-13.
[2] IKIRI Y, FUMIYA SAKO, MASAKI HASHIZUME, et al. Open defect detection in assembled circuit boards with built-in relaxation oscillators[J]. In IEEE Transactions on Components, Packaging and Manufacturing Technology, 2021, 11(06): 931-943.
[3] 魏嘉莉,王瑞豐,冀運景, 等.基于機器視覺的PCB板電解電容極性自動定位[J].電子測量技術,2021,44(16):148-155.
[4] 陶顯, 侯偉, 徐德. 基于深度學習的表面缺陷檢測方法綜述[J].自動化學報, 2021, 47(05): 1017-1034.
[5] ADIBHATLA V A, SHIEH J, ABBOD M F, et al. Detecting defects in PCB using deep learning via convolution neural networks[C]. 2018 13th International Microsystems, Packaging, Assembly and Circuits Technology Conference (IMPACT), 2018: 202-205.
[6] 瞿棟, 汪鵬宇, 黃允, 等. 基于卷積神經(jīng)網(wǎng)絡的PCB缺陷圖像識別[J].計量與測試技術, 2021, 48(08): 21-23.
[7] 耿朝暉, 龔濤. 基于改進Faster R-CNN的PCB板表面缺陷檢測[J].現(xiàn)代計算機,2021(19):89-93.
[8] 謝黎, 袁小芳, 尹柏鑫. 基于改進YOLOv4網(wǎng)絡的電路板元器件缺陷檢測[J]. 測控技術, 2022, 41(04):9.
[9] HOWARD A, MARK SANDLER, BO CHEN, et al. Searching for MobileNetV3[C]. 2019 IEEE/CVF International Conference on Computer Vision (ICCV), 2019: 1314-1324.
[10]JIE H , LI S , GANG S. Squeeze and excitation networks[C].∥ 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2018:7132-7141.
[11]PALA T, G?VEN? U, KAHRAMAN H T, et al. Comparison of pooling methods for handwritten digit recognition problem[C]. 2018 International Conference on Artificial Intelligence and Data Processing (IDAP), 2018: 1-5.
[12] RAO Q, YU B, HE K, et al. Regularization and iterative initialization of softmax for fast training of convolutional neural networks[C]. 2019 International Joint Conference on Neural Networks (IJCNN), 2019: 1-8.
[13]DING R, DAI L, LI G, et al. TDD-net: a tiny defect detection network for printed circuit boards[J]. In CAAI Transactions on Intelligence Technology, 2019, 4(02): 110-116.
[14]HAO G, YINGKUN Y, YI Q. General target detection method based on improved SSD[C]. 2019 IEEE 8th Joint International Information Technology and Artificial Intelligence Conference (ITAIC), 2019:1787-1791.
[15]FENG H, JIANG Y. Recognition of insulator based on yolov5 algorithm[C]. 2021 IEEE 11th Annual International Conference on CYBER Technology in Automation, Control, and Intelligent Systems (CYBER), 2021: 505-509.
PCB Bare Board Defect Detection Based on Improved MobileNetV3
ZHANG Pengfei, WANG Shuqing, WANG Niantao, DUN Weichao, HUANG Jianfeng
(School of Electrical and Electronic Engineering,Hubei Univ. of Tech.,Wuhan 430068,China)
Abstract:To solve the problems of low efficiency, high error detection rate and poor universality of traditional PCB bare board defect detection, a PCB surface defect detection method based on improved MobileNetV3 was proposed. Firstly, PCB data set was preprocessed. Then, multi-directional coordinated attention was used to replace the squeezing and motivating attention modules in the original network to improve the accuracy of feature localization and enhance the receptive field. Finally, the Soft Pool was used to optimize the terminal structure of MobileNetV3 to retain more feature information in the simplified activation map. Experimental results show that the average accuracy of the proposed model is 96.1%, and the average image detection speed is 25.1ms. The proposed model can efficiently identify various defect types of PCB bare board, and has practical application value for PCB bare board quality detection in industrial production.
Keywords:Bare PCB board; Defect detection; MobileNetV3; Soft pool; Deep learning
[責任編校:張巖芳]