胡江宇,賈樹林,馬雙寶,2
(1.武漢紡織大學(xué)機(jī)械工程與自動化學(xué)院,湖北武漢 430200;2.湖北省數(shù)字化紡織裝備重點實驗室,湖北武漢 430200)
隨著印制電路板(printed circuit board,PCB)在各類電子產(chǎn)品中廣泛應(yīng)用,工業(yè)上對高效、準(zhǔn)確的PCB缺陷識別分類檢測裝置的需求越來越強(qiáng)烈。人工智能技術(shù)的興起,許多融合深度學(xué)習(xí)技術(shù)的算法或檢測手段在提高生產(chǎn)效率方面起著巨大的推動作用,不斷提高檢測效果。例如朱寒[1]提出一種基于改進(jìn)模板匹配及圖像差分法的PCB缺陷多級檢測方法;胡珊珊等[2]提出命名為UF-Net的一種基于深度學(xué)習(xí)的PCB微小缺陷檢測網(wǎng)絡(luò);瞿棟等[3]提出基于ResNet101網(wǎng)絡(luò)模型搭建了PCB缺陷圖像識別分類模型;朱憲宇等[4]提出將YOLOv4引入到PCB裸板缺陷檢測,采用Canopy+K-means聚類改進(jìn)獲取先驗框;劉偉森等[5]提出一種基于多尺度輕量級卷積網(wǎng)絡(luò)的PCB裸板缺陷識別算法解決印刷電路板(PCB)缺陷檢測方法存在的檢測效率低、接觸式檢測易損傷問題;謝黎等[6]根據(jù)電路板上元器件尺度變化大、小目標(biāo)數(shù)量多的特點,設(shè)計改進(jìn)YOLOv4算法對電路板上不同元器件進(jìn)行定位與識別;馬宇峰等[7]將訓(xùn)練好的模型部署在樹莓派4B上設(shè)計一種基于深度學(xué)習(xí)的PCB板元件缺陷檢測系統(tǒng)。本文從卷積網(wǎng)絡(luò)與深度學(xué)習(xí)入門,在實際圖像中,PCB板的缺陷相對較小且與背景色極其相似,本文研究Faster RCNN[8]網(wǎng)絡(luò)模型的結(jié)構(gòu)框架,針對PCB缺陷[9]檢測任務(wù)和傳統(tǒng)小目標(biāo)檢測任務(wù)參數(shù)上的不同而進(jìn)行改進(jìn)。
本文以目標(biāo)檢測算法Faster RCNN[10]為架構(gòu),改進(jìn)卷積核、改變特征提取策略、優(yōu)化損失函數(shù),針對不同任務(wù)對模型進(jìn)行優(yōu)化拓展[11]。Faster RCNN基本模型架構(gòu)如圖1所示。
圖1 Faster RCNN基本模型架構(gòu)
Faster RCNN[12]因為單一閾值訓(xùn)練的檢測器效果有限,為此本文采用Cascade Faster RCNN網(wǎng)絡(luò)增強(qiáng)檢測效果,如圖2所示。工業(yè)場景下目標(biāo)面積小,特征微弱,通過多級調(diào)整,可以使網(wǎng)絡(luò)集中在占比較低的缺陷目標(biāo),最終獲得更為精確的檢測框。本文采用Resnet-101[13]殘差網(wǎng)絡(luò)作為骨干網(wǎng)絡(luò),并針對PCB表面的特殊缺陷,添加改進(jìn)后的SPP和多尺度特征融合分析。為提高神經(jīng)網(wǎng)絡(luò)對PCB缺陷目標(biāo)的檢測能力,在輕量級特征提取網(wǎng)絡(luò)之后構(gòu)建多尺度特征融合網(wǎng)絡(luò)。對于深層網(wǎng)絡(luò),其特征圖的分辨率較低,空間幾何特征表征能力差,但感受野較大,能夠獲得高級語義信息;而淺層網(wǎng)絡(luò)中,由于特征圖的分辨率較大,所反映出的空間幾何特征細(xì)節(jié)性更強(qiáng),但感受野較小,語義表征能力較弱,結(jié)合深層網(wǎng)絡(luò)中的高級語義信息和淺層網(wǎng)絡(luò)中的幾何信息可以提高神經(jīng)網(wǎng)絡(luò)的檢測性能。
圖2 Cascade Faster RCNN網(wǎng)絡(luò)模型架構(gòu)
首先采取RPN網(wǎng)絡(luò)獲取PCB表面缺陷部分的ROI區(qū)域,下一步借助ROI Pooling層凸顯相關(guān)特征信息,最終回歸出缺陷的原始坐標(biāo)。而RPN[14]需要一起預(yù)測待檢范圍內(nèi)有無目標(biāo)物體和生成邊界框的坐標(biāo),相關(guān)損失函數(shù)表示為
(1)
文中采用SmoothL1損失[15]如式(2)所示:
(2)
RPN采用回歸預(yù)測值與真值偏移量的方式,計算預(yù)測邊界框的位置如下:
(3)
式中:x、y、w、h分別表示框的中心點坐標(biāo)和框的高和寬;x、xa、x*分別表示預(yù)測框、錨框和預(yù)測框真值。
回歸損失函數(shù)如式(4)所示:
(4)
為過濾特征圖中的部分噪聲特征,本文提出一種過濾特征金字塔SPP-net。將各種CNN[16]架構(gòu)的精度都大幅提升,SPP-net只需計算一次特征圖,然后對任意尺寸的區(qū)域進(jìn)行特征池化,最后產(chǎn)生一個代表性尺寸用作訓(xùn)練檢測器。它避免反復(fù)計算卷積值,顯著降低算力,SPP工作流程如圖3所示。
圖3 SPP特征過濾金字塔
本文提出特征金字塔的檢測網(wǎng)絡(luò)進(jìn)行多尺度特征融合[17]。一般而言,特征提取網(wǎng)絡(luò)即為自下而上的卷積操作,本文將ResNet-101作為骨干網(wǎng)絡(luò),用C1~C5來分別表示ResNet每個階段池化后的特征圖的輸出,同時每一階輸出的特征圖像在尺寸上相差2倍。自上而下的路徑首先是從最上方的C5開始進(jìn)行最近鄰上采樣,通過1*1的卷積層。產(chǎn)生低分辨率特征信息,然后通過上采樣將特征放大1倍,通過橫向連接與C4層有著相同尺寸的特征圖像進(jìn)行融合,并將融合后的特征圖像通過3*3的卷積核來避免上采樣產(chǎn)生的混疊效應(yīng),進(jìn)而得到新的具有強(qiáng)語義信息的融合特征圖像,記為P2~P5,如圖4所示。由于多層特征的圖像分辨率不同,執(zhí)行多尺度特征映射時,針對不同尺度的區(qū)域候選框,通過公式(5)來對金字塔的等級進(jìn)行計算。
圖4 多尺度融合
(5)
式中:數(shù)字640為所用電路板數(shù)據(jù)集圖像的尺寸;k0為基礎(chǔ)網(wǎng)絡(luò)中通過卷積網(wǎng)絡(luò)映射出特征圖像的層次;w、h為生成候選框的寬和高。
通過對比分析每層的特征信息然后綜合得出包含豐富特征信息的特征圖,進(jìn)而逐步提高網(wǎng)絡(luò)對不同尺度缺陷檢測的能力。
Faster RCNN默認(rèn)目標(biāo)分類損失使用多類別交叉熵?fù)p失[18]函數(shù)。而待檢測的電路板圖像,缺陷通常只占極小區(qū)域,正負(fù)樣本出現(xiàn)嚴(yán)重不均衡,負(fù)樣本數(shù)量過大也會影響損失函數(shù)。在識別過程中,簡單樣本會抑制對困難樣本的學(xué)習(xí)能力。因此,按照式(6)使用focal loss損失函數(shù)。
(6)
式中:y為真實值;y′為預(yù)測的概率值;α為調(diào)節(jié)正負(fù)類的矯正系數(shù);γ用來調(diào)節(jié)樣本損失權(quán)重,γ=2。
通過α和γ對樣本不平衡進(jìn)行調(diào)整,有效解決樣本不平衡問題,提高模型學(xué)習(xí)能力。
ROI Align通過雙線性或內(nèi)插的方式得到位置為浮點數(shù)的象素點上的所有圖像數(shù)據(jù),進(jìn)而使整個特征聚集過程轉(zhuǎn)變?yōu)橐环N連續(xù)的操作,從而克服了區(qū)域不匹配問題。
PCB板缺陷具有缺陷區(qū)域面積小的特點,同時檢測算法需要部署在工業(yè)現(xiàn)場輕量化移動端中。而Faster RCNN算法以CSPDarknet53網(wǎng)絡(luò)作為特征提取網(wǎng)絡(luò),有104層卷積網(wǎng)絡(luò),其中卷積層72個,并且使用大量標(biāo)準(zhǔn)3*3卷積操作。在進(jìn)行運算過程中,使用大量計算資源,從而難以部署至工業(yè)輕量化移動端中。同時,由于卷積層數(shù)較多,隨著多層特征傳遞,使局部精細(xì)化特征提取能力逐漸下降,影響算法對PCB小目標(biāo)缺陷的檢測性能。因此有必要對Faster RCNN特征提取網(wǎng)絡(luò)進(jìn)行改進(jìn),以滿足PCB面板小目標(biāo)缺陷檢測和方便算法部署在移動端要求。
MobileNetV3是MobileNet網(wǎng)絡(luò)發(fā)展的第三代,其由Andrew等在MobileNetV1和MobileNetV2基礎(chǔ)上進(jìn)行改進(jìn)。同時改進(jìn)swish激活函數(shù)為h-swish減少計算量,可以達(dá)到更少計算量,更高精度的效果。與CSPDarknet53網(wǎng)絡(luò)相比,既保持較為強(qiáng)大的特征提取能力,又在很大程度上減少模型的體積,使其更加方便部署在工業(yè)現(xiàn)場移動端中。同時比CSPDarknet53網(wǎng)絡(luò)具有更少的網(wǎng)絡(luò)深度,可以更好對局部精細(xì)化特征提取,提升對PCB小目標(biāo)缺陷檢測性能。
在文中采用DingR[19]開源的PCB缺陷數(shù)據(jù)集作為訓(xùn)練數(shù)據(jù)集,所有圖片共分為6個類,分別代表缺失孔、鼠咬傷、開路、短路、雜散、偽銅6種缺陷。缺陷實際分布情況如表1所示,各類檢測難點如表2所示。
表1 PCB缺陷數(shù)據(jù)集
表2 PCB缺陷檢測要點
在訓(xùn)練過程中如果沒有一定數(shù)量的數(shù)據(jù)集將面臨過擬合問題。數(shù)據(jù)集中原始圖像尺寸為3 014像素×2 138像素,尺寸與cascade-RCNN網(wǎng)絡(luò)模型的輸入要求不匹配。因此將輸入圖像裁剪為640像素×640像素的子圖像,裁剪后圖像數(shù)據(jù)按照訓(xùn)練集和測試集4∶1比例劃分,其中訓(xùn)練集包含8 871張圖像,測試集包含2 217張圖像。
為評價模型有效性,采用漢明損失(HLoss)作為模型分類精度評價指標(biāo)、分類精度(AP)及平均精度均值(mAP)作為模型檢測精度評價指標(biāo)。HLoss表示所有標(biāo)簽中錯誤樣本的比例,計算公式如式(7)所示:
(7)
式中:n為樣本類總數(shù);L為標(biāo)簽類總數(shù);xij為第i個模型上預(yù)測結(jié)果中第j個分量的真實值;yij為第i個模型預(yù)測結(jié)果中第j個分量的預(yù)測值;XOR為異或運算。
AP計算式如式(8)所示:
(8)
式中TP、FP分別為真正例、假正例。
對于多種類目標(biāo)的平均檢測精度采用mAP作為總類別評價指標(biāo),計算公式如式(9)所示:
(9)
式中:AP為單類別準(zhǔn)確率;C為總類別數(shù)。
本文模型訓(xùn)練所用環(huán)境配置為Intel i9-9700K處理器,訓(xùn)練過程中的精度曲線如圖5所示。
圖5 訓(xùn)練過程精度曲線變化
實驗選取缺失孔,鼠咬傷,開路,短路,雜散,偽銅6類PCB缺陷進(jìn)行驗證,結(jié)果見表3。
表3 不同缺陷種類模型性能
對表3數(shù)據(jù)進(jìn)行分析可以得出,本文設(shè)計的缺陷檢測模型對于不同種類缺陷檢測具有較高精度,平均分類精度達(dá)98.91%,平均mAP為78.21%。其次使用YOLOv5、Faster RCNN、Cascade-RCNN及本文所構(gòu)建的缺陷檢測模型設(shè)計4組對比實驗,對比各模型在本文所用數(shù)據(jù)集上的分類精度AP、mAP、誤檢率及漏檢率4項指標(biāo),實驗結(jié)果見表4。
表4 不同模型對比結(jié)果
由表4可知,本文所構(gòu)建模型分類精度較YOLOv5模型提升3.08%,漏檢率降低4.3%。Cascade RCNN漏檢率略低于本文模型,但準(zhǔn)確率不及本文模型,分析其原因是由于Cascade RCNN所采用的結(jié)構(gòu)為級聯(lián)結(jié)構(gòu),對閾值的提升是逐步進(jìn)行的,故漏檢率較低。文中實驗結(jié)果如圖6所示,改進(jìn)的Cascade RCNN可以較為正確的判斷故障是屬于哪種類型,并且給出相關(guān)屬性。
圖6 實驗結(jié)果
為驗證本文模型改進(jìn)方案是否有效,采用模塊分離法對每個階段模型進(jìn)行分離訓(xùn)練,得到添加相應(yīng)模塊后的模型mAP,依次添加ROIAlign模塊、DCN模塊、多尺度融合及優(yōu)化損失函數(shù),mAP由71.65%提升到78.21%。模型效果得到顯著提升,驗證本文改進(jìn)方案的有效性。
對于工業(yè)制造過程中常見的PCB板缺陷檢測效率低問題,本文提出改進(jìn) Faster RCNN模型架構(gòu)并且結(jié)合級聯(lián)神經(jīng)網(wǎng)絡(luò)的PCB板缺陷檢測算法,將原有的感興趣候選區(qū)域池化層用ROI Ailgn池化替代,這樣就對滑動窗口產(chǎn)生優(yōu)化,從而生成精確度更高的缺陷回歸框。本文為了加強(qiáng)整體特征的語義充分表達(dá),強(qiáng)化微小目標(biāo)特征的函數(shù)分辨率并且篩選掉原特征圖中的已存的噪聲特征。與此同時,通過采用focal loss對損失函數(shù)進(jìn)行優(yōu)化RPN損失函數(shù),使得生成候選區(qū)域的精度更高。為使模型能夠得到廣泛的應(yīng)用,采用數(shù)據(jù)增強(qiáng)和裁剪以及多階段訓(xùn)練添加樣本,豐富數(shù)據(jù)集。實驗過程中發(fā)現(xiàn)邊界框?qū)捀弑?、NMS閾值、IoU閾值等一些超參數(shù)的設(shè)置,對模型的性能有極大的影響。最后實驗證實本文模型的可靠性,平均分類精度達(dá)98.91%,mAP達(dá)到78.21%。