竇 智,高浩然,劉國奇,常寶方
河南師范大學計算機與信息工程學院,河南 新鄉 453007
鋼板是工業生產中最常見的原材料之一,在其生產、加工及運輸過程中難免會因各種原因受到損傷從而產生缺陷,如劃痕、污漬、壓痕等。這些缺陷會使得鋼板在后續加工成工業產品時產出殘次品,可能會造成極大的經濟損失和安全事故。因此,對鋼板表面的缺陷進行精準的檢測擁有重大的研究意義。
傳統的表面缺陷檢測方法一般是依靠人工檢測[1],這種方法不僅耗時耗力,還會因為不同人的經驗及能力不同導致檢測效果會大打折扣,錯檢率和誤檢率難以達到行業要求。并且隨著數字化浪潮在工業領域的興起,無人化和智能化成為重要的發展方向。因此,基于機器視覺的缺陷檢測以其高精度和高效率取代了人工檢測。然而,基于機器視覺的缺陷檢測需要使用人工設計的算法提取特征,算法的魯棒性和泛化能力較差,不能滿足實際生產的需要。隨著深度學習的發展,由于它在目標檢測領域表現出的優異效果,基于深度學習的缺陷檢測逐漸成為了重要的研究熱點[2]。
目前基于深度學習的目標檢測算法主要分為單階段和兩階段的目標檢測算法[3]。單階段方法包括YOLO[4]算法系列、SSD[5]等。兩階段方法包括R-CNN[6]、Fast-RCNN[7]和Faster-RCNN[8]。兩階段檢測方法需要先生成目標區域,然后網絡對每個區域進行分類,獲取預測信息。與兩階段方法相比,單階段方法速度較快,更適用于實際使用。2020 年,Detection Transformer(DETR)[9]的提出將Transformer成功引入到計算機視覺領域。也有許多研究學者將深度學習和缺陷檢測結合,取得了成果,Chao 等[10]通過使用雙特征金字塔網絡(DFPN)和解耦頭改進YOLOv5 提出了RDD-YOLO,在鋼材表面缺陷檢測中有不錯的結果。崔克彬等[11]針對缺陷檢測中誤檢、漏檢率高等問題提出了MCB-FAH-YOLOv8,通過加入改進后的卷積注意力機制模塊(CBAM)和可替換四頭ASFF 預測頭(four-head ASFF prediction head,FAH),使網絡對微小物體和密集目標檢測能力提升,在犧牲速度的情況下提高了精度。王春梅等[12]將VanillaNet主干和YOLOv8 結合,并使用輕量級的上采樣算子CARAFE 提出了YOLOv8-VSC,使模型在保證高檢測精度的前提下需要的計算資源更少。侯玥等[13]設計了一種由Swin Transformer 模塊和PANET 模塊組成的學習器,對小樣本檢測任務有了顯著的提高。趙珊等[14]設計了一種通道分離雙注意力機制,提取更多細節特征,改善了深度網絡信息丟失問題。趙睿等[15]通過使用DenseBlock 模塊和SE-Net 注意力提升了網絡的特征提取能力,提升了在小目標場景下的檢測性能。
已有的研究成果通過不同的方式提高了缺陷檢測的各種性能,但仍然難以滿足行業的現實需求。在實際的生產檢測過程中,缺陷呈現種類多、數量少的特點,再加上公開的領域樣本集缺失,使得依賴于大規模樣本集合的深度學習方法無法應用于此類小樣本缺陷檢測中。本文的貢獻在于提出了一種高性能的數據增強方法,可有效擴充訓練集合,使深度學習應用于小樣本缺陷檢測具備可行性。同時為了滿足檢測性能和深度邊緣計算的具體需求,進一步優化了網絡模型的性能和復雜度,使高性能的網絡模型應用于邊緣計算成為可能,是本文的另一個重要貢獻。本文的主要創新如下:
(1)為了解決訓練樣本缺失問題,提出了一種基于模糊搜索的交互式數據增強算法,對鋼板表面的缺陷數據集進行了擴充,解決深度學習模型訓練時樣本不足導致檢測效果差的問題。
(2)為了降低YOLOv8 模型的參數量和計算量,使其能應用于邊緣計算中,設計輕量化多尺度殘差網絡作為模型的主干網絡;在BiFPN 的基礎上進行改進,提出一種新的頸部網絡CBFPN,去除部分支路,使網絡更加輕量化,并且使用一種新的融合方式,通過不同的擴展卷積率的擴展卷積獲取不同感受野的上下文信息,提高網絡檢測的精度。
(3)為了進一步提高網絡的檢測精度,提出ECSA注意力模塊,使網絡能從通道上和空間上提取更豐富的特征;使用Wise-IoU 替換YOLOv8 原網絡的CIoU 損失函數,使模型收斂更快,精度更高。
數據增強是目標檢測乃至整個深度學習中常用的提高模型性能的方法之一。數據增強一方面擴充數據集,讓模型擁有更強的泛化能力;另一方面,也相當于為原始數據引入了噪聲,提高了模型的魯棒性。目前常見的方法是對原始數據進行翻轉、裁剪、抖動、加入噪聲等。Bochkovskiy 等[16]對四張圖片進行隨機裁剪,再拼接到一張圖上作為訓練數據,豐富了圖片的背景。Terrance等[17]在訓練時隨機裁剪掉圖像的一塊正方形區域,然后用空白填充。Yang等[18]在訓練過程中引入高斯噪聲、模糊圖像來增強模型的泛化能力和魯棒性。
以上方法都是對原數據進行簡單的變換,面對已有樣本數量稀少的情況,難以生成大量符合真實情況的仿真樣本,并不能解決缺陷樣本稀缺的鋼板檢測問題。針對以上問題,本文提出了一個面向小樣本缺陷檢測的數據增強算法。
基于深度學習的缺陷檢測主要分為單階段和兩階段的目標檢測方法。其中單階段檢測方法的YOLO 系列因其優異的準確率和更快的速度,被廣泛應用于目標檢測任務中。而YOLOv8是YOLO系列的SOTA算法,相比其他算法,它在速度和精度上均有更好的表現。YOLOv8的網絡結構圖如圖1所示。

