• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Re-YOLOv5:一種基于結構重參數(shù)化的鋼材缺陷檢測方法

      2024-04-08 02:46:10游大朋焦喜香胡學進
      測控技術 2024年3期
      關鍵詞:鋼材分支準確率

      游大朋,楊 靜*,張 露,焦喜香,胡學進

      (1.合肥學院人工智能與大數(shù)據(jù)學院,安徽合肥 230601;2.合肥綜合性國家科學中心人工智能研究院,安徽合肥 230088)

      目前國內(nèi)的制造業(yè)發(fā)展迅速,但部分行業(yè)的技術并不先進,例如鋼材生產(chǎn)行業(yè)。因鋼鐵的生產(chǎn)流程非常復雜,工序多,其現(xiàn)代化生產(chǎn)模式尚未完全普及,大部分工廠都還未實現(xiàn)完全的機械化,生產(chǎn)的方法也相對簡單,這就導致鋼鐵的表面可能存在很多的缺陷,如裂紋(Crazing,Cr)、夾雜物(Inclusion,In)、斑塊(Patches,Pa)、麻點(Pitted Surface,Ps)、氧化鐵皮(Rolledin Scale,Rs)和劃痕(Scratches,Sc)。在上述各種缺陷中,裂紋的形狀比較復雜多樣,大部分是魚鱗狀,其產(chǎn)生的主要原因是溫度加熱不均。Cr 對鋼材的性能破壞極大,若未被及時發(fā)現(xiàn)和處理,其會造成鋼材的破損和開裂;In是鋼材表面出現(xiàn)的深灰色或棕色斑塊,一般是在鋼材生產(chǎn)的過程中混入了其他的非金屬,其很容易導致鋼材的開裂;Pa是鋼材表面出現(xiàn)的參差不齊的形狀,產(chǎn)生的主要原因是在冷卻過程中沒有均勻吸收冷卻液,其會影響鋼材的結構穩(wěn)定性,縮短鋼材的使用壽命;Ps是參差不齊的粗糙面,加熱過程中產(chǎn)生的氧化物沒有得到完全清除時,就會產(chǎn)生麻點,麻點對鋼材的性能影響不大,但是會造成一定程度的厚度誤差,從而影響精度;Rs是在加熱時間過長時鋼材表面產(chǎn)生的黑色或紅棕色氧化物,如未及時清理,會在軋制過程中被壓入鋼材表面,降低鋼材性能;Sc 是6 種缺陷里最常見的,其性狀是明亮的細長白條,主要是因鋼材生產(chǎn)或搬運過程中與堅硬的物體非正常接觸造成的,劃痕會降低鋼材的強度,影響使用壽命。以上缺陷如圖1 所示。由圖1 可見,這些缺陷會導致產(chǎn)品性能下降和壽命縮短,且極易引發(fā)安全事故。

      圖1 鋼材表面缺陷類型圖片

      隨著我國經(jīng)濟的飛速發(fā)展和鋼材市場供求新形勢的影響,市場對鋼材質(zhì)量和價格的要求發(fā)生了改變,質(zhì)量好的鋼材在建筑方面起到了重要的作用,可以直接影響建筑工程的質(zhì)量,競爭愈發(fā)激烈,因此,如何更高效地生產(chǎn)無缺陷的鋼材成了工業(yè)生產(chǎn)中較重要的問題[1-2]。近年來,采用深度學習的目標檢測系統(tǒng)得到了迅速發(fā)展。從目標檢測方法的發(fā)展思路上來看,主要分為二階段(Two-stage)目標檢測方法和一階段(One-stage)目標檢測方法。Two-stage 目標檢測方法主要以Faster R-CNN[3]算法為主,準確率更高;Onestage目標檢測方法主要有YOLO系列算法和SSD[4],其中YOLO 系列算法包含YOLOv3[5]、YOLOv4[6]、YOLOv5 等,One-stage目標檢測方法具有更快的速度。此外,還有一些經(jīng)典的網(wǎng)絡,如CenterNet[7]、DETR[8]和RetinaNet[9]。

      國內(nèi)外的很多學者將目標檢測技術應用到缺陷檢測中,謝景洋等[10]在YOLOv3 的主干網(wǎng)絡中加入了MobileNets,在對織物的缺陷檢測中,不僅減少了參數(shù)量,速度也得到了提升;謝黎等[11]在YOLOv4 的基礎上增加一個用來檢測小目標的檢測框,使得對于電路板元器件的檢測更加準確;閆彥輝等[12]改進了YOLOv5,對輸電線路的檢測中,不僅檢測精度高而且推理速度快;Zeng等[13]在缺陷檢測網(wǎng)絡中引入了模板和上下文,更適用于對大目標進行檢測,但對小目標檢測的區(qū)域不太準確;Xu 等[14]在骨干網(wǎng)絡的不同階段采用了可變性卷積,細化和增強了獲取骨干網(wǎng)絡特征的能力,提高了平均精度,但是速度上沒有優(yōu)勢;Liao等[15]改進了骨干網(wǎng)絡中的激活函數(shù),減少了參數(shù)量,但對精度的提升不明顯。為了追求精度,李鑫等[16]在原有的YOLOv5s網(wǎng)絡中,用GhostBottleneck 結構代替C3 和局部卷積結構,該新網(wǎng)絡的性能較原來的YOLOv5s網(wǎng)絡提高了3.3%;張宇杰等[17]增加了3 個小尺寸錨框,并且借鑒了YOLT算法的方式,可以更好地選中小目標缺陷位置,提高整體精度;韓強等[18]利用特征融合和級聯(lián)檢測網(wǎng)絡,對Faster R-CNN進行了改進,其準確率較原來的Faster R-CNN 提高了2.40%;Zhao等[19]重建了Faster R-CNN 的網(wǎng)絡結構,提高了對小目標的檢測能力,平均精度提高到了75.2%;Wan 等[20]在YOLOv5s 的基礎上增加了注意力機制跟小尺度檢測層,提高了表面缺陷的檢測精度。Hao等[21]改進了殘差網(wǎng)絡,提出了基于特征金字塔與分散注意力網(wǎng)絡的DF-ResNeSt50 模型來提高精度;Sharma等[22]引入了一種分層方法來對鋼表面的缺陷進行分類和檢測,在NEU 數(shù)據(jù)集上檢測的精度高達77.12%;除此之外,為了追求速度,孫澤強等[23]采用CSPDarknet53 +FcaNet +Decoupled Head 的結構,檢測速度達到了27.71 f/s;翁玉尚等[24]改進了Mask RCNN,去掉了掩碼分支,用K-means聚類算法改進區(qū)域建議網(wǎng)絡,檢測速度提高到了5.9 f/s;李丹等[25]提出了一種可分離的局部深度混合網(wǎng)絡,識別一幅圖片平均僅需0.47 ms。

      在已有的缺陷檢測研究中,大多數(shù)學者會把側(cè)重點放在精度或速度上,但由于涉及工業(yè)部署,算法應該在精度和速度之間達到一個平衡,因此本文提出了一種基于結構重參數(shù)化的鋼材缺陷檢測方法,主要特點如下。

      ①提出了Re-YOLOv5 架構,采用One-stage 方法的YOLOv5 算法,融入RepVGG模塊,能在加深網(wǎng)絡提升性能的同時提高推理速度,達到精度與速度的平衡。

      ②在網(wǎng)絡模型中引入改進的SPP*層,增加感受野,加強網(wǎng)絡特征融合能力,提升對于不同類型目標的檢測精度;將CSP組件改進為CCBL組件,在保證檢測速度的同時實現(xiàn)精度的提升。

      ③在公開的鋼材缺陷圖像數(shù)據(jù)集NEU-DET上進行了驗證,對6 種缺陷的平均檢測精度達到77.8%,比YOLOv5s 提升了6%,單幅圖片的推理時間僅為8.9 ms,精度和速度均能滿足工業(yè)部署的需求;在另一個公開的鋼材缺陷圖像數(shù)據(jù)集GC10-DET上也進行了驗證,10 種鋼材的缺陷平均檢測精度超過原始的YOLOv5 算法。

      1 Re-YOLOv5 模型結構

      1.1 模型結構簡介

      在鋼材的實際生產(chǎn)過程中,由于生產(chǎn)速度極快,很容易產(chǎn)生缺陷。各種缺陷都有其顯著的特征,即缺陷之間的差異很大,會引發(fā)較大的數(shù)據(jù)波動,導致訓練結果不夠全面,網(wǎng)絡在學習過程中出現(xiàn)過擬合,從而影響最終的檢測準確率。此外,如何在保證缺陷檢測精度的同時提升效率是一個急需解決的問題?;诖?,本文提出了一種用于鋼材缺陷實時檢測的模型Re-YOLOv5,其網(wǎng)絡結構如圖2 所示。

      圖2 Re-YOLOv5網(wǎng)絡結構

      YOLOv5 有5 個版本,分別是YOLOv5n、YOLOv5s、YOLOv5m、YOLOv5l和YOLOv5x,5 個版本的層數(shù)與深度不同,依次遞增。本文提出的Re-YOLOv5 是在YOLOv5s 模型上進行改進,以達到精度與處理效率的提升與平衡。具體地,Re-YOLOv5由3 個部分組成,Backbone、Head 和Output。將YOLOv5 的Neck 層與Head 層合并為Head 部分,用作預測;Backbone用作特征提取。整個過程如下:首先對所輸入的圖像進行預處理,設定為640 px ×640 px的RGB 圖像并對齊,然后將其輸入到Backbone網(wǎng)絡中進行特征提取,根據(jù)Backbone 部分中的3 層輸出,經(jīng)過Head 部分,輸出3 層不同尺寸大小的特征圖,再由RepVGG模塊和卷積層輸出,最終得到目標檢測結果。

      1.1.1 Backbone

      Backbone部分主要用于對輸入端接收到的圖像進行特征提取,由若干CBL 層、CCBL 層和MC 層構成,如圖3 所示。

      圖3 Backbone部分的構成

      CBL 層主要由卷積層、BN 層和Leaky ReLU 激活函數(shù)構成,其中CBL層有3 種不同的大小和步長:(3,1)表示卷積核大小為3,步長為1;(3,2)表示卷積核大小為3,步長為2;(1,1)表示卷積核大小為1,步長為1。CCBL層主要由多個卷積層、BN層和Leaky Re-LU激活函數(shù)構成,其輸入和輸出的特征大小保持不變,僅是剛開始時候的2 個CBL 的通道不一致,之后的幾個輸入通道和輸出通道均保持一致,在經(jīng)過最后一個CBL后,輸出為所需要的通道。MC 層主要由最大池化層Maxpool 和CBL 層構成,一共有5 層。輸入端的圖片首先經(jīng)過4 層CBL 層,此時特征圖變成160 px×160 px×128 px,隨后經(jīng)過CCBL層,此時特征圖變成160 px ×160 px ×256 px,接著經(jīng)過MC 層和CCBL層,此時特征圖變成80 px×80 px×512 px,分出一條分支經(jīng)過CBL層,此時特征圖變成80 px ×80 px×128 px,接著與Head 部分的模塊進行張量拼接,另一條分支繼續(xù)經(jīng)過MC 層和CCBL 層,特征圖變?yōu)?0 px×40 px×1 024 px,依然分成2 條分支,其中一條分支經(jīng)過CBL層,特征圖變?yōu)?0 px ×40 px ×256 px,與Head 部分的模塊進行張量拼接,另外一條分支繼續(xù)經(jīng)過MC層和CCBL層,特征圖變?yōu)?0 px×20 px×1 024 px,融入到Head部分。整個Backbone部分共計50 層,交替長寬減半,通道增倍,用于特征提取。

      1.1.2 Head

      Head部分主要用于特征融合。本文將YOLOv5的Neck 層與Head 層合并為Head 部分,采用CIOU Loss做Bounding box的損失函數(shù),CIoU 損失函數(shù)如式(4)所示。在式(1)中:IIoU為交并比,ρ2(b,bgt)為預測框與真實框中心點的歐氏距離,c 為可以同時包含預測框與真實框的最小閉包區(qū)域的對角線距離。式(2)計算的是生成的錨框和目標框之間的相似程度。式(3)為權重函數(shù),由式(3)可知損失函數(shù)是通過增加真實框與目標框之間的重疊度來優(yōu)化的。由此可見,CIoU損失函數(shù)的優(yōu)勢是可以使目標框和真實框的距離最小化,加快損失函數(shù)的收斂速度。

      如圖4 所示,Head 部分由SPP*層、若干MC 層、若干CCBL 層、張量拼接和RepVGG 模塊層組成。SPP*層首先把通道分為5 路,其中1 路經(jīng)過3 層CBL層,然后跟其中的3 條分支張量拼接在一起,之后再經(jīng)過2 層CBL層,與最后1 路經(jīng)過CBL層的分支張量拼接在一起。UP 層是上采樣操作。RepVGG 模塊在模型的訓練和推理中有區(qū)別。在訓練中,RepVGG 模塊由3 ×3 Conv和BN層、1 ×1 Conv和BN層再增加BN分支,3 個分支的組合相加輸出;而在推理中,則將各分支的參數(shù)重參數(shù)化到主分支上,再通過主分支的卷積來進行運算。

      圖4 Head部分的構成

      輸入端的圖片經(jīng)過Backbone 的特征提取后到達Head,Head是一個PAFPN結構,即路徑聚合網(wǎng)絡加特征金字塔網(wǎng)絡,經(jīng)過上采樣后進行張量拼接。具體地,首先得到3 個特征圖,大小分別為20 px ×20 px ×1 024 px、40 px ×40 px ×256 px 和80 px ×80 px ×128 px。20 px×20 px ×1 024 px 大小的特征圖首先經(jīng)過SPP*層,隨后分成2 條分支,其中一條經(jīng)過上采樣,與從Backbone輸出的40 px×40 px×256 px特征圖進行張量拼接,再經(jīng)過CCBL層,此時層數(shù)為63。然后,再次分成2條分支,一條為40 px×40 px×256 px大小,經(jīng)過上采樣,與Backbone 輸出的80 px ×80 px ×128 px大小的特征圖進行張量拼接,再經(jīng)過CCBL 模塊,此時為75 層,繼續(xù)分成2 條分支。其中一條80 px ×80 px ×128 px 大小的分支經(jīng)過RepVGG 模塊和卷積層,輸出為80 px×80 px×(80 +5)px×3,用來預測輸入圖片中的大目標。另一條分支經(jīng)過MC 層,與之前的一條CCBL 的輸出分支做張量拼接,再經(jīng)過CCBL層,此時為88 層,之后分成2 條分支,其中一條特征圖大小為40 px×40 px×256 px,經(jīng)過RepVGG模塊和卷積層,輸出為40 px×40 px×(80 +5)px ×3,用來預測輸入圖片中的中等目標。另一條分支經(jīng)過MC 層,與之前的20 px ×20 px ×512 px 特征圖做張量拼接,隨后經(jīng)過CCBL,此時為101 層,特征圖大小為20 px×20 px×512 px,隨后經(jīng)過RepVGG模塊和卷積層,輸出為20 px×20 px ×(80 +5)px ×3,用來預測輸入圖片中的小目標。

      1.2 RepVGG模塊

      目前,卷積網(wǎng)絡的研究大多集中在卷積網(wǎng)絡的結構上,大部分都是簡單和復雜2 種。對于復雜構造,如添加殘差塊等,ResNet 是其中最具代表性的。由于該模型具有多個分支結構,因此其計算精度高,但也會降低計算效率。在簡單結構中,VGG 是最具代表性的一種,其是一種直線結構,訓練和推理速度都很快,但其結果并不理想。VGG 在出現(xiàn)的最初的幾年中已經(jīng)被廣泛地用于骨干網(wǎng)絡,但是隨著新網(wǎng)絡架構的提出,產(chǎn)生了較多精度更高的網(wǎng)絡。

      ResNet和RepVGG[26]之間的網(wǎng)絡體系結構如圖5所示。在圖5 中,原始的ResNet網(wǎng)絡如圖5(a)所示,其中的藍色部分表示卷積層,橘色部分表示ReLU 激活函數(shù),而帶有弧線部分的代表含有1 ×1 卷積殘差結構和Identity 殘差結構以及ReLU 激活函數(shù)。由于ResNet包含了殘差結構,深層網(wǎng)絡的梯度彌散和消退問題得以改善,使得網(wǎng)絡易于收斂。圖5(b)為RepVGG網(wǎng)絡的訓練階段,其中包含1 ×1 的卷積殘差結構和Identity殘差結構和ReLU激活函數(shù)。圖5(c)為RepVGG網(wǎng)絡的推理階段,其中僅包含3 ×3 的卷積和ReLU激活函數(shù)。由于訓練和推理采用的是2 種結構,在訓練中注重精確性,推理時注重速度。因此RepVGG可以在不增加運算量的前提下,提高運算速度,且不會降低精度。

      圖5 RepVGG模塊示意圖

      1.2.1 卷積層和BN層融合

      BN(Batch Normalization)被廣泛用于卷積神經(jīng)網(wǎng)絡,它可以改善網(wǎng)絡的泛化性能、加速收斂、減輕梯度擴散等問題。本文在網(wǎng)絡推理的過程中,將BN 層的操作直接嵌入到卷積層中,從而大幅降低了計算工作量,提高了網(wǎng)絡的運行速度。該卷積層的計算公式如下:

      式中:x為每一層輸入;w為權重;b為偏置。

      BN層主要包括歸一化和縮放2 部分,BN 層輸出的具體計算方法如下:

      式中:γ為縮放參數(shù);μ 為樣本均值;σ 為標準差;ε 為一個極小值(防止分母為0);β 為偏移參數(shù)。將卷積層和BN層合并,將式(5)代入式(6)可得:

      BN層的輸出y2變形可得:

      在推理過程中,BN層的樣本均值和標準偏差源于訓練樣本的分布,而尺度和偏差則與其他模型的參數(shù)結合起來,即μ、σ、γ、β 均為固定常數(shù)值。令w′ =

      由此可見,將BN層與卷積層的計算結合在一起,相當于將卷積核按一定的比例放大,并且在一定程度上改變了偏移,減少了BN層的計算量,從而可以加快推理的速度。

      1.2.2 RepVGG 模塊

      將卷積層與BN層進行融合之后,可以得到3 ×3卷積、1 ×1 卷積、Identity分支和3 個偏置向量。假設輸入信道數(shù)目與輸出信道數(shù)目相等,并且各類型的卷積都有相同的步長,1 ×1 和3 ×3 的卷積處理流程如圖6 所示。由圖6 可見,RepVGG模塊將1 ×1 卷積核中的數(shù)值等價轉(zhuǎn)移到3 ×3 的卷積核中央,而Identity分支則可以等價為單位矩陣的1 ×1 卷積,再用3 ×3卷積的形式來表示。在此基礎上,1 ×1 卷積、Identity分支最終均可填充為3 ×3 卷積,利用卷積的可加性,對1 ×1 卷積分支和Identity 分支進行等值變換,可以與3 ×3 卷積相結合。最后的偏置向量可以通過3 個偏置向量的相加獲得。

      圖6 1 ×1和3 ×3卷積處理流程

      1.3 SPP*模塊

      SPP結構是空間金字塔池化模型,功能是將任意大小的特征圖轉(zhuǎn)換為具有一定大小的特征向量,SPP的基本結構如圖7 所示。

      圖7 SPP基本結構

      但由于在工業(yè)鋼材缺陷的檢測過程中,鋼材的種類較多,而且每種鋼材缺陷檢測的難度也不盡相同,為了提取各種尺度大小的圖像特征信息,本文對空間金字塔池化模型SPP 進行改進,將改進后的SPP 稱為SPP*。SPP*模塊結構如圖8 所示。首先將其劃分為5 個分支,其中一路經(jīng)過3 層CBL模塊,接著跟其中一路經(jīng)過最大池化層的分支進行張量拼接,結果分支與最初的2 路經(jīng)過最大池化層的分支再進行張量拼接,其后再經(jīng)由2 個CBL模塊,與最初經(jīng)過CBL模塊的分支進行張量拼接,最終合并成一路。由此可見,改進后的SPP*采用的是局部信息結合全局信息的方式,增加了感受野和網(wǎng)絡特征融合能力,因而可以提升模型對于不同類型目標的檢測精度。

      圖8 SPP*模塊結構

      1.4 CCBL模塊

      YOLOv5 中發(fā)揮最主要功能的是CSP 模塊,CSP模塊結構如圖9 所示。在YOLOv4 中只在Backbone中使用了CSP 模塊,而YOLOv5 的Backbone 和Neck中均用到了CSP 模塊。CSP 模塊可以在特征圖中綜合反映梯度的變化,降低模型的參數(shù)量和維度,從而增強模型的推理速度和精確度。另外,由于YOLOv5 的網(wǎng)絡深度比較高,因此可以利用CSP模塊來解決梯度消失的問題。

      圖9 CSP模塊結構

      為了進一步提升推理速度和精確度,本文將CSP模塊替換為CCBL模塊,CCBL模塊結構如圖10 所示。CCBL模塊中包含了多個CBL 模塊,主要包含2 個分支:第一個分支經(jīng)過CBL 模塊后分成兩路;第二個分支經(jīng)過2 個CBL模塊,接著分成兩路,其中一路經(jīng)過2個CBL模塊,與第一個經(jīng)過CBL模塊的分支和另一路進行張量拼接,拼接后的結果經(jīng)過最后一個CBL 模塊,用來獲取不同的感受野的信息。改進后的CCBL模塊更有助于模型的加深。在之后的消融實驗中,也證明了CCBL模塊的有效性。

      圖10 CCBL模塊結構

      2 實驗

      2.1 實驗數(shù)據(jù)集

      本文使用的2 個數(shù)據(jù)集分別為東北大學(NEU)發(fā)布的熱軋帶鋼表面缺陷數(shù)據(jù)集NEU-DET[27]和工業(yè)生產(chǎn)中的焊接件表面缺陷數(shù)據(jù)集GC10-DET[28]。NEU-DET共收錄了1 800 幅圖片,并標注了每幅圖片的缺陷范圍和缺陷部位數(shù)據(jù)。數(shù)據(jù)集中以xml文檔形式記錄缺陷類型的信息,用圖片的名稱記錄缺陷的類別。缺陷類型包括6 種,每種類型約有300 幅圖片。6種缺陷分別為:Cr、In、Pa、Ps、Rs、Sc。在本文使用NEU-DET的實驗中,將原始數(shù)據(jù)集按照8∶2 的比例隨機劃分為訓練集和驗證集,即1 440 幅訓練集圖片,360 幅驗證集圖片,并采用不同的算法對數(shù)據(jù)集進行測試與驗證。

      GC10-DET是在工廠實際生產(chǎn)過程中采集到的焊接件表面缺陷圖片數(shù)據(jù)集,包含10 種不同缺陷的圖片。分別為沖孔(Punching,Pu)、焊縫(Welding_line,Wl)、新月形縫隙(Crescent_gap,Cg)、水斑(Water_spot,Ws)、油斑(Oil_spot,Os)、絲斑(Silk_spot,Ss)、夾雜物(Inclusion,In)、軋坑(Rolled_pit,Rp)、折痕(Crease,Cr)和腰部折痕(Waist_folding,Wf),共收錄了2 300 幅灰度圖像,修正了一些錯誤信息后,得到數(shù)據(jù)集圖像共2 294 幅。

      2.2 實驗環(huán)境

      本文實驗在Windows系統(tǒng)上進行評估。實驗使用深度學習框架Pytorch和編譯器Pycharm。Python版本為3.7,硬件環(huán)境為CPU Intel?CoreTMi7-10750H處理器,內(nèi)存大小16 G;NVIDIA GeForce RTX 2060 顯卡。在網(wǎng)絡參數(shù)設置方面,訓練時輸入圖像設置為640 px×640 px,epoch 設置為120,Batch-Size 為16,訓練環(huán)節(jié)的IoU閾值設置為0.5。

      2.3 評估指標

      本文主要以平均精度均值(mean Average Precision,mAP)和時間效率作為評定鋼材缺陷的方法。一般地,每個分類的識別準確率評估指標由平均精度(Average Precision,AP)來代表。mAP 是各個類型AP的平均值,它是一個整體的衡量指標,反映了目標檢測的能力。

      mAP、AP指標與準確率(Precision)、召回率(Recall)有關。準確率和召回率的計算方式如下:

      式中:σTP為一個被模型預測為正類的正樣本;σFP為一個被模型預測為正類的負樣本;σFN為一個被模型預測為負類的正樣本。

      將所獲得的準確率與召回率進行比較,得出了一條以R 為橫坐標、以P 為縱坐標、表示特定類型的正確率與召回率的關系曲線,并將此曲線進行積分,獲得AP值,如式(12)所示。對于含N 種類別的測試集,mAP是單類目標平均準確率除以類別總數(shù)N,計算方法如式(13)所示:

      mAP數(shù)值越大,說明該模型的綜合表現(xiàn)越好。

      2.4 實驗結果與分析

      為了驗證本文所提模型的可行性和有效性,主要在NEU-DET鋼材缺陷數(shù)據(jù)集上進行了測試,實驗結果如表1 所示。YOLOv5 系列模型采用了YOLOv5s、YOLOv5m和YOLOv5l。這3 個模型的區(qū)別是網(wǎng)絡的層數(shù)與深度不同,其中YOLOv5s網(wǎng)絡最小,速度最快,精度最低;YOLOv5m 在YOLOv5s 的基礎上不斷加深網(wǎng)絡的寬度,隨著網(wǎng)絡寬度的提升,速度變慢,精度提高;YOLOv5l在YOLOv5m 的基礎上進一步增加網(wǎng)絡寬度,提高了精度。實驗中,用于對比的參數(shù)分別有mAP值、參數(shù)量、GFLOPs(模型的計算量,是一種用于評判模型復雜度的標準)、模型大小、訓練時間和推理時間。由表1 的數(shù)據(jù)可以看出,YOLOv5l的mAP值最高,達到了78.2%,但是耗時最久,參數(shù)量也最大。Re-YOLOv5 的mAP值略低于YOLOv5l,但參數(shù)量縮減了86.9%,模型也減小了80.6MB。YOLOv5s 所用時間最少,訓練時間只消耗了0.968 h。Re-YOLOv5 比YOLOv5s的耗時稍有增加,YOLOv5s單幅圖片的推理時間為5.5 ms,Re-YOLOv5 單幅圖片的推理時間為8.9 ms,但其精度上實現(xiàn)了6.0%的提升,對應的參數(shù)量和模型更小。具體地,在Re-YOLOv5 中,SPP*模塊增大了感受野,提升了特征融合能力,CCBL模塊可以更好地獲取感受野的信息,提高模型的精度,更有助于模型的加深,RepVGG 模塊能夠在模型加深的同時減少所用時間,實現(xiàn)了推理時間的縮短,體現(xiàn)了本文所提模型的優(yōu)勢。

      表1 在NEU-DET鋼材缺陷數(shù)據(jù)集上的實驗結果

      消融實驗結果如表2 所示。“√”表示網(wǎng)絡中對應模塊的添加。本文考慮了用CCBL 模塊替換YOLOv5s中的CSP 模塊,添加改進的SPP*、RepVGG模塊這3 個因素對模型性能的影響,共進行了8 組實驗。

      表2 消融實驗結果

      在消融實驗中可見CCBL、SPP*和RepVGG 模塊的引入對于基線YOLOv5s 模型的精度提升均有一定程度的幫助。實驗1 是原始的YOLOv5 模型用于鋼材缺陷檢測任務,mAP 為71.8%。實驗2 是在原始的YOLOv5s模型中用CCBL模塊替換CSP模塊,mAP提高了1.4%。結合實驗4 和實驗6 可見,本文設計的CCBL模塊更能加強YOLOv5s的特征提取能力。實驗3中,將改進后的SPP*模塊引入YOLOv5s中,mAP比原始模型提高了1.5%。綜合分析實驗4 和實驗7,結果表明改進后的SPP*可以增加感受野,有效地提高特征融合的能力,進而實現(xiàn)精度的提升。在實驗4 中,融合RepVGG 模塊至原始模型中,實現(xiàn)了2.3%的mAP提升。結合實驗5 和實驗8,表明使用RepVGG 可以提高模型的特征融合能力和對不同尺度目標的檢測準確性。

      由于6 種鋼材缺陷的復雜程度不同,各類算法對其檢測準確度也存在較大區(qū)別和波動。本文對目前主流算法進行了測試,得到各類算法的AP及mAP 值如表3 所示。本文構建的Re-YOLOv5 模型,由于Head推理端融入了RepVGG模塊,并且采用改進后的SPP*模塊對候選框進行分類和修正,獲取了多尺度特征信息,最終在鋼材缺陷數(shù)據(jù)集取得的mAP為77.8%,相比于原始的YOLOv5s 算法提高了6%。此外,作為經(jīng)典的兩階段算法Faster R-CNN 模型的檢測結果高于YOLOv5s 2.6%,但仍比Re-YOLOv5 低3.4%。RetinaNet、CenterNet 和DETR 的Backbone 均采用Res-Net50。對于NEU-DET數(shù)據(jù)集,RetinaNet 的準確率為65.4%,對于Ps類別檢測結果較好,但是對于Sc 類別的檢測效果較差;CenterNet 的準確率為67.9%,對于Cr的檢測效果較差;DETR 的準確率為69.5%,對Sc的檢測效果較好。對于Cr類別,目前已知的算法均不能獲得較高的準確率。分析其原因:由于Cr是細小的目標,且相互交疊,較難進行特征提取,并且其和無缺陷鋼材的差別很小,因此導致對于該類別的檢測精度較低。但從整體模型準確率來看,本文提出的Re-YOLOv5 性能最佳。

      表3 不同算法在NEU-DET數(shù)據(jù)集上的準確率對比

      混淆矩陣是表示精度評價的一種形式,用于可視化算法的性能。由式(12)和式(13)可以計算出mAP。Re-YOLOv5 在NEU-DET數(shù)據(jù)集上的混淆矩陣實驗結果如圖11 所示,橫坐標代表數(shù)據(jù)的真實類別,縱坐標代表預測的類別。在目標檢測中,判斷一個檢測結果是否準確是通過計算檢測框與真實框的交并比決定的,并根據(jù)交并比來判斷是否匹配。假設檢測框預測的信息正確,并且與真實標注框的交并比大于設定的閾值,代表檢測正確(TP);假設檢測框預測的信息錯誤,但是與真實標注框的交并比大于設定的閾值,代表分類錯誤(FP);假設檢測框預測的信息正確,但是與真實標注框的交并比小于設定的閾值,沒有跟真實標注框匹配上,則代表定位錯誤(FP);如果沒有檢測框,則代表漏檢(FN)。

      圖11 混淆矩陣

      由圖11 可見,對角線代表的是準確率,顏色越深代表準確率越高。最右邊一列代表誤檢率,In 誤檢率達到50%,說明Re-YOLOv5 會把一部分不屬于In 的缺陷檢測為In,主要原因是In 缺陷跟背景比較相似。最下面一行代表漏檢率,在已檢測到的候選框中,Re-YOLOv5 對于NEU-DET數(shù)據(jù)集中的Cr缺陷檢測準確率為28%,漏檢率高達72%。原因是Cr 缺陷目標較小,且相互交疊,較難進行特征提取。雖然Re-YOLOv5 對于Cr檢測的正確率不高,但是對于其他5種缺陷的檢測準確率均有提升;Re-YOLOv5 也有預測錯誤的類別,對于Ps,有70%的概率被正確檢測,29%的概率漏檢,有1%的概率會被錯誤地檢測為In類別,因為數(shù)據(jù)集里部分Ps 跟In 缺陷較為相似。整體上,Re-YOLOv5 對6 種復雜的缺陷檢測正確率較高,誤檢率和漏檢率都相對較低。

      圖12(a)~圖12(d)分別為模型的F1曲線圖,P曲線圖,PR 曲線圖和R 曲線圖。通過式(10)和式(11)可以計算出P 和R 的值,通過式(12)和式(13)可以計算出PR的值,并以曲線記錄。F1分數(shù)是分類的一個衡量標準,介于[0,1]之間,越大越好。圖12(a)為F1分數(shù)與置信度之間的關系,F(xiàn)1的計算公式為

      圖12 Re-YOLOv5模型評估指標曲線圖

      由圖12(a)可見每個類別的F1值相差比較大,Cr的F1值最低,因此總類別F1值最高,為0.73。圖12(b)為準確率與置信度的關系曲線,橫坐標為置信度,縱坐標為準確率,由圖12(b)可見,所有類別的置信度越高,準確率越高。圖12(c)為準確率與召回率的關系曲線,P 與R 所圍成的面積即mAP 值,所有類別的平均mAP值為77.8%。Cr的mAP值最低,為46.3%,Pa 和Sc 的mAP 比較高,分別達到了91.7%和93.2%。圖12(d)為召回率與置信度之間的關系,可以看出所有類別的平均召回率為98%,表明可以檢測出絕大部分的鋼材缺陷。圖13 為各階段的Loss曲線圖,最終經(jīng)過120 輪epoch,模型達到了收斂。

      圖13 Loss曲線圖

      圖14 展示的是YOLOv5s 與Re-YOLOv5 對NEUDET驗證集的一些推理結果。從左往右依次為:Cr、In、Pa、Ps、Rs 和Sc。由圖14 可見,Re-YOLOv5 對于6 種不同類型的缺陷的檢測效果與YOLOv5s 相比,目標檢出更多,準確率更高,整體性能有明顯提升。

      圖14 YOLOv5s與Re-YOLOv5對NEU-DET驗證集的推理結果

      但Re-YOLOv5 仍存在一些檢測效果不佳的案例,如圖15 所示。第一列是包含Cr 的圖片,Re-YOLOv5和YOLOv5s均沒有檢出。第二列和第三列為Rs和Sc的檢測結果??梢钥闯鯮e-YOLOv5 對于檢測一些有少量的Rs和Sc的圖片細化程度沒有YOLOv5s高,準確率還有待提升。但是從上述表格中的實驗數(shù)據(jù)總體進行分析,本文提出的Re-YOLOv5 模型的缺陷檢測精度整體高于基線模型YOLOv5s。

      圖15 NEU-DET數(shù)據(jù)集檢測效果不佳案例

      此外,為了驗證Re-YOLOv5 的有效性,本文在GC10-DET 圖片數(shù)據(jù)集上進行了相應的測試。將GC10-DET數(shù)據(jù)集按照8∶2 的比例隨機劃分為訓練集和驗證集,與基線模型YOLOv5s 進行對比,準確率如表4 所示。

      表4 GC10-DET數(shù)據(jù)集上的準確率對比

      如表4 所示,本文提出的Re-YOLOv5 模型對于GC10-DET圖片數(shù)據(jù)集的整體檢測準確率依然高于基線模型YOLOv5s。該數(shù)據(jù)集的10 類缺陷Pu、Wl、Cg、Ws、Os、Ss、In、Rp、Cr 和Wf,大部分圖片均包含兩種及以上的缺陷,每種缺陷的個數(shù)分別為:265、422、227、293、431、701、270、73、60 和117。但由于GC10-DET圖片數(shù)據(jù)集缺陷種類較多,且各類缺陷包含樣本數(shù)量極不均衡,導致部分檢測精度欠佳。

      YOLOv5s 與Re-YOLOv5 在GC10-DET 數(shù)據(jù)集上的檢測效果如圖16 所示。Re-YOLOv5 的檢測準確率整體高于YOLOv5s;YOLOv5s對于一些小目標的檢測能力不如Re-YOLOv5,會產(chǎn)生漏檢,并且標注檢測框的準確度偏低。

      圖16 在GC10-DET數(shù)據(jù)集上的檢測效果

      3 結束語

      針對工業(yè)鋼材缺陷數(shù)據(jù)集存在的背景復雜、缺陷目標小、類內(nèi)差異小、類間差異大等問題,為了進一步實現(xiàn)工業(yè)鋼材缺陷的快速準確檢測,本文提出了一種基于結構重參數(shù)化的工業(yè)鋼材缺陷檢測方法Re-YOLOv5。在公開的鋼材缺陷圖片數(shù)據(jù)集上進行了測試,實驗結果表明了本文方法的有效性。得益于RepVGG、SPP*及CCBL模塊的特征整合能力、模型加深能力,本文的方法可以在提升網(wǎng)絡性能的同時加快推理速度,達到精度與速度的平衡,滿足工業(yè)部署的需求。在未來的工作中考慮針對類似Cr等不顯著缺陷,加入圖像增強技術;改進網(wǎng)絡的Backbone 部分,并引入自注意力機制,將結構重參數(shù)化與DETR 中表現(xiàn)較好的Transformer結合實現(xiàn)結構與性能的整體優(yōu)化。

      猜你喜歡
      鋼材分支準確率
      承壓設備用鋼材使用焊接性探討
      乳腺超聲檢查診斷乳腺腫瘤的特異度及準確率分析
      健康之家(2021年19期)2021-05-23 11:17:39
      不同序列磁共振成像診斷脊柱損傷的臨床準確率比較探討
      2015—2017 年寧夏各天氣預報參考產(chǎn)品質(zhì)量檢驗分析
      鋼材集中采購管理思考探究
      鋼材多用電磁吊具
      巧分支與枝
      學生天地(2019年28期)2019-08-25 08:50:54
      高速公路車牌識別標識站準確率驗證法
      一類擬齊次多項式中心的極限環(huán)分支
      生成分支q-矩陣的零流出性
      安福县| 梁山县| 库车县| 长沙县| 永嘉县| 卢龙县| 伊通| 博客| 饶阳县| 阳谷县| 平罗县| 密云县| 承德市| 万山特区| 延津县| 贞丰县| 姚安县| 绵阳市| 彭山县| 通江县| 光山县| 南丹县| 合阳县| 新宾| 旺苍县| 荣成市| 宁都县| 通榆县| 永寿县| 陆川县| 永善县| 嘉祥县| 金沙县| 福安市| 安新县| 丹棱县| 奉化市| 西乡县| 博湖县| 舒城县| 黑水县|