


















摘要:PCB板缺陷檢測(cè)是實(shí)踐教學(xué)評(píng)分系統(tǒng)中的重要環(huán)節(jié)。為了減輕教師在PCB檢測(cè)與評(píng)分過(guò)程中的工作負(fù)擔(dān),提高教學(xué)質(zhì)量和效率,文章對(duì)現(xiàn)有檢測(cè)模型進(jìn)行了改進(jìn)。針對(duì)YOLOv5s模型在PCB板缺陷檢測(cè)中存在的通道和空間信息提取不足問(wèn)題,文章增加了CBAM注意力機(jī)制,并使用SlideLoss損失函數(shù)。改進(jìn)后的模型相較原始模型,準(zhǔn)確率提升了7.17%,平均召回率提升了4.38%。文章利用全棧Web開(kāi)發(fā)的技術(shù)組合進(jìn)行用戶交互、數(shù)據(jù)存儲(chǔ)和管理,使用改進(jìn)后的YOLOv5s模型進(jìn)行缺陷自動(dòng)檢測(cè),實(shí)現(xiàn)了自動(dòng)化評(píng)分。該系統(tǒng)減少了教師的重復(fù)性工作,提高了檢測(cè)的準(zhǔn)確性和效率,學(xué)生能夠獲得及時(shí)的反饋,使教師能夠更專(zhuān)注于教學(xué)和研究。
關(guān)鍵詞:YOLOv5s算法;CBAM注意力機(jī)制;教學(xué)應(yīng)用;SlideLoss損失函數(shù)
中圖分類(lèi)號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2024)32-0129-07 開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID) :
0 引言
隨著電子信息技術(shù)的飛速發(fā)展,印刷電路板(Printed Circuit Board,PCB) 作為電子產(chǎn)品的關(guān)鍵組成部分,其質(zhì)量直接影響產(chǎn)品的可靠性與穩(wěn)定性。PCB 上的缺陷不僅會(huì)導(dǎo)致電子產(chǎn)品性能下降,甚至可能引發(fā)安全隱患。PCB缺陷檢測(cè)對(duì)于保障電子產(chǎn)品質(zhì)量至關(guān)重要。然而,傳統(tǒng)的人工檢測(cè)方法效率低下、容易出錯(cuò),無(wú)法滿足大規(guī)模生產(chǎn)的需求[1]。近年來(lái),隨著集成電路和半導(dǎo)體技術(shù)的快速發(fā)展,PCB結(jié)構(gòu)愈加復(fù)雜、小巧和精致,對(duì)其缺陷檢測(cè)的要求也相應(yīng)提高[2]。
傳統(tǒng)的PCB缺陷檢測(cè)方法主要依賴于圖像處理技術(shù)和人工目視檢查。Ismail I等[3]提出了基于圖像加減法的集成圖像處理技術(shù),Melnyk等[4]提出了基于Kmeans聚類(lèi)的圖像比較方法,這些方法在一定程度上提高了檢測(cè)的精度和速度,但仍然存在著靈敏度和特異性平衡難、實(shí)際應(yīng)用受限等問(wèn)題。此外,支持向量機(jī)(SVM) [5]和神經(jīng)網(wǎng)絡(luò)(NN) [6]等機(jī)器學(xué)習(xí)算法也被應(yīng)用于PCB缺陷檢測(cè)領(lǐng)域,進(jìn)一步提升了檢測(cè)效果。然而,隨著深度學(xué)習(xí)的發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)(CNN) 等方法在圖像處理中的表現(xiàn)尤為突出,Ding等[7]提出的TDDnet和Hu等[8]提出的改進(jìn)Faster R-CNN和FPN模型,展示了深度學(xué)習(xí)在提高檢測(cè)精度方面的顯著潛力。盡管如此,這些方法在實(shí)現(xiàn)高精度的同時(shí),往往以犧牲檢測(cè)速度為代價(jià)。
在此背景下,開(kāi)發(fā)高效的PCB板缺陷檢測(cè)系統(tǒng)具有重要的意義,尤其是在電子信息等專(zhuān)業(yè)教育中,PCB板焊接是學(xué)生必須掌握的一項(xiàng)核心技能。然而,在傳統(tǒng)的實(shí)訓(xùn)教學(xué)中,教師手動(dòng)檢查學(xué)生的PCB板,不僅耗時(shí)且容易出錯(cuò)。隨著學(xué)生數(shù)量的增加,教師的工作量隨之增加,影響了教學(xué)質(zhì)量。因此,開(kāi)發(fā)一個(gè)高效、準(zhǔn)確的PCB板缺陷檢測(cè)系統(tǒng)對(duì)于減輕教師負(fù)擔(dān)、提高教學(xué)質(zhì)量具有重要意義。本文設(shè)計(jì)并實(shí)現(xiàn)了一種基于YOLOv5s的PCB板缺陷檢測(cè)系統(tǒng),該系統(tǒng)通過(guò)集成CBAM注意力機(jī)制和SlideLoss損失函數(shù),顯著提高了檢測(cè)的精確度和召回率。此外,系統(tǒng)具備自動(dòng)化評(píng)分、實(shí)時(shí)反饋、數(shù)據(jù)驅(qū)動(dòng)教學(xué)改進(jìn)等功能,有效提高了教學(xué)效率和質(zhì)量。該系統(tǒng)不僅有助于提升實(shí)訓(xùn)教學(xué)質(zhì)量,還為我國(guó)電子信息產(chǎn)業(yè)的人才培養(yǎng)提供了支持,推動(dòng)了行業(yè)的良性發(fā)展。
1 YOLOv5s 模型
YOLO(You Only Look Once) 是一種革命性的目標(biāo)檢測(cè)算法,以其卓越的檢測(cè)速度和準(zhǔn)確性在實(shí)時(shí)目標(biāo)檢測(cè)領(lǐng)域占據(jù)重要地位。YOLO的核心優(yōu)勢(shì)在于其全卷積網(wǎng)絡(luò)設(shè)計(jì)和端到端的處理流程,這使得它能夠一次性處理整個(gè)圖像,而無(wú)須依賴復(fù)雜的候選區(qū)域提取過(guò)程。YOLO的設(shè)計(jì)目標(biāo)是在單張圖像中快速、準(zhǔn)確地檢測(cè)并定位多個(gè)目標(biāo)物體。與傳統(tǒng)的基于候選區(qū)域(如R-CNN) 方法不同,YOLO通過(guò)將輸入圖像劃分為固定數(shù)量的網(wǎng)格,每個(gè)網(wǎng)格負(fù)責(zé)預(yù)測(cè)其內(nèi)部是否包含目標(biāo)物體。當(dāng)物體的中心位于某個(gè)網(wǎng)格時(shí),該網(wǎng)格負(fù)責(zé)輸出該物體的類(lèi)別和邊界框位置,從而實(shí)現(xiàn)高效的端到端檢測(cè)。這種方法將候選區(qū)域生成和目標(biāo)分類(lèi)兩個(gè)任務(wù)合并在一個(gè)網(wǎng)絡(luò)中,大幅度提高了檢測(cè)速度。通過(guò)非極大值抑制(NMS) 處理,YOLO能夠同時(shí)預(yù)測(cè)多個(gè)邊界框及其類(lèi)別概率,從而實(shí)現(xiàn)速度與精度的平衡。
YOLOv5s的模型架構(gòu)通過(guò)精心設(shè)計(jì),實(shí)現(xiàn)了高效的目標(biāo)檢測(cè)能力。其結(jié)構(gòu)主要由三大部分構(gòu)成:骨干網(wǎng)絡(luò)(Backbone) 、頸部網(wǎng)絡(luò)(Neck) 和頭部網(wǎng)絡(luò)(Head) 。
首先,骨干網(wǎng)絡(luò)(Backbone) 是圖像特征提取的核心。圖1左側(cè)的藍(lán)色模塊代表Focus模塊,該模塊通過(guò)對(duì)輸入圖像的切片和拼接操作,將圖像的通道數(shù)從3個(gè)(RGB) 擴(kuò)展為更多通道,從而有效壓縮數(shù)據(jù)量并提高計(jì)算效率。接下來(lái),綠色的卷積層(Conv) 和黃色的C3模塊通過(guò)多次卷積操作進(jìn)一步提取圖像的深層特征。其中,C3模塊采用了殘差連接(類(lèi)似ResNet的結(jié)構(gòu)),使得網(wǎng)絡(luò)能夠捕捉更復(fù)雜和多樣化的特征。紅色的SPP模塊(空間金字塔池化)通過(guò)多尺度的池化操作,增加了對(duì)不同尺度目標(biāo)物體的檢測(cè)能力,使模型對(duì)物體的大小、位置和形狀具有更高的魯棒性。
接著,頸部網(wǎng)絡(luò)(Neck) 負(fù)責(zé)特征融合,圖1中紫色和黃色模塊分別表示上采樣層(Upsample) 和拼接層(Concat) 。上采樣層將低分辨率特征圖放大,并與來(lái)自骨干網(wǎng)絡(luò)的高分辨率特征圖拼接在一起,從而融合不同尺度的信息。這樣,模型在處理大目標(biāo)和小目標(biāo)時(shí)都能利用這些不同層次的特征進(jìn)行更有效的檢測(cè)。通過(guò)這種自底向上和自頂向下的特征融合路徑,增強(qiáng)了模型對(duì)多尺度目標(biāo)的適應(yīng)性,進(jìn)而提高了整體檢測(cè)性能。頸部網(wǎng)絡(luò)還采用了CSP2_X結(jié)構(gòu)(圖中未標(biāo)明)來(lái)進(jìn)一步增強(qiáng)特征融合的能力。
最后,頭部網(wǎng)絡(luò)(Head) 負(fù)責(zé)最終的目標(biāo)檢測(cè)。圖1底部的三個(gè)Detect 模塊對(duì)應(yīng)三個(gè)不同的尺度輸出(小、中、大),分別對(duì)不同尺寸的目標(biāo)進(jìn)行檢測(cè)。這種多尺度檢測(cè)機(jī)制確保了YOLOv5s在處理復(fù)雜場(chǎng)景時(shí),能夠同時(shí)檢測(cè)到大物體和小物體。每個(gè)尺度的檢測(cè)模塊都通過(guò)卷積層提取特征,并根據(jù)特定大小的目標(biāo)調(diào)整輸出權(quán)重,以便在總損失函數(shù)中提供適當(dāng)?shù)呢暙I(xiàn)。
在YOLOv5s中,損失函數(shù)的設(shè)計(jì)對(duì)于算法的準(zhǔn)確性和魯棒性至關(guān)重要。損失函數(shù)主要由三部分組成,每部分都針對(duì)不同的預(yù)測(cè)任務(wù)進(jìn)行優(yōu)化。
首先,邊界框回歸損失(Bounding Box RegressionLoss) 是評(píng)估預(yù)測(cè)邊界框與真實(shí)邊界框差異的關(guān)鍵指標(biāo)。YOLOv5s采用了CIOU損失(Complete Intersectionover Union Loss) ,這是一種先進(jìn)的邊界框回歸損失計(jì)算方法。CIOU損失不僅考慮了預(yù)測(cè)框與真實(shí)框的交集面積,還綜合了框的中心點(diǎn)距離、寬高比以及重疊區(qū)域的形狀,從而更全面地評(píng)估邊界框的準(zhǔn)確性。其次,置信度損失(Confidence Loss) 用于評(píng)估模型對(duì)目標(biāo)存在的置信度預(yù)測(cè)。該部分損失通過(guò)二元交叉熵?fù)p失(Binary CrossEntropy Loss) 來(lái)實(shí)現(xiàn),目的是確保模型能夠正確識(shí)別預(yù)測(cè)框中實(shí)際包含的物體。通過(guò)引入該損失,提高了模型在目標(biāo)存在性預(yù)測(cè)上的準(zhǔn)確性。最后,類(lèi)別分類(lèi)損失(Classification Loss) 負(fù)責(zé)評(píng)估預(yù)測(cè)類(lèi)別與真實(shí)類(lèi)別之間的差異,采用了多分類(lèi)交叉熵?fù)p失(Multiclass CrossEntropy Loss) ,對(duì)每個(gè)目標(biāo)的類(lèi)別預(yù)測(cè)進(jìn)行評(píng)估,確保類(lèi)別預(yù)測(cè)的準(zhǔn)確性和多樣性。在YOLOv5s中,這三種損失加權(quán)求和,構(gòu)成最終的總損失函數(shù)。具體公式如下所示:
Itotal = λbox ? Lbox + λobj ? Lobj + λcls ? Lcls (1)
總損失是三個(gè)主要部分的加權(quán)和:邊界框損失 Lbox、目標(biāo)置信度損失 Lobj 和類(lèi)別分類(lèi)損失Lcls。每個(gè)部分都有一個(gè)相應(yīng)的權(quán)重系數(shù) λ,用于平衡各個(gè)損失項(xiàng)的貢獻(xiàn)。
邊界框損失為 Lbox 公式如下:
Lbox = 1 - CIoU (b ) pred,btrue (2)
這部分使用CIOU(Complete Intersection over Union) 損失。公式中,bpred 是預(yù)測(cè)的邊界框,btrue 是真實(shí)的邊界框。CIOU不僅考慮了IoU(交并比),還考慮了中心點(diǎn)距離、寬高比和重疊區(qū)域的形狀。1減去CIOU值作為損失,使得CIOU值越高,損失越小。
目標(biāo)置信度損失為 Lobj公式如下:
S2 是特征圖的大小(假設(shè)是正方形);B 是每個(gè)網(wǎng)格單元預(yù)測(cè)的邊界框數(shù)量1objij 是一個(gè)指示函數(shù),當(dāng)?shù)趇個(gè)網(wǎng)格的第j 個(gè)邊界框負(fù)責(zé)預(yù)測(cè)目標(biāo)時(shí)為1,否則為0;pc ij是真實(shí)的置信度得分;p?cij是預(yù)測(cè)的置信度得分。
類(lèi)別分類(lèi)損失為L(zhǎng)cls公式如下:
這是一個(gè)多類(lèi)別交叉熵?fù)p失,用于評(píng)估類(lèi)別預(yù)測(cè)的準(zhǔn)確性。符號(hào)含義與置信度損失相同 ;c 遍歷所有可能的類(lèi)別;pc ij 是類(lèi)別c的真實(shí)概率;p?cij 是類(lèi)別c的預(yù)測(cè)概率。
2 YOLOv5s 算法改進(jìn)
2.1 CBAM 模塊
CBAM模塊是一種輕量級(jí)的混合域注意力模塊,該模塊的作用是通過(guò)學(xué)習(xí)通道和空間特征之間的相互關(guān)系來(lái)提高網(wǎng)絡(luò)模型的性能[9]。在該模塊中同時(shí)集成了通道注意力模塊(Channel Attention Module,CAM) 和空間注意力模塊(Spatial Attention Module,SAM) 。
CBAM模塊的結(jié)構(gòu)如圖2所示,分為通道注意力模塊(CAM) 和空間注意力模塊(SAM) 兩部分。通道注意力模塊(Channel Attention Module,CAM) 通過(guò)全局最大池化(MaxPool) 和全局平均池化(AvgPool) ,分別從輸入特征中提取不同的全局特征。隨后,這兩個(gè)池化操作生成的特征通過(guò)一個(gè)共享的多層感知器(Shared MLP) 進(jìn)行處理,輸出的特征相加并經(jīng)過(guò)Sig?moid激活函數(shù)生成通道注意力權(quán)重。最后,這些注意力權(quán)重與輸入特征逐元素相乘,生成加權(quán)后的通道特征(Channel-Refined feature F) 。這種方式有助于網(wǎng)絡(luò)關(guān)注圖像中特定通道的重要性,提升網(wǎng)絡(luò)性能。空間注意力模塊(Spatial Attention Module,SAM) 首先通過(guò)一個(gè)卷積層提取初步的空間特征。接下來(lái),對(duì)這些特征進(jìn)行通道維度的最大池化和平均池化,生成兩個(gè)不同的特征圖。然后,將這兩個(gè)特征圖沿通道維度拼接,再通過(guò)一個(gè)卷積層生成空間注意力圖。最終,這個(gè)空間注意力圖與輸入特征相乘,生成加權(quán)后的輸出特征圖。這一模塊幫助網(wǎng)絡(luò)更好地關(guān)注圖像中特定空間位置上的重要信息,從而進(jìn)一步提升網(wǎng)絡(luò)的表現(xiàn)。CBAM模塊整體流程:首先,對(duì)輸入特征圖進(jìn)行通道注意力操作,生成加權(quán)后的通道特征圖;然后,再對(duì)該特征圖進(jìn)行空間注意力處理,以增強(qiáng)對(duì)重要空間位置的關(guān)注。通過(guò)這種方式,CBAM能夠在通道和空間兩個(gè)維度上優(yōu)化網(wǎng)絡(luò)的特征表達(dá)能力,從而提升檢測(cè)的精度。CBAM模塊的核心作用是通過(guò)分別在通道和空間維度進(jìn)行注意力加權(quán),提升網(wǎng)絡(luò)對(duì)關(guān)鍵信息的感知能力。這種雙重注意力機(jī)制能夠有效提高模型在目標(biāo)檢測(cè)任務(wù)中的表現(xiàn),尤其在處理復(fù)雜場(chǎng)景時(shí),CBAM能夠幫助網(wǎng)絡(luò)更準(zhǔn)確地識(shí)別和定位重要特征。
原始YOLOv5s模型雖然速度快,但在處理小目標(biāo)和復(fù)雜場(chǎng)景時(shí),模型對(duì)細(xì)節(jié)的捕捉能力有限。引入CBAM模塊后,可以增強(qiáng)模型對(duì)關(guān)鍵信息的注意力,幫助其更好地區(qū)分目標(biāo)和背景,從而提升檢測(cè)精度。CBAM還能提高模型在有噪聲或光照變化等復(fù)雜條件下的表現(xiàn),使網(wǎng)絡(luò)更具魯棒性。改進(jìn)算法網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示,在保持原始結(jié)構(gòu)的基礎(chǔ)上,引入了CBAM 模塊。在骨干網(wǎng)絡(luò)中將SPP后的C3替換為CBAM,在頸部網(wǎng)絡(luò)中的每個(gè)卷積層(Conv) 之后增加了CBAM模塊,使得特征圖在進(jìn)行上采樣和拼接之前先經(jīng)過(guò)CBAM模塊的處理。通過(guò)在頸部網(wǎng)絡(luò)部分的卷積層后添加CBAM 模塊,提升了模型對(duì)重要特征的關(guān)注度。這種改進(jìn)可以在不顯著增加計(jì)算量和檢測(cè)時(shí)間的情況下,增強(qiáng)模型對(duì)重要特征的關(guān)注度,提高檢測(cè)精度,尤其是在處理圖像模糊和小目標(biāo)檢測(cè)方面表現(xiàn)明顯。
2.2 SlideLoss 損失函數(shù)
SlideLoss損失函數(shù)是一種創(chuàng)新的損失函數(shù),通過(guò)替換傳統(tǒng)損失函數(shù)可以提高目標(biāo)檢測(cè)模型的性能[10]。SlideLoss損失函數(shù)相比傳統(tǒng)損失函數(shù),在多個(gè)方面展現(xiàn)了顯著優(yōu)勢(shì)。其自適應(yīng)權(quán)重機(jī)制能夠動(dòng)態(tài)調(diào)整難以檢測(cè)目標(biāo)的權(quán)重,提升對(duì)模糊和邊界不清晰目標(biāo)的處理能力,尤其在復(fù)雜場(chǎng)景中表現(xiàn)出色。通過(guò)引入平滑機(jī)制,SlideLoss在處理接近邊界的目標(biāo)時(shí)減少了過(guò)擬合風(fēng)險(xiǎn),增強(qiáng)了模型的穩(wěn)定性。該損失函數(shù)能夠根據(jù)樣本難度自適應(yīng)調(diào)整損失值,使模型更加關(guān)注難樣本,從而提升整體檢測(cè)性能,尤其是在小目標(biāo)檢測(cè)中顯著提升了精度并減少了漏檢。此外,SlideLoss在光線變化和圖像模糊等不利條件下表現(xiàn)出較強(qiáng)的魯棒性,有效提高了模型的穩(wěn)定性和可靠性。
SlideLoss是將基礎(chǔ)損失和平滑損失結(jié)合,并通過(guò)自適應(yīng)權(quán)重機(jī)制調(diào)整樣本的貢獻(xiàn),其公式為:
α 和β 分別是基礎(chǔ)損失和平滑損失的權(quán)重參數(shù),用于平衡兩者的影響。wi = 1/1 + e-γ(gi - τ) 是樣本i 的自適應(yīng)權(quán)重,使得難檢測(cè)樣本在總損失中的貢獻(xiàn)更大。1/1 + e-γ(gi - τ) 是一個(gè)Sigmoid函數(shù),用于將樣本的難度估計(jì)值gi 映射到權(quán)重wi。gi 是樣本的難度估計(jì)值,可以基于IoU或損失值來(lái)確定。γ 控制權(quán)重的變化速率,調(diào)整γ 可以改變權(quán)重分布的陡峭程度。τ 是難度閾值,樣本難度超過(guò)閾值時(shí),權(quán)重迅速增加。SlideLoss 通過(guò)綜合考慮分類(lèi)、定位和穩(wěn)定性,并對(duì)難樣本給予更多關(guān)注,有效提升了模型在各種檢測(cè)任務(wù)中的整體性能。將實(shí)現(xiàn)提高檢測(cè)精度,特別是在檢測(cè)小目標(biāo)缺陷時(shí),SlideLoss能夠顯著提升模型的精度;減少漏檢測(cè),通過(guò)自適應(yīng)機(jī)制,提高對(duì)難以檢測(cè)目標(biāo)的關(guān)注度,減少漏檢測(cè)的情況,增強(qiáng)魯棒性,在光線不穩(wěn)定和圖像模糊的情況下,SlideLoss能夠提升模型的穩(wěn)定性和魯棒性。
3 實(shí)驗(yàn)準(zhǔn)備
3.1 數(shù)據(jù)集構(gòu)建
本文使用的數(shù)據(jù)集基于北京大學(xué)智能機(jī)器人開(kāi)放實(shí)驗(yàn)室公開(kāi)發(fā)布的印刷電路板缺陷數(shù)據(jù)集,包含693張圖像,涵蓋6種不同類(lèi)型的缺陷,分別是漏孔(Missing_hole) 、鼠咬(mouse_bite) 、開(kāi)路(open_circuit) 、短路(short) 、余銅(spurious_copper) 和毛刺(spur) 。
為了增強(qiáng)模型的泛化能力和魯棒性,本文引入了運(yùn)動(dòng)模糊等圖像增強(qiáng)技術(shù),對(duì)每張圖像進(jìn)行處理,使數(shù)據(jù)集的規(guī)模從原始的693張擴(kuò)展到1386張。通過(guò)對(duì)圖像進(jìn)行增強(qiáng)處理,不僅增加了數(shù)據(jù)的多樣性,還能夠使模型更好地適應(yīng)實(shí)際應(yīng)用中可能遇到的多種變化情況,如光照條件的變化、拍攝角度的不同以及目標(biāo)位置的偏移。這種圖像增強(qiáng)技術(shù)通過(guò)擴(kuò)展訓(xùn)練數(shù)據(jù)的規(guī)模,有效提高了模型在不同環(huán)境下的檢測(cè)魯棒性和準(zhǔn)確性,從而確保系統(tǒng)在實(shí)際應(yīng)用中的穩(wěn)定性和可靠性。
3.2 實(shí)驗(yàn)環(huán)境
本文實(shí)驗(yàn)均在Windows平臺(tái)下運(yùn)行,使用Python 語(yǔ)言,調(diào)用PyTorch庫(kù)進(jìn)行網(wǎng)絡(luò)搭建、調(diào)試、訓(xùn)練與測(cè)試。實(shí)驗(yàn)在一臺(tái)配備Intel Core i7-11800H處理器和NVIDIA GeForce RTX 3060(130W,6GB) 顯卡的電腦上進(jìn)行。
3.3 模型評(píng)估
為了評(píng)估模型的性能,本文使用目標(biāo)檢測(cè)領(lǐng)域常用的評(píng)價(jià)指標(biāo):準(zhǔn)確率(Precision) 、召回率(Recall) 、F1 值(F1 Score) 和平均精度(mAP) 。具體公式如下所示:
準(zhǔn)確率(Precision) :定義為正確檢測(cè)到的目標(biāo)數(shù)量與實(shí)際檢測(cè)到的目標(biāo)數(shù)量之比,公式為:
Precision = TP/TP + FP (6)
式中:TP(True Positive) 是正確檢測(cè)的正樣本數(shù),F(xiàn)P(False Positive) 是誤檢測(cè)的樣本數(shù)。
召回率(Recall) :定義為正確檢測(cè)到的目標(biāo)數(shù)量與真實(shí)目標(biāo)數(shù)量之比,公式為:
Recall = TP/TP + FN (7)
式中:FN(False Negative) 是漏檢測(cè)的樣本數(shù)。
F1值(F1 Score) :F1值是準(zhǔn)確率和召回率的調(diào)和平均數(shù),綜合了兩者的優(yōu)缺點(diǎn),公式為:
F1 = 2 ? Precision Recall/Precision + Recall (8)
平均召回率(mAP) 是目標(biāo)檢測(cè)評(píng)估中最常用的指標(biāo),用于計(jì)算所有類(lèi)別的平均精度。對(duì)每個(gè)類(lèi)別計(jì)算平均精度AP(Average Precision) ,AP是召回率從0到1 的情況下,精度的平均值。計(jì)算AP采用11點(diǎn)插值法,通過(guò)在固定的11個(gè)召回率點(diǎn)上計(jì)算精度的最大值,然后取這些值的平均值來(lái)估算Precision-Recall曲線下的面積,從而得到AP。計(jì)算AP的公式為:
這種方法簡(jiǎn)化了計(jì)算,同時(shí)提供了對(duì)模型性能的合理估計(jì)。mAP是所有類(lèi)別的AP的平均值。故此推導(dǎo)出mAP 的公式為:
4 實(shí)驗(yàn)結(jié)果分析
4.1 模型對(duì)比
表1展示了六種不同目標(biāo)檢測(cè)方法的對(duì)比數(shù)據(jù),包括Faster RCNN、YOLOv5s、YOLOv5m、YOLOv51、YOLOv5x 以及改進(jìn)后的YOLOv5s+CBAM+SlideLoss。每種方法在精度(Precision) 、召回率(Recall) 、平均精度(mAP) 和每秒幀數(shù)(FPS) 四個(gè)指標(biāo)上的表現(xiàn)如下:
Faster R-CNN采用了兩階段檢測(cè)架構(gòu),先生成候選區(qū)域再分類(lèi)定位,因此召回率高(98.0%) ,但由于計(jì)算復(fù)雜度大,推理速度慢(FPS為17.1) ,不適合對(duì)實(shí)時(shí)性要求較高的應(yīng)用。其精度(94.3%) 和mAP(96.7%) 略低,這表明盡管在召回率方面表現(xiàn)出色,但在精度上有所欠缺。YOLO系列模型采用單階段檢測(cè)架構(gòu),在一次前向傳播中完成檢測(cè)和分類(lèi),極大提升了速度。YOLOv5s 由于模型較小,推理速度最快(FPS 為36.9) ,適合對(duì)實(shí)時(shí)性要求高的應(yīng)用場(chǎng)景,但其特征提取能力較弱,因此精度(96.6%) 和mAP(97.4%) 略低于更復(fù)雜的YOLOv5l 和YOLOv5x。YOLOv5m 在精度(96.3%) 、召回率(96.3%) 和mAP(97.5%) 上表現(xiàn)均衡,速度適中(FPS為28.3) ,適合對(duì)精度和速度均有要求的場(chǎng)景。YOLOv5l通過(guò)增加模型深度和寬度提升了特征提取能力,精度(96.9%) 和mAP(98.1%) 較高,但推理速度(FPS為22.4) 較慢,適合對(duì)檢測(cè)精度要求高的場(chǎng)景。YOLOv5x 的精度(96.4%) 和召回率(97.3%) 表現(xiàn)出色,mAP達(dá)到98.1%,但推理速度最慢(FPS為16.1) ,雖然適合處理復(fù)雜背景和小目標(biāo),但不適合實(shí)時(shí)檢測(cè)任務(wù)。改進(jìn)后的YOLOv5s+CBAM+SlideLoss引入了CBAM注意力機(jī)制和SlideLoss損失函數(shù),提升了模型對(duì)關(guān)鍵區(qū)域的關(guān)注,顯著提高了精度(97.5%) 、召回率(97.1%) 和mAP(98.5%) ,尤其在處理圖像模糊和小目標(biāo)檢測(cè)時(shí)表現(xiàn)突出。雖然FPS為31.9,不及YO?LOv5s,但在需要高精度檢測(cè)的場(chǎng)景中表現(xiàn)最佳。總體來(lái)看,YOLOv5s+CBAM+SlideLoss在精度、召回率和mAP方面均優(yōu)于其他模型,特別適用于需要高檢測(cè)精度和處理復(fù)雜圖像場(chǎng)景的應(yīng)用。YOLOv5s由于其最高的FPS,適合對(duì)實(shí)時(shí)性要求較高的應(yīng)用場(chǎng)景,而Faster R-CNN和YOLOv5x雖然在某些指標(biāo)上表現(xiàn)較好,但綜合性能和實(shí)時(shí)性不如YOLOv5系列。綜上所述,YOLOv5s+CBAM+SlideLoss 提供了最佳的檢測(cè)性能,是高精度和復(fù)雜環(huán)境下目標(biāo)檢測(cè)的理想選擇。
4.2 消融實(shí)驗(yàn)
為了評(píng)估改進(jìn)后的YOLOv5s模型在教學(xué)端PCB 檢測(cè)中的效果,本文進(jìn)行了四次消融實(shí)驗(yàn)。這些實(shí)驗(yàn)使用經(jīng)過(guò)運(yùn)動(dòng)圖像模糊處理的數(shù)據(jù)集,以突出不同模型在處理模糊圖像和小目標(biāo)檢測(cè)中的性能差異。具體實(shí)驗(yàn)數(shù)據(jù)如表2所示。
根據(jù)實(shí)驗(yàn)結(jié)果,YOLOv5s原始模型在目標(biāo)檢測(cè)任務(wù)中的準(zhǔn)確率為0.895 5,顯示其在目標(biāo)檢測(cè)分類(lèi)任務(wù)中具備較高的精確性。然而,盡管F1值達(dá)到0.914 3,表明模型在正負(fù)樣本不均衡的情況下綜合性能較好,但在召回率和準(zhǔn)確率之間的平衡仍有改進(jìn)空間。與原始模型相比,加入CBAM 模塊的YOLOv5s(YO?LOv5s+CBAM) 模型的準(zhǔn)確率提升至0.934 9,F(xiàn)1值顯著提升至0.940 9,表明CBAM增強(qiáng)了模型在正負(fù)樣本不均衡問(wèn)題上的綜合表現(xiàn),尤其是在對(duì)重要特征的關(guān)注上提高了模型的整體檢測(cè)效果。當(dāng)將損失函數(shù)替換為SlideLoss 后,YOLOv5s 模型的準(zhǔn)確率提升至0.906 6,F(xiàn)1 值上升至0.928 0,mAP 顯著提升至0.964 9。這表明SlideLoss通過(guò)平滑和自適應(yīng)機(jī)制改善了模型在處理小目標(biāo)和模糊圖像方面的性能,減少了漏檢的情況。SlideLoss在處理更復(fù)雜的樣本分布和難度不同的目標(biāo)檢測(cè)時(shí)表現(xiàn)出更高的魯棒性和精度。結(jié)合CBAM 模塊和SlideLoss 損失函數(shù)的YO?LOv5s改進(jìn)模型表現(xiàn)最佳,準(zhǔn)確率達(dá)到0.964 7,召回率為0.972,F(xiàn)1值為0.968 3,mAP提升至0.981 7。這說(shuō)明該改進(jìn)模型在所有評(píng)估指標(biāo)上表現(xiàn)出色,尤其在處理模糊圖像和小目標(biāo)檢測(cè)任務(wù)時(shí)展現(xiàn)了卓越的能力。這些結(jié)果進(jìn)一步證明CBAM和SlideLoss的結(jié)合在提高模型檢測(cè)性能方面具有顯著的效果和魯棒性。
5 系統(tǒng)設(shè)計(jì)
5.1 系統(tǒng)架構(gòu)
系統(tǒng)采用Django 框架的MVC(Model-View-Controller) 模式,前端負(fù)責(zé)頁(yè)面展示和用戶交互,后端負(fù)責(zé)業(yè)務(wù)邏輯和數(shù)據(jù)處理,模型層負(fù)責(zé)數(shù)據(jù)存儲(chǔ)和管理。同時(shí),利用改進(jìn)后的YOLOv5s深度學(xué)習(xí)模型,實(shí)現(xiàn)PCB板缺陷的自動(dòng)檢測(cè)。數(shù)據(jù)庫(kù)設(shè)計(jì)方面,結(jié)合Django的ORM特性,定義了多個(gè)模型來(lái)存儲(chǔ)用戶、圖片和檢測(cè)結(jié)果等信息。整個(gè)系統(tǒng)采用模塊化設(shè)計(jì),具有良好的可擴(kuò)展性和可維護(hù)性。
基于YOLOv5s的自動(dòng)化PCB檢測(cè)系統(tǒng)的設(shè)計(jì)包括前端、后端和算法模型三個(gè)主要部分。前端主要負(fù)責(zé)用戶界面的設(shè)計(jì)與實(shí)現(xiàn),后端負(fù)責(zé)數(shù)據(jù)的存儲(chǔ)和處理,算法模型負(fù)責(zé)PCB板的缺陷檢測(cè)。
1) 前端設(shè)計(jì):系統(tǒng)使用了HTML、CSS和JavaScript 來(lái)構(gòu)建用戶界面,采用了Bootstrap等CSS框架,確保頁(yè)面在不同設(shè)備和瀏覽器上的兼容性。使用Django 的模板引擎,將后端數(shù)據(jù)渲染到HTML頁(yè)面中,模板中使用變量、循環(huán)和條件語(yǔ)句,動(dòng)態(tài)生成內(nèi)容。JavaS?cript用于實(shí)現(xiàn)動(dòng)態(tài)交互效果,如表單驗(yàn)證、異步請(qǐng)求等,增強(qiáng)用戶體驗(yàn)。
2) 后端設(shè)計(jì):后端主要負(fù)責(zé)用戶信息、圖片信息和檢測(cè)結(jié)果的存儲(chǔ)與管理。后端接收到前端上傳的圖片后,會(huì)調(diào)用算法模型進(jìn)行檢測(cè),并將檢測(cè)結(jié)果存儲(chǔ)在數(shù)據(jù)庫(kù)中。后端采用Django框架進(jìn)行開(kāi)發(fā),使用Django的ORM(對(duì)象關(guān)系映射)進(jìn)行數(shù)據(jù)庫(kù)操作。后端主要負(fù)責(zé)接收前端上傳的圖片,調(diào)用算法模型進(jìn)行檢測(cè),并將檢測(cè)結(jié)果存儲(chǔ)在數(shù)據(jù)庫(kù)中。數(shù)據(jù)庫(kù)使用MySQL進(jìn)行存儲(chǔ),確保數(shù)據(jù)的可靠性和穩(wěn)定性。
5.2 功能模塊
在用戶管理模塊中,系統(tǒng)使用了Django的內(nèi)置用戶認(rèn)證系統(tǒng)來(lái)管理用戶注冊(cè)和登錄。為了確保密碼的安全性,采用了Django 默認(rèn)的密碼加密機(jī)制(bcrypt) 對(duì)用戶密碼進(jìn)行加密存儲(chǔ),并在用戶登錄時(shí)驗(yàn)證密碼。數(shù)據(jù)庫(kù)方面,使用了Django自帶的User模型,包含用戶名、密碼、電子郵件等基本信息。同時(shí),定義了一個(gè)自定義的Person模型,與User模型通過(guò)外鍵關(guān)聯(lián),用于存儲(chǔ)用戶的角色信息(教師或?qū)W生)。用戶注冊(cè)時(shí),前端表單收集用戶名、密碼、確認(rèn)密碼和角色信息,后端接收數(shù)據(jù)后,驗(yàn)證密碼是否一致,并檢查用戶名是否已存在。如果驗(yàn)證通過(guò),使用Django的User模型創(chuàng)建新用戶,并在Person模型中保存角色信息。登錄時(shí),系統(tǒng)驗(yàn)證用戶名和角色是否匹配,使用Django的認(rèn)證系統(tǒng)驗(yàn)證密碼,成功登錄后,根據(jù)用戶角色重定向到相應(yīng)的頁(yè)面。為實(shí)現(xiàn)權(quán)限控制,系統(tǒng)使用自定義的裝飾器role_required,根據(jù)用戶角色限制訪問(wèn)特定視圖函數(shù),未授權(quán)的用戶訪問(wèn)受限頁(yè)面時(shí),會(huì)被重定向或提示無(wú)權(quán)限訪問(wèn)。
在圖片上傳模塊中,系統(tǒng)使用Django處理文件的上傳和存儲(chǔ),利用os庫(kù)進(jìn)行文件路徑和目錄的管理。學(xué)生和教師用戶都可以上傳圖片,教師可以創(chuàng)建和管理文件夾,以組織上傳的PCB板圖片和檢測(cè)結(jié)果。上傳的圖片信息存儲(chǔ)在自定義的ImageUpload模型中,包括圖片路徑、文件名、上傳用戶等信息。為確保時(shí)間記錄的準(zhǔn)確性,使用pytz庫(kù)來(lái)處理時(shí)區(qū)信息。教師用戶可以通過(guò)前端創(chuàng)建新的文件夾或使用已有的文件夾組織圖片,支持本地上傳和服務(wù)器上傳兩種方式。上傳的圖片保存在MEDIA_ROOT/images/教師用戶名/文件夾名稱的目錄結(jié)構(gòu)中,并在ImageUpload表中記錄圖片信息,便于后續(xù)的管理和查詢。學(xué)生用戶需輸入教師的用戶名,并從下拉菜單中選擇要上傳的文件夾,上傳的圖片將被保存到對(duì)應(yīng)教師的文件夾下,同樣在ImageUpload 表中記錄上傳的圖片信息。文件夾管理功能允許教師用戶在前端創(chuàng)建、刪除文件夾,以便組織和管理圖片,后端使用OS庫(kù)進(jìn)行目錄的創(chuàng)建和刪除操作,并提供接口獲取教師已有的文件夾列表,供學(xué)生在上傳圖片時(shí)選擇。
缺陷檢測(cè)模塊是系統(tǒng)的核心功能,利用PyTorch 深度學(xué)習(xí)框架和改進(jìn)后的YOLOv5s目標(biāo)檢測(cè)模型。模型文件存放在服務(wù)器指定路徑中。系統(tǒng)獲取待檢測(cè)圖片的文件路徑列表,遍歷每張圖片,使用模型進(jìn)行檢測(cè),提取檢測(cè)結(jié)果并統(tǒng)計(jì)每種缺陷的數(shù)量。缺陷類(lèi)別包括缺孔、鼠咬、開(kāi)路、短路、毛刺和雜銅。根據(jù)用戶在評(píng)分設(shè)置頁(yè)面輸入的總分和焊點(diǎn)總數(shù),計(jì)算每個(gè)缺陷的扣分權(quán)重,計(jì)算每張圖片的總評(píng)分,并將檢測(cè)結(jié)果和評(píng)分保存到自定義的數(shù)據(jù)庫(kù)中。
在歷史記錄模塊中,系統(tǒng)利用Django處理數(shù)據(jù)查詢、分頁(yè)和模板渲染。系統(tǒng)查詢當(dāng)前用戶的所有圖片上傳記錄,按照上傳時(shí)間降序排序。對(duì)每個(gè)上傳記錄,匯總對(duì)應(yīng)的檢測(cè)結(jié)果,包括總檢測(cè)圖片數(shù)、每種缺陷的總數(shù)和平均評(píng)分。使用Django的Paginator對(duì)歷史記錄進(jìn)行分頁(yè),每頁(yè)顯示固定數(shù)量的記錄。在前端頁(yè)面中提供分頁(yè)導(dǎo)航,方便用戶瀏覽不同頁(yè)的數(shù)據(jù)。用戶可以點(diǎn)擊某個(gè)歷史記錄,查看對(duì)應(yīng)的詳細(xì)檢測(cè)結(jié)果,詳細(xì)頁(yè)面顯示每張圖片的缺陷統(tǒng)計(jì)和評(píng)分。
在結(jié)果查看和導(dǎo)出功能中,系統(tǒng)使用pandas庫(kù)處理數(shù)據(jù)并生成Excel文件。檢測(cè)完成后,系統(tǒng)查詢最新的檢測(cè)結(jié)果,并在前端頁(yè)面中以表格形式展示每張圖片的檢測(cè)結(jié)果,包括缺陷數(shù)量和評(píng)分。用戶可以點(diǎn)擊導(dǎo)出Excel按鈕,后端使用pandas將檢測(cè)結(jié)果轉(zhuǎn)換為DataFrame,導(dǎo)出為Excel文件并供用戶下載。評(píng)分設(shè)置模塊中,用戶可以輸入焊點(diǎn)總數(shù)和總分,提交表單后,后端接收數(shù)據(jù),計(jì)算每個(gè)缺陷的扣分權(quán)重,并存儲(chǔ)在會(huì)話中。在后續(xù)的檢測(cè)過(guò)程中,系統(tǒng)會(huì)讀取會(huì)話中的參數(shù)進(jìn)行評(píng)分計(jì)算。會(huì)話管理使用Django的request.session,確保用戶的評(píng)分設(shè)置在整個(gè)檢測(cè)流程中保持一致。文件夾管理模塊中,教師用戶可以在前端創(chuàng)建和刪除文件夾,以組織和管理圖片。系統(tǒng)使用os庫(kù)在指定路徑創(chuàng)建或刪除目錄,并提供接口獲取教師已有的文件夾列表,供學(xué)生在上傳圖片時(shí)選擇。在創(chuàng)建文件夾時(shí),系統(tǒng)會(huì)檢查文件夾是否已存在,避免重復(fù)創(chuàng)建。刪除文件夾時(shí),系統(tǒng)會(huì)驗(yàn)證文件夾是否存在,刪除操作須謹(jǐn)慎,避免誤刪重要數(shù)據(jù)。
學(xué)生圖片上傳模塊需要學(xué)生輸入教師的用戶名,并從下拉菜單中選擇要上傳的文件夾。后端驗(yàn)證教師用戶是否存在,獲取對(duì)應(yīng)教師的文件夾列表,供學(xué)生選擇上傳。上傳的圖片將保存到對(duì)應(yīng)教師的文件夾下,并在數(shù)據(jù)庫(kù)中記錄圖片的上傳信息,方便教師查看和管理。
為實(shí)現(xiàn)權(quán)限控制和裝飾器,系統(tǒng)使用了Django提供的認(rèn)證和權(quán)限控制基礎(chǔ)設(shè)施,并使用functools.wraps 自定義了裝飾器role_required。該裝飾器用于限制視圖函數(shù)的訪問(wèn)權(quán)限,確保只有特定角色的用戶才能訪問(wèn)。不符合條件的用戶將被重定向或提示無(wú)權(quán)限訪問(wèn)。在需要限制訪問(wèn)的視圖函數(shù)上,添加@role_re?quired(teacher)或@role_required(student)即可實(shí)現(xiàn)角色權(quán)限控制。
5.3 功能演示
1) 評(píng)分設(shè)置:評(píng)分設(shè)置頁(yè)面允許用戶為每個(gè)焊點(diǎn)分配分?jǐn)?shù),該分?jǐn)?shù)基于焊點(diǎn)總數(shù)與設(shè)定總分的比例,即每個(gè)焊點(diǎn)分?jǐn)?shù)為總分除以焊點(diǎn)總數(shù)。此頁(yè)面同時(shí)作為歷史記錄查看和文件管理的中心樞紐,用戶登錄后默認(rèn)進(jìn)入此頁(yè)面。
2) 文件夾管理和圖片上傳:用戶可以通過(guò)文件管理功能對(duì)文件進(jìn)行創(chuàng)建、刪除、修改和查詢操作。例如,在創(chuàng)建文件夾時(shí),用戶需在輸入框中輸入文件夾名稱(如“test”) ,點(diǎn)擊創(chuàng)建按鈕后,新文件夾將顯示在文件列表中,如圖6所示。若需刪除文件夾,可在文件列表中選擇“test”文件夾旁的刪除按鈕進(jìn)行操作,如圖7所示。
通過(guò)下拉框選擇圖片上傳方式(本地上傳或服務(wù)器上傳)即單擊上傳按鈕即可完成圖片上傳。
3) 檢測(cè)結(jié)果處理和展示:請(qǐng)依次完成評(píng)分設(shè)置和圖片上傳,當(dāng)上傳完成后,等待幾秒,即可跳轉(zhuǎn)到結(jié)果界面如圖9所示,單擊圖9所標(biāo)注出的導(dǎo)出Excel按鈕,即可導(dǎo)出表格。
4) 歷史記錄查看:請(qǐng)通過(guò)分?jǐn)?shù)設(shè)置頁(yè)面的查看歷史記錄按鈕進(jìn)入界面,此界面可以查看以往檢測(cè)數(shù)據(jù),如圖10查看歷史記錄所示,若想查看詳情界面可以通過(guò)“查看詳情”按鈕查看對(duì)應(yīng)的詳細(xì)界面。
5) 學(xué)生圖片上傳:學(xué)生界面可通過(guò)輸入教師的用戶名,并通過(guò)下拉菜單完成文件夾選擇,再通過(guò)選擇文件夾完成圖片上傳,上傳成功后會(huì)有3秒鐘的圖片上傳成功提示。
6 結(jié)論
本文設(shè)計(jì)并實(shí)現(xiàn)了一種基于改進(jìn)YOLOv5s模型的PCB板缺陷檢測(cè)系統(tǒng)。針對(duì)原始YOLOv5s模型在PCB缺陷檢測(cè)中通道和空間信息提取不足的問(wèn)題,本文引入了CBAM注意力機(jī)制,增強(qiáng)了模型對(duì)重要特征的關(guān)注度,提高了特征提取的有效性。同時(shí),采用SlideLoss損失函數(shù),增強(qiáng)了模型對(duì)難以檢測(cè)樣本的識(shí)別能力,減少了漏檢現(xiàn)象。實(shí)驗(yàn)結(jié)果表明,改進(jìn)后的模型在準(zhǔn)確率上提升了7.17%,平均召回率提升了4.38%,在處理圖像模糊和小目標(biāo)檢測(cè)方面表現(xiàn)尤為突出。本文研究的創(chuàng)新點(diǎn)在于將改進(jìn)的YOLOv5s模型成功應(yīng)用于教學(xué)實(shí)踐,提供了高效、準(zhǔn)確的PCB缺陷檢測(cè)解決方案,具有實(shí)際應(yīng)用價(jià)值和推廣潛力。未來(lái)的研究工作將致力于進(jìn)一步提升模型的檢測(cè)精度和速度,如優(yōu)化模型結(jié)構(gòu)、探索更深層次的特征提取方法、引入更先進(jìn)的損失函數(shù)和注意力機(jī)制,進(jìn)一步提高模型的性能。此外,計(jì)劃將該系統(tǒng)擴(kuò)展應(yīng)用到其他類(lèi)型的缺陷檢測(cè)任務(wù)中,如焊點(diǎn)檢測(cè)、電子元器件檢測(cè)等,為更多領(lǐng)域的教學(xué)和工業(yè)檢測(cè)提供支持,推動(dòng)智能檢測(cè)技術(shù)的發(fā)展與應(yīng)用。
參考文獻(xiàn):
[1] 于心怡.基于深度學(xué)習(xí)的印刷電路板表面圖像增強(qiáng)與缺陷識(shí)別研究[D].長(zhǎng)沙:中南大學(xué),2023.
[2] 徐一奇,肖金球,汪俞成,等.基于機(jī)器視覺(jué)的PCB表面缺陷檢測(cè)研究綜述[J/OL].微電子學(xué)與計(jì)算機(jī),1-15[2024-08-03].https://kns. cnki. net/kcms2/article/abstract? v=3uoqIhG8C44YLTlOAiTRKibYlV5Vjs7ioT0BO4yQ4m_mOgeS2ml3UHH4bN4tKXwL-YoSKs8wQHHEXlUk-D-Dq9bTB6kj6bJi&uni ?platform=NZKPT
[3] IBRAHIM I,IBRAHIM Z,ABIDIN M,et al.An algorithm for clas?sification of five types of defects on bare printed circuit board[J].Interm ational Journal of Computational I,2008,13(1):57-64.
[4] MELNYK R A,TUSHNYTSKYY R B.Detection of defects in printed circuit boards by clustering the etalon and defected samples[C]//2020 IEEE 15th International Conference on Ad?vanced Trends in Radioelectronics, Telecommunications and Computer Engineering (TCSET). February 25-29, 2020, Lviv-Slavske,Ukraine.IEEE,2020:961-964.
[5] YUN T S,SIM K J,KIM H J.Support vector machine-based in?spection of solder joints using circular illumination[J].Electron?ics Letters,2000,36(11):949.
[6] WU H,ZHANG X M,XIE H W,et al.Classification of solder joint using feature selection based on Bayes and support vector machine[J].IEEE Transactions on Components,Packaging and Manufacturing Technology,2013,3(3):516-522.
[7] DING R W,DAI L H,LI G P,et al.TDD-net:a tiny defect detec?tion network for printed circuit boards[J].CAAI Transactions on Intelligence Technology,2019,4(2):110-116.
[8] HU B,WANG J H.Detection of PCB surface defects with im?proved faster-RCNN and feature pyramid network[J].IEEE Ac?cess,2020,8:108335-108345.
[9] WOO S,PARK J,LEE J Y,et al.CBAM:convolutional block at?tention module[M]//Lecture Notes in Computer Science.Cham:Springer International Publishing,2018:3-19.
[10] YU Z P,HUANG H B,CHEN W J,et al.YOLO-FaceV2:a scale and occlusion aware face detector[J]. Pattern Recognition,2024,155:110714.
[11] REN S,HE K,GIRSHICK R,et al.Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks [J].IEEE Transactions on Pattern Analysis and Machine Intel?ligence,2015,39(6):1137-1149.
[12] SHEN M H,LIU Y J,CHEN J,et al.Defect detection of printed circuit board assembly based on YOLOv5[J]. Scientific Re?ports,2024,14(1):19287-19287.
【通聯(lián)編輯:謝媛媛】
基金項(xiàng)目:新疆農(nóng)業(yè)大學(xué)大學(xué)生創(chuàng)新項(xiàng)目:電子技術(shù)基本技能實(shí)訓(xùn)評(píng)分系統(tǒng)(項(xiàng)目編號(hào):dxscx2024355)