王新宇,蔣三新
(上海電力大學(xué)電子與信息工程學(xué)院,上海 201306)
在工業(yè)生產(chǎn)過程中,材料、環(huán)境、工藝參數(shù)的微小變化常導(dǎo)致產(chǎn)品表面產(chǎn)生缺陷,影響質(zhì)量。表面缺陷檢測作為生產(chǎn)線中的關(guān)鍵環(huán)節(jié),對產(chǎn)品質(zhì)量監(jiān)測和生產(chǎn)健康狀況反饋有重要意義。目前,人工目視的缺陷檢測方法已逐步被自動檢測技術(shù)取代,然而,傳統(tǒng)的自動光學(xué)檢測技術(shù)[1-4]和基于人工設(shè)計特征的機器視覺技術(shù)[5-8]存在不穩(wěn)定性、主觀性和局限性等問題,難以滿足實際生產(chǎn)需求。
近些年來,以卷積神經(jīng)網(wǎng)絡(luò)為代表的深度學(xué)習(xí)模型在計算機視覺領(lǐng)域的應(yīng)用給缺陷檢測指出新的方向[9]。R. Ding等[10]在Faster R-CNN基礎(chǔ)上引入多尺度金字塔網(wǎng)絡(luò),應(yīng)用于PCB表面缺陷檢測;湯踴等[11]將經(jīng)典的兩階段網(wǎng)絡(luò)Faster R-CNN應(yīng)用于高壓輸電線路部件的識別與缺陷檢測;Y. J. Cha等[12]將Faster R-CNN的骨干卷積網(wǎng)絡(luò)替換為ZF-net后直接應(yīng)用于橋梁表面缺陷檢測與定位;劉志[13]在深度殘差網(wǎng)絡(luò)Resnet基礎(chǔ)上引入了注意力機制和多尺度特征融合方法,提出了AT-SSD算法,應(yīng)用于LED芯片表面缺陷檢測。Y. Li等[14]改進了SSD的骨干卷積網(wǎng)絡(luò),提出了MobileNet-SSD網(wǎng)絡(luò),用于檢測罐裝密封容器表面缺陷。當(dāng)前表面缺陷檢測中采用的算法與通用目標(biāo)檢測算法一致,視表面缺陷為普通目標(biāo),而忽視了表面缺陷與普通目標(biāo)之間的差異,因此常會導(dǎo)致缺陷定位有偏差,檢測結(jié)果有錯誤和冗余等問題。對此,本文分析表面缺陷的特性,據(jù)此改進兩階段網(wǎng)絡(luò)模型,并基于“以小見大”思路,提出了IBS-Net算法。在構(gòu)建的包含13類缺陷、共35 000個樣本的芯片表面缺陷數(shù)據(jù)集和已公開的熱軋鋼帶表面缺陷數(shù)據(jù)集上的實驗結(jié)果表明:本算法具有良好的有效性和應(yīng)用價值。
將表面缺陷與普通目標(biāo)相對比,分析發(fā)現(xiàn)表面缺陷存在如下特性:
在目標(biāo)檢測中,目標(biāo)之間相互交疊的現(xiàn)象非常常見,檢測交疊目標(biāo)是目標(biāo)檢測的難點,如圖1的目標(biāo)檢測結(jié)果中,“car”、“person”、“bicycle”目標(biāo)相互交疊。然而,表面缺陷之間相互交疊的情況并不常見,一個位置上一般只有一個缺陷,因此,缺陷檢測應(yīng)該給出一個確定的結(jié)果。圖1中的缺陷檢測結(jié)果存在冗余。
圖1 目標(biāo)檢測結(jié)果與表面缺陷檢測結(jié)果
在目標(biāo)檢測中,所有目標(biāo)的檢測都是平等的,然而表面缺陷之間存在重要性差異。本研究通過電子顯微鏡采集到14類7萬余張半導(dǎo)體芯片表面缺陷圖像,樣本分布如圖2所示,各類缺陷樣本占比存在很大差異,各類缺陷的發(fā)生概率不同,即存在著重要性差異,表面缺陷檢測理應(yīng)考慮其差異性。
圖2 芯片表面缺陷數(shù)據(jù)的樣本分布情況
由于表面缺陷與普通目標(biāo)之間存在以上差異,通用目標(biāo)檢測算法不適合直接應(yīng)用于表面缺陷檢測中,據(jù)此,本文利用缺陷之間的互斥性并基于“以小見大”的思路,改進2階段網(wǎng)絡(luò),提出IBS-Net。
在通用目標(biāo)檢測算法中,常采用邊界框交并比(IoU)來評估邊界框之間的重疊程度,IoU在正負樣本匹配與非極大抑制(NMS)方法中都起著至關(guān)重要作用,然而,IoU是不全面的、不精準(zhǔn)的,如圖3所示的情況。圖3(a)中,BBoxi與BBoxj的IoU小于0.5,但BBoxj已明顯覆蓋了BBoxi;圖3(b)中,BBoxj與BBoxi的交疊區(qū)域占其中任一框的比例都已超過0.5,然而其IoU不足0.4,圖3(c)也是如此。IoU明顯不足以衡量重疊程度,依據(jù)IoU來指導(dǎo)正負樣本匹配其合理性存疑,基于IoU的NMS方法處理邊界框也會有所疏漏。
(a) (b) (c)圖3 邊界框示例
為了精準(zhǔn)衡量邊界框之間的重疊程度,本文提出新的評估標(biāo)準(zhǔn):覆蓋比(cover percent,CoP)。CoP計算示意圖見圖4,CoP計算方法見式(1)。
圖4 CoP計算示意圖
(1)
式中:CoP為BBoxi和BBoxj的重疊區(qū)域在其一中占比;變量X為BBoxi或BBoxj,其具體指代可依據(jù)需要設(shè)定。
在兩階段網(wǎng)絡(luò)中,采用骨干卷積網(wǎng)絡(luò)提取特征,再通過區(qū)域提取網(wǎng)絡(luò)(RPN)生成若干感興趣區(qū)域,特征區(qū)域映射與池化后得到的候選框經(jīng)過NMS篩選,隨后送入分類和定位回歸子網(wǎng)絡(luò)。NMS過程中,許多包含缺陷信息的候選框常因其類別置信度低或重疊度高而被剔除,如果能夠合理利用這些候選框,將有利于提升檢測器性能。為此,本文引入“以小見大”思路,當(dāng)辨別物品時,僅憑物體的局部也能判斷出物體名稱和位置,應(yīng)用到表面缺陷檢測中,即可由局部缺陷推知整體缺陷。本文在兩階段網(wǎng)絡(luò)基礎(chǔ)上改進,提出了IBS-Net(imaging the big from the small network),網(wǎng)絡(luò)架構(gòu)見圖5。
圖5 IBS-Net網(wǎng)絡(luò)結(jié)構(gòu)圖
IBS-Net采用特征金字塔網(wǎng)絡(luò)(feature pyramid network,F(xiàn)PN)提取深淺層特征,提取的多層特征圖之間存在上下文語義關(guān)系,通過RPN在每層特征圖上生成的若干候選框之間也存在著相關(guān)性,具體表現(xiàn)為:如果某一特征層內(nèi)的某個候選框包含目標(biāo)缺陷,那么在相鄰特征層中,與其位置上相互重疊的候選框也必然包含目標(biāo)缺陷或局部缺陷,這些候選框都包含缺陷信息。為了合理篩選及利用候選框,本文提出了特征相關(guān)的非極大抑制方法(feature related NMS,F(xiàn)R-NMS)和正樣本擴充方法(positive sample augmentation,PSA)。FR-NMS將篩選的包含局部缺陷信息的候選框?qū)⒆鳛榘胝龢颖緛頂U充正樣本,半正樣本僅用于分類子網(wǎng)絡(luò)。最后,在后處理階段,利用缺陷之間的互斥性,提出了多類別非極大抑制方法(category related non-maximum suppression,CR-NMS),優(yōu)化分類與定位回歸子網(wǎng)絡(luò)生成的預(yù)測結(jié)果。
2.2.1 特征相關(guān)的非極大抑制方法FR-NMS
FR-NMS共分2步對從多個特征層中提取的候選框進行篩選。第1步是層內(nèi)NMS,以類別置信度為標(biāo)準(zhǔn),采用參數(shù)CoP衡量候選框之間的重疊程度,在每個特征層內(nèi)候選框之間獨立地執(zhí)行NMS,去除重疊度較高的候選框;第2步是層間篩選,利用相鄰特征層內(nèi)候選框之間的相關(guān)性,篩選并保留包含缺陷或局部缺陷信息的候選框。FR-NMS流程見圖6。
圖6 FR-NMS算法結(jié)構(gòu)圖
2.2.2 正樣本擴充方法PSA
FR-NMS篩選保留的候選框會與真實框相匹配以劃分正負樣本,采樣后用于最終的分類與定位回歸訓(xùn)練,然而當(dāng)前的基于IoU的匹配方法導(dǎo)致正負樣本數(shù)目的不平衡,單一樣本中缺陷數(shù)量少、尺寸小,使得與目標(biāo)缺陷的相匹配的候選框(即正樣本)數(shù)量更加減少,加劇了正負樣本之間的不平衡。為了緩解上述問題,本文提出了一種正樣本擴充方法PSA。該方法遍歷所有候選框與真實框計算CoP與IoU,以CoP與IoU的聯(lián)合限制判定負樣本、正樣本以及半正樣本,實現(xiàn)候選框與真實框的匹配,其中,將重疊度高的包含缺陷或局部缺陷信息的候選框作為半正樣本,來擴充正樣本,用于輔助缺陷類別的判定。
2.2.3 多類別非極大抑制方法CR-NMS
依據(jù)前文分析的缺陷之間存在的互斥性,本文提出了CR-NMS應(yīng)用于后處理階段,優(yōu)化分類與定位回歸子網(wǎng)絡(luò)生成的預(yù)測結(jié)果。CR-NMS同時考慮邊界框的類別及其置信度,實現(xiàn)邊界框的篩選與優(yōu)化。CR-NMS算法流程如圖7所示。
圖7 CR-NMS算法流程圖
首先,將所有類別置信度小于預(yù)設(shè)閾值(0.1)的冗余邊界框直接刪除;然后,以邊界框的類別置信度為指導(dǎo),執(zhí)行基于CoP的NMS,篩除重疊度高的邊界框;最后,以邊界框的面積為指導(dǎo),對存在包含關(guān)系的邊界框優(yōu)化選擇。邊界框優(yōu)化流程如圖8所示。
邊界框優(yōu)化過程中,充分考慮相互包含的邊界框的類別置信度和類別標(biāo)簽進行擇優(yōu)選擇保留。擇優(yōu)選擇保留方法如圖9所示,其中,本文提出“相似值”來衡量2個邊界框的相似度,計算方法見式(2),采用預(yù)設(shè)的相似值閾值Te(經(jīng)驗值1.15)來指導(dǎo)擇優(yōu)選擇。
圖8 邊界框優(yōu)化流程框圖
圖9 邊界框擇優(yōu)選擇示意圖
f(Si,Sj)=e|Si-Sj|
(2)
式中:Si和Sj為邊界框的類別置信度。
通用目標(biāo)檢測中目標(biāo)是平等的,但是表面缺陷之間存在重要性差異,那么MS COCO數(shù)據(jù)集目標(biāo)檢測評估方法不適用于評估表面缺陷檢測,對此,本文提出了表面缺陷檢測評估方法PEUO,主要思想是依據(jù)不同類缺陷其發(fā)生概率的不同而設(shè)置不同的權(quán)值比重,體現(xiàn)重要性差異。
對于任何缺陷,檢測器做出的判斷有4種可能性:正確、錯誤、不確定和遺漏。正確或錯誤的判斷即最后保留了一個邊界框并且定位準(zhǔn)確,但其類別標(biāo)簽正確或是錯誤,此外,將背景誤判為缺陷也屬于錯誤;不確定即檢測器在缺陷處給出了多種判斷結(jié)果,其中含有正確標(biāo)簽;遺漏即漏檢了缺陷,未對其做出預(yù)測。為評估檢測器對單一類別缺陷的檢測性能,提出以下4個指標(biāo):平均精度(average precision,AP)、平均錯誤率(average error rate,AE)、平均不確定率(average uncertainty rate,AU)和平均遺漏率(average omission rate,AO),計算方法如式(3)、式(4)所示:
(3)
Nall=Nc+Nw+Nu+No
(4)
式中:Nc、Nw、Nu和No分別為此類缺陷的正確、錯誤、不確定和遺漏判斷的樣本數(shù);Nall為此類型缺陷的樣本總數(shù)。
為評估檢測器對所有類別缺陷的綜合檢測性能,提出了以下4個指標(biāo):綜合平均精度(mean AP,mAP)、綜合平均錯誤率(mean AE,mAE)、綜合平均不確定率(mean AU,mAU)和綜合平均遺漏率(mean AO,mAO),計算方法見式(5)、式(6)。
(5)
(6)
式中:C為缺陷類別數(shù);αi為第i類缺陷的權(quán)重,即第i類缺陷樣本數(shù)占所有類別缺陷樣本總數(shù)的比例。
為了評估IBS-Net算法的檢測性能,本研究分別將兩階段目標(biāo)檢測算法Faster R-CNN[15]、RetinaNet[16]、Cascade R-CNN[17]和IBS-Net應(yīng)用在多種表面缺陷數(shù)據(jù)集上進行對比實驗,采用PEUO標(biāo)準(zhǔn)進行評估。本研究全部實驗均在配備Nvidia 2080Ti GPU的工作站上進行,在Ubuntu系統(tǒng)下,采用基于PyTorch的MMDetection檢測庫搭建檢測器,所有檢測器采用已在MS-COCO數(shù)據(jù)集上預(yù)訓(xùn)練后的Resnet-50和Resnet-101作為骨干卷積網(wǎng)絡(luò)。
本研究對采集的芯片表面缺陷數(shù)據(jù)進行預(yù)處理后制作了芯片表面缺陷數(shù)據(jù)集(chip defect dataset,CDD)。采用CDD和已公開的熱軋鋼帶表面缺陷數(shù)據(jù)集(NEU-DET)[18]2種表面缺陷數(shù)據(jù)集訓(xùn)練和驗證檢測器。CDD與NEU-DET中樣本分布見表1、表2。CDD中包含11類、35 000張缺陷圖像(512像素×512像素),缺陷名稱為:外來異物(Foreign)、金屬殘留(Gold)、元件缺損(Incomp)、凹陷凸起(Lump)、藥液殘留(Res)、元件劃傷(Scrach)、漏刻蝕(UBM)、元件異色(Discolor)、元件遺漏(Missing)、橋接短路(Short)和3種類型原料不良(Raw I、Raw II、Raw III)。NEU-DET中包含6類、1 800張缺陷圖像(200像素×200像素),缺陷名稱為:氧化皮(Rolled in scale),斑塊(Patch),開裂(Cracking),點蝕表面(Pitted surface),內(nèi)含物(Inclusion)和劃痕(Scratch)。
表1 CDD中各缺陷樣本分布
表2 NEU-DET中各缺陷樣本分布
兩階段目標(biāo)檢測算法Faster R-CNN、RetinaNet、Cascade R-CNN和IBS-Net在CDD數(shù)據(jù)集上的實驗結(jié)果見表3。當(dāng)以ResNet-50為骨干卷積網(wǎng)絡(luò)時,相較于其他兩階段檢測器,IBS-Net的檢測性能最佳,mAP達94.2%;其次,“不確定”的判斷減少的同時,“錯誤”、“遺漏”情況增加,其具體原因僅根據(jù)綜合性能結(jié)果不能做出分析,具體見圖11;此外,IBS-Net相較于其他兩階段檢測器,計算復(fù)雜度顯著增加。當(dāng)骨干卷積網(wǎng)絡(luò)從ResNet-50替換為ResNet-101后,mAP均有增加。FPS顯著降低,這是由于ResNet-101擁有更深層神經(jīng)網(wǎng)絡(luò),可以更好地提取缺陷的特征,但同時也有更多的參數(shù)需要訓(xùn)練,增加了計算復(fù)雜度。表4是檢測器在NEU-DET上的檢測結(jié)果,表4也可以驗證以上結(jié)論。
表4 基于NEU-DET數(shù)據(jù)集的檢測結(jié)果
為了進一步分析IBS-Net的性能,圖10比較了采用ResNet-101為骨干卷積網(wǎng)絡(luò)的Faster R-CNN和IBS-Net檢測器在各類缺陷中的檢測結(jié)果。從圖10(a)可以看出,IBS-Net顯著提高了各類缺陷的準(zhǔn)確率(AP),圖10(c)中各類缺陷的“不確定”判斷的比例(AU)極大降低,這進一步證明了IBS-Net的有效性。同時也可以看出IBS-Net的不足,圖10(b)中部分類缺陷錯誤率有明顯上升,這表明“由局部缺陷推知整體缺陷”的思想不具有普遍性,對尺寸小、特征相似的缺陷并不友好,應(yīng)當(dāng)有針對性地應(yīng)用。其次,圖10(d)中漏檢情況沒有改善,表明當(dāng)前骨干卷積網(wǎng)絡(luò)提取特征的能力仍有不足,需要進一步改進神經(jīng)網(wǎng)絡(luò)。
圖11為部分芯片表面缺陷的檢測結(jié)果,從圖11中可見,F(xiàn)aster R-CNN的預(yù)測結(jié)果多冗余,IBS-Net的預(yù)測結(jié)果更好。
為了更好地理解IBS-Net,討論了IBS-Net中FR-NMS、PSA和CR-NMS的作用及影響。采用ResNet-101為骨干卷積網(wǎng)絡(luò)的IBS-Net在CDD上實驗,結(jié)果如表5所示。
(a)
(b)
(c)
(d)
圖11 表面缺陷檢測結(jié)果對比
表5 基于CDD數(shù)據(jù)集的消融實驗結(jié)果
當(dāng)僅應(yīng)用FR-NMS時,準(zhǔn)確率下降,錯誤率、不確定率、遺漏率都增高,這是由于FR-NMS篩選的候選框多包含缺陷或局部缺陷,重疊度較高且置信度較小,且未能被合理利用,影響了檢測性能。此外,F(xiàn)PS顯著下降,這說明在FR-NMS的特征層間篩選候選框過程中需要經(jīng)歷數(shù)次迭代,影響了效率;當(dāng)僅應(yīng)用PSA時,準(zhǔn)確率有輕微提升,這說明半正樣本的增添有助于分類任務(wù);當(dāng)僅應(yīng)用CR-NMS時,不確定率顯著降低,準(zhǔn)確率提高,但同時“錯誤”的判斷增加,這是由于CR-NMS對部分“不確定”結(jié)果未作出正確處理;當(dāng)同時應(yīng)用FR-NMS和PSA時,準(zhǔn)確率顯著提升,這是因為PSA可以將FR-NMS篩選的包含缺陷或局部缺陷信息的候選框合理利用,表明“由局部缺陷推知整體缺陷”的思路有助于提升檢測性能;當(dāng)FR-NMS、PSA和CR-NMS全部應(yīng)用時,相互彌補了各部分的缺陷,IBS-Net的檢測性能達到最佳。
本文將基于深度學(xué)習(xí)的目標(biāo)檢測方法引入到表面缺陷檢測中。通過分析并利用表面缺陷的特性,有針對性地改進了檢測算法,提出了兩階段網(wǎng)絡(luò)的改進算法IBS-Net和表面缺陷檢測評估方法PEUO。在構(gòu)建的芯片表面缺陷數(shù)據(jù)集CDD和公開的熱軋鋼帶表面缺陷數(shù)據(jù)集(NEU-DET)上的實驗表明,IBS-Net算法可以有效實現(xiàn)表面缺陷的識別與定位。同時,本研究仍然有不足,IBS-Net算法參數(shù)多、時間復(fù)雜度較高,在進一步的改進中,可以考慮研究輕量型網(wǎng)絡(luò),使其更能滿足實時檢測需求,此外,三維類型缺陷的檢測也是后續(xù)的研究方向。