方宗昌 吳四九
摘? 要:針對傳統表面缺陷檢測算法檢測效率低下,難以應對復雜性檢測等問題,結合深度學習和注意力機制技術,提出一種新型注意力機制算法。首先,反思卷積神經網絡(CNN)與Transformer架構,重新設計高維特征提取模塊;其次,改進最新注意力機制來捕獲全局特征。該算法可輕松嵌入各類CNN,提升圖像分類和表面缺陷檢測的性能。使用該算法的ResNet網絡在CIFAR-100數據集和紡織品缺陷數據集上的準確率分別達到83.22%和77.98%,優于經典注意力機制SE與最新的Fca等方法。
關鍵詞:缺陷檢測;注意力機制;卷積神經網絡;圖像分類
中圖分類號:TP391.4? 文獻標識碼:A? 文章編號:2096-4706(2023)03-0151-04
Application of Image Classification Algorithm Based on Soft Attention Mechanism
in Defect Detection
FANG Zongchang, WU Sijiu
(Chengdu University of Information Technology, Chengdu? 610225, China)
Abstract: Aiming at the problems of traditional surface defect detection algorithms, such as low detection efficiency and it has difficulty to deal with complexity detection, a new attention mechanism algorithm is proposed by combining deep learning and attention mechanism technology. First, rethink profoundly the Convolutional Neural Networks (CNN) and Transformer architecture, and redesign the high-dimensional feature extraction module; secondly, improve the latest attention mechanism to capture global features. This algorithm can easily embed various CNN, improve the performance for image classification and surface defect detection. The accuracy of the ResNet network using this algorithm on the CIFAR-100 data set and the textile defect data set reaches 83.22% and 77.98% respectively, which is superior to the classical attention mechanism SE and the latest Fca and other methods.
Keywords: defect detection; attention mechanism; Convolutional Neural Network; image classification
0? 引? 言
產品的表面缺陷是工業生產的常見問題和影響產品質量的重要因素,這使得工業質量檢測是生產不可忽略的重要環節之一。傳統人工檢測具有主觀性、低效率、成本高等缺點?;跈C器學習的表面缺陷檢測技術(Automated surface inspection, ASI)通過機器獲取設備判斷產品圖像中是否缺陷,一定程度上解決了問題,但無法應對真實工業環境中缺陷與背景差異小、尺度變化大等復雜挑戰,正在逐步被基于深度學習的機器視覺技術所取代[1]。
深度學習中的神經網絡模型來自對人類大腦神經元對事物認知模式的研究,而在深度學習領域最早在自然語言處理領域取得突破,后來又發展到計算機視覺領域的注意力機制也是認知科學對人類視覺系統自發分配注意力,著重于場景中的重點目標的功能的分析結果[2]。注意力機制可被劃分為考慮對全部輸入做加權平均的軟注意力和關注局部輸入信息的硬注意力機制。它使得神經網絡更加關注圖像中的重要局部區域,增強了網絡提取遠程相關信息的能力,被認為是深度學習界的未來發展方向之一。
在圖像分類模型中加入注意力機制模塊已經是一種主流做法。SENet[3]將通道注意力機制引入計算機視覺領域;FcaNet[4]使用離散余弦變換DCT替換注意力機制中的全局平均池化操作;ECA-Net[5]把全連接層替換為一維卷積,促進通道間的信息交流;Coordinate Attention[6]將輸入特征按水平和豎直方向分解,用于特征校準;ViT[7]系列模型用自注意力代替卷積來提取特征;MobileNet V1[8]提出了深度卷積和點卷積;Han[9]等人分析了深度卷積和自注意力背后原理的一致性;ConvNeXt[10]用深度卷積模擬自注意力,證明了卷積架構和Transformer架構同樣優秀。本文基于過往的這些工作提出一種新型軟注意力模塊FFAM,并基于經典神經網絡ResNet系列在開源圖像分類數據集CIFAR-100和搜集、整理網絡圖片得到的紡織品缺陷數據集上獲得了超越多個經典和最新的注意力機制算法的效果。
1? 網絡框架
1.1? 注意力機制框架
SENet及之后的CBAM、GENet、GCNet、FcaNet、ECANet、CA等一系列使用注意力機制的神經網絡模塊都可以用同一個流程框架模式來描述,具體為:
(1)對于輸入大小為H×W×C的特征圖X,通過操作A獲得含有全局上下文特征而大小為H'×W'×C'的特征圖X'(X'可能為多個)。
SENet通過二維全局平均池化操作獲得1×1×C的特征圖;CBAM同時使用二維全局平均池化和二維全局最大池化模塊,將結果相加得到1×1×C的特征圖;GENet經過多次將特征圖的高度和寬度減半的卷積得到最小為H/8×W/8×C的特征圖;GCNet將特征圖X變形和降維而分別得到的C×HW大小的特征圖X1與HW×1×1大小的特征圖X2點乘,得到1×1×C的特征圖;FcaNet從頻域角度出發,用二維離散余弦變換DCT作為操作A,得到1×1×C的特征圖;ECANet使用二維全局平均池化和變形操作獲得1×C大小的特征圖;SRM將二維全局平均池化和二維全局標準差池化的結果在通道維度上連接并使特征圖變形,獲得大小為1×2C的特征圖;CA通過水平方向和豎直方向的兩個一位全局平均池化,得到大小分別為H×1×C和1×W×C的特征圖X1和特征圖X2。
(2)對于含有全局上下文特征的特征圖X′,用操作B作提取高維特征,得到特征圖X''。這一過程通常不改變特征圖大小。
SENet、CBAM、GCNet、FcaNet均使用先降維后升維的兩次1×1卷積作為操作B;CA的操作類似,不同之處在于對于在第一步得到的特征圖X1和X2,降維操作前合并為一個特征圖,升維操作前再分割為兩個;GENet多一個將特征圖插值變形回原特征圖X的大小的操作;ECANet則用一次大卷積核一維卷積提取特征。
(3)對于含有高維特征的特征圖X'',經過操作C(通常為Sigmoid函數)將X''中的參數縮放到[0, 1]范圍內,再與原特征圖X相乘,進行特征縮放,抑制不重要的通道,更加關注重要的特征。
SENet、CBAM、GCNet、FcaNet、GENet、ECANet的這一過程如上文所述;CA需要同時乘以兩個特征圖X1''、X2'';GCNet和其模仿的ViT自注意力系列一樣,將特征圖X''直接與原特征圖X相加。
對注意力機制的框架總結流程圖如圖1所示。
1.2? Transformer架構和ConvNeXt
具有自注意力機制的Transformer架構自從谷歌的ViT以來,在計算機視覺的多個領域被廣泛研究與應用,似乎將取代卷積神經網絡(Convolutional Neural Networks, CNN)的地位。而Han等人在《Demystifying Local Vision Transformer: Sparse Connectivity, Weight Sharing, and Dynamic Weight》一文中通過大量實驗指出,Transformer中的自注意力模塊起到和CNN中深度卷積一樣的作用,即逐通道的局部注意力,可以互相替換;而Transformer中進行通道間信息混合的FFN模塊相當于CNN中具有升降維功能的1×1卷積。來自Facebook的團隊按照這一思路設計了用上述模塊模擬Transformer架構的ConvNeXt系列,作為CNN在多項指標上超過了Transformer架構中最優秀的MSRA的Swin Transform。
1.3? 前饋注意力模塊
從1.1可以看出,之前的各種注意力模塊在操作A上有較多探索,但在操作B上往往千篇一律。本文仿照ConvNeXt的作者,用卷積神經網絡模擬Transformer架構的優點,提出了前饋注意力模塊FFAM(Feed Forward Attention Module)。
本文所做的改進主要有以下幾點:
(1)結合最新注意力機制方法,改造全局特征提取模塊。對于1.1中被稱為操作A的部分,Fca提出二維離散余弦變換DCT模塊作為注意力機制模塊中常用的二維全局平均池化的推廣,來捕捉豐富的輸入模式信息;CA使用水平方向和豎直方向的兩個一維全局平均池化處理特征圖,保留更多信息,增強對長條狀特征的識別能力,對原始特征圖做雙重校準。本文結合這兩種方法,改造DCT模塊,生成大小分別為H×1×C和1×W×C的特征圖X1和特征圖X2,用于后續的高維特征提取和特征縮放。
(2)重新設計高維特征提取模塊。與CNN中的注意力模塊常常使用先降維后升維的兩個卷積核大小為1×1的二維卷積不同,Vision Transformer中的前饋神經網絡(Feed Forward Network, FFN)模塊為包含兩個先升維后降維的全連接層的多層感知機(Multilayer Perceptron, MLP)模塊。
NIN這篇論文指出,當輸入特征圖大小為1×1時,MLP中的全連接層相當于CNN的1×1卷積,而卷積的通道數等同于全連接層的結點個數。因此本文用3個先升維后降維的1×1卷積來模擬Transformer架構中的FFN模塊,其中一個用于升維,兩個用于特征圖X1和特征圖X2的降維,擴張倍率均為4倍,同樣使用GELU激活函數和DropPath過擬合控制方法。
CeiT提出替換FFN模塊的LeFF(Locally-enhanced Feed-Forward layer)模塊,在兩層線性投影間加入深度卷積,帶來了精度上的提升。同時由1.2可知,深度卷積能起到和自注意力機制類似的作用。本文則在升降維操作之間加入卷積核大小為1×1的深度卷積。從結果來看,最后確定的模塊架構與MobileNet V2中的逆殘差模塊具有一定相似性,證明了優秀架構的一致性。
(3)改變基本組件順序,減少激活函數與歸一化操作數量。CNN中的卷積、激活函數和歸一化操作的排列順序通常是先進行卷積,然后做歸一化,最后用激活函數,ResNet V1就采取了這一后來被稱為post-activation后激活模式。但隨后同一作者團隊的ResNet V2提出了pre-activation的概念,選擇先歸一化,再用激活函數,最后再進行卷積的順序,以增進梯度傳遞。采用神經網絡搜索技術的Nasnet則使用先用激活函數,再進行卷積,最后做歸一化的模式。IResNet含有多個卷積、激活函數和歸一化的不同順序的基本單元,在網絡的不同階段使用。PyramidNet、MobileNet V2、ShuffleNet分別以不同方式減少激活函數與歸一化操作的使用數量,以避免信息損失。ConvNeXt的作者團隊認為,Transformer架構成功的一部分來自它較少的激活函數與歸一化操作數量。借鑒于這些工作,本文在FFAM模塊中采用與Vision Transformer類似、與Nasnet相同的“歸一化—卷積—激活函數”模式,并只在第一個1×1卷積和深度卷積的前后使用。
FFAM模塊的結構圖如圖2所示。
FFAM模塊可以像之前的SE、CBAM、ECA等各種模塊一樣輕松嵌入ResNet、MobileNet、EfficientNet等各種經典網絡結構。嵌入FFAM模塊的ResNet50網絡的計算量從4.11 GFlops增加至4.27 GFlops,計算量僅增加3%。FFAM模塊嵌入ResNet的兩種基本結構單元的結構圖如圖3所示。
2? 數據集與實驗環境
2.1? 數據集來源與處理
本實驗所采用的數據集為來自加拿大高等研究所的開源圖像分類經典數據集CIFAR-100和搜集、整理網絡圖片得到的紡織品缺陷數據集。
CIFAR-100數據集是Tiny Images數據集的子集,含有6萬張圖片,其中訓練集5萬張,測試集1萬張。CIFAR-100數據集又分為20個超類、100個具體類別,每個具體類別有600張圖片,其中訓練集500張,測試集100張。CIFAR-100數據集中的超類有昆蟲、爬行動物、家用電器、樹木等;CIFAR-100數據集中的具體類別有海豚、向日葵、電視機、蝴蝶、火車等。
紡織品缺陷數據集中的一部分來自阿里天池大數據平臺和百度飛槳深度學習平臺的開源數據集,其余主要通過網絡爬蟲對國內外網站的爬取獲得,最后經過了整理和類別平衡。紡織品缺陷數據集共計3 604張圖片,包含水印、松經、緯縮、織疵等12種類別,按8:2劃分訓練集和測試集。具體圖片數量表見表1,紡織品缺陷樣本圖見圖4。
2.2? 實驗環境
本文使用PyTorch這一開源Python深度學習框架,并基于timm這一開源視覺神經網絡代碼庫進行算法對比研究和代碼撰寫,首先在CIFAR-100數據集上測試和對比搭載FFAM模塊與其他注意力機制模塊的ResNet18網絡的性能,再在紡織品缺陷檢測數據集訓練搭載FFAM模塊的ResNet50網絡的性能,并對比最新的注意力機制模塊。
實驗默認設置將輸入圖像縮放至224×224大小,數據集均值與標準差設為與ImageNet數據集相同,使用SGD梯度下降訓練法做混合精度訓練,動量為0.9,權重衰減量為2×10-5,每30個epoch衰減一次,學習率為0.05,批量大小為128,裝載官方的預訓練權重,共訓練100個epoch。模型的運行環境見表2。
3? 實驗結果與分析
3.1? 在CIFAR-100數據集上的實驗
表3展現了搭載不同注意力模塊的ResNet18網絡在CIFAR-100數據集上的準確率對比。顯而易見,搭載本文提出的FFAM模塊的ResNet18網絡取得了最高的準確率提升,超越經典的SE、CBAM和最新的Fca、ECA模塊。同時可以看出,Fca和CA模塊具有第二和第三的準確率,接下來將在紡織品缺陷數據集上對比FFAM和這兩種模塊的性能。
3.2? 在紡織品缺陷數據集上的實驗
表4的實驗結果表明,FFAM模塊在紡織品缺陷數據集上同樣有性能優異的表現,高于新提出的Fca和CA這兩種注意力機制模塊,表明該模塊在提升網絡精度的同時具有一定的泛化能力。
4? 結? 論
本文分析了注意力機制模塊的流程框架,借鑒各大經典注意力機制模塊提出了FFAM模塊,并構建了使用FFAM模塊的ResNet18和ResNet50網絡,用于識別CIFAR-100開源數據集和自行搭建的紡織品缺陷數據集。實驗結果顯示,嵌入FFAM模塊的ResNet網絡以更高的準確率和較少的計算量增加完成了分類任務,超過經典的SE、CBAM模塊和最新的Fca、CA等模塊,證明了該算法用于圖像分類和缺陷檢測領域的意義。該模塊亦可嵌入其他卷積神經網絡并用于各式計算機視覺任務中。
參考文獻:
[1] 陶顯,侯偉,徐德.基于深度學習的表面缺陷檢測方法綜述 [J].自動化學報,2021,47(5):1017-1034.
[2] 任歡,王旭光.注意力機制綜述 [J].計算機應用,2021,41(S1):1-6.
[3] HU J,SHEN L,SUN G. Squeeze-and-Excitation Networks [C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition.Salt Lake City:IEEE,2018:7132-7141.
[4] QIN Z Q,ZHANG P Y,WU F,et al. Fcanet: Frequency Channel Attention Networks [C]//2021 IEEE/CVF International Conference on Computer Vision(ICCV).Montreal:IEEE,2021:763-772.
[5] WANG Q L,WU B G,ZHU P F,et al. ECA-Net: Efficient Channel Attention for Deep Convolutional Neural Networks [C]//2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition(CVPR).Seattle:IEEE,2020:11531-11539.
[6] HOU Q B,ZHOU D Q,FENG J S. Coordinate Attention for Efficient Mobile Network Design [J/OL].arXiv:2103.02907 [cs.CV].[2022-09-16].https://arxiv.org/abs/2103.02907.
[7] DOSOVITSKIY A,BEYER L,KOLESNIKOV A,et al. An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale [J/OL].arXiv:2010.11929 [cs.CV].[2022-09-16].https://arxiv.org/abs/2010.11929v1?utm_medium=email.
[8] HOWARD A G,ZHU M,CHEN B,et al. MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications [J/OL].arXiv:1704.04861 [cs.CV].[2022-09-16].https://arxiv.org/abs/1704.04861.
[9] HAN Q,FAN Z J,DAI Q,et al. Demystifying Local Vision Transformer: Sparse Connectivity, Weight Sharing, and Dynamic Weight [J/OL].arXiv:2106.04263 [cs.CV].[2022-09-16].https://arxiv.org/abs/2106.04263v1.
[10] LIU Z,MAO H Z,WU C-Y,et al. A Convnet for the 2020s [C]//2022 IEEE/CVF Conference on Computer Vision and Pattern Recognition(CVPR).New Orleans:IEEE,2022:11966-11976.
作者簡介:方宗昌(1999—),男,漢族,山東菏澤人,碩士研究生在讀,研究方向:計算機視覺;吳四九(1970—),男,漢族,四川成都人,教授,本科,研究方向:人工智能及數據挖掘、圖形圖像處理及應用。
收稿日期:2022-10-05