黃 怡, 董榮勝
(桂林電子科技大學(xué) 廣西可信軟件重點(diǎn)實(shí)驗(yàn)室,廣西 桂林 541004)
扁鋼的生產(chǎn)過程特別精細(xì),從加熱和軋制到干燥和切割,鋼表面不可避免地會(huì)產(chǎn)生一些缺陷[1]。目前,如航空航天、機(jī)械制造業(yè)等各大行業(yè)對(duì)鋼鐵產(chǎn)品的質(zhì)量越發(fā)重視,質(zhì)量把關(guān)已成為鋼鐵行業(yè)的關(guān)鍵技術(shù)[2]。針對(duì)鋼表面缺陷問題,如何準(zhǔn)確地檢測(cè)表面缺陷并提高產(chǎn)品質(zhì)量已成為鋼鐵生產(chǎn)領(lǐng)域的核心問題。然而,在現(xiàn)實(shí)世界的鋼廠中,鋼表面缺陷的現(xiàn)場(chǎng)檢測(cè)是一項(xiàng)非常具有挑戰(zhàn)性的工作[3]。
近些年來,隨著以卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,簡稱CNN)為代表的深度學(xué)習(xí)模型在諸多計(jì)算機(jī)視覺領(lǐng)域成功應(yīng)用,例如人臉識(shí)別、場(chǎng)景文字檢測(cè)、目標(biāo)跟蹤和自動(dòng)駕駛等,不少基于深度學(xué)習(xí)的缺陷檢測(cè)方法也被廣泛應(yīng)用在各種工業(yè)場(chǎng)景中[4-5]。例如,為了解決缺陷檢測(cè)難以兼顧分類和定位這兩者的準(zhǔn)確性,He等[6]提出了一種基于深度學(xué)習(xí)的新型缺陷檢測(cè)系統(tǒng),并研究了一種實(shí)際的鋼板缺陷檢測(cè)工業(yè)應(yīng)用,同時(shí)建立了一個(gè)缺陷檢測(cè)數(shù)據(jù)集NEU-DET,用于訓(xùn)練和評(píng)估所提出的方法,達(dá)到了良好的性能,且具有實(shí)時(shí)檢測(cè)的潛力。Cha等[7]提出了一種基于Faster R-CNN的結(jié)構(gòu)視覺檢測(cè)方法,以檢測(cè)5種類型的表面損傷:混凝土裂縫、鋼筋腐蝕、螺栓腐蝕和鋼筋分層。Tao等[8]基于CNN 進(jìn)行金屬表面缺陷自動(dòng)檢測(cè)與識(shí)別,設(shè)計(jì)了一種新穎的級(jí)聯(lián)式自動(dòng)編碼器結(jié)構(gòu),用于分割和定位缺陷。這種通用的方法可以直接應(yīng)用于工業(yè)應(yīng)用中其他材料的缺陷檢測(cè)。Nie等[9]提出一種基于Deep Labv3+網(wǎng)絡(luò)的鋼表面缺陷檢測(cè)方法,Deep Labv3+融合不同的骨干網(wǎng)絡(luò),完成了對(duì)鋼表面缺陷的自動(dòng)檢測(cè)和分類,并且獲得了較高的準(zhǔn)確度和效率。Weng等[10]通過一種改進(jìn)Mask R-CNN 算法進(jìn)行帶鋼表面缺陷檢測(cè),能夠?qū)崿F(xiàn)對(duì)缺陷目標(biāo)的檢測(cè)和實(shí)例分割,實(shí)驗(yàn)均值平均精度(m AP)提升到96.02%,檢測(cè)速度達(dá)5.9 frame/s。
根據(jù)kaggle競(jìng)賽平臺(tái)提供的鋼表面缺陷數(shù)據(jù)集,針對(duì)目前還存在數(shù)據(jù)集中如麻點(diǎn)表面等小而細(xì)的缺陷,是檢測(cè)過程中易丟失缺陷信息,缺陷定位和分類困難的問題導(dǎo)致檢測(cè)準(zhǔn)確率不理想。因此,為了解決上述問題,提高對(duì)鋼表面缺陷檢測(cè)準(zhǔn)確率,提出了一種基于多尺度特征融合和注意力機(jī)制的鋼表面缺陷檢測(cè)算法,用于處理鋼表面缺陷檢測(cè)任務(wù),以獲取鋼表面缺陷的類型和位置信息。
1)提出一種結(jié)合殘差網(wǎng)絡(luò)和多尺度特征融合的編碼器結(jié)構(gòu),其中多尺度特征融合模塊由金字塔切分注意力(pyramid split attention,簡稱PSA)模塊和空洞空間卷積池化金字塔(atrous spatial pyramid pooling,簡稱ASPP)模塊并聯(lián)組成,以獲取更細(xì)粒度的多尺度特征信息。
2)提出一種基于全局注意力采樣(global attention upsample,簡稱GAU)模塊的解碼器結(jié)構(gòu),利用高層語義信息對(duì)淺層細(xì)節(jié)信息的指導(dǎo)作用來實(shí)現(xiàn)更加精準(zhǔn)的選取細(xì)節(jié)信息,幫助逐漸恢復(fù)目標(biāo)信息。
針對(duì)在kaggle競(jìng)賽平臺(tái)上由Severstal公司提供的鋼表面缺陷圖像數(shù)據(jù)集[1]進(jìn)行研究,如圖1所示,該數(shù)據(jù)集由12 568張1 600×256像素的灰度鋼表面圖像組成,包含4類缺陷,分別為麻點(diǎn)表面、劃痕、夾雜物和斑塊,缺陷類型多樣,且每個(gè)缺陷圖像可能不具有缺陷、具有單個(gè)類別的缺陷或具有多個(gè)類別的缺陷。數(shù)據(jù)集中各類型缺陷圖像數(shù)量亦各不相同,數(shù)據(jù)集中有54.6%的圖像存在缺陷,且各類型缺陷數(shù)量極不平衡,僅缺陷類型3就占39.6%,占有缺陷圖像數(shù)量的70%以上,而缺陷類型2僅占1.9%。針對(duì)上述缺陷數(shù)量極不平衡問題,在進(jìn)行數(shù)據(jù)預(yù)處理時(shí),采取數(shù)據(jù)增強(qiáng)方法來豐富訓(xùn)練數(shù)據(jù)集,其中采用的數(shù)據(jù)增強(qiáng)方法有隨機(jī)裁剪、翻轉(zhuǎn)和隨機(jī)變換等。
圖1 缺陷圖像示例
提出一種基于多尺度特征融合和注意力機(jī)制的鋼表面缺陷檢測(cè)模型,整體網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。該模型采用的是編解碼器結(jié)構(gòu),編碼器結(jié)構(gòu)用殘差網(wǎng)絡(luò)ResNet50[11]作骨干網(wǎng)絡(luò),用于特征提取任務(wù),殘差結(jié)構(gòu)能夠?qū)W習(xí)更多更深層次的特征信息。隨后連接一個(gè)多尺度特征融合模塊,該模塊由PSA 模塊和ASPP模塊并聯(lián)組成,其中PSA模塊利用不同卷積核進(jìn)行分組卷積來獲取具有自適應(yīng)通道注意力權(quán)值的不同尺度空間特征信息;同時(shí)ASPP模塊利用多采樣率空洞卷積來實(shí)現(xiàn)不同尺度特征的提取,接著將提取到的所有多尺度特征拼接在一起,進(jìn)行特征融合,旨在捕獲更富有辨識(shí)能力的多尺度特征信息。最后經(jīng)過1×1卷積進(jìn)行降維,得到的高級(jí)語義特征作為解碼器的輸入。在解碼器結(jié)構(gòu)中,主要是利用全局注意力采樣將豐富的高級(jí)語義信息生成全局上下文權(quán)重來指導(dǎo)低水平特征選取細(xì)節(jié)信息,幫助逐步恢復(fù)缺陷信息,接著應(yīng)用3×3卷積塊來細(xì)化特征,最后進(jìn)行上采樣輸出預(yù)測(cè)結(jié)果。
圖2 整體網(wǎng)絡(luò)結(jié)構(gòu)
針對(duì)鋼表面存在的形狀大小、位置信息各異的麻點(diǎn)表面、劃痕、夾雜物和斑塊這4類缺陷,為了能更加準(zhǔn)確地提取到4類缺陷的特征信息,在編碼器結(jié)構(gòu)中捕獲高級(jí)語義信息的同時(shí),需要提取具有豐富空間信息的特征,因此,設(shè)計(jì)一個(gè)ASPP模塊與PSA模塊并聯(lián)的結(jié)構(gòu)來實(shí)現(xiàn)多尺度特征融合。ASPP模塊的作用是利用空洞卷積擴(kuò)大感受野,其空洞率rate=[6,12,18],可以提高對(duì)不同大小缺陷的特征提取能力,對(duì)恢復(fù)缺陷邊緣部分信息也具有重要作用。金字塔切分注意力模塊[12]是一種能夠在更細(xì)粒度水平上提取多尺度空間信息,并自適應(yīng)地重新較準(zhǔn)跨維通道注意權(quán)重的輕量高效的注意力模塊,通過該模塊可以提取含有這4類缺陷的更細(xì)粒度的多尺度空間信息。
2.1.1 金字塔切分注意力模塊
金字塔切分注意力模塊核心思想是通過分組卷積構(gòu)建金字塔結(jié)構(gòu)提取多尺度空間信息,同時(shí)利用Softmax函數(shù)來重新較準(zhǔn)跨維通道注意力權(quán)重,輸出更精細(xì)的多尺度特征信息,其網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
圖3 金字塔切分注意力模塊
該模塊先經(jīng)過一個(gè)切分和拼接(split and concat,簡稱SPC)操作,即:對(duì)輸入特征圖進(jìn)行通道維度的平均切分操作,接著對(duì)均分后的特征圖分別進(jìn)行不同卷積核的分組卷積來構(gòu)建特征金字塔結(jié)構(gòu),然后將分組卷積后得到的特征圖按照通道維度重新拼接起來,最后輸出一個(gè)擁有多尺度空間信息的特征圖。具體SPC操作過程如圖4所示。
圖4 切分和拼接操作
1)設(shè)輸入特征圖為X,它的通道數(shù)C=2 048,將X沿通道維度切分為4份,記為[X0,X1,X2,X3]。對(duì)于每個(gè)切分后的特征圖,它的通道數(shù)為C′=C/4=512,切分后的第i個(gè)特征圖,可表示為Xi(i=[0,1,2,3])。接著使用ki=[3,5,7,9]的不同卷積核分別對(duì)Xi進(jìn)行分組卷積操作,獨(dú)立地學(xué)習(xí)多尺度空間信息,其中不同卷積核大小和分組數(shù)之間的關(guān)系為
其中:ki為卷積核的大小;Gi為分組卷積操作中分組數(shù),但當(dāng)k0=3時(shí),取G0=1。通過分組卷積構(gòu)建金字塔結(jié)構(gòu)生成多尺度特征圖的具體實(shí)現(xiàn)過程,可表示為
其中:Conv(·,·)表示分組卷積操作;對(duì)于第i個(gè)特征圖Xi,Fi為Xi完成分組卷積操作的特征圖;F表示將各切分特征圖分組卷積的輸出特征圖進(jìn)行拼接操作后得到的預(yù)處理多尺度特征圖。
2)利用通道注意力權(quán)重模塊對(duì)預(yù)處理多尺度特征圖F進(jìn)行編碼,提取通道注意力權(quán)重信息,得到不同尺度特征的注意力權(quán)重向量,可表示為
其中,Zi表示從Fi中提取的注意力權(quán)重,SEWeight(·)用于從不同尺度的輸入特征圖中獲取注意力權(quán)重,這樣可以融合不同尺度的上下文信息。進(jìn)一步,為了實(shí)現(xiàn)注意力信息的交互,將4組的權(quán)重串聯(lián)在一起,
其中:⊕為拼接操作;Z為多尺度注意力權(quán)重向量。
3)利用Softmax函數(shù)對(duì)注意力權(quán)重向量進(jìn)行重新校準(zhǔn),其先在Zi的引導(dǎo)下,采用跨通道的軟注意自適應(yīng)選擇不同的空間尺度,其軟分配權(quán)重表述為
其中,Softmax(·)用于獲取多尺度通道的重新校準(zhǔn)權(quán)重Ai,包含有空間上的所有位置信息和通道中的注意力權(quán)重。將重新校準(zhǔn)的通道注意力以串聯(lián)的方式拼接,從而得到整個(gè)多尺度特征圖的新通道注意力向量,實(shí)現(xiàn)拼接過程為
其中:⊕為拼接操作;A為注意力交互后的多尺度通道權(quán)重。
4)對(duì)重新較準(zhǔn)的多尺度通道權(quán)重與相應(yīng)特征圖Fi相乘,
其中:?表示乘法操作;Yi表示具有多尺度通道注意力權(quán)重的特征圖。
綜上所述,經(jīng)PSA 模塊獲得更加豐富和精化的多尺度特征信息的過程可表述為
2.1.2 通道注意力權(quán)重模塊
通道注意力權(quán)重模塊的核心思想是通過壓縮全局空間信息來獲取各通道統(tǒng)計(jì)信息并調(diào)整輸出通道權(quán)重向量,具體實(shí)現(xiàn)過程如圖5所示。
圖5 通道注意力權(quán)重模塊
1)設(shè)輸入特征圖為U,通道數(shù)、高和寬分別為C、H和W,U首先經(jīng)過全局平均池化,將全局空間信息壓縮到通道描述中生成通道統(tǒng)計(jì)信息,計(jì)算式為
其中:Z通過壓縮U生成;Zc為第c個(gè)通道統(tǒng)計(jì)信息。
2)利用上述的通道統(tǒng)計(jì)信息Z,進(jìn)一步調(diào)整各個(gè)通道的權(quán)重,即:通過2個(gè)全連接層,第一層使用Re-Lu激活函數(shù),第二層使用sigmoid激活函數(shù),最終輸出各通道特征的權(quán)重,過程表述為
經(jīng)過該模塊獲得的通道注意力權(quán)重信息,有助于模型在學(xué)習(xí)過程中根據(jù)不同的權(quán)重賦予通道不同的關(guān)注度,提高其對(duì)各個(gè)通道特征信息的提取能力[13]。
在解碼器結(jié)構(gòu)中,為了能夠更好地獲得4類缺陷的邊緣信息,提高缺陷預(yù)測(cè)和分割效果,提出基于全局注意力采樣模塊的解碼器結(jié)構(gòu),利用低層豐富的細(xì)節(jié)信息對(duì)高級(jí)語義信息的指導(dǎo)作用,能很好地幫助恢復(fù)4類缺陷目標(biāo)信息,經(jīng)過3×3卷積塊進(jìn)行特征細(xì)化,得到通道數(shù)為4的特征圖,最后上采樣輸出預(yù)測(cè)結(jié)果。
2.2.1 全局注意力采樣模塊
全局注意力采樣模塊可有效地部署不同尺度特征圖,并能夠以簡單的方式向低層特征圖提供指導(dǎo)信息[14]。改進(jìn)的全局注意力采樣模塊結(jié)構(gòu)如圖6所示。
圖6 全局注意力采樣模塊
在解碼器中,將來自編碼器豐富的高級(jí)語義信息作為GAU 模塊的高水平特征的輸入,設(shè)高層輸入特征H,其中通道數(shù)C=256,通過全局平均池化生成全局上下文h,經(jīng)過1×1卷積、批歸一化和非線性激活函數(shù),得到每個(gè)通道的權(quán)重信息,實(shí)現(xiàn)過程可表示為
其中:G表示由高層輸入特征得到的全局上下文權(quán)重;g(·)表示進(jìn)行全局池化;F1×1表示進(jìn)行1×1卷積;BN表示批歸一化;δ(·)表示ReLu激活函數(shù)。
2.2.2 高效通道注意力模塊
將骨干網(wǎng)絡(luò)ResNet50淺層細(xì)節(jié)信息作為GAU低水平特征輸入,設(shè)淺層輸入特征L,其中通道數(shù)C=256。首先L經(jīng)過高效通道注意力(efficient channel attention,簡稱ECA)模塊[15],其結(jié)構(gòu)如圖7所示,該模塊主要通過卷積核大小K=3的一維卷積的不降維方式來實(shí)現(xiàn)有效捕獲跨通道交互的特征信息,可表示為
圖7 高效通道注意力模塊(ECA)
其中:由式(10)可知Z是全局平均池化后的輸出結(jié)果;C1DK=3(·)表示進(jìn)行卷積核大小K=3的一維卷積;σ(·)表示sigmoid激活函數(shù);E表示經(jīng)過通道注意力模塊的輸出特征。利用權(quán)重G與E做加權(quán)操作,可表示為
其中,Lw表示加權(quán)后的淺層特征信息。
將上采樣后的高層特征與加權(quán)后的淺層特征相加即可得到最終的輸出結(jié)果,可表示為
采用Dice系數(shù)和IoU 作為評(píng)價(jià)指標(biāo)。Dice系數(shù)是一種集合相似度度量函數(shù),可用來比較預(yù)測(cè)結(jié)果與原始圖像真值之間的像素一致性(范圍為[0,1]);IoU(交并比)是一種表示分割預(yù)測(cè)結(jié)果與原始圖像真值重合程度的函數(shù)。評(píng)價(jià)指標(biāo)計(jì)算如下:
其中:P為分割預(yù)測(cè)結(jié)果;T為真實(shí)標(biāo)注。
基于Pytorch深度學(xué)習(xí)框架,采用顯存11 GiB的GeForce RTX 2 080 Ti 1進(jìn)行模型訓(xùn)練,優(yōu)化器選取RAdam[16],其在優(yōu)化算法Adam[17]的基礎(chǔ)上進(jìn)行了修正,能夠獲得更加優(yōu)異的模型訓(xùn)練收斂速度和效果,在鋼表面缺陷檢測(cè)任務(wù)上也表現(xiàn)良好。針對(duì)kaggle競(jìng)賽平臺(tái)提供的鋼表面缺陷數(shù)據(jù)集,按照比例8∶2將數(shù)據(jù)集隨機(jī)拆分成訓(xùn)練集和驗(yàn)證集,訓(xùn)練過程中各參數(shù)初始化設(shè)置如表1所示。
表1 模型參數(shù)初始化設(shè)置
為了測(cè)試提出的基于多尺度特征融合和注意力機(jī)制的鋼表面缺陷檢測(cè)模型的有效性,基于Res-Net50骨干網(wǎng)絡(luò),對(duì)基礎(chǔ)網(wǎng)絡(luò)(Deeplabv3+)添加金字塔切分注意力模塊(PSA)和全局注意力采樣模塊(GAU)進(jìn)行消融實(shí)驗(yàn),結(jié)果如表2所示。
表2 消融實(shí)驗(yàn)結(jié)果
由表2可看出,當(dāng)僅添加PSA模塊時(shí),缺陷檢測(cè)準(zhǔn)確率有所提高,因?yàn)樵诨A(chǔ)網(wǎng)絡(luò)中,ASPP模塊雖然可以通過不同采樣率擴(kuò)大感受野,但是由于采樣率間隔較大,會(huì)導(dǎo)致一些局部信息丟失,特別是鋼表面缺陷的大小和形狀不規(guī)則,如麻點(diǎn)表面等細(xì)小缺陷,局部信息的丟失極易造成缺陷信息丟失或誤檢;而PSA模塊可以在更細(xì)粒度水平上提取多尺度空間信息,因此添加PSA 模塊與ASPP模塊實(shí)現(xiàn)多尺度特征融合,可以提升缺陷檢測(cè)率。當(dāng)僅添加GAU 模塊時(shí),缺陷檢測(cè)準(zhǔn)確率也明顯提高,相比較于基礎(chǔ)網(wǎng)絡(luò)中使用簡單的解碼器來恢復(fù)缺陷圖像的邊緣信息,基于GAU 模塊的解碼器結(jié)構(gòu)能夠更好地利用編碼器中所提取的豐富高級(jí)語義信息,指導(dǎo)低水平特征選取細(xì)節(jié)信息,可以在更大程度上幫助解碼器逐步恢復(fù)缺陷信息,達(dá)到提高缺陷檢測(cè)準(zhǔn)確率的目的。而同時(shí)添加PSA模塊和GAU 模塊的實(shí)驗(yàn)效果最好,分割準(zhǔn)確率最高,Dice 達(dá)到了94.22%,IoU 達(dá)到了66.24%,表明金字塔切分注意力和全局注意力采樣模塊可以有效用于鋼表面缺陷檢測(cè)并提升網(wǎng)絡(luò)性能,證明所提出的基于多尺度特征融合和注意力機(jī)制的鋼表面缺陷檢測(cè)模型是有效的。
為了對(duì)比不同的語義分割算法對(duì)鋼表面缺陷檢測(cè)的效果,分別基于不同模型框架進(jìn)行實(shí)驗(yàn),結(jié)果如表3所示。
表3 不同模型的對(duì)比實(shí)驗(yàn)結(jié)果 %
實(shí)驗(yàn)數(shù)據(jù)表明,基于多尺度特征融合和注意力機(jī)制的鋼表面缺陷檢測(cè)模型的缺陷檢測(cè)Dice能夠達(dá)到94.22%,IoU 達(dá)到66.24%;相比較于使用了預(yù)訓(xùn)練的Deeplabv3+網(wǎng)絡(luò),Dice提高了1.08%,Io U 提高了3.11%,與其他所選的對(duì)比語義分割模型相比也有不同程度的提升。
為了分析缺陷檢測(cè)模型對(duì)缺陷圖像的檢測(cè)分割效果,基于不同模型的對(duì)缺陷圖像分割效果進(jìn)行了對(duì)比。如圖8所示,為了更清晰地區(qū)分同一張多缺陷圖像中不同缺陷的缺陷分割情況,將不同缺陷類型分顏色展示,紫色缺陷是對(duì)缺陷3的缺陷分割可視化展示,紅色缺陷是對(duì)缺陷4的缺陷分割可視化展示。經(jīng)對(duì)比可看出,基于Unet等語義分割模型的缺陷分割在檢測(cè)過程中嚴(yán)重丟失缺陷信息,且存在邊緣信息處理不夠精細(xì)、易丟失部分邊緣缺陷信息的情況,缺陷分割效果欠佳;而基于融合多尺度特征和注意力機(jī)制的鋼表面缺陷檢測(cè)模型,能更好地把握缺陷圖像中大小不一的缺陷信息,且全局注意力采樣模塊在恢復(fù)邊緣細(xì)節(jié)信息中至關(guān)重要,使得解碼器在產(chǎn)生像素級(jí)的分割預(yù)測(cè)過程中能很好地利用高層語義信息對(duì)低層信息的指導(dǎo)作用,最終缺陷分割效果對(duì)邊緣細(xì)節(jié)信息處理更平滑,效果更優(yōu)。
圖8 不同模型對(duì)多類缺陷圖像的分割效果對(duì)比
提出了一種基于多尺度特征融合和注意力機(jī)制的鋼表面缺陷檢測(cè)算法,適用于定位和分類鋼板表面缺陷,且成功地在實(shí)際工業(yè)數(shù)據(jù)集上進(jìn)行評(píng)估。實(shí)驗(yàn)結(jié)果表明,提出的基于編碼器-解碼器結(jié)構(gòu)的語義分割網(wǎng)絡(luò)結(jié)構(gòu)在鋼表面缺陷檢測(cè)中表現(xiàn)了良好的性能,其中所提出的基于殘差網(wǎng)絡(luò)和多尺度特征融合模塊的編碼器結(jié)構(gòu)提取了更豐富和精細(xì)化的多尺度特征信息;同時(shí),解碼器結(jié)構(gòu)通過全局注意力采樣模塊利用高層語義信息對(duì)淺層細(xì)節(jié)信息進(jìn)行指導(dǎo),提升了對(duì)邊緣等細(xì)節(jié)信息的恢復(fù)效果。本算法的Dice系數(shù)達(dá)到了94.22%,提高了缺陷檢測(cè)的準(zhǔn)確度,在鋼表面缺陷檢測(cè)中優(yōu)于多種算法。未來,針對(duì)缺陷類型相對(duì)較少的情況,將繼續(xù)豐富數(shù)據(jù)集來提高模型的泛化性能,并對(duì)細(xì)小缺陷的檢測(cè)問題進(jìn)行進(jìn)一步研究。