圖1 YOLOv8網絡結構圖Fig.1 YOLOv8 network diagram
YOLOv8 由主干、Neck 和Head 構成。主干主要由C2f 和SPPF 模塊組成,其中,C2f 模塊把YOLOv5 的C3結構和YOLOv7的ELAN結構相結合,在保證了模塊的輕量化的同時獲得更豐富的梯度流信息,從而獲得更高的精度。在主干的末端,仍然使用最流行的SPPF 模塊。它依次傳遞3 個大小為5×5 的maxpool,然后將每一層進行串聯,這樣不僅能保證這一層的輕量化,又能在檢測不同尺度的物體時保證精度。在Neck 部分,YOLOv8 仍然采用FPN-PAN 的結構進行特征融合,能對不同尺度下的特征信息進行融合和利用。在Head部分使用解耦頭結構(decoupled-head),將分類和檢測任務分開;舍棄了錨框,使用Anchor-Free 結構,不用再進行錨框超參數的調整,減輕了算法的復雜度。Loss計算有分類和回歸兩個部分,分類使用BCE loss,回歸分支使用了distribution focal loss和CIOU損失函數。
制造業的特殊性導致缺乏鋼板缺陷的通用數據集[19],若想將深度學習應用于鋼板缺陷檢測,并達到業界認可的性能,自制專門的訓練集合是唯一的選擇。然而在本文的應用場景下,數月的采集周期內僅僅能獲取十幾張缺陷樣本,樣本規模嚴重不足,導致深度網絡模型無法針對該問題進行有效的優化學習。針對這一情況,本文提出了一種基于模糊搜索的交互式數據增強算法,該算法能在保證鋼板缺陷特征多樣性的前提下,生成大量仿真度高、滿足訓練要求的缺陷樣本集合,解決深度學習模型訓練時樣本不足導致檢測效果差的問題。首先,使用鼠標選中樣本圖像中鋼板缺陷任意一點X(i,j),以該點為中心生成一個尺寸為3×3 像素的搜索鄰域P(i,j):
該區域如圖2所示。

