穆莉莉, 伍習(xí)東, 豐 韋
(安徽理工大學(xué)機(jī)械工程學(xué)院,安徽 淮南 232001)
關(guān)于PCB缺陷檢測的研究是半導(dǎo)體產(chǎn)業(yè)備受關(guān)注的研究課題,文獻(xiàn)[1]基于游程編碼和連通區(qū)域分析對(duì)PCB缺陷進(jìn)行檢測,利用指針數(shù)組和動(dòng)態(tài)鏈表保存信息,提高了處理速度,但檢測精度受其他因素影響較大。文獻(xiàn)[2]提出了一種基于數(shù)字圖像處理的印刷電路板缺陷檢測,可不使用參考圖像對(duì)一些常見的PCB缺陷進(jìn)行檢測,但算法設(shè)計(jì)復(fù)雜,不利于快速應(yīng)用。文獻(xiàn)[3]提出了一種基于輪廓提取的電路板缺陷檢測方法,通過檢測定位圓進(jìn)行圖像配準(zhǔn),再進(jìn)行差影運(yùn)算,根據(jù)缺陷閉合邊界外側(cè)與相鄰區(qū)域的不一致關(guān)系進(jìn)行檢測,效率較低。李云峰等[4]通過分析缺陷邊界區(qū)域像素的梯度方向,再對(duì)缺陷進(jìn)行濾波去噪、目標(biāo)分割和特征提取處理,實(shí)現(xiàn)了對(duì)常見的部分PCB缺陷的快速檢測??紤]到PCB缺陷的尺度不一,特征信息變化較大,本文提出了一種基于改進(jìn)Faster R-CNN的PCB缺陷檢測方法[5],其中主要工作有三點(diǎn):①在傳統(tǒng)6種PCB缺陷數(shù)據(jù)集的基礎(chǔ)上[6],制作了灰塵、劃痕數(shù)據(jù)集。②在前向傳播網(wǎng)絡(luò)中采用Soft-NMS方法對(duì)預(yù)選框進(jìn)行非極大值抑制,獲取高質(zhì)量的預(yù)測框,在反向傳播時(shí)采用OHEM(Online Hard Example Mining,在線困難樣本挖掘)方法[7]對(duì)高損失值樣本進(jìn)行訓(xùn)練學(xué)習(xí)。③構(gòu)建FPN(Feture Pyramid Network,特征金字塔網(wǎng)絡(luò))對(duì)不同尺度的PCB缺陷進(jìn)行特征融合[8]。
Faster R-CNN算法是第一個(gè)準(zhǔn)實(shí)時(shí)的、真正意義上實(shí)現(xiàn)了端到端的深度學(xué)習(xí)目標(biāo)檢測算法,它最大的創(chuàng)新點(diǎn)是提出并使用了RPN(Region Proposal Network,區(qū)域建議網(wǎng)絡(luò))網(wǎng)絡(luò)代替其前身Fast R-CNN[9]中的SS(Selective Search,選擇性搜索)方法,實(shí)現(xiàn)更加快速地生成高質(zhì)量的建議框,極大地提升了算法的運(yùn)行速度。本文中Faster R-CNN算法特征提取部分所用的骨干網(wǎng)絡(luò)為ResNet-101。
深度學(xué)習(xí)技術(shù)中,常常通過加深網(wǎng)絡(luò)的層數(shù)來提高對(duì)樣本特征的提取能力,這可以在一定程度上提高模型的精確性,然而當(dāng)模型層數(shù)在已達(dá)到理想的層數(shù)時(shí),再繼續(xù)增加網(wǎng)絡(luò)的層數(shù),將會(huì)出現(xiàn)模型退化的現(xiàn)象。針對(duì)這一問題,ResNet團(tuán)隊(duì)提出了深度殘差學(xué)習(xí)框架[10],有效地緩解了深層網(wǎng)絡(luò)中梯度消失或爆炸的問題。對(duì)于某個(gè)淺層模型,輸入為x,其經(jīng)過訓(xùn)練學(xué)習(xí)后輸出的目標(biāo)值Y為:
Y=F(x)
(1)
ResNet使用short connection跨層傳輸,提出了另一種映射:
H(x)=F(x)+x
(2)
如圖1所示,通過殘差單元跳層連接后,梯度能夠繞過若干層直達(dá)輸入層,有效抑制模型訓(xùn)練過程中的過擬合現(xiàn)象,使模型的特征提取能力更具魯棒性。
圖1 ResNet-101中的殘差學(xué)習(xí)單元
圖1中的Weight是指卷積網(wǎng)絡(luò)中的卷積操作,ReLU為線性整流。通過ResNet網(wǎng)絡(luò)到提取圖像的特征圖后,將其同時(shí)共享到RPN層生成高質(zhì)量的預(yù)測框和Fast R-CNN檢測網(wǎng)絡(luò)層中進(jìn)行感興趣區(qū)域池化。
RPN網(wǎng)絡(luò)通過引入anchor(錨)機(jī)制突破了在Fast R-CNN中存在的計(jì)算瓶頸。如圖2所示,anchor機(jī)制通過在特征圖上用一個(gè)固定大小的窗口進(jìn)行滑動(dòng),以窗口的中心點(diǎn)為采樣原點(diǎn),生成k個(gè)(原論文中k=9)大小不同的anchor,對(duì)應(yīng)的將會(huì)產(chǎn)生2k個(gè)分類值代表前景目標(biāo)或背景,以及4k個(gè)回歸坐標(biāo)值。它避免了使模型從圖像中的每個(gè)像素進(jìn)行學(xué)習(xí),加快了網(wǎng)絡(luò)的學(xué)習(xí)速度。
圖2 滑動(dòng)窗口與anchor
在傳統(tǒng)Faster R-CNN網(wǎng)絡(luò)中,圖像的特征提取使用的是最后一層卷積層輸出的單一尺度特征圖,沒有利用到低層網(wǎng)絡(luò)中豐富的幾何結(jié)構(gòu)信息。針對(duì)PCB缺陷樣本尺度變化大的特點(diǎn),采用FPN網(wǎng)絡(luò)對(duì)多尺度的缺陷特征進(jìn)行融合,以提高網(wǎng)絡(luò)對(duì)不同尺寸缺陷的檢測精確度。FPN的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示,它使用自下而上、自上而下、橫向連接的方式將不同分辨率的特征進(jìn)行有效融合,使{P2,P3,P4,P5}層中的特征圖都具有更加豐富的幾何信息和語義信息。
圖3 FPN網(wǎng)絡(luò)結(jié)構(gòu)
FPN網(wǎng)絡(luò)中自下而上的路徑由ResNet-101卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建,它選擇在不同網(wǎng)絡(luò)階段中最后一個(gè)殘差模塊輸出的結(jié)果作為構(gòu)建特征金字塔的源特征映射,將不同卷積階段得到的結(jié)果表示為{C1,C2,C3,C4,C5}。
自上而下的路徑是將高層網(wǎng)絡(luò)中語義信息強(qiáng)、分辨率低的高級(jí)特征通過上采樣的方式逐級(jí)地向下一層傳遞,再通過橫向連接路徑在特征金字塔的每一層構(gòu)建新的特征圖Pi(i=5,4,3,2)。
在目標(biāo)檢測過程中,傳統(tǒng)非極大值抑制(NMS)方法是計(jì)算區(qū)域中置信度最高的檢測框與其他檢測框的重合度,保留低于重合閾值的前n個(gè)框,將其他高于閾值的檢測框進(jìn)行刪除。此種方法在一定程度上能夠提高生成的預(yù)選框的質(zhì)量,但對(duì)于重疊率較高的兩個(gè)目標(biāo),基于重疊率閾值的判斷方法將會(huì)丟棄掉一個(gè)檢測框,會(huì)導(dǎo)致無法檢測出這一被丟棄的目標(biāo)。針對(duì)NMS存在的漏檢問題,本文使用Soft-NMS方法解決誤刪檢測框的問題,它通過計(jì)算得分最高的檢測框和其他檢測框的重合度來選擇是否對(duì)檢測框的得分進(jìn)行衰減,而非直接置零,同樣能得到質(zhì)量較高的檢測框集合,并且比NMS更具泛化性,能有效避免PCB缺陷目標(biāo)的丟失。
在對(duì)PCB缺陷樣本進(jìn)行訓(xùn)練學(xué)習(xí)的過程中,存在著圖像特征不易學(xué)習(xí)的困難樣本,同時(shí)由于一張PCB圖像中缺陷個(gè)數(shù)較少,候選框中屬于背景框的數(shù)量比屬于前景框數(shù)量要大很多,使得整個(gè)網(wǎng)絡(luò)在訓(xùn)練時(shí)往往要通過較多的迭代次數(shù)才能得到較為理想的模型。針對(duì)困難樣本具有損失值較高的特性,在Fast R-CNN檢測階段將損失值進(jìn)行降序排序,獲取到損失值較高的RoI(Region of Interest,感興趣區(qū)域),只計(jì)算出這些特定區(qū)域的損失值并返回給網(wǎng)絡(luò)進(jìn)行反向傳播訓(xùn)練,再更新下一次前向傳播網(wǎng)絡(luò)中的學(xué)習(xí)參數(shù),提高網(wǎng)絡(luò)對(duì)復(fù)雜PCB缺陷樣本中潛在規(guī)律的挖掘能力。
在增加了FPN,Soft-NMS,OHEM方法后,改進(jìn)后的Faster R-CNN整體的網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。
圖4 改進(jìn)后的Faster R-CNN網(wǎng)絡(luò)結(jié)構(gòu)
該結(jié)構(gòu)以ResNet-101卷積神經(jīng)網(wǎng)絡(luò)作為基礎(chǔ)骨干網(wǎng)絡(luò),在不同卷積層對(duì)輸入特征圖進(jìn)行卷積后,構(gòu)建特征網(wǎng)絡(luò)金字塔,再以自上而下的方式對(duì)不同尺度的特征進(jìn)行融合,融合后得到的FeatureMap共享給區(qū)域建議網(wǎng)絡(luò)和Fast R-CNN檢測網(wǎng)絡(luò)。
在區(qū)域建議網(wǎng)絡(luò)中,以FeatureMap為錨點(diǎn)采樣平臺(tái),通過anchor機(jī)制生成預(yù)測候選框,由于生成候選框是以中心點(diǎn)參考方式生成的,為對(duì)候選框進(jìn)行后處理時(shí)方便運(yùn)算,先對(duì)這些anchor進(jìn)行解碼,將anchor的坐標(biāo)值由中心點(diǎn)坐標(biāo)轉(zhuǎn)換為直接坐標(biāo)值,然后再對(duì)超出圖像邊界的候選框進(jìn)行修剪,將anchor的標(biāo)記區(qū)域限制在圖像邊界內(nèi)。通過Soft-NMS進(jìn)行軟非極大值抑制,剔除掉參考價(jià)值較低的候選框,最終送入損失層計(jì)算RPN損失。圖5展示了anchor后處理的這一過程。
圖5 anchor后處理
在Fast R-CNN檢測網(wǎng)絡(luò)中,將由特征融合網(wǎng)絡(luò)得到的FeatureMap和經(jīng)區(qū)域建議網(wǎng)絡(luò)得到的RoIs進(jìn)行RoI池化,對(duì)于不同shape的數(shù)據(jù),采用不同的池化處理方式,以保證在進(jìn)行全連接時(shí)輸入數(shù)據(jù)具有相同的維度。網(wǎng)絡(luò)通過軟非極大值抑制,對(duì)最終生成的預(yù)測框進(jìn)行分類和回歸,而后產(chǎn)生分類損失和回歸損失,通過OHEM方法將損失值進(jìn)行反向傳播,然后更新前向傳播網(wǎng)絡(luò)中的模型參數(shù),改善網(wǎng)絡(luò)對(duì)特征復(fù)雜的PCB缺陷樣本特征的提取能力。在相同迭代次數(shù)下,生成對(duì)PCB缺陷樣本感知能力更強(qiáng)的檢測模型,進(jìn)一步提升檢測網(wǎng)絡(luò)的效率。
實(shí)驗(yàn)基于北京大學(xué)智能機(jī)器人實(shí)驗(yàn)室的PCB缺陷數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),其中缺孔、鼠咬、開路、短路、毛刺、余銅6類缺陷為傳統(tǒng)缺陷,灰塵、劃痕2類缺陷數(shù)據(jù)集由本文制作完成,使用旋轉(zhuǎn)、翻轉(zhuǎn)、亮度改變等方式對(duì)數(shù)據(jù)集進(jìn)行擴(kuò)充,使用的樣本標(biāo)注軟件為labelImg。數(shù)據(jù)集中圖像的大小為600×600,圖片總數(shù)為14148,缺陷樣本數(shù)為28876,平均每張圖片中約有2個(gè)缺陷樣本,數(shù)據(jù)集以7:3的比例劃分為訓(xùn)練集和測試集,迭代的epoch數(shù)為1。
為驗(yàn)證本方法在PCB缺陷檢測中的實(shí)際效果,進(jìn)行實(shí)驗(yàn)驗(yàn)證。本文采用平均精度(Average Precision, AP)、平均精度均值(mean Average Precision, mAP)作為檢測算法的主要評(píng)價(jià)指標(biāo),采用的算法分別為: Faster R-CNN檢測網(wǎng)絡(luò), 即文獻(xiàn)[5]方法; Faster R-CNN+OHEM檢測網(wǎng)絡(luò),即文獻(xiàn)[7]方法; Faster R-CNN+FPN檢測網(wǎng)絡(luò),即文獻(xiàn)[8]方法; Faster R-CNN+FPN +Soft-NMS+OHEM檢測網(wǎng)絡(luò),即本文提出方法; YOLO v3檢測網(wǎng)絡(luò),即文獻(xiàn)[11]方法。不同算法對(duì)8類缺陷檢測的AP值如表1所示。
表1 不同算法對(duì)PCB缺陷檢測的AP值%
使用本文提出方法進(jìn)行檢測后的結(jié)果截圖如圖6所示。
圖6 本文所用方法的檢測結(jié)果
由表1可知,F(xiàn)PN以及OHEM方法均能提高Faster R-CNN網(wǎng)絡(luò)對(duì)PCB缺陷目標(biāo)檢測的精確度,而本文所提出的方法對(duì)PCB缺陷檢測效果的提升更為顯著,平均檢測精度達(dá)到93.76%,能夠?qū)?類PCB缺陷進(jìn)行準(zhǔn)確識(shí)別和精準(zhǔn)定位。
為提高PCB缺陷檢測精度,提出基于深度學(xué)習(xí)的PCB缺陷檢測方法。針對(duì)8類PCB缺陷使用不同檢測算法進(jìn)行對(duì)比實(shí)驗(yàn),采用ResNet-101卷積神經(jīng)網(wǎng)絡(luò)對(duì)多尺度的PCB缺陷進(jìn)行特征提取,并建立特征金字塔網(wǎng)絡(luò),將不同尺度的特征信息進(jìn)行融合。使用Soft-NMS篩選高質(zhì)量的預(yù)測框,反向傳播階段采用OHEM傳播損失,更新前向傳播網(wǎng)絡(luò)模型中的參數(shù),提高了算法對(duì)PCB缺陷檢測的精確度,并與YOLO v3算法進(jìn)行對(duì)比。實(shí)驗(yàn)結(jié)果表明,本文提出的檢測方法在測試集上mAP值達(dá)到93.76%,檢測性能與魯棒性良好,可為PCB產(chǎn)品質(zhì)量自動(dòng)化檢測提供相關(guān)參考。