



摘要:針對一次即可識別圖中物體(You Only Look Once v8,YOLOv8 )的模型在密集缺陷檢測任務中因特征提取能力不足導致的漏檢、錯檢等問題,文章提出SE-YOLO算法。改進后的SE-YOLO密集缺陷檢測算法為了使模型關注更多維度的特征信息,使用Swin Transformer網絡作為主干網絡。文章引入中心化特征金字塔模塊,以提取全局長距離相關性,可以盡可能地保留輸入圖像的局部角點區域信息。改進后的SE-YOLO密集缺陷檢測算法可以更加準確地檢測出缺陷的類別和位置,在密集缺陷檢測任務中具有較高的精確度與魯棒性。
關鍵詞:密集缺陷檢測;YOLOv8;Swin Transformer
中圖分類號:TP391.41文獻標志碼:A
0 引言
缺陷檢測是制造業中至關重要的環節之一,其在保障產品質量、提高生產效率以及降低成本方面發揮著不可替代的作用。隨著科技技術的不斷發展,制造業對于缺陷檢測的需求也日益增長[1]。傳統的人工檢測方法在面對大規模生產和高速生產線的挑戰時顯得力不從心:一是缺陷數據集屬于小樣本數據集[2-3],圖片較少;二是缺陷密集分布在圖像的整個區域內,缺陷混淆性較高,其中,缺陷的顏色、紋理和圖案與周圍環境極其相似;三是缺陷目標較小,小目標分辨率較低,特征信息不足。
近年來,目標檢測算法快速發展,逐漸從傳統的目標檢測轉向基于深度學習的目標檢測[3]。深度學習中的目標檢測算法可概括為兩階段檢測與一階段檢測這兩大主要范疇:在兩階段檢測中,算法首先生成候選區域,然后對這些區域進行進一步的分類和定位;而一階段檢測則直接通過單一神經網絡完成目標檢測任務,無需額外的候選區域生成步驟。兩階段檢測強調候選區域生成與目標識別的分離,典型代表包括區域卷積神經網絡[4](Region Convolutional Neural Network,R-CNN)系列。與之不同的是,一階段檢測方法(如僅須一次就能識別圖中物體的類別與方法[5](You Only Look Once,YOLO)和單個深度神經網絡[6](Single Shot MultiBox Detector,SSD)),通過聯合優化目標檢測的目標分類與位置回歸2個主要任務,以實現端到端的目標檢測。這2種方法各有優劣,兩階段檢測通常在準確性上更為突出,而一階段檢測則以實時性為特點。上述方法雖然在一定程度上提高了算法的性能,但在精度和參數量方面仍有不足之處。首先,張文凱等[7]將YOLOv8模型主干網絡和頸部網絡中的部分通道到像素模塊(Channel-to-Pixel,C2f)替換為三分通道到像素模塊(Channel-to-Pixel-Tfiplet,C2f-Tfiplet);其次,為了使模型在更大的感知區域內聚合上下文信息,將YOLOv8模型頸部網絡中的最近鄰上采樣模塊替換為內容感知特征重組(Content-aware Reassembly of Features,CARAFE)上采樣算子;最后,為了提高模型收斂速度和回歸精度,將原YOLOv8的完全交并比(Complete Intersection over Union,CIoU)回歸損失函數替換為邊框回歸損失函數(Shape Intersection over Union,SIoU)損失函數。高昂等[8]采用由可變形卷積改進的骨干網絡增強網絡對特征的提取能力,設計遮擋感知注意力機制增強遮擋行人可見部分特征;進一步,針對密集行人場景檢測頭定位不準的問題,設計動態解耦頭增強對多尺度行人特征的關注,提高檢測頭的表達能力。
本文集中關注YOLOv8模型中主干網絡、特征和損失函數3個視角的改進和優化,提出了一種輕量、高效的密集行人檢測算法SE-YOLO。
本文的主要貢獻包括:(1)增強網絡的全局特征提取能力,使用Swin Transformer網絡作為主干網絡;(2)關注密集預測任務信息,引入顯式視覺中心(EVC Feature Pyramid,EVC),可以盡可能地保留輸入圖像的局部角點區域信息。研究表明在YOLOv8模型基礎之上引入Swin Transformer和EVC改進而成的缺陷檢測算法在模型參數量、檢測精度方面都有出色的表現。
1 YOLOv8算法
YOLOv8代表著目標檢測和實例分割領域的最新進展,它采用了一系列創新的設計思想和工程實踐,結合了之前各種流行算法的精華。
YOLOv8的骨干網絡和頸部參考了YOLOv7 ELAN的設計思想,采用了C2f結構,這增強了梯度的傳播,有助于提升性能。頭部采用解耦頭結構。這將分類和檢測頭分離,有助于提高模型的靈活性和可維護性。此外,YOLOv8還從Anchor-Based方式轉向了Anchor-Free方式,這種變化有助于減小目標檢測中的定位誤差。
YOLOv8在樣本匹配上采用了Task-Aligned Assigner,引入了狄拉克分布(Distribution Focal Loss,DFL)。DFL損失函數的使用可以幫助模型更好地處理難以分類的樣本,提高了目標檢測的魯棒性。
在數據增強方面,YOLOv8借鑒了YOLOX的設計,特別是在訓練的最后10輪訓練中關閉了Mosaic增強操作。YOLOv8模型結構如圖1所示。
2 改進的YOLOv8算法
2.1 Swin Transformer網絡
Swin Transformer[9]是一種基于自注意力機制的深度學習模型,其設計旨在應對在處理大規模圖像時的計算和內存復雜度問題。Swin Transformer的核心思想是通過引入分層的注意力機制和局部感知窗口,將圖像劃分為若干塊,然后在每個局部窗口內進行自注意力計算。
Swin Transformer的工作機制可以分為多個步驟。首先,輸入的圖像被劃分為多個均勻的塊,每個塊被稱為一個局部窗口。然后,在每個局部窗口內,通過引入分階段的注意力計算,模型能夠在不同層次上捕捉到圖像的全局和局部信息。這種分階段的注意力機制顯著減少了計算和存儲開銷,使得Swin Transformer能夠有效地處理大規模圖像。
Swin Transformer的主干網絡部分采用了基于局部感知窗口的視覺注意力機制,將輸入圖像分割成若干個非重疊的塊。這種分塊的策略減小了計算復雜度,同時保留了圖像的空間結構信息。
頸部負責連接主干網絡和頭部,通過漸進的特征融合,逐漸減小特征圖的空間分辨率。這個過程有助于提取更高級別的語義信息,同時降低計算復雜度。
頭部是模型的輸出層,負責將最終的特征表示映射到任務相關的預測空間。在Swin Transformer中,頭部通常包括全局平均池化、全連接層和激活函數等。
此外,Swin Transformer通過多層次的特征提取,建立對圖像不同層次信息的抽象表示。這種層次化的結構有助于模型更好地理解圖像的語義信息,提高其在視覺任務中的性能。Swin Transformer模型結構如圖2所示。
2.2 EVC特征金字塔
EVC特征金字塔(EVC Feature Pyramid,EVC)[10]是一種在計算機視覺領域中被廣泛應用的圖像特征提取方法,其設計旨在通過層級結構的特征金字塔,更全面地捕捉圖像中的語義信息。在EVC特征金字塔結構中,底層視覺(Low-Level Vision Coding,LVC)和局部運動估計與預測(Local Motion Estimation and Local Prediction,LMLP)是2個關鍵的組成部分,它們共同構成了視頻編碼的基礎。
EVC特征金字塔模型結構如圖3所示。骨干網絡輸入EVC特征圖,首先進入Stem Block模塊,然后借助卷積核大小為7、個數為256的卷積層,再將輸入特征圖的維度由512維降至256維,最后降維后的特征圖輸入LMLP和LVC模塊中。
LMLP模塊主要由2個殘差模塊構成,特征圖輸入第一個殘差模塊時,首先經過群組歸一化,隨后輸入逐通道卷積層,逐通道卷積在提升特征表征能力的同時可以降低計算量,在經過通道縮放與路徑丟棄后,與原輸入通過殘差路徑進行相加,隨后將特征圖輸入第二個殘差模塊,在經過群組歸一化后,在特征圖上實現通道多層感知機(channel MLP,MLP),最后經過通道縮放與正則化后輸出特征圖。
LVC模塊首先使用一組卷積層的組合對輸入特征圖進行編碼,隨后將編碼特征送入一個碼本,碼本中包含固有碼字B={b1,b2,…,bK}和一組縮放因子S={s1,s2,…,sk,…,sK},輸入的編碼特征為X={X1,X2,…,XK},通過縮放因子sk使xibk映射相應的位置信息ek,將碼本的輸出輸入全連接層和1×1卷積層來預測能夠突出類別的特征,最后將輸出特征與輸入LVC的特征圖先后進行通道上的相乘和相加,作為LVC模塊的輸出。將LMLP和LVC的輸出特征圖拼接之后,利用1×1卷積層將特征圖維度調整到256,與輸入特征圖保持一致。
2.3 SE-YOLO模型
SE-YOLO優化了原始的YOLOv8結構,提升了密集缺陷檢測效果,實現模型高精度和性能之間的平衡,SE-YOLO模型結構如圖4所示,本文主要進行如下改進。
主干網絡部分,使用Swin Transformer主干網絡,替代YOLOv8原來的CSPDarkNet結構。第一個塊使用具有96個通道和4個重復的PatchEmbed。它對輸入進行操作[b, 96, 160, 160]。第二個塊使用SwinStage,具有96個通道、2個重復、3個內核大小和7個擴展大小。它對前一個塊的輸出進行操作。第三個塊使用具有192個通道的無卷積下采樣技術,對前一個的輸出進行操作。上采樣應用于骨干特征圖的不同點,組合來自主干的不同級別的特征。
在頭部引入EVC特征金字塔模塊,旨在專注于密集預測任務的信息提取,以有效捕捉全局范圍內的長距離相關性。該模塊的設計目的在于最大程度地保留輸入圖像中的局部角點區域信息,系統能夠更全面地理解圖像內容,通過對不同尺度和層次的特征進行細致分析,有效地捕捉各個區域的細微差異。
EVC特征金字塔模塊的引入強調了其在全局上下文理解和長距離信息關聯方面的優越性,為模型提供了更廣泛、更深刻的感知范圍。通過利用EVC,模型能夠更靈活地適應不同尺度的特征,在處理密集預測任務時更好地理解物體之間的關聯關系。與此同時,該模塊還注重保留局部角點區域信息,以確保對輸入圖像細節的敏感性和準確性。這種結合全局和局部信息的策略有助于提高系統在復雜場景下的性能,使其更為魯棒和適應性強。
3 結語
文章提出了一種創新的密集缺陷檢測方法,該方法在現有YOLOv8模型基礎上進行改進。改進的目標是更好地適應密集缺陷圖片的特點,提高模型在缺陷檢測任務中的性能。實驗結果表明,經過改進的YOLOv8在均值平均精度和召回率方面取得顯著的提升,分別達到74.5%和71.2%。與原始YOLOv8算法相比,改進后的模型均值平均精度提高了16.5%,召回率提高了1.1%。mAP值達到了80.1%,而模型速度達到每秒150幀。
文章充分驗證了所提創新性的缺陷檢測方法的有效性,證明了改進后的YOLOv8算法在缺陷檢測任務中具有較高的精確度和魯棒性。這不僅為圖像處理領域的研究提供了有力的工具,同時為工業生產中的缺陷檢測提供了可行的解決方案。改進后的方法不僅提高了檢測的準確性,還在保持高效處理速度的同時展現出了良好的性能表現,使其在實際應用中具備了更廣泛的應用前景。
參考文獻
[1]黃成榮.基于深度學習的零件質量缺陷檢測在制造業中的應用研究[J].時代汽車,2023(20):165-167.
[2]吳紹鋒,白云嬌.基于機器視覺的表面缺陷檢測關鍵技術[J].農業技術與裝備,2023(10):66-69.
[3]李科岑,王曉強,林浩,等.深度學習中的單階段小目標檢測方法綜述[J].計算機科學與探索,2022(1):41-58.
[4]李雪露,楊永輝,儲茂祥,等.基于改進Faster R-CNN的鋼板表面缺陷檢測[J].安徽大學學報(自然科學版),2023(2):66-73.
[5]于龍振,李逸飛,朱建華,等.一種基于注意力機制的YOLO缺陷檢測算法[J].青島科技大學學報(自然科學版),2023(3):110-117.
[6]閻馨,楊月川,屠乃威.基于改進SSD的鋼材表面缺陷檢測[J].現代制造工程,2023(5):112-120.
[7]張文鎧,劉佳.基于改進YOLOv8s的鋼材表面缺陷檢測[J].北京信息科技大學學報(自然科學版),2023(6):33-40.
[8]高昂,梁興柱,夏晨星,等.一種改進YOLOv8的密集行人檢測算法[J].圖學學報,2023(5):890-898.
[9]付宏建,白宏陽,郭宏偉,等.融合多注意力機制的光學遙感圖像目標檢測方法[J].光子學報,2022(12):304-312.
[10]大連民族大學.一種基于改進YOLOv5的交通標志檢測與測距方法:CN202311089853.2[P].2023-11-17.
SE-YOLO: an improved dense defect detection algorithm based on YOLOv8
Abstract: Aiming at the problem of missed detection and 1 detection caused by the lack of feature extraction ability in the dense defect detection task, the SE-YOLO algorithm is proposed for the model of You Only Look Once v8 (YOLOv8). The improved SE-YOLO dense defect detection algorithm uses the Swin Transformer network as the backbone network in order to make the model focus on more dimensional feature information. The centralized feature pyramid module is introduced to extract the global long-distance correlation, and the local corner region information of the input image can be retained as much as possible. The improved SE-YOLO dense defect detection algorithm can detect the category and location of defects more accurately, and has high accuracy and robustness in dense defect detection tasks.
Key words: dense defect detection; YOLOv8; Swin Transformer