圖2 搜索領域圖Fig.2 Search field diagram
然后,計算P(i,j)中的各點X(i,j)的相似度:
其中,V(·)表示該像素點的亮度值。相似度低于閾值(本文中閾值取20)的點被納入相似點集并記錄其圖像坐標。
遞歸調用該方法,即可記錄并標定傷痕圖像區域。接著,從圖像中提取標定區域的子圖像,實現像素級傷痕子圖分割。最后,對傷痕子圖進行旋轉、放縮、放射等變換操作,并在背景圖隨機位置上進行融合,即可生成大量的鋼板缺陷樣本S,融合過程如公式所示:
其中,h、w表示行、列的偏移量,()i+h,j+w表示缺陷在圖像上的坐標,M( )i,j為傷痕子圖上i行j列像素點的值,B表示背景圖。
本文算法生成樣本步驟如圖3 所示。圖3(a)為鋼板缺陷樣本原圖,圖3(b)為本文算法提取生成的缺陷子圖,圖3(c)為樣品背景圖,圖3(d)為最終生成的樣本。

圖3 生成缺陷樣本展示Fig.3 Generating defect samples
將YOLOv8 直接應用于真實的鋼板缺陷檢測過程中,出現了嚴重的漏檢、誤檢等問題,與行業要求存在較大差距。此外,龐大的YOLOv8模型無法應用于工業現場的邊緣計算中。若要將深度網絡成功應用于該領域,上述問題亟待解決。鋼板缺陷由其特殊性,呈現顏色單一,特異性強,尺寸差別大等特點,針對這一特殊的檢測對象,本文提出了LEC-YOLO缺陷檢測模型,如圖4所示。采用輕量化多尺度殘差網絡(lightweight multi-scale residual networks,LMSRNet)替換原主干網絡(如紅色模塊所示),引入ECSA模塊(如綠色模塊所示),將Neck改為CBFPN 結構(如藍色模塊所示),并優化損失函數。首先,設計輕量型網絡LMSRNet 替換YOLOv8 的主干,確保高效提取缺陷像素級強特征的前提下,有效降低了網絡模型規模和計算量,提升了檢測速度。然后,提出一種融合通道和空間的ECSA(efficient channel spatial attention)注意力模塊,置于SPPF(spatial pyramid pooling-fast)模塊之后,融合通道及空間信息,并通過多尺度卷積提取多粒度特征,提升模型對不同尺度和維度缺陷特征的提取能力。接著,提出基于上下文的雙向路徑特征金字塔(context bidirectional feature pyramid network,CBFPN)對上述的多種特征進行整合,關注目標與背景的沖突信息,實現層內及層間的特征流動,實現不同尺度的特征融合,使網絡精準區分缺陷區域和背景區域。最后,使用Wise-IoU替換原本的CIoU作為損失函數,進一步提升缺陷檢測模型的訓練效率和檢測性能。

圖4 LEC-YOLO網絡結構圖Fig.4 LEC-YOLO network structure diagram
為了同時滿足模型輕量化和特征高效提取的要求,受MobileNetv3[20]的啟發,本文提出一種輕量化多尺度殘差網絡(LMSRNet)替換YOLOv8的主干網絡。
由于圖像經過深度神經網絡的處理之后,會包含大量的冗余特征圖[21]。這些冗余特征的相似度很高,而YOLOV8的主干網絡會對所有特征圖進行逐通道卷積,這無疑會造成大量的冗余計算,降低網絡效率。為解決這一問題,使網絡效率更高并降低模型參數量。設計了LMSRNet作為主干網絡。鋼板缺陷區域與其他區域像素級特征上存在明顯差異,為了提取鋼板缺陷的強特征,首先通過CBH 模塊提取并處理這些特征。模塊采用尺度為3×3的卷積層,在保證充分提取缺陷像素級局部強特征的前提下,有效控制模塊參數量,不增加額外參數;為了平衡計算精度、執行效率以及可移植性,使用h-swish 代替swish作為激活函數,h-swish 表示為:
其中,x為輸入向量,RELU6 為激活函數。相比于swish函數,h-swish 函數的區別是使用RELU6 激活函數替代sigmoid 函數,sigmoid 函數是非線性函數,這種非線性雖然提高了精度,但計算復雜。所以使用RELU6作為近似函數來逼近swish。RELU6 不僅能在幾乎所有軟件和硬件框架上實現、移植成本低,且能消除使用線性函數代替sigmoid函數產生的精度損失;最后通過一系列多尺度殘差卷積模塊(multi-scale residual convolution module,MRCM)進行多通道輸出。MRCM 的結構如圖5所示。

