季堂煜,趙 倩,余文濤,梁 爽,趙 琰
(上海電力大學(xué)電子與信息工程學(xué)院,上海 201306)
PCB作為承載集成電路的重要方式,其表面缺陷會導(dǎo)致電路板出現(xiàn)串?dāng)_等問題,限制了使用年限。目前,由于PCB表面缺陷檢測自身存在的尺寸小、與背景近似度高以及數(shù)據(jù)采集過程中外界干擾等問題,導(dǎo)致檢測效果較差[1]。且因PCB表面缺陷對于電氣特性影響較小,難以通過電氣特性測量檢測法[2]進(jìn)行檢測;而借助人眼檢測法雖檢測效果較好,但檢測速度較慢,難以實(shí)現(xiàn)工業(yè)快速檢測需求。因此探尋合理的方法成為當(dāng)下研究的熱門問題。
近年來,隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展[3-4],不僅有效克服了數(shù)據(jù)采集過程中外界干擾對目標(biāo)檢測的不利影響,并且深度學(xué)習(xí)在PCB表面缺陷檢測方面已經(jīng)取得了一定成效。何國忠等[5]提出基于改進(jìn)YOLOv4的PCB表面缺陷檢測模型,mAP0.5可達(dá)91.4%;胡江宇等[6]提出基于改進(jìn)FasterRCNN的PCB表面缺陷檢測模型,mAP0.5可達(dá)78.21%;李聞等[7]提出基于改進(jìn)YOLOv3的PCB表面缺陷檢測模型,mAP0.5可達(dá)87.6%。上述方法證明了深度學(xué)習(xí)算法可以應(yīng)用在PCB表面缺陷檢測中,但對于PCB表面缺陷的小目標(biāo)[8]問題考慮欠妥,導(dǎo)致模型的實(shí)際檢測效果欠佳。
基于上述研究成果,本文提出一種基于增強(qiáng)小目標(biāo)特征提取的PCB表面缺陷檢測模型。借鑒YOLOv5[9]網(wǎng)絡(luò)架構(gòu)引入SPDConv[10]提高網(wǎng)絡(luò)各階段對小目標(biāo)信息的提取能力;在網(wǎng)絡(luò)最深層借助CA注意力機(jī)制[11],加強(qiáng)深層語義信息的傳遞能力。同時引入HardSwish激活函數(shù),加快模型的推理速度。在特征融合階段,提出T3Head小目標(biāo)特征融合結(jié)構(gòu),在模型自下而上融合過程中以轉(zhuǎn)置卷積取代上采樣層,提高局部信息間的關(guān)聯(lián)度;在自上而下融合過程中引入SPDConv模塊進(jìn)一步增強(qiáng)小目標(biāo)信息的融合,此外在特征融合各階段間引入CBAM[12]注意力機(jī)制,加強(qiáng)上下文信息的傳遞。在訓(xùn)練過程中,遷移VOC[13]數(shù)據(jù)集預(yù)訓(xùn)練權(quán)重,提高模型的泛化性;采用EIOU-NMS[14]進(jìn)行后處理,改善模型的檢測結(jié)果。在北京大學(xué)開源PCB表面缺陷數(shù)據(jù)集[15]上,模型的mAP0.5可達(dá)92.4%,比YOLOv5s模型提高了0.9%,模型實(shí)際檢測效果更好。
YOLOv5模型雖被廣泛應(yīng)用于目標(biāo)檢測任務(wù)中,但是模型對于小目標(biāo)特征提取能力較弱,無法較好地完成PCB表面缺陷檢測任務(wù)?;诖?本文提出SPDYOLOv5增強(qiáng)小目標(biāo)特征提取模型,完整結(jié)構(gòu)圖如圖1所示。
圖1 完整網(wǎng)絡(luò)模型圖
首先輸入圖像為640×640×3,經(jīng)過Focus[8]結(jié)構(gòu)變換為320×320×32尺寸的特征圖,再經(jīng)過多階段殘差網(wǎng)絡(luò),輸出尺寸為80×80×128、40×40×256以及20×20×512,用于特征融合。隨后通過增強(qiáng)小目標(biāo)特征融合結(jié)構(gòu)獲取尺寸為80×80×128用于檢測淺層小目標(biāo),40×40×256用于檢測中目標(biāo),20×20×512用于檢測大目標(biāo)。
改進(jìn)后的主干網(wǎng)絡(luò)不僅繼承了CSPNet的強(qiáng)特征提取能力,對于小目標(biāo)也能更好地進(jìn)行特征提取,并且通過在模型中使用HardSwish激活函數(shù),加速了模型推理。主干網(wǎng)絡(luò)的改進(jìn)點(diǎn)主要包括以下2個方面。
1.1.1 SPDConv小目標(biāo)增強(qiáng)特征提取模塊
SPDConv模塊由SPD模塊與步長為1的卷積組成,運(yùn)算過程如圖2所示。首先將輸入為W×H×C的特征圖按照隔點(diǎn)采樣的方式,獲取尺寸為W/2×H/2×C的4個特征圖,隨后將拼接得到尺寸為W/2×H/2×4C的特征圖,接著通過1×1卷積進(jìn)行降維,并構(gòu)建特征圖之間的關(guān)聯(lián)性,得到尺寸為W/2×H/2×C的特征圖。從上述推導(dǎo)中可知,SPDConv模塊相比于傳統(tǒng)卷積運(yùn)算對于信息的保留度更高,因此能有效提高對于小目標(biāo)的特征提取能力。
圖2 SPDConv運(yùn)算過程圖
為直觀體現(xiàn)引入SPDConv前后對模型學(xué)習(xí)能力的影響,可視化第3層的特征圖,如圖3所示。從圖3可知,引入SPDConv后,模型獲取的特征圖細(xì)節(jié)特征更加明顯豐富。
(b)改進(jìn)前網(wǎng)絡(luò)第3層獲取的特征圖
(c)改進(jìn)后網(wǎng)絡(luò)第三層獲取的特征圖圖3 引入SPDConv前后第3層特征圖的對比
1.1.2 CA注意力機(jī)制
隨著網(wǎng)絡(luò)深度的不斷加深,獲取的信息由淺層位置信息逐漸抽象為高維語義信息,為提高模型對于高維局部語義信息的關(guān)注能力,本文提出在主干網(wǎng)絡(luò)最深層與特征融合結(jié)構(gòu)間引入CA注意力機(jī)制,加強(qiáng)上下文信息的傳遞能力。CA注意力機(jī)制的運(yùn)算過程如圖4所示。對于輸入為H×W×C的特征圖,先同時從圖像高與寬兩個維度進(jìn)行全局平均池化得到尺寸為H×1×C和1×W×C的特征圖;接著將兩個尺寸的特征圖進(jìn)行拼接并通過共享卷積從通道維度進(jìn)行降維,得到尺寸為1×(W+H)×C/r的特征圖;再經(jīng)過非線性層,提高其非線性表達(dá)能力。隨后以1×1卷積進(jìn)行升維,將特征圖分別從寬度與高度兩個維度,恢復(fù)至H×1×C和1×W×C兩個尺度的特征圖并且通過HardSigmoid賦予權(quán)值,最后將特征圖尺寸變化至H×W×C。因此從CA注意力機(jī)制的運(yùn)算過程可知,CA注意力對于輸入的特征圖從高度與寬度兩個維度進(jìn)行權(quán)重編碼。因此將CA注意力機(jī)制應(yīng)用于網(wǎng)絡(luò)最深層,可有效提高模型對高維語義信息的傳遞能力。
針對YOLOv5特征融合網(wǎng)絡(luò)對小目標(biāo)檢測能力較弱的情況,對于自下而上部分引入轉(zhuǎn)置卷積取代池化操作。在自上而下部分引入SPDConv結(jié)構(gòu),有效保留小目標(biāo)的信息??梢暬诮挡蓸与A段引入SPDConv結(jié)構(gòu)前后的特征圖,如圖5所示。從圖5可知,在引入SPDConv后網(wǎng)絡(luò)第19層獲取的信息更清晰,有效提高了模型對高維語義信息的提取能力。
(a)第19層引入SPDConv前的特征圖
(b)第19層引入SPDConv后獲取的特征圖圖5 特征融合階段第19層引入SPDConv前后的特征圖
原始YOLOv5網(wǎng)絡(luò)在特征結(jié)構(gòu)通過臨近插值進(jìn)行上采樣,不具備參數(shù)調(diào)節(jié)與自我學(xué)習(xí)能力,輸入輸出關(guān)聯(lián)度較差。轉(zhuǎn)置卷積不僅具有可學(xué)習(xí)的參數(shù),同時可以更好地構(gòu)建輸入輸出關(guān)系。轉(zhuǎn)置卷積的運(yùn)算過程為:首先對待轉(zhuǎn)置卷積的特征圖在相鄰元素間填充0進(jìn)行池化,然后再進(jìn)行卷積。對于上采樣部分,應(yīng)用轉(zhuǎn)置卷積可以提高臨近特征圖之間的關(guān)聯(lián)度,對于小目標(biāo)特征信息更友好。
為加強(qiáng)特征融合階段上下文間信息傳遞能力,本文在特征融合各階段間引入CBAM注意力機(jī)制,如圖1中CBAMC3結(jié)構(gòu)所示。CBAM注意力機(jī)制同時從位置以及通道兩個維度對信息進(jìn)行加權(quán)賦值,將模塊應(yīng)用于各階段間可以提高模型對局部細(xì)小特征的關(guān)注度。
為提高模型的檢測效果,本文提出將EIOU與NMS算法相結(jié)合,優(yōu)化模型檢測的效果。EIOU算法的計算公式如下:
(1)
式中:LEIOU為EIOU損失函數(shù)值;IOU表示預(yù)測框與實(shí)際框的數(shù)值;b、bgt分別為預(yù)測框和真實(shí)框的中心點(diǎn);ρ為計算兩個中心點(diǎn)間的歐式距離;w為框的寬度;h為框的高度;c為能夠同時包含預(yù)測框和真實(shí)框的最小閉包區(qū)域的對角線距離;ch、cw為以兩個框中心點(diǎn)構(gòu)成的矩形的高和寬。
從式(1)可以看到:EIOU將縱橫比的損失項拆分成預(yù)測的寬高分別與最小外接框?qū)捀叩牟钪?有效限制了模型回歸過程中的自由度,提高了模型的回歸能力。
本實(shí)驗(yàn)平臺為聯(lián)想拯救者刃7000K,操作系統(tǒng)為Windows11,CPU為Inteli7-12700F,內(nèi)存為16 GB,顯卡為NVIDIA RTX3060Ti 8G,深度學(xué)習(xí)框架為pytorch1.11.0。實(shí)驗(yàn)數(shù)據(jù)集采用北京大學(xué)開源PCB表面缺陷數(shù)據(jù)集,共包含6類缺陷,1 386張圖片。在模型訓(xùn)練過程中,將數(shù)據(jù)集按照8∶1∶1的比例劃分訓(xùn)練集、驗(yàn)證集與測試集。將圖片輸入大小調(diào)整為640×640,設(shè)置初始學(xué)習(xí)率為0.001,采用Adam優(yōu)化器進(jìn)行模型訓(xùn)練,迭代300輪。
對于模型采用多類評價指標(biāo),包括準(zhǔn)確率(P)、召回率(R)、mAP0.5進(jìn)行多指標(biāo)評價。
(2)
(3)
(4)
(5)
上述指標(biāo)均用于衡量模型對于小目標(biāo)PCB表面缺陷的檢測性能,數(shù)值越大,說明模型檢測的性能越好。
為提高模型的泛化性、加速模型的收斂,按照文章所述參數(shù),采用VOC數(shù)據(jù)集預(yù)訓(xùn)練權(quán)重進(jìn)行遷移學(xué)習(xí),訓(xùn)練過程中訓(xùn)練集與驗(yàn)證集上的損失函數(shù)值如圖6所示??v坐標(biāo)代表Loss值,橫坐標(biāo)代表訓(xùn)練輪數(shù)。在預(yù)訓(xùn)練模型及給定訓(xùn)練參數(shù)下,前50輪Loss數(shù)值由0.16快速下降至0.05左右,在51~120輪損失函數(shù)曲線逐漸趨于平滑并收斂于0.05左右,模型開始逐漸收斂。根據(jù)訓(xùn)練中參數(shù)的收斂情況可認(rèn)為模型獲得了較理想的訓(xùn)練結(jié)果。
圖6 訓(xùn)練過程中損失函數(shù)圖
為驗(yàn)證本文算法的性能,將本文模型與相同數(shù)據(jù)集下的多個模型進(jìn)行對比分析,如表1所示。
表1中,除本文模型與YOLOv5s實(shí)驗(yàn)結(jié)果通過本文實(shí)驗(yàn)平臺進(jìn)行測定,文獻(xiàn)[5-7]通過文獻(xiàn)中實(shí)驗(yàn)平臺測定外,其余模型mAP0.5數(shù)值如文獻(xiàn)[26]中所述,這些模型均已迭代至收斂。從上述多模型對比結(jié)果來看,本文模型對于多類PCB表面缺陷小目標(biāo)檢測性能更優(yōu),原因在于:本模型對于PCB表面缺陷所具有的缺陷考慮更全面。對于YOLOv5s模型可視化改進(jìn)前后的檢測結(jié)果圖如圖7所示。
本文模型的改進(jìn)點(diǎn)主要在于在主干網(wǎng)絡(luò)引入了SPDconv和CA注意力機(jī)制,在特征融合階段提出T3Head特征融合網(wǎng)絡(luò),并引入CBAM注意力機(jī)制以及EIOU-NMS后處理算法。為評估算法改進(jìn)點(diǎn)的效果,進(jìn)行消融實(shí)驗(yàn),如表2所示,表中×表示未使用該模塊,√表示使用該模塊。
表2 消融實(shí)驗(yàn)結(jié)果表
進(jìn)一步分析表2可知:通過引入SPDConv,模型對于小目標(biāo)細(xì)節(jié)特征提取能力明顯增強(qiáng),模型的召回率獲得一定的提升;引入CA注意力機(jī)制后,加強(qiáng)了特征融合與主干網(wǎng)絡(luò)間語義信息的傳遞能力,模型的召回率提高了0.9%;以T3Head作為特征融合網(wǎng)絡(luò)后,模型對于小目標(biāo)的特征提取能力進(jìn)一步加強(qiáng),模型性能進(jìn)一步提升;通過引入CBAM注意力機(jī)制強(qiáng)化了模型各階段有效信息的傳遞能力,模型各類別檢測精度提高至90.5%。借助EIOU-NMS進(jìn)行后處理后,優(yōu)化了模型檢測的效果,上述消融實(shí)驗(yàn)證明了本文提出的模型對于小目標(biāo)PCB表面缺陷具有較好的檢測結(jié)果。
結(jié)合表2以及圖7可知,雖然YOLOv5s模型具有較強(qiáng)的擬合能力,但是在實(shí)際檢測中存在誤檢的情況,制約了模型的實(shí)際檢測效果,本文模型不僅具有較好的檢測結(jié)果且不存在誤檢的情況,說明本文模型在實(shí)際檢測中效果更好。
針對現(xiàn)在主流目標(biāo)檢測方法對于小目標(biāo)PCB表面缺陷檢測能力較弱的情況,提出SPDYOLOv5模型,以SPDConv取代模型中各階段的降采樣卷積,提高模型對細(xì)節(jié)信息的關(guān)注度。在網(wǎng)絡(luò)最深層借助CA注意力機(jī)制對深層語義信息進(jìn)行編碼,提高主干網(wǎng)絡(luò)與特征融合間的信息傳遞能力。提出T3Head增強(qiáng)小目標(biāo)特征融合網(wǎng)絡(luò),通過改變上采樣與下采樣的方式提高模型對小目標(biāo)信息的特征提取能力;借助CBAM注意力機(jī)制,加強(qiáng)各階段間的信息傳遞能力。以EIOU-NMS進(jìn)一步優(yōu)化檢測結(jié)果,通過對比實(shí)驗(yàn)與消融實(shí)驗(yàn)證明了本文模型有效解決了PCB檢測過程中的小目標(biāo)問題。后續(xù)研究將從更復(fù)雜的缺陷、小樣本問題以及更復(fù)雜場景下的PCB表面缺陷展開。