牛振振 陳力榮 王震 牛雅麗 呂旭陽



摘? 要:針對印刷電路板缺陷檢測技術,文章提出了基于YOLOv5s的一個輕量型的CNN模型YOLO_AD,用于PCB缺陷檢測。該模型主要體現在將輕量型Ghost module作為骨干特征提取網絡,融合注意力機制,對輸入分配偏好進行通用池化和信息加權平均后,引入空洞殘差網絡,減少了網絡模型與卷積運算,提高了網絡處理效率。部署到嵌入式板卡中,采用MVC架構配合硬件優化及軟件設計搭建了實時在線的PCB目標缺陷檢測系統。實驗結果表明,測試各類缺陷識別率為90.53%,檢測速度為30 FPS。
關鍵詞:缺陷檢測;輕量型網絡;注意力機制;空洞殘差網絡;嵌入式系統
中圖分類號:TP391.4;TP18? 文獻標識碼:A? 文章編號:2096-4706(2023)04-0010-05
PCB defect Detection of Attention Mechanism and Dilated Residual Network
NIU Zhenzhen, CHEN Lirong, WANG Zhen, NIU Yali, LYU Xuyang
(College of Physics and Electronic Engineering, Shanxi University, Taiyuan? 030006, China)
Abstract: For printed circuit board defect detection technology, this paper proposes a lightweight CNN model YOLO_AD based on YOLOv5s for PCB defect detection. The model mainly embodies the lightweight Ghost module as the backbone feature extraction network, incorporates the attention mechanism, introduces the null residual network after generalized pooling and information weighted averaging of input assignment preferences, reduces the network model and convolution operations, and improves the network processing efficiency. Deployed into the embedded board, the MVC architecture is used with hardware optimization and software design to build a real-time online PCB target defect detection system. The experimental results show that the test recognition rate of various types of defects is 90.53% and the detection speed is 30 FPS.
Keywords: defect detection; lightweight network; attention mechanism; dilated residual network; embedded system
0? 引? 言
PCB線路板質量的好壞決定了設備運行的優良程度。隨著線路板集成度越高越復雜,其制造、加工、運輸等過程極易出現缺陷。然而電路板缺陷會引起嚴重的不良后果。比如,醫療設備中的電路板故障可能會危及生命,智能手機或汽車電子的問題會干擾用戶的活動。因此對PCB板的質量檢測需求日益增多。現階段電路板缺陷檢測方法可分為人工目視主觀判定法和機器視覺檢測方法。人工檢測借助顯微鏡,放大鏡,由操作人員憑直觀視覺檢測電路板是否存在缺陷。機器視覺檢測[1]可以彌補人工檢測效率低、主觀性強的缺點,同時還具備檢測速度快、自動化程度高的優點。一般機器視覺檢測分為激光檢測和機器學習檢測兩大類。Zhang等[2]采用激光脈沖熱成像技術進行特征提取結合神經網絡模型檢測偽焊料缺陷,并開發了一套智能識別設備來檢測PCB上的偽焊點,其識別率達到了85%。Lopez-Escogido等[3]提出使用2-D高精度激光傳感器并用Java開發圖形應用程序用于PCB檢測和數據處理,提高了對缺陷的特征提取的靈敏度。Ardhy等[4]提出了一種基于梯度邊緣檢測的單板計算機低成本機器視覺,解決了PCB圖像的不均勻照明問題,提高了邊緣和缺陷檢測精度。何國忠等[5]提出一種YOLOv4網絡將全局注意力機制和SPP模塊進行特征提取,有效提高了目標缺陷的識別功能,提高了PCB缺陷檢測的速度。以上方法對PCB缺陷檢測達到了一定的效果,然而上述方法網絡訓練采用隨機梯度下降的方式區分缺陷程度的敏感性不夠理想,系統處理的圖像背景數據量冗余度較高,光學檢測系統需要手動缺陷跟蹤位置和識別缺陷類型存在一些局限,YOLOv4網絡特征提取較深,目標邊緣缺陷特征提取能力隨之有待提升。
為了彌補嵌入式設備中網絡對目標邊緣缺陷特征提取不敏感、缺陷手動跟蹤定位和檢測速度慢的缺點。通過近年研究方法進行比對及深度理解,基于YOLOv5s[6]算法設計了注意力機制與空洞殘差網絡的PCB圖像缺陷檢測。模型中采用了一個輕量型GhostNet的特征提取器融合注意力機制作為YOLO_AD的骨干網絡,滿足了模型的輕量化設計的同時增加了網絡的特征提取能力;再引入空洞殘差結構模塊對PCB缺陷的特征提取,增大目標缺陷的視覺感受域和減少電路板背景的噪聲干擾、提高了系統模型檢測速度。軟件方面使用QT5進行上位機軟件MVC架構嵌入式應用結合YOLO_AD網絡部署到嵌入式開發板中。此便攜式智能檢測應用操作簡單,便捷輕巧,同樣可實時高精度對PCB目標缺陷檢測。
1? 算法原理
1.1? Ghost網絡結構
Ghost是華為諾亞方舟實驗室提出的一個輕量型神經網絡模塊。Han[7]等學者將特征圖通過一系列線性運算得到,與普通的卷積模塊相比,線性運算在每個通道上的計算量遠小于普通卷積模塊。在進行卷積運算時,Ghost module結構圖如圖1所示,采用了一種線性運算操作產生冗余的特征圖,減少了大量的卷積運算。
首先,Ghost module采用標準化卷積產生m個內在特征圖, 其中h′和w′是輸出數據的長和寬。Y′用一個簡單的線性變化產生幻影特征,其公式為:
(1)
是Y′中的第i個內在特征圖,是第i個內在特征圖的第j個線性運算,最后一個? 是用來保存內在特征圖的identity映射。通過線性運算,產生了n=m×s個特征映射。所以將Ghost module應用于YOLOv5s,可以顯著降低模型的參數量。
1.2? 注意力機制
Ghost網絡中的線性運算會導致特征圖失去一些通道信息,為了加強特征圖的不同通道的相關性,在Ghost module中引入注意力機制[8],可以分為三步:一是信息輸入;二是計算注意力分布α;三是根據注意力分布α來計算輸入信息的加權平均。如圖2所示,將不同通道的特征對分類的貢獻進行排序,提取貢獻大的通道特征進一步加強。
第1步是信息輸入:用X=[x1,…, xN]表示N個輸入信息;第二步是注意力分布計算:令Key=Value=X,則可以給出注意力分布:
αi=softmax(s(keyi,q))=softmax(s(Xi,q)? ? ? ? ? ? (2)
將α稱之為注意力分布(概率分布),s(X,q)為注意力打分機制,將上一步生成的特征圖進行打分評估;第三步進行信息加權平均:在上下文查詢q時,第i個信息受關注的程度,采用一種“激勵”的信息選擇機制實現了特征的重要性標定。
1.3? 空洞殘差卷積
空洞卷積是指通過在卷積核的元素間插入空隙來增加感受野的方法。即大小為K×K的卷積核,在每兩個元素中插入R-1個元素,空洞卷積的等效卷積核:
K′=K+(K-1)×(R-1)? ? ? ? ? ? ? ? ? ? ? ? (3)
輸出特征圖公式:
Out=(input-K′+2P)/S+1? ? ? ? ? ? ? ? ? ? ? (4)
其中:R為空洞卷積率,K為原始卷積核大小,P、S分別為填充和步長。
如圖3所示,計算結果可知空洞卷積可以有效減少卷積層參數,縮減模型計算量。
在殘差網絡結構中,以非線性f(x;)去逼近目函數h(x)時可將目標函數分解為:
h(x)=x+h(x)-x? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(5)
式中x稱為恒等函數,h(x)-x稱為殘差函數。在人工神經網絡的數學理論當中,假設激活函數足夠柔和的情況下,通用相似定理可以得出來非線性單元可以在理論上去逼近任意函數。因此:期望f(x)逼近殘差函數h(x)-x使得f(x)+x逼近目標函數h(x)。
證明:可設一個通用的殘差塊表示方式:
(6)
xl+1=f(xl)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(7)
式中? 是以直接映射的方式。 為激活函數。由此可得殘差塊另一種表示方式:
(8)
依次類推可得出神經網絡[9]中更深的層L其與其他l? 層的關系表示方式:
(9)
式(9)反映了殘差網絡結構所具有屬性:在神經網絡結構中,L層網絡參數可以表示為任意一個比L層淺的i=l層加上它們之間的殘差部分之和。根據BP網絡中使用的導數的鏈式法則,損失函數ε關于xl的梯度可以表示:
(10)
由式(10)可知在網絡訓練過程中,這表明網絡引入殘差網絡后不會出現梯度消失的問題,神經網絡中L層的梯度可以直接傳遞到任何一個比它淺的i層。
如圖4所示,可將空洞卷積替換殘差網絡中的普通卷積,同時設置空洞率為1,2,5避免提取圖片信息中的因距離間隔導致信息不相關性的問題。在降采樣過程也減少了無關特征的參數計算,又擴大了小物體檢測中的感受野,提高了網絡模型檢測速度。
1.4? YOLO_AD網絡結構
為提高網絡對PCB電路板缺陷檢測的性能,對YOLOv5s網絡做出相應改進,其YOLO_AD網絡結構如圖5所示,Input中輸入圖像的大小為640×640×3。Backbone中CBL由卷積,標準化和激活函數組成,可控制圖像的大小和通道數。GhostNet作為主干特征提取模塊,其中的線性運算為深度可分離卷積,卷積核大小為5×5,再結合注意力機制模塊,學習不同通道的重要性,抑制無效通道信息。在SPP模塊中,使用最大池化的方式,再將不同尺度的特征圖進行Concat操作。采用SPP模塊的方式,比單純地使用k×k最大池化的方式,更有效的增加主干特征的接收范圍,顯著的分離了最重要的上下文特征。
Neck中采用多尺度特征融合方法,經過空洞殘差卷積(Dilated Conv)再上采樣特征融合,Dilated Conv控制通道數量以及圖像感受域。將Neck中的高層特征圖上采樣特征圖融合后能夠在同一分辨率的條件下獲取不同感受野的特征,經過特征融合后傳遞到下一層,可以更加靈活地平衡計算量和模型能力。使得不同分辨率的特征得到了融合和分割圖恢復邊緣等信息更加精細。最終得到了80×80×64、40×40×32,兩個不同尺度的檢測層。
2? PCB嵌入式應用
采用MVC(Model View Controller)架構實現PCB嵌入式應用。
如圖6所示,MVC架構中Model(模型)包含YOLO_AD網絡可進行相關PCB數據與數據函數模塊的業務邏輯判斷和數據存取,View(視圖)是用戶與機器交互的界面,Controller(控制器)控制用戶指令和數據傳遞給模型對象,可根據數據變化實時更新視圖。用戶界面與業務邏輯分離,基本設計原則是應用功能模塊之間強內聚,弱耦合。嵌入式應用功能模塊將PCB缺陷檢測應用涉及的業務邏輯和數據函數的處理寫成每個模塊實現的某一個單一的功能,同時模塊內部的子模塊只為整體的單一功能存在。
3? 實驗訓練與結果
以北京大學智能機器人開放實驗室的開源PCB作為數據集[10]進行網絡訓練。數據集的每張圖片使用LabelImg軟件標注為VOC格式,標注的PCB缺陷主要有漏孔、缺口、斷路、短路、毛刺和余銅共6類缺陷。包含1 386張標注過的圖片,每張圖片的分辨率大小不同,送入網絡訓練之前需要將圖片進行分割處理,數據集擴充到11 000張。按照8:1:1的比例將數據集劃分為訓練集、驗證集、測試集。
3.1? 網絡模型訓練
本實驗使用的GPU為NVIDIA Tesla K80,使用的深度學習框架為pytorch1.6。網絡訓練時,設定Epoch為300,batch size為64,初始學習率為0.01,衰減系數為0.000 5。在訓練過程中,可以通過繪制損耗曲線來直觀地觀察訓練的動態過程,損失越小代表預測結果與實際結果的誤差就越小。本文提出的YOLO_AD模型與YOLOv5s模型在訓練期間的相應平均損失曲線如圖7所示。橫坐標表示訓練迭代的次數,縱坐標表示訓練期間的損失值。
3.2? 網絡模型評價指標
數據集樣本被分為正負樣本,TP指的是正檢;TN指的是無真值;FP指的是錯檢;FN指的是漏檢。準確率Precision、目標召回率Recall、幾何平均F1值、精確度均值AP和AP均值mAP分別表示為:
(11)
(12)
(13)
(14)
(15)
3.3? 實驗結果分析
為驗證上述模型的有效性,在顯卡Tesla K80電腦端進行消融實驗對比,構建三種模型可分別命名為YOLOv5s_A、YOLOv5s_B、YOLOv5s_C。這三種模型分別在YOLOv5s基礎上增加了注意力機制和空洞殘差結構;修改為主干網絡為Ghost和增加通道注意力機制;修改網絡為Ghost和增加空洞殘差結構。YOLO_AD為本文所提模型,在YOLOv5s_A網絡的基礎上改變特征主干網絡為輕量型網絡。
如表1所示,可知YOLOv5s_A和YOLOv5s_B網絡對PCB缺陷檢測的mAP較原網絡分別增加了2.3%和1.6%。可驗證注意力機制對網絡的有效性,對圖像特征的側重點不同,強調其主要特征,抑制無效特征信息。通過對信息加權平均得出重要特征圖,進而進行權重分配時能夠及時更新缺陷的主要特征的權重,給網絡的檢測性能得到了提升。YOLOv5s_A和YOLOv5s_B網絡同時也證明了空洞卷積殘差結構對網絡的提升也有一定的效果,針對電路板邊緣處的特征信息擴大了感受域,有利于豐富很可能被注意力機制拋棄的一部分特征信息。YOLOv5s_C和YOLO_AD網絡的mAP值比另外三個網絡都高,分析原因雖然Ghost輕量型的網絡會減少卷積核的運算量,但是結合通道注意力機制可以有效解決特征圖深度可分離卷積時參數量減少的問題。如表1和表2所示,還可知輕量型的網絡對電路缺陷檢測精度保持一定的穩定性的前提下,減少了網絡參數和提高了檢測速度。尤其是網絡模型參數的減少為其他網絡的1/3~1/2。為將YOLO_AD網絡部署到嵌入式開發板中奠定了理論基礎,空洞殘差卷積同時保證了網絡對圖像邊緣目標特征提取的能力。
3.4? 模型遷移
如圖8(a)所示,YOLO_AD網絡模型采用MVC架構遷移到(512核Volta GPU,64張量心,8核 Carmel ARM v8.2 64位 CPU處理器)嵌入式開發板[26-27]中,PCB檢測嵌入式應用登錄界面如圖8(b)所示,設置了檢測系統的賬號和密碼確保操作人員身份驗證,同時也可記錄員工的使用情況。檢測效果如圖8(c)所示,PCB嵌入式應用最左側的工具欄包含網絡訓練、遠程服務連接、網絡訓練參數調整、圖片檢測和保存的功能,同時具有缺陷統計功能。其中對各類缺陷的檢測效果的置信度均達到了0.83以上。經過tensorRT加速得出不同模型檢測各類缺陷的效果可實時幀達到30 FPS。如表3所示,將消融實驗中五種網絡類型分別部署到嵌入式中,進行Onnx模型轉engine文件在相同數據庫下針對缺陷識別率YOLO_AD效果最好。
4? 結? 論
本文在YOLOv5s算法的基礎上使用輕量型網絡Ghost并添加通道注意力機制和空洞殘差卷積結構。將Ghost網絡融合通道注意力機制進行主干特征提取網絡,實現了網絡相較于原網絡的輕量化設計。結合空洞殘差卷積結構解決注意力機制下造成的邊緣特征提取不足的問題,豐富了PCB中邊緣目標缺陷的特征提取能力。在電腦端進行網絡訓練和測試mAP性能指標得出網絡的參數量小和檢測速度快的優點。最后在嵌入式開發板檢測結果得知YOLO_AD網絡有良好的魯棒性和準確性,嵌入式設備檢測各類缺陷的置信度均大于0.80,識別率為90.53%,檢測速度為30 FPS。此算法目前存在一定的局限性,可進一步進行嵌入式網絡的優化和嵌入式應用開發的多樣化。
參考文獻:
[1] 王耀南,陳鐵健,賀振東,等.智能制造裝備視覺檢測控制方法綜述 [J].控制理論與應用,2015,32(3):273-286.
[2] ZHANG R S,GUO X W,HE M Y.Intelligent Pseudo Solder Detection in PCB Using Laser-Pulsed Thermography and Neural Network [J].IEEE Sensors Journal,2021,22(1):631-638.
[3] LOPEZ-ESCOGIDO D,LUCA A D. 2-D High Precision Laser Sensor for Detecting Small Defects in PCBs [C]//2012 9th International Conference on Electrical Engineering,Computing Science and Automatic Control(CCE).Mexico:IEEE,2012:1-6.
[4] ARDHY F,HARIADI F I. Development of SBC Based Machine-Vision System for PCB Board Assembly Automatic Optical Inspection [C]//2016 International Symposium on Electronics and Smart Devices(ISESD).Bandung:IEEE,2016:386-393.
[5] 何國忠,梁宇.基于卷積神經網絡的PCB缺陷檢測 [J].圖學學報,2022,43(1):21-27.
[6] WANG D D,HE D J. Channel Pruned YOLO V5s-Based Deep Learning Approach for Rapid and Accurate Apple Fruitlet Detection before Fruit Thinning [J].Biosystems Engineering,2021,210:271-281.
[7] HAN K,WANG Y H,TIAN Q,et al. GhostNet:More Features From Cheap Operations [C]//2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition(CVPR).Seattle:IEEE,2020:1577-1586.
[8] NIU Z Y,ZHONG G Q,YU H. A Review on the Attention Mechanism of Deep Learning [J].Neurocomputing,2021,452:48-62.
[9] HE K M,ZHANG X Y Z,REN S Q,et al. Deep Residual Learning for Image Recognition [C]//2016 IEEE Conference on Computer Vision and Pattern Recognition(CVPR).Las Vegas:IEEE,2016:770-778.
[10] DING R W,DAI L H,LI G P,et al. TDD-Net:A Tiny Defect Detection Network for Printed Circuit Boards [J].CAAI Transactions on Intelligence Technology,2019,4(2):110-116.
作者簡介:牛振振(1995—),男,漢族,河南商丘人,碩士研究生在讀,研究方向:機器視覺;陳力榮(1988—),男,漢族,山西呂梁人,副教授,博士,研究方向:機器視覺、光量子器件;王震(1997—)男,漢族,山西長治人,碩士研究生在讀,研究方向:光通信;牛雅麗(1999—),女,漢族,山西晉城人,碩士研究生在讀,研究方向:光通信;呂旭陽(2000—),男,漢族,河北邯鄲人,碩士研究生在讀,研究方向:機器視覺。
收稿日期:2022-10-20
基金項目:國家自然科學基金(61805133)