圖5 多尺度殘差卷積模塊結構圖Fig.5 Multi-scale residual convolution module structure diagram
MRCM 首先將CBH 輸出的特征圖根據通道分成x1和x2兩等份;然后,將x1輸入感受野分別為3和5的卷積層,以涵蓋缺陷特征可能出現的尺寸,并提取多粒度信息;接著,將x1的多尺度卷積結果與x2進行拼接,實現多維特征差分融合;最后,對融合后的特征進行逐點卷積,并與初始輸入特征進行殘差融合,輸出最終特征圖,使模型保留對多維特征的感知能力。
其中,x為輸入特征,x1、x2為將x按通道等分的特征子集,Conv3×3( )、Conv5×5( )表示感受野分別為3和5的卷積層。
由于待檢測缺陷具有較好的可分性,強特征呈現較為明顯的稀疏性。此外,實驗表明低維特征在最終的決策過程中仍然有一定的貢獻性,有必要予以保留。因此,MRCM只對特征圖一半的通道進行卷積操作,有效降低了計算量和復雜度,且該過程中特征損失可忽略不計,實驗結果驗證了該創新點的有效性。如表1 所示,LMSRNet 明顯降低了網絡的參數量及計算量,并且提高了檢測速度(FPS),而在精度方面,準確率和召回率都有提升。

表1 不同主干對比結果Table 1 Comparison results of different trunk
鋼板表面缺陷中小目標較多,使用YOLOv8檢測時會頻繁出現漏檢的情況,因此本文在BiFPN[22]的基礎上設計了CBFPN金字塔網絡結構來替換原YOLOv8模型中的PANet網絡,使網絡能傳遞更多的特征信息。
YOLOv8的Neck使用的是PANet結構,PANet既可以利用高層特征圖的語義信息(利于對目標進行分類),又可以利用底層特征圖的位置信息(利于對目標進行定位),如圖6(a)所示。BiFPN(bidirectional feature pyramid network)全稱為加權雙向(自頂向下+自底向上)特征金字塔網絡。它具有高效雙向跨尺度連接和加權融合等重要特征。為了融合更多的特征信息,BiFPN在同層的輸入和輸出之間額外添加了一層通道,使得同一層內和不同層間的特征能進行融合。如圖6(b)所示。

圖6 PANet、BiFPN、CBPFPN網絡結構圖Fig.6 Network structure diagram of PANet,BiFPN,and CBPFPN
在BiFPN的基礎上,本文進行改進,提出了CBFPN,如圖6(c)所示。為了更加精簡結構,在保留雙向跨尺度連接的基礎上,去除掉多余的支路,僅使用P3、P4、P5通道進行輸出特征圖。并且將P2通道提取的特征向上與P3 通道的特征進行融合,在不影響特征信息融合的前提下簡化網絡結構,使模型更加輕量化。
另外,BiFPN 使用了加權融合的特征融合方式,公式如下所示:
其中,ω表示輸入特征的權重;ε=0.000 1,為防止數值不穩定;Ii表示通道輸入的特征值。加權特征融合是給每個輸入的特征添加一個權重,以平衡不同通道的特征,使特征快速歸一化融合。但是,這種直接融合的方式容易忽略不同尺度特征之間以及目標物體與背景之間的沖突信息,缺乏上下文信息可能會阻礙性能的進一步提高[23]。所以,本文提出一種基于上下文信息的融合方式,使用不同展開卷積率的卷積來獲取不同感受野的上下文信息,將得到的特征通過速率為1、3、5的三種1×1卷積,再使用Concat融合,融合不同層之間的特征,消除層間的沖突信息。融合方式如圖7所示。

