夏卓飛,龔家元,周詩薇,代加喜
(湖北汽車工業(yè)學(xué)院 汽車工程師學(xué)院,湖北 十堰 442002)
芯片制造過程繁瑣,如果配置不當(dāng),可能出現(xiàn)缺陷。某些基于機(jī)器視覺的方法應(yīng)用到芯片表面缺陷檢測[1-2]中,代替人工檢測缺陷,提高了檢測效率,但因芯片上可能出現(xiàn)多種不同類型的缺陷,難以進(jìn)行特征提取分類,易造成錯分等問題。一些學(xué)者將基于深度學(xué)習(xí)的缺陷檢測方法應(yīng)用在芯片缺陷檢測領(lǐng)域,因?qū)崟r性要求,一般采用以YOLO 為代表的單階段檢測方法[3-6]。周天宇等[7]提出基于改進(jìn)的YOLOv3 對載波芯片進(jìn)行缺陷檢測,使用K-means方法對數(shù)據(jù)集進(jìn)行聚類分析,優(yōu)化初始先驗(yàn)框,提高了平均準(zhǔn)確率。Chen等[8]提出基于改進(jìn)YOLOv3 的方法,將DenseNet 引入代替Darknet-53網(wǎng)絡(luò),對發(fā)光二極管芯片進(jìn)行缺陷檢測,取得良好的效果。上述芯片缺陷檢測方案提升了檢測精度,但存在精度不高、網(wǎng)絡(luò)模型臃腫、參數(shù)量大等劣勢,基于此提出SE-CPN(squeeze and excitation-cross stage partial path aggregation network)模型,對芯片表面缺陷進(jìn)行檢測,骨干網(wǎng)絡(luò)中引入跨階段局部網(wǎng)絡(luò)結(jié)構(gòu)(cross stage partial network,CSPNet)[9],添加注意力機(jī)制模塊[10-12],采用PANet(path aggregation network)[13]中的多尺度路徑聚合網(wǎng)絡(luò)進(jìn)行特征提取。為降低神經(jīng)網(wǎng)絡(luò)的計算成本,采用Ghost 模塊[14]。實(shí)驗(yàn)表明,SE-CPN 模型能在較小體量下保證較高的準(zhǔn)確率。
芯片表面缺陷尚無公開數(shù)據(jù)集,目前開源的缺陷芯片圖片樣本量較少,難以滿足神經(jīng)網(wǎng)絡(luò)訓(xùn)練的需要。為避免卷積神經(jīng)網(wǎng)絡(luò)出現(xiàn)過擬合現(xiàn)象,建立數(shù)據(jù)集時,采用數(shù)據(jù)增強(qiáng)[15-16]的方式擴(kuò)增數(shù)據(jù),增強(qiáng)網(wǎng)絡(luò)的魯棒性和泛化能力。主流數(shù)據(jù)增強(qiáng)方式有隨機(jī)飽和度調(diào)整、隨機(jī)亮度調(diào)整、隨機(jī)顏色擾動、隨機(jī)對比度調(diào)整、隨機(jī)角度旋轉(zhuǎn)、隨機(jī)裁剪、隨機(jī)添加噪聲、隨機(jī)遮擋、對稱翻轉(zhuǎn)等方法。文中采用多種數(shù)據(jù)增強(qiáng)方式疊加后再隨機(jī)刪除部分樣本的方法。增加樣本量的同時,保證樣本特征多樣性。數(shù)據(jù)增強(qiáng)方式為
式中:M為數(shù)據(jù)增強(qiáng)后的圖片總數(shù);n為數(shù)據(jù)增強(qiáng)方法個數(shù);l為0~20的隨機(jī)數(shù)。
芯片檢測在拍攝過程中需要工業(yè)顯微鏡和工業(yè)相機(jī)等設(shè)備共同作用,多設(shè)備協(xié)同拍攝過程中會出現(xiàn)噪聲干擾,使圖像質(zhì)量下降。對比高斯濾波、均值濾波、雙邊濾波、中值濾波的效果[17],圖片通過中值濾波后噪點(diǎn)最少,濾波效果最佳。部分缺陷的特征和噪聲特征可能類似,為驗(yàn)證濾波對缺陷是否造成影響,對比劃痕缺陷和卷邊缺陷經(jīng)中值濾波后效果,如圖1所示,中值濾波對缺陷并無明顯影響。因此采用中值濾波方法去除圖像的噪聲干擾。
圖1 中值濾波對缺陷影響
中值濾波法是基于排序統(tǒng)計理論的能有效抑制噪聲的非線性信號處理技術(shù),把數(shù)字圖像或數(shù)字序列中某點(diǎn)的值用該點(diǎn)的某個鄰域中各點(diǎn)值的中值代替,讓周圍的像素值接近真實(shí)值,從而消除孤立的噪聲點(diǎn)。具體方法是用某種結(jié)構(gòu)的二維滑動模板,將板內(nèi)像素按照像素值的大小進(jìn)行排序,生成單調(diào)上升(下降)的二維數(shù)據(jù)序列。二維中值濾波輸出公式為
基于小樣本建立包含576 張芯片檢測圖像的數(shù)據(jù)集,數(shù)據(jù)集包括表面劃痕、卷邊、崩邊3 種缺陷,分辨率為3012×3304 的圖片312 張,分辨率為3840×2748的圖片264張。使用LabelImg對檢測圖像中芯片缺陷部分進(jìn)行標(biāo)注,標(biāo)注內(nèi)容包括損傷類型和邊界框坐標(biāo)。圖2展示了不同種類的缺陷。
圖2 芯片各類缺陷情況
圖像輸入SE-CPN 模型(圖3)時,采用Mosaic技術(shù)進(jìn)行樣本增強(qiáng),再經(jīng)切片操作,減少信息丟失。在主干網(wǎng)絡(luò)中添加CSPNet 結(jié)構(gòu),連接不同階段的卷積層,減少信息丟失。使用Ghost 模塊完成下采樣,降低參數(shù)數(shù)量。通過引入注意力機(jī)制模塊,增強(qiáng)網(wǎng)絡(luò)提取有效特征的能力。在特征檢測階段,提取多個特征映射,使用路徑聚合網(wǎng)絡(luò),利用淺層存在的定位信息來縮短信息路徑,便于在不同尺度提取特征信息,增強(qiáng)檢測效率。
圖3 SE-CPN網(wǎng)絡(luò)模型結(jié)構(gòu)
在網(wǎng)絡(luò)輸入端,采用Mosaic 增強(qiáng)技術(shù)對輸入圖片進(jìn)行數(shù)據(jù)增強(qiáng),如圖4所示。Mosaic數(shù)據(jù)增強(qiáng)參考Cutmix 的思想[18],使用隨機(jī)模塊,對4 張圖片進(jìn)行隨機(jī)大小縮放、隨機(jī)大小剪裁、隨機(jī)位置拼接組合,將拼接后的圖片傳入神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。
圖4 Mosaic增強(qiáng)算法流程
在芯片表面缺陷數(shù)據(jù)集中,小的缺陷目標(biāo)在圖片上分布可能并不均勻,將導(dǎo)致這類缺陷在訓(xùn)練中缺陷特征學(xué)習(xí)并不充分。采用Mosaic 增強(qiáng)方式,同時隨機(jī)抽取4 張圖片都沒有該類目標(biāo)的概率較小,即使4 張圖片都沒有小型目標(biāo),此時新圖片中的目標(biāo)尺寸會變小,變相增加小型目標(biāo)數(shù)量,如圖5所示。通過Mosaic增強(qiáng)方式,提升了小目標(biāo)檢測的準(zhǔn)確率。另一方面,該模塊的引入使模型在批量歸一化時能夠同時計算4張圖片數(shù)據(jù),因此不需要較大的mini-batch,降低了GPU需求。
圖5 Mosaic增強(qiáng)示例
骨干網(wǎng)絡(luò)的輸入端中使用Focus 模塊,如圖6所示,F(xiàn)ocus是圖片切片操作,通過每個像素格進(jìn)行切片和分割,將與該像素點(diǎn)間隔1格位置的像素點(diǎn)進(jìn)行堆疊,將高分辨率圖片轉(zhuǎn)化為高維度的特征圖,提高每個像素的感受野,同時減少信息丟失。
圖6 Focus操作
CSPNet 借鑒Densenet 的思想[19],將淺層的特征圖通過dense block鏈接到下個階段,通過跨階段的特征融合策略和截斷梯度流來增強(qiáng)在不同層內(nèi)特征的可變性。該結(jié)構(gòu)能解決深度骨干網(wǎng)絡(luò)之中冗余梯度問題,提升檢測精度。
注意力機(jī)制最早在自然語言處理領(lǐng)域內(nèi)提出,因其在自然語言處理領(lǐng)域中取得極大成功,注意力機(jī)制也被引入到計算機(jī)視覺領(lǐng)域中。由于芯片缺陷目標(biāo)大小差異較大,采用在通道維度上引入層間注意力機(jī)制,注意力機(jī)制可以有效提升檢測效率。該機(jī)制下,卷積神經(jīng)網(wǎng)絡(luò)中不同通道賦予不同權(quán)重,模型將會更加關(guān)注部分關(guān)鍵特征通道的特征信息,對有效的特征通道賦予更高的權(quán)重,對作用較小的特征通道賦予較低的權(quán)重,權(quán)重計算公式為
式中:H為輸入高度;W為輸入寬度;uc為輸入矩陣。
注意力機(jī)制首先通過全局池化將每個通道的二維特征壓縮為具有全局感受野的實(shí)數(shù),結(jié)構(gòu)如圖7所示。在此基礎(chǔ)上,在二維數(shù)組加入2個卷積層,減少融合各通道的特征信息過程中全連接層龐大的參數(shù)量,同時精煉特征信息,更高效率地設(shè)置通道間的相關(guān)性,為每個特征通道生成權(quán)重值,通過卷積層升維到輸入時圖片的維度,然后利用ReLU激活函數(shù)生成升維后特征的非線性映射,隨后將上一步得到的權(quán)重加權(quán)到每個特征通道上,完成通道維度的注意力機(jī)制。最后將輸入的特征信息與注意力機(jī)制后的特征信息結(jié)合,更大程度地保存圖片的特征信息。
圖7 注意力機(jī)制模塊結(jié)構(gòu)
Neck中使用FPN+PAN模塊,F(xiàn)PN(feature pyramid network)是帶有橫向連接的自頂向下的結(jié)構(gòu)[20],可以在更多尺度上提煉高級語義信息,如圖8所示。PAN(path aggregation network)使用自底向上的路徑增強(qiáng)方法,在較低層次上使用精確的定位信息增強(qiáng)整個特征層次,縮短低層次與最上層特征之間的信息路徑。該模塊將不同層的特征輸出,在自底向上的檢測過程中將輸出聚合起來,通過自底向上的路徑,使底層的特征信息更容易向上傳播,增強(qiáng)網(wǎng)絡(luò)的特征融合能力。
圖8 FPN+PAN模塊結(jié)構(gòu)
在多尺度特征檢測提取中,較淺層中的特征具有更高的空間分辨率,在較深層的特征中,分類能力更強(qiáng)。芯片缺陷經(jīng)常存在缺陷之間特征差異較小的情況,需要對缺陷特征細(xì)節(jié)進(jìn)行檢測。分別從1/2、1/4、1/8、1/16 尺度進(jìn)行特征提取,使網(wǎng)絡(luò)獲得更多不同的感受野,能夠捕捉信息以此獲得更高級別的抽象特征,并利用PAN結(jié)構(gòu)進(jìn)行串聯(lián),對多尺度特征進(jìn)行路徑聚合的特征融合。
在輸出預(yù)測部分,分類端采用PyTorch 中的多標(biāo)簽分類BCEWithLogitsLoss 方法,使用交叉熵作為損失函數(shù):
式中:t[i]為符號樣本,正類取1,負(fù)類取0;σ[xn]為sigmoid函數(shù),可以把x映射到(0,1)的區(qū)間。
IoU(intersection over union)是測量在特定數(shù)據(jù)集中檢測相應(yīng)物體準(zhǔn)確度的標(biāo)準(zhǔn),指真實(shí)值與預(yù)測值2個區(qū)域重疊部分除以2個區(qū)域集合部分得出的結(jié) 果。 采 用GIoU(generalized intersection over union)損失函數(shù)[21],用最小外接矩形來定位預(yù)測框與真實(shí)框的位置。
目標(biāo)檢測預(yù)測結(jié)果階段,對生成的眾多目標(biāo)框執(zhí)行加權(quán)的非極大值抑制(non-maximum suppression)操作,生成最終預(yù)測框及缺陷類別。
試驗(yàn)環(huán)境為PC端,搭載intel(R)Core(TM)i7-7700 CPU 和GeForce GTX 1060 6GB GPU。訓(xùn)練和測試環(huán)境為Ubuntu18.04操作系統(tǒng),基于PyTorch深度學(xué)習(xí)框架,利用CUDA11.2加快GPU運(yùn)算。
為評估網(wǎng)絡(luò)的性能,將數(shù)據(jù)集隨機(jī)分為8∶2的比例,前部分作為訓(xùn)練數(shù)據(jù),后部分作為測試數(shù)據(jù),測試數(shù)據(jù)獨(dú)立于訓(xùn)練數(shù)據(jù),沒有在訓(xùn)練過程中使用,可客觀地檢測訓(xùn)練結(jié)果。實(shí)驗(yàn)中,設(shè)置訓(xùn)練迭代次數(shù)300次,每次輸入4張圖片進(jìn)入網(wǎng)絡(luò),輸入圖片大小為1024×1024,訓(xùn)練檢測效果如圖9 所示。檢測結(jié)果表明,所有缺陷都被正確檢測。模型在迭代到第25 個周期時,損失值迅速降低,如圖10 所示,SE-CPN 模型的損失值能夠在一定迭代周期內(nèi)收斂,網(wǎng)絡(luò)穩(wěn)定性良好。
圖9 缺陷檢測效果
圖10 模型損失函數(shù)
與缺陷分類不同,缺陷檢測僅僅依靠損失函數(shù)不能精準(zhǔn)度量模型性能,為客觀描述模型的檢測性能,采用平均準(zhǔn)確率mAP 來評價檢測實(shí)驗(yàn)結(jié)果。mAP 是目標(biāo)檢測中2 個重要評價指標(biāo)準(zhǔn)確率和召回率之間的平衡,其值為準(zhǔn)確率與召回率曲線下的面積。指標(biāo)定義如式(5)~(6)所示:
式中:P為準(zhǔn)確率;R為召回率;TP為預(yù)測正確的正樣本;FN為預(yù)測錯誤的正樣本;FP為預(yù)測錯誤的負(fù)樣本。將測試集中115 張圖片輸入訓(xùn)練得到的模型中,檢測結(jié)果如圖11~12 所示,模型mAP 達(dá)到98.2%,表明模型具有較好的精度和魯棒性。
圖11 驗(yàn)證集預(yù)測效果
圖12 驗(yàn)證集準(zhǔn)確率-召回率曲線
為驗(yàn)證SE-CPN模型的效果,采用單階段典型網(wǎng)絡(luò)模型RetinaNet[22]、YOLOv3以及兩階段典型網(wǎng)絡(luò)模型Faster-CNN 在相同的芯片數(shù)據(jù)集上進(jìn)行檢測,訓(xùn)練迭代次數(shù)均為300 次,batch-size 均為4。表1為不同網(wǎng)絡(luò)模型檢測結(jié)果對比,表2為檢測模型對比。由表1可知,SE-CPN模型mAP達(dá)98.2%,平均置信度為73.3%。同RetinaNet、YOLOv3、Faster-RCNN 相比,SE-CPN 模型擁有更高的檢測精度和平均置信度。該模型利用注意力模塊和路徑聚合網(wǎng)絡(luò)的特征提取,增強(qiáng)網(wǎng)絡(luò)特征提取能力,對檢測性能的提升有一定促進(jìn)作用。由表2 可知采用Ghost 模塊的SE-CPN 網(wǎng)絡(luò)模型較小,對注意力機(jī)制模塊進(jìn)行優(yōu)化,通過減少全連接層降低參數(shù)數(shù)量,使模型整體大小僅為16.3 MB,參數(shù)量也遠(yuǎn)低于其他網(wǎng)絡(luò)模型。
表1 不同網(wǎng)絡(luò)模型在芯片測試集上的檢測結(jié)果
表2 檢測模型對比
針對現(xiàn)有芯片缺陷檢測存在的問題,提出了SE-CPN 芯片表面缺陷檢測模型;引入改進(jìn)的注意力機(jī)制模塊,提升圖片特征提取效率的同時減少參數(shù)量。通過Ghost 模塊,用簡潔的線性變換生成特征映射,大幅度降低模型參數(shù)量。最后采用PANet結(jié)構(gòu)獲取缺陷的具體類別和詳細(xì)位置。試驗(yàn)結(jié)果表明,SE-CPN 模型相較于其他經(jīng)典模型,具有更好的精度和更精簡的體量,滿足芯片表面缺陷檢測需求。后續(xù)將進(jìn)一步提升模型檢測效率。