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



摘? 要:針對印刷電路板缺陷檢測技術(shù),文章提出了基于YOLOv5s的一個輕量型的CNN模型YOLO_AD,用于PCB缺陷檢測。該模型主要體現(xiàn)在將輕量型Ghost module作為骨干特征提取網(wǎng)絡(luò),融合注意力機制,對輸入分配偏好進行通用池化和信息加權(quán)平均后,引入空洞殘差網(wǎng)絡(luò),減少了網(wǎng)絡(luò)模型與卷積運算,提高了網(wǎng)絡(luò)處理效率。部署到嵌入式板卡中,采用MVC架構(gòu)配合硬件優(yōu)化及軟件設(shè)計搭建了實時在線的PCB目標(biāo)缺陷檢測系統(tǒng)。實驗結(jié)果表明,測試各類缺陷識別率為90.53%,檢測速度為30 FPS。
關(guān)鍵詞:缺陷檢測;輕量型網(wǎng)絡(luò);注意力機制;空洞殘差網(wǎng)絡(luò);嵌入式系統(tǒng)
中圖分類號:TP391.4;TP18? 文獻標(biāo)識碼: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線路板質(zhì)量的好壞決定了設(shè)備運行的優(yōu)良程度。隨著線路板集成度越高越復(fù)雜,其制造、加工、運輸?shù)冗^程極易出現(xiàn)缺陷。然而電路板缺陷會引起嚴(yán)重的不良后果。比如,醫(yī)療設(shè)備中的電路板故障可能會危及生命,智能手機或汽車電子的問題會干擾用戶的活動。因此對PCB板的質(zhì)量檢測需求日益增多。現(xiàn)階段電路板缺陷檢測方法可分為人工目視主觀判定法和機器視覺檢測方法。人工檢測借助顯微鏡,放大鏡,由操作人員憑直觀視覺檢測電路板是否存在缺陷。機器視覺檢測[1]可以彌補人工檢測效率低、主觀性強的缺點,同時還具備檢測速度快、自動化程度高的優(yōu)點。一般機器視覺檢測分為激光檢測和機器學(xué)習(xí)檢測兩大類。Zhang等[2]采用激光脈沖熱成像技術(shù)進行特征提取結(jié)合神經(jīng)網(wǎng)絡(luò)模型檢測偽焊料缺陷,并開發(fā)了一套智能識別設(shè)備來檢測PCB上的偽焊點,其識別率達(dá)到了85%。Lopez-Escogido等[3]提出使用2-D高精度激光傳感器并用Java開發(fā)圖形應(yīng)用程序用于PCB檢測和數(shù)據(jù)處理,提高了對缺陷的特征提取的靈敏度。Ardhy等[4]提出了一種基于梯度邊緣檢測的單板計算機低成本機器視覺,解決了PCB圖像的不均勻照明問題,提高了邊緣和缺陷檢測精度。何國忠等[5]提出一種YOLOv4網(wǎng)絡(luò)將全局注意力機制和SPP模塊進行特征提取,有效提高了目標(biāo)缺陷的識別功能,提高了PCB缺陷檢測的速度。以上方法對PCB缺陷檢測達(dá)到了一定的效果,然而上述方法網(wǎng)絡(luò)訓(xùn)練采用隨機梯度下降的方式區(qū)分缺陷程度的敏感性不夠理想,系統(tǒng)處理的圖像背景數(shù)據(jù)量冗余度較高,光學(xué)檢測系統(tǒng)需要手動缺陷跟蹤位置和識別缺陷類型存在一些局限,YOLOv4網(wǎng)絡(luò)特征提取較深,目標(biāo)邊緣缺陷特征提取能力隨之有待提升。
為了彌補嵌入式設(shè)備中網(wǎng)絡(luò)對目標(biāo)邊緣缺陷特征提取不敏感、缺陷手動跟蹤定位和檢測速度慢的缺點。通過近年研究方法進行比對及深度理解,基于YOLOv5s[6]算法設(shè)計了注意力機制與空洞殘差網(wǎng)絡(luò)的PCB圖像缺陷檢測。模型中采用了一個輕量型GhostNet的特征提取器融合注意力機制作為YOLO_AD的骨干網(wǎng)絡(luò),滿足了模型的輕量化設(shè)計的同時增加了網(wǎng)絡(luò)的特征提取能力;再引入空洞殘差結(jié)構(gòu)模塊對PCB缺陷的特征提取,增大目標(biāo)缺陷的視覺感受域和減少電路板背景的噪聲干擾、提高了系統(tǒng)模型檢測速度。軟件方面使用QT5進行上位機軟件MVC架構(gòu)嵌入式應(yīng)用結(jié)合YOLO_AD網(wǎng)絡(luò)部署到嵌入式開發(fā)板中。此便攜式智能檢測應(yīng)用操作簡單,便捷輕巧,同樣可實時高精度對PCB目標(biāo)缺陷檢測。
1? 算法原理
1.1? Ghost網(wǎng)絡(luò)結(jié)構(gòu)
Ghost是華為諾亞方舟實驗室提出的一個輕量型神經(jīng)網(wǎng)絡(luò)模塊。Han[7]等學(xué)者將特征圖通過一系列線性運算得到,與普通的卷積模塊相比,線性運算在每個通道上的計算量遠(yuǎn)小于普通卷積模塊。在進行卷積運算時,Ghost module結(jié)構(gòu)圖如圖1所示,采用了一種線性運算操作產(chǎn)生冗余的特征圖,減少了大量的卷積運算。
首先,Ghost module采用標(biāo)準(zhǔn)化卷積產(chǎn)生m個內(nèi)在特征圖, 其中h′和w′是輸出數(shù)據(jù)的長和寬。Y′用一個簡單的線性變化產(chǎn)生幻影特征,其公式為:
(1)
是Y′中的第i個內(nèi)在特征圖,是第i個內(nèi)在特征圖的第j個線性運算,最后一個? 是用來保存內(nèi)在特征圖的identity映射。通過線性運算,產(chǎn)生了n=m×s個特征映射。所以將Ghost module應(yīng)用于YOLOv5s,可以顯著降低模型的參數(shù)量。
1.2? 注意力機制
Ghost網(wǎng)絡(luò)中的線性運算會導(dǎo)致特征圖失去一些通道信息,為了加強特征圖的不同通道的相關(guān)性,在Ghost module中引入注意力機制[8],可以分為三步:一是信息輸入;二是計算注意力分布α;三是根據(jù)注意力分布α來計算輸入信息的加權(quán)平均。如圖2所示,將不同通道的特征對分類的貢獻進行排序,提取貢獻大的通道特征進一步加強。
第1步是信息輸入:用X=[x1,…, xN]表示N個輸入信息;第二步是注意力分布計算:令Key=Value=X,則可以給出注意力分布:
αi=softmax(s(keyi,q))=softmax(s(Xi,q)? ? ? ? ? ? (2)
將α稱之為注意力分布(概率分布),s(X,q)為注意力打分機制,將上一步生成的特征圖進行打分評估;第三步進行信息加權(quán)平均:在上下文查詢q時,第i個信息受關(guān)注的程度,采用一種“激勵”的信息選擇機制實現(xiàn)了特征的重要性標(biāo)定。
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所示,計算結(jié)果可知空洞卷積可以有效減少卷積層參數(shù),縮減模型計算量。
在殘差網(wǎng)絡(luò)結(jié)構(gòu)中,以非線性f(x;)去逼近目函數(shù)h(x)時可將目標(biāo)函數(shù)分解為:
h(x)=x+h(x)-x? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(5)
式中x稱為恒等函數(shù),h(x)-x稱為殘差函數(shù)。在人工神經(jīng)網(wǎng)絡(luò)的數(shù)學(xué)理論當(dāng)中,假設(shè)激活函數(shù)足夠柔和的情況下,通用相似定理可以得出來非線性單元可以在理論上去逼近任意函數(shù)。因此:期望f(x)逼近殘差函數(shù)h(x)-x使得f(x)+x逼近目標(biāo)函數(shù)h(x)。
證明:可設(shè)一個通用的殘差塊表示方式:
(6)
xl+1=f(xl)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(7)
式中? 是以直接映射的方式。 為激活函數(shù)。由此可得殘差塊另一種表示方式:
(8)
依次類推可得出神經(jīng)網(wǎng)絡(luò)[9]中更深的層L其與其他l? 層的關(guān)系表示方式:
(9)
式(9)反映了殘差網(wǎng)絡(luò)結(jié)構(gòu)所具有屬性:在神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中,L層網(wǎng)絡(luò)參數(shù)可以表示為任意一個比L層淺的i=l層加上它們之間的殘差部分之和。根據(jù)BP網(wǎng)絡(luò)中使用的導(dǎo)數(shù)的鏈?zhǔn)椒▌t,損失函數(shù)ε關(guān)于xl的梯度可以表示:
(10)
由式(10)可知在網(wǎng)絡(luò)訓(xùn)練過程中,這表明網(wǎng)絡(luò)引入殘差網(wǎng)絡(luò)后不會出現(xiàn)梯度消失的問題,神經(jīng)網(wǎng)絡(luò)中L層的梯度可以直接傳遞到任何一個比它淺的i層。
如圖4所示,可將空洞卷積替換殘差網(wǎng)絡(luò)中的普通卷積,同時設(shè)置空洞率為1,2,5避免提取圖片信息中的因距離間隔導(dǎo)致信息不相關(guān)性的問題。在降采樣過程也減少了無關(guān)特征的參數(shù)計算,又?jǐn)U大了小物體檢測中的感受野,提高了網(wǎng)絡(luò)模型檢測速度。
1.4? YOLO_AD網(wǎng)絡(luò)結(jié)構(gòu)
為提高網(wǎng)絡(luò)對PCB電路板缺陷檢測的性能,對YOLOv5s網(wǎng)絡(luò)做出相應(yīng)改進,其YOLO_AD網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示,Input中輸入圖像的大小為640×640×3。Backbone中CBL由卷積,標(biāo)準(zhǔn)化和激活函數(shù)組成,可控制圖像的大小和通道數(shù)。GhostNet作為主干特征提取模塊,其中的線性運算為深度可分離卷積,卷積核大小為5×5,再結(jié)合注意力機制模塊,學(xué)習(xí)不同通道的重要性,抑制無效通道信息。在SPP模塊中,使用最大池化的方式,再將不同尺度的特征圖進行Concat操作。采用SPP模塊的方式,比單純地使用k×k最大池化的方式,更有效的增加主干特征的接收范圍,顯著的分離了最重要的上下文特征。
Neck中采用多尺度特征融合方法,經(jīng)過空洞殘差卷積(Dilated Conv)再上采樣特征融合,Dilated Conv控制通道數(shù)量以及圖像感受域。將Neck中的高層特征圖上采樣特征圖融合后能夠在同一分辨率的條件下獲取不同感受野的特征,經(jīng)過特征融合后傳遞到下一層,可以更加靈活地平衡計算量和模型能力。使得不同分辨率的特征得到了融合和分割圖恢復(fù)邊緣等信息更加精細(xì)。最終得到了80×80×64、40×40×32,兩個不同尺度的檢測層。
2? PCB嵌入式應(yīng)用
采用MVC(Model View Controller)架構(gòu)實現(xiàn)PCB嵌入式應(yīng)用。
如圖6所示,MVC架構(gòu)中Model(模型)包含YOLO_AD網(wǎng)絡(luò)可進行相關(guān)PCB數(shù)據(jù)與數(shù)據(jù)函數(shù)模塊的業(yè)務(wù)邏輯判斷和數(shù)據(jù)存取,View(視圖)是用戶與機器交互的界面,Controller(控制器)控制用戶指令和數(shù)據(jù)傳遞給模型對象,可根據(jù)數(shù)據(jù)變化實時更新視圖。用戶界面與業(yè)務(wù)邏輯分離,基本設(shè)計原則是應(yīng)用功能模塊之間強內(nèi)聚,弱耦合。嵌入式應(yīng)用功能模塊將PCB缺陷檢測應(yīng)用涉及的業(yè)務(wù)邏輯和數(shù)據(jù)函數(shù)的處理寫成每個模塊實現(xiàn)的某一個單一的功能,同時模塊內(nèi)部的子模塊只為整體的單一功能存在。
3? 實驗訓(xùn)練與結(jié)果
以北京大學(xué)智能機器人開放實驗室的開源PCB作為數(shù)據(jù)集[10]進行網(wǎng)絡(luò)訓(xùn)練。數(shù)據(jù)集的每張圖片使用LabelImg軟件標(biāo)注為VOC格式,標(biāo)注的PCB缺陷主要有漏孔、缺口、斷路、短路、毛刺和余銅共6類缺陷。包含1 386張標(biāo)注過的圖片,每張圖片的分辨率大小不同,送入網(wǎng)絡(luò)訓(xùn)練之前需要將圖片進行分割處理,數(shù)據(jù)集擴充到11 000張。按照8:1:1的比例將數(shù)據(jù)集劃分為訓(xùn)練集、驗證集、測試集。
3.1? 網(wǎng)絡(luò)模型訓(xùn)練
本實驗使用的GPU為NVIDIA Tesla K80,使用的深度學(xué)習(xí)框架為pytorch1.6。網(wǎng)絡(luò)訓(xùn)練時,設(shè)定Epoch為300,batch size為64,初始學(xué)習(xí)率為0.01,衰減系數(shù)為0.000 5。在訓(xùn)練過程中,可以通過繪制損耗曲線來直觀地觀察訓(xùn)練的動態(tài)過程,損失越小代表預(yù)測結(jié)果與實際結(jié)果的誤差就越小。本文提出的YOLO_AD模型與YOLOv5s模型在訓(xùn)練期間的相應(yīng)平均損失曲線如圖7所示。橫坐標(biāo)表示訓(xùn)練迭代的次數(shù),縱坐標(biāo)表示訓(xùn)練期間的損失值。
3.2? 網(wǎng)絡(luò)模型評價指標(biāo)
數(shù)據(jù)集樣本被分為正負(fù)樣本,TP指的是正檢;TN指的是無真值;FP指的是錯檢;FN指的是漏檢。準(zhǔn)確率Precision、目標(biāo)召回率Recall、幾何平均F1值、精確度均值A(chǔ)P和AP均值mAP分別表示為:
(11)
(12)
(13)
(14)
(15)
3.3? 實驗結(jié)果分析
為驗證上述模型的有效性,在顯卡Tesla K80電腦端進行消融實驗對比,構(gòu)建三種模型可分別命名為YOLOv5s_A、YOLOv5s_B、YOLOv5s_C。這三種模型分別在YOLOv5s基礎(chǔ)上增加了注意力機制和空洞殘差結(jié)構(gòu);修改為主干網(wǎng)絡(luò)為Ghost和增加通道注意力機制;修改網(wǎng)絡(luò)為Ghost和增加空洞殘差結(jié)構(gòu)。YOLO_AD為本文所提模型,在YOLOv5s_A網(wǎng)絡(luò)的基礎(chǔ)上改變特征主干網(wǎng)絡(luò)為輕量型網(wǎng)絡(luò)。
如表1所示,可知YOLOv5s_A和YOLOv5s_B網(wǎng)絡(luò)對PCB缺陷檢測的mAP較原網(wǎng)絡(luò)分別增加了2.3%和1.6%。可驗證注意力機制對網(wǎng)絡(luò)的有效性,對圖像特征的側(cè)重點不同,強調(diào)其主要特征,抑制無效特征信息。通過對信息加權(quán)平均得出重要特征圖,進而進行權(quán)重分配時能夠及時更新缺陷的主要特征的權(quán)重,給網(wǎng)絡(luò)的檢測性能得到了提升。YOLOv5s_A和YOLOv5s_B網(wǎng)絡(luò)同時也證明了空洞卷積殘差結(jié)構(gòu)對網(wǎng)絡(luò)的提升也有一定的效果,針對電路板邊緣處的特征信息擴大了感受域,有利于豐富很可能被注意力機制拋棄的一部分特征信息。YOLOv5s_C和YOLO_AD網(wǎng)絡(luò)的mAP值比另外三個網(wǎng)絡(luò)都高,分析原因雖然Ghost輕量型的網(wǎng)絡(luò)會減少卷積核的運算量,但是結(jié)合通道注意力機制可以有效解決特征圖深度可分離卷積時參數(shù)量減少的問題。如表1和表2所示,還可知輕量型的網(wǎng)絡(luò)對電路缺陷檢測精度保持一定的穩(wěn)定性的前提下,減少了網(wǎng)絡(luò)參數(shù)和提高了檢測速度。尤其是網(wǎng)絡(luò)模型參數(shù)的減少為其他網(wǎng)絡(luò)的1/3~1/2。為將YOLO_AD網(wǎng)絡(luò)部署到嵌入式開發(fā)板中奠定了理論基礎(chǔ),空洞殘差卷積同時保證了網(wǎng)絡(luò)對圖像邊緣目標(biāo)特征提取的能力。
3.4? 模型遷移
如圖8(a)所示,YOLO_AD網(wǎng)絡(luò)模型采用MVC架構(gòu)遷移到(512核Volta GPU,64張量心,8核 Carmel ARM v8.2 64位 CPU處理器)嵌入式開發(fā)板[26-27]中,PCB檢測嵌入式應(yīng)用登錄界面如圖8(b)所示,設(shè)置了檢測系統(tǒng)的賬號和密碼確保操作人員身份驗證,同時也可記錄員工的使用情況。檢測效果如圖8(c)所示,PCB嵌入式應(yīng)用最左側(cè)的工具欄包含網(wǎng)絡(luò)訓(xùn)練、遠(yuǎn)程服務(wù)連接、網(wǎng)絡(luò)訓(xùn)練參數(shù)調(diào)整、圖片檢測和保存的功能,同時具有缺陷統(tǒng)計功能。其中對各類缺陷的檢測效果的置信度均達(dá)到了0.83以上。經(jīng)過tensorRT加速得出不同模型檢測各類缺陷的效果可實時幀達(dá)到30 FPS。如表3所示,將消融實驗中五種網(wǎng)絡(luò)類型分別部署到嵌入式中,進行Onnx模型轉(zhuǎn)engine文件在相同數(shù)據(jù)庫下針對缺陷識別率YOLO_AD效果最好。
4? 結(jié)? 論
本文在YOLOv5s算法的基礎(chǔ)上使用輕量型網(wǎng)絡(luò)Ghost并添加通道注意力機制和空洞殘差卷積結(jié)構(gòu)。將Ghost網(wǎng)絡(luò)融合通道注意力機制進行主干特征提取網(wǎng)絡(luò),實現(xiàn)了網(wǎng)絡(luò)相較于原網(wǎng)絡(luò)的輕量化設(shè)計。結(jié)合空洞殘差卷積結(jié)構(gòu)解決注意力機制下造成的邊緣特征提取不足的問題,豐富了PCB中邊緣目標(biāo)缺陷的特征提取能力。在電腦端進行網(wǎng)絡(luò)訓(xùn)練和測試mAP性能指標(biāo)得出網(wǎng)絡(luò)的參數(shù)量小和檢測速度快的優(yōu)點。最后在嵌入式開發(fā)板檢測結(jié)果得知YOLO_AD網(wǎng)絡(luò)有良好的魯棒性和準(zhǔn)確性,嵌入式設(shè)備檢測各類缺陷的置信度均大于0.80,識別率為90.53%,檢測速度為30 FPS。此算法目前存在一定的局限性,可進一步進行嵌入式網(wǎng)絡(luò)的優(yōu)化和嵌入式應(yīng)用開發(fā)的多樣化。
參考文獻:
[1] 王耀南,陳鐵健,賀振東,等.智能制造裝備視覺檢測控制方法綜述 [J].控制理論與應(yīng)用,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] 何國忠,梁宇.基于卷積神經(jīng)網(wǎng)絡(luò)的PCB缺陷檢測 [J].圖學(xué)學(xué)報,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
基金項目:國家自然科學(xué)基金(61805133)