圖7 融合方式Fig.7 Fusion mode
為了使網絡能提取更多缺陷強特征,進一步提高對鋼板表面缺陷的檢測效果,本文設計了ECSA 注意力機制。ECSA 是一種融合了ECA(efficient channel attention)[24]和改進的SAM(spatial attention module)[25]的注意力機制模塊,對輸入的圖像先后進行通道和空間注意力機制的處理,如圖8 所示。特征輸入之后,會先通過ECA 注意力模塊,與原始特征得到一個加權的結果,將得到的特征輸入改進的空間注意力模塊,最終進行加權相乘作為最終輸出特征。ECSA 注意力融合了通道注意力與空間注意力,相比于單純使用通道注意力或空間注意力可以取得更好的效果。接下來分別介紹ECA注意力和改進的SAM注意力。

圖8 ECSA模型結構Fig.8 Structure of ECSA model
ECA高效通道注意力是一個通道注意力模塊,它的模型結構如圖9(a)所示。ECA注意力使用一維卷積實現局部跨通道交互,提取不同通道間的依賴關系。首先對輸入的特征圖進行全局平均池化,將提取的特征輸入卷積核大小為k的一維卷積中,經過sigmoid 激活函數得到每個通道對應的權重w。然后將得到的權重與原始特征圖相乘。最后與輸入特征圖做element-wise乘法操作,生成改進的SAM需要的輸入特征。

圖9 ECA、改進的SAM注意力結構圖Fig.9 Attention structure diagram of ECA and improved SAM
SAM 為了將通道壓縮使用了最大池化和平均池化,這樣做不可避免地會損失部分特征。因此,使用多核卷積層替代最大池化和平均池化。通過不同大小卷積核的卷積,模塊可得到不同感受野的特征[26],保留更多圖像的紋理及缺陷尺寸信息。將得到的結果經過一個7×7 的卷積降維成一個通道,再經過sigmoid 操作生成空間注意力特征圖。最后將該特征和模塊輸入特征做乘法,得到最終生成的特征。空間通道注意力的公式如下:
其中,F表示輸入的特征,1×1、3×3、5×5、7×7表示卷積核的大小,σ為sigmoid 函數。它的模型結構圖如圖9(b)所示。
損失函數的設計是影響模型性能的重要原因之一,而邊界框損失函數是目標檢測損失函數的重要組成部分。YOLOv8的邊界框預測函數使用的是CIoU loss[27],CIoU loss 雖然考慮到了預測框和真實框的寬高比,但是并沒有考慮到訓練數據中的低質量樣本的問題。為了解決這類問題,本文使用Wise-IoU[28]替代CIoU。訓練數據集中不可避免地會存在部分低質量樣本,而錨框的集合因素(距離、縱橫比等)會加強網絡對低質量樣本的關注,因此會導致網絡的泛化性能下降。Wise-IoU在錨框與目標框重合度高時削弱集合度量的懲罰,減少對預訓練的干預,以此提升網絡的泛化能力。Wise-IoU的公式為:
其中,LIoU=1-IoU∈[0,1),將降低高質量錨框的Rt,在預測框和真實框重合度較高的情況下降低對中心距離點的關注; 定義離群度β來描述錨框的質量,離群度越小,錨框的質量就越高。為離群度大的錨框分配較小的梯度增益,可以減少低質量樣本產生的有害梯度。當β=σ時,σ使得r=1,錨框將獲得最高的梯度收益。
使用m來延緩接近真實值。在訓練后期,Wise-IoU會給低質量的錨框分配小梯度的增益,將更多的注意力集中在普通質量錨框,以此提高模型的性能。
本文一共使用了兩種數據集,一種是在工業現場采集的鋼板表面缺陷數據集,共有三種缺陷,分別為劃痕、污漬、壓痕。共有79 張圖片。另一種數據集是數據增強數據集。由于鋼板表面缺陷數據集樣本數量稀少,所以第二種數據集是通過使用本文所提的基于模糊搜索的交互式數據增強算法將原數據集進行擴充,生成的三種缺陷共990 張圖片。其中,污漬、劃痕、壓痕各有330張,保證樣本平均;將用算法生成的911 張圖片作為訓練集,原本79張圖片作為測試集,以此驗證算法的有效性。數據集的圖片樣本如圖10所示。下文不同算法的對比實驗使用數據增強數據集。

