李 鍵,李 華,2,胡翔坤,李少波,喬 靜
(1.貴州大學(xué) 省部共建公共大數(shù)據(jù)國家重點實驗室,貴州 貴陽 550025;2.清華大學(xué) 機械工程系,北京 100084;3.新疆科技學(xué)院 信息科學(xué)與工程學(xué)院,新疆 庫爾勒 841000)
在各類工業(yè)產(chǎn)品中,表面是否有缺陷能很大程度上反映其性能,表面缺陷檢測是淘汰殘次品的重要手段和衡量技術(shù)進步的重要依據(jù)。在我國制造業(yè)規(guī)劃《中國制造2025》中明確指出,制造業(yè)數(shù)字化、網(wǎng)絡(luò)化和智能化是這一輪工業(yè)革命的技術(shù)核心[1]。加快表面缺陷檢測裝備技術(shù)水平,對提升工業(yè)產(chǎn)品性能、質(zhì)量和壽命等指標(biāo)有著重要意義。
視覺缺陷檢測方法是目前的主流檢測方法,其主要優(yōu)勢是安全準(zhǔn)確,受材料和形狀的影響較小且檢測效率高,經(jīng)過數(shù)十年的發(fā)展,已有大量的基于機器視覺的缺陷檢測設(shè)備被開發(fā)出來[2],但也存在如設(shè)計復(fù)雜、設(shè)備環(huán)境適應(yīng)能力差、模型參數(shù)量大硬件成本高等問題。傳統(tǒng)的基于圖像處理的缺陷檢測方法分為特征提取和識別兩個階段,文獻[3-4] 分別采用選擇性支配局部二進制模式(Selectively Dominant Local Binary Patterns, SDLBP)框架和廣義完全局部二進制模式(Generalized Completed Local Binary Patterns, GCLBP)框架進行特征提取,然后采用近鄰分類器分類特征,雖然取得了不錯的效果,但其檢測環(huán)境要求嚴(yán)格,需要手工設(shè)計并提取特征且適應(yīng)性較差,當(dāng)缺陷處于復(fù)雜環(huán)境條件下時(如圖1)表現(xiàn)出了明顯的局限性。近年來,以卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)為主的深度學(xué)習(xí)方法由于其強大的自動特征提取能力,在計算機視覺領(lǐng)域取得了巨大成功。如關(guān)鍵點檢測、目標(biāo)跟蹤、智能駕駛等,相較于傳統(tǒng)圖像處理方法,深度學(xué)習(xí)方法在特征提取和環(huán)境適應(yīng)能力上優(yōu)勢明顯。
圖1 復(fù)雜環(huán)境下的表面缺陷
調(diào)研發(fā)現(xiàn),目前相關(guān)的綜述文獻如下:文獻[5-6]僅介紹了傳統(tǒng)圖像處理的缺陷檢測方法,并沒有涉及深度學(xué)習(xí)方法。文獻[7-8]主要介紹具體對象(電子元器件、焊接件、紡織材料、半導(dǎo)體、鋼鐵、紡織材料)的深度學(xué)習(xí)缺陷檢測方法,局限性較大。文獻[9] 依據(jù)數(shù)據(jù)標(biāo)簽的不同展開,介紹了不同的基于深度學(xué)習(xí)的缺陷檢測方法,但其對于不同方法的對比總結(jié)較少。文獻[10]主要介紹缺陷分割算法,并不全面。本文歸納梳理了近年的相關(guān)文獻,對比分析分類、檢測、分割方法的優(yōu)劣勢和內(nèi)在聯(lián)系,同時整理了大量常用數(shù)據(jù)集和近年來提出算法在東北大學(xué)表面缺陷數(shù)據(jù)庫(Northeastern University (NEU) surface defect database)數(shù)據(jù)集上的表現(xiàn),分析了目前的改進方向。因此,是對上述文獻很好的總結(jié)與深化。
LECUN等[11]于2006年首先提出深度學(xué)習(xí)(Deep Learning),屬于機器學(xué)習(xí)(Machine Learning)的一個新分支。感知機是深度學(xué)習(xí)中最基本的結(jié)構(gòu),由許多模擬人腦的“神經(jīng)元”組成,通過對感知機進行堆疊學(xué)習(xí)便達到了“深度”這一范疇(見圖2),對于深度學(xué)習(xí)的詳細介紹請參考文獻[12]。自深度學(xué)習(xí)算法在ImageNet[13]數(shù)據(jù)集和ImageNet大規(guī)模視覺識別挑戰(zhàn)賽( ILSVRC)上實現(xiàn)了突破后,它已經(jīng)成功地應(yīng)用于各應(yīng)用領(lǐng)域。在缺陷檢測領(lǐng)域,目前絕大部分深度學(xué)習(xí)方法都是基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)方法,文獻[14]詳細介紹了卷積神經(jīng)網(wǎng)絡(luò)。其核心操作為卷積,卷積也是深度學(xué)習(xí)在計算機視覺領(lǐng)域內(nèi)大獲成功的基石。目前深度學(xué)習(xí)模型已經(jīng)逐步向自注意力機制[15](如大語言模型)和擴散模型[16]發(fā)展,但并沒有影響CNN在缺陷檢測領(lǐng)域的主導(dǎo)地位,對其進行研究綜述仍有重要意義。
圖2 深度學(xué)習(xí)模型原理
表面缺陷檢測是指對各類工件進行表面檢測,識別其表面缺陷。與計算機視覺任務(wù)中的三大任務(wù)(分類任務(wù)、檢測任務(wù)、分割任務(wù))層級相似,表面缺陷檢測的目標(biāo)可以劃分為3個層次,即“什么缺陷”、“哪里有缺陷”、“有多少缺陷”:①“什么缺陷”對應(yīng)視覺任務(wù)中的分類任務(wù),即對缺陷進行識別分類并區(qū)分缺陷類型;②“哪里有缺陷”是最嚴(yán)謹?shù)娜毕輽z測,對應(yīng)視覺任務(wù)中的檢測任務(wù),即給出缺陷的定位信息并用矩形框框出;③“有多少缺陷”對應(yīng)視覺任務(wù)中的分割任務(wù),即對缺陷進行像素級別的分割,確定其形狀和尺寸等。這3類任務(wù)結(jié)果如圖3中檢測結(jié)果所示。雖然這3個任務(wù)的功能需求和目標(biāo)不同,但其實際上相互包含且能夠互相融合。例如對于②的實現(xiàn)的前提就已經(jīng)包括了①,③實現(xiàn)的過程中就已經(jīng)實現(xiàn)了②。因此,缺陷檢測是一個較為寬泛的概念,只有對結(jié)構(gòu)和目的進行綜述時才加以區(qū)分。
圖3 表面缺陷檢測定義
基于深度學(xué)習(xí)的表面缺陷檢測方法如圖4所示。目前基于深度學(xué)習(xí)的缺陷檢測方法大部分為全監(jiān)督學(xué)習(xí)模型,其次為無監(jiān)督學(xué)習(xí)模型和弱監(jiān)督與半監(jiān)督學(xué)習(xí)模型,三者任務(wù)目的相同,主要區(qū)別在于對樣本數(shù)據(jù)的標(biāo)注要求不同。后兩者在缺陷檢測領(lǐng)域應(yīng)用并不廣泛, 但由于數(shù)據(jù)獲取簡單且數(shù)據(jù)標(biāo)注成本較低,更加符合真實工業(yè)條件,現(xiàn)已成為缺陷檢測領(lǐng)域內(nèi)的研究熱點,將在第4章關(guān)鍵問題中加以介紹。全監(jiān)督學(xué)習(xí)模型根據(jù)其網(wǎng)絡(luò)結(jié)構(gòu)的不同,將其分為分類網(wǎng)絡(luò)、目標(biāo)檢測網(wǎng)絡(luò)、語義分割網(wǎng)絡(luò)3類。目標(biāo)檢測和語義分割的主干(backbone)網(wǎng)絡(luò)都以分類網(wǎng)絡(luò)為基礎(chǔ),因此并不區(qū)分其主干結(jié)構(gòu)。
圖4 基于深度學(xué)習(xí)的缺陷檢測方法分類
在各類工業(yè)產(chǎn)品的生產(chǎn)和使用階段,由于產(chǎn)品的尺寸、形狀、紋理和表面反光能力的巨大差異使得在真實環(huán)境下的表面缺陷分類尤為困難。目前分類網(wǎng)絡(luò)基本采取基于CNN的網(wǎng)絡(luò),一般由級聯(lián)的卷積層+ 激活函數(shù)層+池化層組成,再通過全連接層+softmax函數(shù)進行分類。一般將其分為經(jīng)典深度卷積神經(jīng)網(wǎng)絡(luò)(classical deep CNNs)、輕量級卷積神經(jīng)網(wǎng)絡(luò)(lightweight CNNs)和孿生網(wǎng)絡(luò)(siamese network)3類。其特征描述和出處如表1所示。
表1 分類網(wǎng)絡(luò)特征
(1)經(jīng)典深度卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)(CNN),是一類包含卷積計算且具有深度結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡(luò),由于其強大的特征提取能力,成為了目前分類網(wǎng)絡(luò)的基礎(chǔ)。2014年,SOUKUP等[27]首先將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用在缺陷檢測上,用純監(jiān)督方式訓(xùn)練的經(jīng)典CNN進行實驗,同時也探索了無監(jiān)督預(yù)訓(xùn)練和數(shù)據(jù)增廣對訓(xùn)練效果的影響,證明了經(jīng)典的CNN明顯優(yōu)于基于模型的方法。由于識別準(zhǔn)確率與速度仍不理想,YANG等[28]提出一種結(jié)合AlexNet和序列極限學(xué)習(xí)機分類器的Mura缺陷在線檢測方法,它能夠在1.5 ms內(nèi)學(xué)習(xí)并分類Mura缺陷圖像。KIM等[29]通過修改AlexNet并采用ResNet結(jié)構(gòu),提出一種用于表面貼裝技術(shù)缺陷檢測的CNN網(wǎng)絡(luò)。通過直方圖拉伸和芯片區(qū)域提取進行額外的輸入圖像變換,提高檢測精度。為進一步提升識別準(zhǔn)確率,LSHIDA等[30]提出一種基于VGG(visual geometry group)的深度CNN網(wǎng)絡(luò)來識別晶圓圖故障模式。數(shù)據(jù)處理采用具有降噪功能的數(shù)據(jù)增強技術(shù)。在基準(zhǔn)數(shù)據(jù)集上的實驗結(jié)果證明了該方法的高精度。WESTPHAL[31]等使用來自ImageNet數(shù)據(jù)集的VGG16和帶有預(yù)訓(xùn)練權(quán)重的Xception CNN模型作為初始化和自適應(yīng)分類器來分類零件制造過程中記錄的好的和有缺陷的圖像數(shù)據(jù),VGG16模型架構(gòu)在準(zhǔn)確率( Precision,0.958 )、精確率(Accuracy,0.939 )、召回率( Recall,0.980 )、F1 - Score (0.959 )和AUC值( 0.982 )方面取得了最好的結(jié)果。對于梯度彌散與爆炸現(xiàn)象,KIM等[32]針對硅通孔工藝,提出一種基于殘差網(wǎng)絡(luò)的CNN缺陷圖像分類模型,它們實現(xiàn)了高達97.2 %準(zhǔn)確率的分類性能。VANNOCCI等[33]總結(jié)了CNN包括DenseNet在帶鋼圖像分類中的應(yīng)用,并與經(jīng)典的機器學(xué)習(xí)方法進行了比較,從而確立了深度學(xué)習(xí)的有效性和一般有效性。
(2)輕量級卷積神經(jīng)網(wǎng)絡(luò)
在普通的卷積網(wǎng)絡(luò)中,受其卷積核大小、激活操作、池化操作等的影響,導(dǎo)致卷積神經(jīng)網(wǎng)絡(luò)參數(shù)量過大,缺陷分類識別時間過長。在真實的工業(yè)環(huán)境中,效率問題不容忽視,因而如何在確保準(zhǔn)確率盡可能高的前提下減少參數(shù)量成為了研究熱點。FU等[34]對卷積神經(jīng)網(wǎng)絡(luò)(CNN)模型SqueezeNet進行一些列優(yōu)化,調(diào)高低層特征訓(xùn)練的權(quán)重,融合各尺度感受野,達到了快速且準(zhǔn)確地對鋼鐵表面缺陷進行分類的效果。CAO等[35]提出一個基于預(yù)訓(xùn)練的SqueezeNet架構(gòu)的輕量級缺陷分類模型,并提出了凍結(jié)權(quán)重、大小無關(guān)組歸一化(Group Normalization, GN)和增加輔助任務(wù)3個有效的技術(shù)來實現(xiàn)使用極少數(shù)收集的缺陷訓(xùn)練樣本的高準(zhǔn)確度缺陷分類。SqueeseNet模型參數(shù)較多,且特征提取能力較差, PAN等[36]提出一種新的MobileNet結(jié)構(gòu),通過DropBlock技術(shù)和GAP(global average pooling)方法,成功地優(yōu)化了TL-MobileNet模型的整個訓(xùn)練過程, 精度達到了97.69% 。SAMBANDAM等[37]將MobileNet V2、ResNet-18和一般CNN模型進行分類任務(wù)對比,在對潛水泵葉輪缺陷分類任務(wù)中,MobileNet V2以98.17%的最高測試準(zhǔn)確率取得了最好的結(jié)果。HUANG等[38]開發(fā)了一種緊湊的基于 CNN 的模型,由輕量級(Light Weight, LW)瓶頸和解碼器組成,通過輕量級內(nèi)核的金字塔,LW 瓶頸以更少的計算成本提供豐富的功能,它不僅可以在微小缺陷檢測上實現(xiàn)高性能,不可以在低頻 CPU(中央處理器)上運行,模型獲得了與 MobileNetV2 相似的精度,但只有不到其 1/3 的 FLOP(每秒浮點運算)和 1/8 的參數(shù)量。為進一步提升特征提取融合能力,DOSS等[39]提出的一個由 ShuffleNet-v2 的預(yù)訓(xùn)練深度遷移學(xué)習(xí)模型和卷積神經(jīng)網(wǎng)絡(luò)(CNN) 架構(gòu)組成模型,ShuffleNet-v2-CNN按照數(shù)據(jù)預(yù)處理、數(shù)據(jù)增強、特征提取和分類的工作流程執(zhí)行缺陷識別和分類過程,所提出的模型在基于晶圓圖圖像對硅晶圓缺陷進行分類時獲得了 96.93%、95.40% 的精確度。
(3)孿生網(wǎng)絡(luò)
孿生網(wǎng)絡(luò)通常是輸入成對的圖像,通過學(xué)習(xí)出它們的相似度,判斷它們是否屬于同一類。孿生網(wǎng)絡(luò)的關(guān)鍵在于損失函數(shù)的構(gòu)造,其核心思想是讓相近類別的輸入距離盡可能小而不同類別的輸入距離盡可能大。MIAO等[40]提出一種新的成本敏感深度學(xué)習(xí)模型—成本敏感孿生網(wǎng)絡(luò)(Cost-Sensitive Siamese Network, CSS-Net),基于孿生網(wǎng)絡(luò)、遷移學(xué)習(xí)和閾值移動方法區(qū)分真實和偽印刷電路板(Printed Circuit Board, PCB) 缺陷作為成本敏感分類問題,使用 NSGA-II 等優(yōu)化算法來確定最佳成本敏感閾值,真實缺陷預(yù)測精度提高達 97.60%,并在實際生產(chǎn)場景中保持相對較高的偽缺陷預(yù)測精度,為 61.24%,訓(xùn)練時間平均縮短 33.32%。LUAN等[41]提出一種基于孿生網(wǎng)絡(luò)的缺陷敏感損失函數(shù),用于檢測工業(yè)生產(chǎn)表面的缺陷,學(xué)習(xí)過程最小化設(shè)計損失,以驅(qū)動無缺陷圖像的類內(nèi)距離更小,并擴大最難缺陷圖像與無缺陷圖像之間的距離,所提方法在不平衡率為10:1和50:1時的準(zhǔn)確率為 100%。LI等[42]提出一種端到端方法(TireNet),孿生網(wǎng)絡(luò)在新模型中用作下游分類器的一部分,以捕獲缺陷特征。
綜上,分類網(wǎng)絡(luò)應(yīng)用廣泛且結(jié)構(gòu)種類眾多,表2中給出各類網(wǎng)絡(luò)的優(yōu)缺點??梢愿鶕?jù)實際任務(wù)需求選擇合適的網(wǎng)絡(luò)。
表2 分類網(wǎng)絡(luò)優(yōu)缺點對比
定位關(guān)鍵目標(biāo)是計算機視覺的核心任務(wù)之一,同時也是最接近傳統(tǒng)缺陷檢測的任務(wù),即找出圖像中感興趣的目標(biāo)(物體),確定它們的類別和位置并用矩形框框出。目前常見的目標(biāo)檢測網(wǎng)絡(luò)在結(jié)構(gòu)上可以大致分為以Faster R-CNN[43]為代表的雙階段網(wǎng)絡(luò)和以SSD(single shot multibox detector)[44]和YOLO(you only look once)[45]為代表的一階段網(wǎng)絡(luò)兩類。其主要差別在于雙階段檢測網(wǎng)絡(luò)引入?yún)^(qū)域建議網(wǎng)絡(luò)進行建議生成候選框,一階段檢測網(wǎng)絡(luò)直接將主干網(wǎng)絡(luò)提取的特征來預(yù)測缺陷的類別和位置。
(1)雙階段檢測網(wǎng)絡(luò)
雙階段檢測網(wǎng)絡(luò)(Fast-RCNN)的兩層架構(gòu)為:①首先通過主干特征提取網(wǎng)絡(luò)Backbone(一般為VGG、ResNet等),在提取的特征圖上利用RPN(region proposal network)網(wǎng)絡(luò)生成先驗框 (anchor box)及其置信度,通過非極大值抑制NMS(non maximum suppression)等篩選先驗框并獲取到建議框(Proposal)區(qū)域;②對建議區(qū)域的特征圖進行ROIpooling后輸入網(wǎng)絡(luò),得到最終的缺陷的定位和類別預(yù)測。根據(jù)其特點,對于雙階段網(wǎng)絡(luò)的改進往往針對其Backbone結(jié)構(gòu)、NMS值大小、ROIpooling和損失函數(shù)的構(gòu)造方面。SUN等[46]提出一種改進的Faster R-CNN方法,構(gòu)建了由2412幅1080 × 1440像素圖像中的四類缺陷組成輪轂缺陷數(shù)據(jù)集,基于該數(shù)據(jù)庫對Faster R-CNN進行修改、訓(xùn)練、驗證和測試,最終實驗結(jié)果mAP為72.9%,優(yōu)于與之比較的R-CNN和YOLOv3網(wǎng)絡(luò)。由于特征融合效果較差,HE等[47]提出了多級特征融合網(wǎng)絡(luò)融合各層特征,將融合后特征通過RPN網(wǎng)絡(luò)生成感興趣區(qū)域,最終得到每個區(qū)域的類別和位置信息,在自建的數(shù)據(jù)集NEU-DET上,該方法在主干網(wǎng)絡(luò)ResNet34 / 50上使用300個候選集取得了74.8 / 82.3 mAP的成績。為應(yīng)對小目標(biāo)的任務(wù),ZHAO等[48]在傳統(tǒng)Faster R- CNN算法中進行了一系列改進措施,針對目標(biāo)的小特征,對網(wǎng)絡(luò)進行多尺度融合訓(xùn)練,而對于復(fù)雜特征,將部分傳統(tǒng)卷積網(wǎng)絡(luò)替換為可變形卷積網(wǎng)絡(luò)增強其特征提取能力,銀紋、夾雜、斑塊、麻面、鱗片、劃痕的平均精度分別為0.501、0.791、0.792、0.874、0.649、0.905,檢測方法能夠有效識別鋼材表面的小目標(biāo)缺陷。SU等[49]在Fast-RCNN的基礎(chǔ)上將新穎的通道注意子網(wǎng)與空間注意子網(wǎng)順序連接起來,在原始太陽能電池缺陷數(shù)據(jù)集上實現(xiàn)了87.38%的平均精度。ZHU等[50]提出一種基于Faster-RCNN的改進型多目標(biāo)缺陷識別算法,該算法以VGG16為Backbone,采用ROI Align和交替優(yōu)化策略,改進后的Faster-RCNN用于輸電線路目標(biāo)識別的召回率為0.8252~0.9869,平均為0.9254。DENG等[51]對錨框篩選算法進行改進,通過k-means++聚類算法對錨框算法進行優(yōu)化,以ResNet50為主干網(wǎng)絡(luò)改進后的網(wǎng)絡(luò)在發(fā)動機缸體水路缺陷數(shù)據(jù)集中的平均精度達到88.74%。
(2)單階段檢測網(wǎng)絡(luò)
單階段檢測網(wǎng)絡(luò)以SSD和YOLO系列網(wǎng)絡(luò)為代表,通過輸入整幅圖片,直接在輸出層輸出回歸的邊界框(bounding box)的信息,并不需要首先生成錨框,因此單階段檢測網(wǎng)絡(luò)在運行速度方面快于雙階段檢測網(wǎng)絡(luò)。雙階段檢測網(wǎng)絡(luò)主干的特征提取能力直接決定了檢測精度,LI等[52]提出一種采用SSD網(wǎng)絡(luò)結(jié)合MobileNet識別表面缺陷類型和位置的表面缺陷檢測方法,該方法能夠比傳統(tǒng)機器學(xué)習(xí)方法更準(zhǔn)確、快速地自動檢測表面缺陷。JIANG等[53]提出一種將MobileNetV3與SSD結(jié)合的網(wǎng)絡(luò)模型通過深度可分離卷積、逆殘差網(wǎng)絡(luò)和線性瓶頸結(jié)構(gòu)對目標(biāo)檢測算法進行優(yōu)化,該網(wǎng)絡(luò)的完整檢測準(zhǔn)確率達到了64.81 %和64.12 %,取得較大幅度的提升。DING等[54]使用彩色電荷耦合器件相機來收集赤木和松樹兩種木材的表面圖像,引入DenseNet網(wǎng)絡(luò)改進SSD算法,對活節(jié)、死節(jié)和檢查3類缺陷的平均精度為96.1%。SONG等[55]在YOLOV3網(wǎng)絡(luò)基礎(chǔ)上使用量綱聚類方法計算缺陷的寬度和高度以及中心點的坐標(biāo),最終識別率可達97 %以上,識別時間約為0.15 s。YUAN等[56]提出了以YOLOv3為基礎(chǔ)的MOLO網(wǎng)絡(luò)框架,以MobileNetV2為骨干網(wǎng)絡(luò)提取圖像特征,然后進行多尺度缺陷檢測,其平均精度(mAP)達到了87.40%比YOLOv3提高4.03%。YIN等[57]提出一種以YOLOv3為主體的下水道管道的缺陷檢測模型,框架側(cè)重于精簡信息和數(shù)據(jù)流,提出輸入和輸出數(shù)據(jù)處理模式,平均精度(mAP)為85.37 %。GUO等[58]提出了MSFT-YOLO模型,將基于Transformer設(shè)計的TRANS模塊添加到骨干和檢測頭中,使特征與全局信息相結(jié)合,在圖像背景干擾大、缺陷類別容易混淆、缺陷尺度變化大、小缺陷檢測效果差的工業(yè)場景中的平均檢測精度為75.2,相比于YOLOv5提高了18%。
目標(biāo)檢測領(lǐng)域仍在高速發(fā)展,相信今后會有更好的檢測網(wǎng)絡(luò)出現(xiàn)。雙階段檢測網(wǎng)絡(luò)首先需要提取特征并對其進行RPN、NMS與pooling操作,其所需時間較長但精度較高,而單階段檢測網(wǎng)絡(luò)直接輸入圖片并直接輸出邊界框信息,并不需要多階段處理,其所需時間較短但精度較低。綜上,現(xiàn)階段的缺陷檢測領(lǐng)域內(nèi),兩種算法各有利弊,若追求高檢測精度任務(wù)中選擇雙階段檢測網(wǎng)絡(luò)較多,在強調(diào)檢測速度的檢測任務(wù)中一般選用單階段檢測網(wǎng)絡(luò)。
分割網(wǎng)絡(luò)是近年來將缺陷檢測任務(wù)轉(zhuǎn)換為計算機視覺中語義分割甚至是實例分割的一個成功嘗試,它不僅可以對缺陷區(qū)域進行精細的分割,還可以準(zhǔn)確地識別出缺陷的類別以及不規(guī)則的幾何形狀(如輪廓和面積等)。依據(jù)結(jié)構(gòu)的不同,分割網(wǎng)絡(luò)大致可分為兩類:以全卷積神經(jīng)網(wǎng)絡(luò)(Fully Convolutional Networks, FCN)[59]為代表的單階段分割網(wǎng)絡(luò)和以Mask R-CNN[60]為代表的雙階段分割網(wǎng)絡(luò)。雙階段分割網(wǎng)絡(luò)需要首先生成興趣框,然后利用網(wǎng)絡(luò)對興趣框進行像素級分割。而單階段分割網(wǎng)絡(luò)則是對整個圖像進行全卷積操作,直接對圖片進行分割。
(1)單階段分割網(wǎng)絡(luò)(FCN)
單階段分割網(wǎng)絡(luò)一般指基于FCN的一系列網(wǎng)絡(luò),根據(jù)結(jié)構(gòu)的不同可以分為FCN、U-Net[61]和SegNe[62]三種。①FCN方法:QIU等[63]通過三通道特征融合特征,使用輕量級全卷積網(wǎng)絡(luò)(FCN)對缺陷區(qū)域進行像素級預(yù)測,網(wǎng)絡(luò)每秒可處理25張缺陷圖像(尺寸為512 × 512),像素精度達99 %以上。WANG等[64]提出一種基于alternate-selection策略來消除拼接圖像的殘余和幾何失真,利用改進的FCN-8s-Conv4-Conv5網(wǎng)絡(luò)對拼接圖像進行像素分割,平均準(zhǔn)度達到0.867。TABERNIK等[65]將FCN應(yīng)用在少量的缺陷表面上,大約25~30個缺陷訓(xùn)練樣本,使用改進平均交叉熵損失函數(shù),實現(xiàn)了7個百分點的精度增長。②U-Net:U-Net構(gòu)建了一整套完整的編碼器-解碼器網(wǎng)絡(luò),在解碼器上使用反卷積進行上采樣。MIAO等[66]提出一個改進的U-Net模型,包括一個組合的擠壓和激發(fā)(Squeeze and Excitation, SE)和ResNet塊,模型在剝落和裂縫數(shù)據(jù)集上的交并比 (Intersection over Union,IoU)分別為89.1%和70.0%。PAN等[67]在U-Net的全連接層與卷積層間添加了一個特征重用和注意力機制,用來解決高水平和低水平特征之間的語義差異,它能以每秒32幅圖像的高速處理CCTV圖像,取得了76.37%的最高平均交叉率(mIOU)。PRATT等[68]以VGG16為編碼器訓(xùn)練了一個U-Net網(wǎng)絡(luò)模型,通過優(yōu)化參數(shù)減少誤差,在太陽能板數(shù)集上取得了94%的缺陷檢測精確度。③SegNet:SegNet主要是在解碼器中使用反池化操作對特征圖進行下采樣,對高頻細節(jié)保留較好。DONG等[69]將基本的SegNet網(wǎng)絡(luò)與焦點損失函數(shù)結(jié)合進行訓(xùn)練,模型在各種噪聲的條件下,其小尺寸損傷的圖像的mAP和MIoU達到81.53%和69.86%。CHEN等[70]構(gòu)建了包含路面復(fù)雜裂紋紋理的裂紋數(shù)據(jù)集,參照SegNet網(wǎng)絡(luò)并使用VGG16為主干網(wǎng)絡(luò)訓(xùn)練,其平均精度(mAP)達到了83%。
(2)雙階段分割網(wǎng)絡(luò)
雙階段分割網(wǎng)絡(luò)受益于目標(biāo)檢測的豐碩成果,Mask-RCNN以Fast-RCNN為基礎(chǔ),增加了一個與bbox檢測并行的預(yù)測分割mask分支,同時改進ROIpooling等操作,Mask-RCNN在語義分割中取得了良好的效果。WEI等[71]以ResNet101為主干網(wǎng)絡(luò)構(gòu)建了Mask-RCNN網(wǎng)絡(luò)用于路面的缺陷分割,結(jié)果顯示邊界框和掩碼的平均精度 (Average Precision, AP) 分別為 90.0%、90.8%。XU等[72]將增強特征金字塔網(wǎng)絡(luò)和邊緣檢測分支加入Mask-RCNN網(wǎng)絡(luò)中,在隧道表面缺陷的分割上mAP為88.76%。ZHANG等[73]提出了一種基于Mask RCNN的車輛損傷檢測分割算法,對殘差網(wǎng)絡(luò)(ResNet)和FPN進行優(yōu)化,對車輛缺陷檢測的準(zhǔn)確度達到了96.68%。郭龍源等[74]提出了一種改進型Mask RCNN缺陷檢測算法,引入預(yù)處理模塊和C1模塊,對磁瓦表面缺陷檢測準(zhǔn)確率達98.38%。
相較于分類和檢測方法,分割方法在信息獲取上優(yōu)勢明顯。分割網(wǎng)絡(luò)一直在不斷地發(fā)展,例如近年來提出的DeepLabv3[75]、PSPNet[76]等。與目標(biāo)檢測網(wǎng)絡(luò)相似,從精度和速度兩個方面來看,雙階段算法相比單階段算法在相同基礎(chǔ)網(wǎng)絡(luò)下表現(xiàn)更優(yōu),且所需訓(xùn)練迭代次數(shù)較少。單階段算法速度更快,精度處于平均水平,但需要更多的訓(xùn)練迭代次數(shù)。因此需要根據(jù)具體需求選擇合適的算法。
綜上,基于深度學(xué)習(xí)的缺陷算法分為分類、檢測、分割三類,為展現(xiàn)不同種類網(wǎng)絡(luò)的優(yōu)缺點,各網(wǎng)絡(luò)詳細對比見表3。
表3 三類網(wǎng)絡(luò)特征對比
缺陷檢測是工業(yè)領(lǐng)域內(nèi)的一項具體應(yīng)用,在真實工業(yè)條件下,能提供的缺陷樣本數(shù)量很少。與ImageNet或者COCO數(shù)據(jù)集這種上億樣本數(shù)據(jù)的數(shù)據(jù)集相比,缺陷數(shù)據(jù)集提供的樣本數(shù)量太少,在某些工業(yè)條件下甚至只有數(shù)十張缺陷圖片,因此小樣本問題成為了缺陷檢測面臨的最大問題之一。目前提出的解決小樣本問題的方法主要有3種。
(1)結(jié)構(gòu)優(yōu)化 通過對網(wǎng)絡(luò)結(jié)構(gòu)的改進優(yōu)化,可以增強網(wǎng)絡(luò)的特征提取能力,同時減少了樣本需求。BHUGRA等[77]研究了使用具有多個金字塔層級的深度神經(jīng)網(wǎng)絡(luò)融合不同尺度的圖像特征的圖像。LYU[78]提出一種新穎的結(jié)合注意力機制的少樣本學(xué)習(xí)方法,由一個提取圖像特征的CNN和一個計算一對圖像之間相似性分數(shù)的關(guān)系網(wǎng)絡(luò)(Relation Network,RN)組成,通過相似性分數(shù)可以預(yù)測圖像類別。為了提取更加有效且具有判別性的特征,該方法引入了擠壓激勵網(wǎng)絡(luò)(Squeeze-and-Excite Networks,SENet)作為注意力模塊來增強有效特征并削弱無效特征。
(2)數(shù)據(jù)增廣 數(shù)據(jù)增廣一般包括數(shù)據(jù)擴增、數(shù)據(jù)合成與生成。一類擴展方法是對原有缺陷數(shù)據(jù)進行翻轉(zhuǎn)、裁剪、采樣等操作實現(xiàn),例如WEI等[79]利用壓縮采樣定理對數(shù)據(jù)進行壓縮和擴展,在疵點樣本數(shù)量較少時,該方法也能有效提高織物疵點樣本的分類準(zhǔn)確率。另一類增廣方法就是數(shù)據(jù)合成,即將不同的缺陷與正常背景分開進行疊加融合。文獻[80] 利用算法模擬4種典型的采集屏缺陷,將其與正常背景圖片疊加融合,創(chuàng)建人工缺陷數(shù)據(jù)庫,然后將人工數(shù)據(jù)集應(yīng)用于深度學(xué)習(xí)識別算法,訓(xùn)練初始模型。由于生成對抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)的強大圖像生成能力,出現(xiàn)了大量基于GAN的表面缺陷檢測研究,如LIU等[81]、HE等[82]和NIU等[83]提出的基于GAN網(wǎng)絡(luò)的方法。
(3)預(yù)訓(xùn)練或遷移學(xué)習(xí) 由于深度學(xué)習(xí)網(wǎng)絡(luò)參數(shù)量巨大,在小樣本上訓(xùn)練很容易導(dǎo)致過擬合現(xiàn)象。在大數(shù)據(jù)集上訓(xùn)練的預(yù)訓(xùn)練模型存在著許多相似的特征數(shù)據(jù)和權(quán)重信息,能有效地緩解過擬合現(xiàn)象。GOPALAK RISHNAN等[84]首先將ImageNet預(yù)訓(xùn)練模型應(yīng)用到表面缺陷中,隨后如FERGUSON等[85]、GONG等[86]、馮毅雄等[87]、ABU等[88]和LIU等[89]也將預(yù)訓(xùn)練模型權(quán)重遷移至所提出的缺陷檢測模型中。
不平衡樣本問題包含正常樣本學(xué)習(xí)和部分樣本學(xué)習(xí)問題,如圖5所示。區(qū)別于全監(jiān)督學(xué)習(xí)模型對所有樣本數(shù)據(jù)的詳細標(biāo)注,不平衡樣本標(biāo)簽的主要特征是其訓(xùn)練樣本無標(biāo)簽或者其標(biāo)簽并不完整(弱標(biāo)簽),由于數(shù)據(jù)獲取簡單且數(shù)據(jù)標(biāo)注成本較低,在這種條件下對產(chǎn)品表面進行缺陷檢測識別是否存在缺陷更加符合真實工業(yè)條件,現(xiàn)已經(jīng)成為了缺陷檢測領(lǐng)域內(nèi)研究熱點[90]。
圖5 不平衡樣本學(xué)習(xí)問題定義
4.2.1 正常樣本學(xué)習(xí)問題
在深度學(xué)習(xí)的背景下,無監(jiān)督是指在訓(xùn)練階段只包含了正常樣本的圖像,即沒有任何的缺陷標(biāo)注。在真實工業(yè)場景中,正常樣本的獲取難度遠低于缺陷樣本,無監(jiān)督學(xué)習(xí)方式可以有效避免采集缺陷或異常樣本的困難,目前無監(jiān)督學(xué)習(xí)方法僅應(yīng)用在簡單的紋理缺陷檢測中,對于復(fù)雜的紋理缺陷或者結(jié)構(gòu)缺陷效果不佳。解決無監(jiān)督學(xué)習(xí)問題的方法主要為圖像重建,它是基于只訓(xùn)練模型重建正常圖像的思想,當(dāng)輸入一幅異常圖像時,模型仍將異常區(qū)域重建為正常,輸入圖像和重建圖像之間的差異代表了定位結(jié)果,該方法主要使用自編碼器(AutoEncoder,AE)、GAN和歸一化流(Normalizing Flow,NF)。
使用自編碼器時,往往對模型的損失函數(shù)進行改進,文獻[91]使用卷積自編碼器重建圖像,并首次將結(jié)構(gòu)相似性(Structural SIMilarity, SSIM )度量應(yīng)用于圖像重建,對比L2損失,它在納米纖維材料數(shù)據(jù)集和兩種編織品的新型數(shù)據(jù)集上取得了顯著的提升。文獻[92]提出一種新的多尺度梯度幅值相似度(Multi Scale Gradient Amplitude Similarity, MSGAS)損失,更加關(guān)注重構(gòu)中的結(jié)構(gòu)差異。MSGMS損失通過計算原始圖像和重建圖像的梯度圖像來構(gòu)建,精度提高了6.5 %。NAKANISHI等[93]設(shè)計了一種新的損失函數(shù),稱為加權(quán)頻域(Weighted Frequency Domain, WFD)損失,將重建損失計算從圖像域轉(zhuǎn)換到頻域,它提供了更清晰的重建圖像,提高了異常定位精度。唐善成等[94]在重構(gòu)誤差基礎(chǔ)上增加了潛在損失Lμ和Lσ 2,F1值至少提升了7.4%,準(zhǔn)確率達98.58%。改進損失函數(shù)一般對于特定缺陷分布有一定效果,當(dāng)缺陷改變時,其效果往往不明顯。GAN模型對潛在的特征空間學(xué)習(xí)能力強,在GAN的生成器生成缺陷圖片的偽正常圖片后,可以自然的利用GAN的判別器進行分類,以區(qū)別缺陷和正常樣本。SCHLEGL等[95]最早將GAN應(yīng)用于異常定位,生成網(wǎng)絡(luò)G接收來自潛在空間的隨機采樣樣本作為輸入,其輸出必須盡可能接近訓(xùn)練集中的真實樣本,生成網(wǎng)絡(luò)G的輸出與輸入圖像的差異決定了異常區(qū)域。文獻[96-97]幾項后續(xù)工作針對工業(yè)表面缺陷采用了該模型。還有如文獻[98-101]對GAN網(wǎng)絡(luò)的生成器和判別器進行改進以提高無監(jiān)督缺陷檢測精度。NF模型是學(xué)習(xí)數(shù)據(jù)分布和定義良好的密度之間轉(zhuǎn)換的神經(jīng)網(wǎng)絡(luò)[102]。與基于AE或GAN的方法直接處理圖像不同,基于NF的方法在特征上進行處理,通過測量測試圖像的特征與估計的無缺陷圖像分布之間的距離來獲得異常區(qū)域。2021年RUDOLPH等[102]首次提出基于NF方法的DifferNet。隨后,3種基于NF的方法通過3種不同的方式進行了改進,并在多個數(shù)據(jù)集上取得了驚人的效果,如GUDOVSKIY等[103]設(shè)計了基于條件正規(guī)化流的CFLOW-AD模型、RUDOLPH等[104]設(shè)計的CS-Flow模型與YU等[105]所提出的2D flow模型。3類方法的詳細對比如表4所示。
表4 基于不同方法的無監(jiān)督學(xué)習(xí)模型的優(yōu)缺點
4.2.2 部分樣本學(xué)習(xí)問題
相較于全監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí),弱監(jiān)督與半監(jiān)督學(xué)習(xí)的特點是樣本圖像標(biāo)簽并不完整(弱標(biāo)簽)。一是有多處缺陷但標(biāo)注不完全,二是只有較為低級的分類標(biāo)簽,并沒有更高一層的矩形框和像素級標(biāo)簽。正因如此,弱監(jiān)督與無監(jiān)督學(xué)習(xí)方法能極大地減小數(shù)據(jù)標(biāo)注的難度,提升模型開發(fā)效率,本質(zhì)上看,弱監(jiān)督與半監(jiān)督學(xué)習(xí)就與小樣本和無監(jiān)督學(xué)習(xí)一致。目前解決弱監(jiān)督與半監(jiān)督學(xué)習(xí)的方法也大多借鑒于小樣本問題和無監(jiān)督學(xué)習(xí)。NIU等[106]提出一種基于GAN的弱監(jiān)督缺陷檢測方法,在DAGM2007公開數(shù)據(jù)集上取得了較好的效果。CHEN等[107]在CNN基礎(chǔ)上整合了魯棒分類器和空間注意力模塊,同時提出一種新的空間注意類激活圖(SA-CAM),通過生成更精確的熱圖來提高分割的適應(yīng)性,提高了0.66%~25.50%的分類準(zhǔn)確性和5.49%~7.07%的分割準(zhǔn)確率。ZHANG等[108]采用了知識蒸餾策略,學(xué)習(xí)大模型的特征,通過教師-學(xué)生模型,提高了模型構(gòu)建速度和檢測性能。此外還有文獻[109-110]也提出了各自的解決方法。但不難看出,目前弱監(jiān)督與半監(jiān)督學(xué)習(xí)方法在分類任務(wù)上精度尚可,但在檢測和分割任務(wù)上還有很大的提升空間。
傳統(tǒng)圖像處理方法參考文獻[111] ,從方法、處理過程、所需條件和適應(yīng)性3個方面進行對比,以便更好地說明深度學(xué)習(xí)方法的優(yōu)越性,對比結(jié)果見表5。
表5 傳統(tǒng)圖像處理方法與深度學(xué)習(xí)方法對比
區(qū)別于計算機視覺任務(wù)中的大型數(shù)據(jù)集ImageNet[13]、PASCALVOC2007/2012[117]、COCO[118]等,缺陷檢測由于其檢測任務(wù)的場景和對象不同,并沒有一個統(tǒng)一的數(shù)據(jù)集,對某一個場景和對象的研究往往基于某一個特定的數(shù)據(jù)集。本章整理了涵蓋鋼材、太陽能板、紡織物、晶體、木材、磁瓦等常用的缺陷檢測數(shù)據(jù)集和相關(guān)鏈接(如表6);此外,如“百度飛漿”(https://aistudio.baidu.com)、“阿里云天池”(https://tianchi.aliyun.com)、“Kaggle”(https://www.kaggle.com)等也有大量的競賽所用開源數(shù)據(jù)集。
選擇NEU數(shù)據(jù)集來作為示例,以展現(xiàn)基于深度學(xué)習(xí)的缺陷檢測算法的應(yīng)用效果。NEU數(shù)據(jù)集包括NEU-CLS(分類任務(wù))和NEU-DET(檢測任務(wù))兩個部分,具有熱軋鋼帶的6種典型表面缺陷,包括裂紋、夾雜物、斑塊、凹陷面、軋制鱗片和劃痕,總共1800張灰度圖片,每種類型的缺陷包含300個樣本,標(biāo)注格式為xml格式。表7羅列出了近年來提出的缺陷檢測方法在NEU數(shù)據(jù)集上的應(yīng)用效果。不難看出,目前在分類任務(wù)上的準(zhǔn)確率已經(jīng)基本滿足了實際工業(yè)條件需求,如文獻[137]取得最好精度99.34%的成績,但在檢測速率上還有提升空間。而對于檢測任務(wù)的性能上還有一定的提升空間。
在缺陷檢測的研究和應(yīng)用中,盡管深度學(xué)習(xí)方法已經(jīng)在該領(lǐng)域取得了很大的進展,有些方法在某些數(shù)據(jù)集上的檢測準(zhǔn)確率甚至達到了95%以上,但在實際應(yīng)用中仍存在不少的問題與挑戰(zhàn)。
(1)實時性問題(輕量化問題) 在工業(yè)生產(chǎn)中,實時性是生產(chǎn)效率的體現(xiàn)。使用高分辨率的圖像往往可以使檢測精度提升,但將高分辨率圖片輸入深度學(xué)習(xí)模型中時會增大網(wǎng)絡(luò)參數(shù)量,延長計算時間,因此如何平衡實時性與精度,值得注意。本文第三章提到的輕量級卷積神經(jīng)網(wǎng)絡(luò)是解決這一問題的理想方法之一,如文獻[37,53-54]等,此外還有如直接對模型進行壓縮的權(quán)重裁剪、分解量化與知識蒸餾等方法,但其在缺陷檢測領(lǐng)域的實際應(yīng)用較少,還有很大的發(fā)展空間。
(2)工業(yè)化集成 表面缺陷檢測通常是工業(yè)生產(chǎn)線上的一個環(huán)節(jié),需要與其他自動化技術(shù)進行集成,以實現(xiàn)更高效的生產(chǎn)和質(zhì)量控制。因此,需要開發(fā)更加智能化和自適應(yīng)的缺陷檢測系統(tǒng),以適應(yīng)不同的生產(chǎn)環(huán)境和需求。在文獻[64] 中WANG等通過一套試驗臺對圖像裂紋自動檢測系統(tǒng)進行了驗證,通過系統(tǒng)的實現(xiàn),將實時圖像采集與傳輸、快速圖像拼接、基于深度學(xué)習(xí)的圖像分割、目標(biāo)特征描述與定位有效地結(jié)合在一起,這是典型的集成應(yīng)用。在國家大力發(fā)展智能制造的背景下,缺陷檢測技術(shù)的工業(yè)化集成具有廣泛的發(fā)展前景。
(3)異域數(shù)據(jù)聯(lián)邦學(xué)習(xí) 缺陷性檢測數(shù)據(jù)集樣本個數(shù)往往很少且由于企業(yè)或研究機構(gòu)的隱私問題,數(shù)據(jù)集之間并沒有有效的結(jié)合利用,如劃痕等廣泛存在于木材、金屬、太陽能板、玻璃等一系列材料表面,但并沒有一個不限材料且具有大量樣本的劃痕缺陷集,這對于缺陷檢測的發(fā)展產(chǎn)生一定的限制,如何讓模型學(xué)習(xí)到不同數(shù)據(jù)集樣本特征以達到對整個劃痕缺陷的識別是一個值得研究的方向。在第四章小樣本解決方法中遷移學(xué)習(xí)可以緩解這一類問題,但這往往需要其他模型的隱私權(quán)重文件。在聯(lián)邦學(xué)習(xí)中, 不同領(lǐng)域的數(shù)據(jù)集可以在本地進行訓(xùn)練, 然后將模型參數(shù)上傳到中央服務(wù)器進行聚合, 從而得到一個全局模型。這種方法可以避免數(shù)據(jù)泄露和隱私問題, 同時也可以利用不同領(lǐng)域的數(shù)據(jù)來提高模型的泛化能力和準(zhǔn)確性,更好地滿足實際工業(yè)生產(chǎn)的需求。
(4)Transformer技術(shù)的遷移應(yīng)用(包括多模態(tài)統(tǒng)一模型) 2017年提出的Transformer[144]是用于計算機自然語言處理領(lǐng)域的基于純注意力的自監(jiān)督模型。在2021年DOSOVITSKIY等[145]首次將Transformer技術(shù)成功的應(yīng)用在計算機視覺領(lǐng)域,近兩年來已經(jīng)在計算機視覺領(lǐng)域取得重大進展。到目前為止, Transformer的性能已經(jīng)超過了標(biāo)準(zhǔn)CNN在大多數(shù)任務(wù)上的性能,但它卻很少引起工業(yè)領(lǐng)域的關(guān)注。文獻[146-148]將Transformer應(yīng)用在缺陷檢測任務(wù)上并取得了不錯的效果。但相較于傳統(tǒng)CNN模型,其模型參數(shù)量過大,訓(xùn)練時間過長。此外,如何建立統(tǒng)一模型,不但讓缺陷在圖像上直觀地顯示,而且加上相應(yīng)的文字解釋,調(diào)研發(fā)現(xiàn),缺陷檢測領(lǐng)域內(nèi)目前統(tǒng)一模型并無參考??偟膩碚f,Transformer技術(shù)在缺陷檢測領(lǐng)域有廣泛的研究前景。
隨著人工智能技術(shù)特別是計算硬件(特別是GPU)的高速迭代發(fā)展,目前缺陷檢測的研究重點已經(jīng)從傳統(tǒng)的圖像處理方法轉(zhuǎn)移到深度學(xué)習(xí)方法,其主要優(yōu)勢在于可以自動學(xué)習(xí)特征且通用性較好,避免了手工設(shè)計特征的繁瑣過程。本文系統(tǒng)性地總結(jié)了缺陷檢測的發(fā)展前景、基于深度學(xué)習(xí)的缺陷檢測方法、關(guān)鍵問題和常用的缺陷檢測數(shù)據(jù)集,并對缺陷檢測未來的發(fā)展進行了合理的展望。通過上述總結(jié)與分析,希望能為缺陷檢測方面的研究提供有價值的參考。