圖10 數據集示例Fig.10 Example of dataset
實驗使用的操作系統為Ubuntu 22.04.1,GPU 為NVIDIA GeForce RTX 4090,內存為24 GB,CPU 為13th Gen Intel?CoreTMi9-13900KF,深度學習框架為Pytorch,Pytorch 版本為1.13.1,Python 版本為3.7,cuda版本為11.7。
訓練時,圖片大小設為640×640,訓練輪次epoch為300輪,批量大小為8,網絡初始學習率為0.01。
分析實驗結果時精度指標采用精確率(Precision)、召回率(Recall)、平均準確率(mean average precision,mAP)。模型指標采用模型參數量(params),模型推理浮點數(GFLOPs),檢測速度(FPS)。相關公式如下:
其中,TP 表示預測為目標實際上也是正確目標的個數;FP 表示預測為目標實際上不是正確目標的個數;FN 表示預測不是目標實際上是目標的個數;AP 為每種檢測類型的準確性;mAP 表示所有類別中AP 指的均值,n為類別數。
為了體現本文每個改進對YOLOv8的提升效果,本文進行了10 組消融實驗。將替換LMSRNet 主干、改進CBFPN金字塔網絡、添加ESCA模塊、更換Wise-IoU損失函數和數據增強算法分別添加到YOLOv8模型中,并給出多個改進模塊組合的實驗結果。消融實驗結果如表2所示。

表2 消融實驗結果Table 2 Results of ablation experiments
觀察表2 可知,將主干換為LMSRNet 之后,由于只對半數通道進行多尺度卷積,mAP有一定下降,但業界真正關注的精確率、召回率和FPS 得到了提升,值得注意的是,網絡的參數量和計算量都有明顯的下降。將YOLOv8n 的Neck 換成CBFPN 后,去除了部分無用支路,使得網絡參數量下降了1.1×106,計算量下降了1.3 GFLOPs;通過使用基于上下文信息的融合方式消除網絡層間的沖突信息,使召回率提升了2.9 個百分點。向YOLOv8n添加ECSA模塊,使網絡綜合通道、空間信息提取重要特征,在僅少量增加參數量的情況下,將精確率、召回率、mAP 分別提高了25.8、11.2、5.2 個百分點。而將多個模塊組合使用可以看出,更換主干和Neck,由于優化了卷積方式和網絡結構,使網絡提取缺陷特征信息的效率更高,所以模型規模及計算量降低的同時檢測速度也有所提升;在此基礎上加入ECSA并更換Wise-IoU損失函數,在基本不影響模型大小、速度的前提下,進一步提升了特征提取能力,優化了收斂速度,提高了模型的準確率和精度。采用數據增強算法獲得的擴充數據集訓練YOLOv8n 原模型,其精確率、召回率、mAP分別提升了42.6、25、26.4個百分點。
另外,為了驗證網絡模型改進帶來的提升,排除數據集過小帶來的影響,將本文算法和YOLOv8n 均在數據增強數據集上進行實驗對比,可得出結果:相比起YOLOv8n,本文算法參數量只有原模型的30%,計算量是原模型的49%,FPS 提高了9 幀/s,精確率提高了2.9個百分點,召回率提高了6.5 個百分點,mAP 提升了5.5個百分點。經過以上實驗可以說明,本文提出的網絡改進及數據增強方法都有提升效果。
表3、表4、表5 分別為劃痕、壓痕、污漬三種不同缺陷的實驗結果。由于每種缺陷擁有的特征不一致,對于不同的缺陷,各個模塊效果也不同。觀察可知,更換主干和Wise-IoU 損失函數使網絡能夠更準確地感知尺寸差別大、特征明顯的缺陷,所以對檢測劃痕和壓痕效果提升明顯,添加CBFPN 和ECSA 模塊能夠提升網絡對小目標的檢測能力,所以對檢測污漬更有優勢。并且使用數據增強算法及本文所有改進之后,三種缺陷的檢測精度都有提升并達到最高。證明了本文提出的網絡改進及數據增強方法對不同種類的缺陷檢測具有普適性。

表3 劃痕實驗結果Table 3 Results of scratches experiments

表4 壓痕實驗結果Table 4 Results of indentation experiments

表5 污漬實驗結果Table 5 Results of stains experiments
圖11為三種算法的檢測結果,圖11(a)為原YOLOv8n算法未使用數據增強的檢測結果,可以看出由于樣本的缺失,導致基本檢測不出目標。圖11(b)為YOLOv8n算法使用數據增強的檢測結果,檢測結果有了明顯的改善,說明本文的樣本生成算法是有作用的。圖11(c)為改進后的YOLOv8n 算法使用數據增強的結果,相比起前兩個,可以明顯地看出目標的漏檢、錯檢的情況得到了改善,并且檢測出的結果中,目標框的置信度也有提高。

圖11 檢測結果對比圖Fig.11 Comparison of test results
為了比較本文對網絡改進的效果,將改進后的YOLOv8n 算法和其他算法進行比較。本文選擇了經典的SSD、YOLOv3-tiny[29]、YOLOv5n[30]、YOLOv6n[31]、YOLOv7-tiny[32]以及較新的RT-DETR(2023)[33]進行對比實驗。這些實驗使用相同的設備、環境和數據集進行,表6為不同算法的對比結果。

表6 對比實驗結果Table 6 Comparative experimental results
觀察表6可知,相比其他算法,在mAP和召回率上,本文算法都達到了最高(94.8%和88.8%),而在精確率上,僅僅比RT-DETR 低,但是mAP 和召回率都比RTDETR要高。這可以說明在檢測精度上,本文算法總體上是優于其他算法的。在模型大小(Params)、計算量(GFLOPs)和檢測速度(FPS)上,相比其他算法,本文算法都是最優的。圖12 為不同算法的檢測結果對比,可以看出其他算法在檢測時都出現了漏檢、錯檢等情況,本文算法的檢測效果是最好的。綜上所述,本文算法在滿足實時檢測的同時,提高了檢測精度,輕量化了模型大小,減小了運算量,提高了檢測速度,具有較高的通用性和實用價值。

圖12 對比實驗結果圖Fig.12 Diagram of comparative experimental results
目前,在使用深度學習進行鋼板缺陷檢測時存在缺陷樣本數量不足和深度學習模型精度低、參數高及計算量大等問題。現有的算法并不能完全解決這些問題。于是,本文從樣本生成和網絡優化兩個方面入手,提出了一種基于輕量化YOLOv8 的小樣本鋼板缺陷檢測算法。通過樣本生成算法對缺陷數據集進行擴充,使深度學習模型能進行優化學習,解決了樣本不足的問題。此外,本文提出了一種輕量化的LEC-YOLO 模型,提出LMSRNet 作為模型的主干網絡,降低模型的參數量和計算量,提高檢測速度;提出一種新的頸部網絡CBFPN,使網絡能提取更多有效的特征;提出ECSA 注意力模塊,使網絡能從通道和空間兩種不同的維度提取出需要的特征;使用Wise-IoU 替換YOLOv8 原網絡的CIoU損失函數,使模型收斂更快,精度更高。實驗結果表明,LEC-YOLO 比起YOLOv8n,精確率提高了2.9 個百分點,召回率提高了6.5個百分點,mAP提升了5.5個百分點,有效降低了實際檢測時的誤檢率、漏檢率。并且本文算法參數量僅是原模型30%,計算量是原模型的49%,FPS 提高了9 幀/s,模型更加輕量化,滿足更多場景需求。綜上所述,本文算法能解決小樣本鋼板缺陷檢測的樣本不足問題,并對網絡模型進行了優化,使其精度更高并進行了輕量化,適用于實際場景的應用。