?

基于YOLOv7的木材缺陷檢測模型Wood-Net的研究

2024-01-25 11:03王正江鶯嚴飛孫佑鵬張園張柳磊
林業工程學報 2024年1期
關鍵詞:木材注意力卷積

王正,江鶯,嚴飛,孫佑鵬,張園,張柳磊

(南京林業大學機械電子工程學院,南京 210037)

木材利用率一直是木材行業非常重要的指標之一,但木材的綜合利用率通常只有50%~70%[1]。在生產過程中,合理地剔除木材缺陷能夠提升木材利用率。因此,如何快速、高效識別及定位木材缺陷以實現木材優選顯得尤為重要。

圖1 YOLOv7結構Fig. 1 Structure of YOLOv7

隨著計算機技術的迅猛發展,深度學習算法廣泛應用于各行各業之中。Fei等[2]利用輕量化的網絡實現對鮮切花的快速分類。Zhou等[3]利用深度學習算法實現青梅的表面缺陷檢測。Zhou等[4-5]利用改進的YOLOv7算法識別火龍果并且完成采摘任務。當然也不乏在木材缺陷檢測中的應用。Al-Zubi等[6]將基于深度學習的區域卷積神經網絡(Mask R-CNN)框架應用于檢測和分割具有各種紋理、顏色和鉆孔圖案的木板合成圖像中的鉆孔,但是其只是對木材鉆孔進行識別,其重心在于分割不同紋理下的鉆孔。Ling等[7]結合GooLeNet和ResNet模型的結構,建立了基于ResNet-v2的木材缺陷檢測模型,新的導出模型可以準確地指出板材表面的蟲洞、活節和死節3種缺陷類型,但其只能對該缺陷類別進行分類,不能同時檢測同一木板中的多個缺陷。Wang等[8]使用經過GridMask的數據增強、更改主干網絡的剩余區塊(residual blocks)為Ghost塊結構,升級網絡的置信損失函數改進YOLOv3基線模型,并將其應用于木材表面缺陷檢測,但蟲洞、節子以及裂縫3種缺陷的平均檢測精度僅有86.49%。Gao等[9]將SE(squeeze-and-excitation)模塊嵌入剩余基本塊,提高了網絡特征提取的效率,并利用全局平均池來替換末端卷積層之后的完全連接層,改善了分類性能,由此提出了一種新的卷積網絡模型ResSENet-18,在測試的分類準確率上比Resnet18有8.19%的提升。該論文中的數據集獲取自奧盧大學的具有7種節子缺陷的云杉樹木材圖像,通過數據擴充技術將原本448張數據集擴充了7倍,組成自己的數據集用來分類。Shi等[10]在Mask R-CNN的前端設計了一個掃視網絡,以完成常規木材和缺陷木材的分類,首次將FLOP運用于NAS的速度優化之中,同時使用遺傳算法優化特征通道的選擇,以獲得Mask R-CNN輸入特征的最佳組合,但該網絡僅識別分類了3種缺陷,且模型非常復雜。Ding等[11]將DenseNet網絡引入SSD,可有效檢測活節、死節和裂縫3種類型的缺陷。該研究關注實木地板生產過程中的缺陷,其中數據集僅有500張,總數較少,且僅有3種缺陷,缺陷種類也較少。

盡管這些深度神經網絡相比人工有可靠性高、工作效率高等優點,但上述方法存在識別定位種類少、鮮有關注原木板材生產過程中實際存在的缺陷等問題。為克服數據集缺陷種類少、數量不均衡等問題,本研究構建了包括活節、死節、樹脂、樹髓等8種木材缺陷的數據集,對YOLOv7做了兩點改進,構建了Wood-Net網絡。為了增強E-ELAN結構的跨通道信息交互能力,將注意力機制ECA(efficient channel attention module)[12]引入主干網絡;為了增強特征融合能力,引入了Res2Net[13]結構,并且提出了ECA-Res2Net模塊。

1 Wood-Net模型設計

YOLOv7[14]在準確率和速度上都超越了以往的YOLO,其網絡主要由Input、Backbone、Neck和Head 4個部分組成,如圖1所示。

1.1 ECA-ELAN模塊設計

E-ELAN作為YOLOv7的主要創新點之一,在YOLOv7網絡中有2種方式,在圖1中以E-ELAN(a)和E-ELAN(b)區分。E-ELAN通過多通道卷積后增加通道數,實現了檢測效果的提升。然而,E-ELAN多通道卷積之后只進行了簡單的Concat操作,其對多通道之間的信息融合能力不足,難以實現跨通道信息交互,從而不能充分考慮圖像特征,而通道注意力機制正好可以彌補這一不足。

圖2 ECA注意力機制結構Fig. 2 ECA attention mechanism structure

在ECA模塊之中,卷積核大小K根據具有不同通道數和各種CNN(Convolutional Neural Networks)結構的卷積塊而變化。由于CNN網絡中通道數C(即濾波器的數量)通常設置為2的整次冪,確定C與K之間的非線性映射關系為:

(1)

E-ELAN結構中利用Concat模塊將經過不同次數CBS卷積后的結果并聯進來,通道數實現了大幅度的增加,即描述圖像本身的特征數(特征通道數)增加了,而每一特征下的信息量沒有增加。ECA注意力機制針對SE注意力機制將MLP模塊(FC->ReLU->FC->Sigmoid)轉變為一維卷積的形式,有效減少參數計算量的同時,實現了適當的跨通道交互。因此,將ECA注意力機制引入E-ELAN結構中,命名為ECA-ELAN模塊,以增強網絡跨通道信息交互能力,提高特征融合效率。改進后的E-ELAN(a)′和E-ELAN(b)′結構如圖3所示,改進后的結構在網絡結構中位置不變。

圖3 改進的E-ELAN結構Fig. 3 Improved E-ELAN structure

1.2 ResSPPCSPC模塊設計

Neck網絡主要發揮特征融合的功能。YOLOv7中的SPPCSPC(spatial pyramid pooling and channel spatial pyramid convolution)模塊在沿用YOLOv5的CSP結構的同時,創新性地將金字塔特征模塊引入其中。SPPCSPC模塊有空間金字塔池化層1×1、5×5、9×9、13×13共4個不同尺度最大池化使用不同分辨率圖,用以區分不同尺寸的目標,其結構如圖4所示。雖然在池化的過程中可以獲得鄰域內最大的特征點,但是其對更細粒度的特征提取能力十分欠缺。因此,本研究選用了能夠提取更細粒度特征的網絡Res2Net來彌補這一不足。

圖4 SPPCSPC模塊結構Fig. 4 SPPCSPC module structure

圖5 ResNet和Res2Net模塊結構Fig. 5 ResNet and Res2Net structure

Res2Net是ResNet的一種變體,其主要特點就是利用了多尺度卷積,測試性能超過了普通殘差神經網絡。ResNet和Res2Net的詳細結構如圖5所示。由圖5可以看出,Res2Net對ResNet進行了改進,在單個殘差塊中構造了一個類似的具有層次結構的殘差連接,取代了一般的單個3×3卷積核。具體來說,所有組的特征圖連接起來之后,發送到另一組1×1濾波器,以將信息融合在一起。隨著輸入特征轉換為輸出特征的任何可能路徑,當接收3×3濾波器時,等效接受場會增加,由于組合效應導致許多等效特征尺度,即所謂Res2Net在更細的粒度級上表示了多尺度特征,并且增加了每個網絡層的接受域。

多尺度特征在檢測任務中一直都是很重要的,自從空洞卷積提出以來,基于空洞卷積搭建的多尺度金字塔模型在檢測任務上取得了里程碑式的效果。不同感受野下獲取的物體信息是不同的,小的感受野可能會看到更多的物體細節,對于檢測小目標也有很大的好處,而更大的感受野可以感受物體的整體結合,方便網絡定位物體的位置,細節與位置的結合可以更好地得到具有清晰邊界的物體信息。Res2Net提供了一個新的策略。除現有的深度、寬度和基數維度外,還揭示了一個新的維度,即規模,這是一個必不可少的因素;并且有試驗證明增加規模比增加其他維度更加有效。Res2Net的“規?!辈呗詾槎喑叨忍卣鞯奶崛√峁┝诵碌姆较?。

本研究為Res2Net結構引入了ECA注意力機制(圖6),形成具有跨通道(即跨“規?!?的多尺度特征提取的ECA-Res2Net新模塊。本研究將ECA-Res2Net和SPPCSPC作為2個并行的分支構建ResSPPCSPC模塊進行數據特征提取。2個分支分別通過分規模卷積和最大池化的多尺度特征提取后,由Concat將結果的通道數相加,描述圖像本身的特征數增加了,賦予E-ELAN的特征數增加,從而達成效果提升,其結構見圖7。

圖7 ResSPPCSPC模塊結構Fig. 7 Structural of ResSPPCSPC module

2 試驗分析

2.1 環境準備

本研究的深度學習框架是Pytorch。試驗配置環境如下:CPU為Intel(R) Core(TM) i7-12700K,內存為32 GB;GPU為NVIDIA GeForce GTX 3070Ti,顯存為8 GB,CUDA版本11.6,python 3.9為編譯語言。每批訓練的批次大小設置為8,共計300輪訓練。

在訓練網絡時,將輸入圖像調整為640×640的統一大小,初始學習率設置為0.01,使用One Cycle Policy調整學習率。

2.2 數據集

本研究獲得了來自捷克共和國奧特斯拉發理工大學2022年更新的用于自動化視覺質量控制過程的大規模木材表面缺陷圖像的公開數據集[15]。但該數據集部分缺陷數量不足,并且在試驗過程中能夠明顯感覺到數據不均對結果的影響。本研究通過實際拍攝補充以及一些常規的圖像處理方法,如濾波、平移、旋轉來擴展數據集,本研究的數據集具有如表1所示的細節。數據集中典型的木材缺陷樣本見圖8。

表1 數據集的細節Table 1 Details of data set

A)活節;B)死節;C)帶有裂縫的節;D)裂縫;E)樹脂;F)樹髓;G)孔洞;H)藍變。圖8 數據集中典型的木材缺陷樣本Fig. 8 Samples of typical wood defects in the data set

2.3 評價指標

在試驗中,通過召回率、精度值、IOU大于0.5的AP@0.5值、AP@0.5∶AP@0.95、模型計算量(GFLOPs)對模型進行評估。

召回率R的計算公式為:

(2)

式中:TP是由模型預測為正例的正類別數量;FN是由模型預測為負例的正類別數量,即由模型誤分類的樣本數量。

精度值P的公式為:

(3)

式中,FP是模型預測的最初為負樣本的正樣本數。

mAP@0.5(式中記為mAP@0.5)用于測量檢測網絡的算法性能,適用于單標簽和多標簽圖像分類計算。mAP@0.5的公式為:

(4)

式中:k是測試集中樣本的數量;P(i)是識別i個樣本時精度的大小;ΔR是檢測樣本從i變化到i+1時召回率的變化;N是多類檢測任務中類別的數量。

mAP@0.5∶mAP@0.95表示在不同IoU閾值(從0.5到0.95,步長0.05)上的平均mAP。

2.4 試驗結果分析

在網絡中加入注意力機制能夠使模型自主選擇圖像的焦點位置,增強網絡學習特征的表達能力,最終提高訓練精度。為了獲得更好的試驗結果,本研究選取了常用的4個注意力機制:CBAM(convolutional block attention module)、CA(coordinate attention)、SE以及ECA完成了注意力機制的消融試驗。

2.4.1 ECA-ELAN模塊試驗結果分析

為了驗證本研究ELAN模塊創新設計的有效性,在確定選用注意力機制之前設計了注意力機制的消融試驗,本研究稱該消融試驗的模塊設計為YOLOv7-CBAM、YOLOv7-CA、YOLOv7-SE以及YOLOv7-ECA,對比YOLOv7的試驗結果如圖9和表2所示。

由圖9可以看出,精確度、召回值、mAP@0.5以及mAP@0.5∶mAP@0.95 4個參數均有不同幅度的提升。在YOLOv7-ECA的精準度試驗中,數據值上升過程收斂速度快,雖然收斂的最終精確度略低于YOLOv7-SE,但其在上升過程中也有一段高于其他試驗的表現,并且其召回值收斂結果最高。因此,在本試驗中選用ECA注意力機制改進E-ELAN結構。將YOLOv7-ECA同YOLOv7原版的精確度和召回值做對比,YOLOv7-ECA的精確度和召回值上升收斂過程波折少且更加穩定,同時利用輕量化通道注意力模塊,在本項單獨的計算量對比中浮點運算量增量少。

圖9 YOLOv7-ECA消融試驗結果Fig. 9 Experimental results of YOLOv7-ECA ablation

表2 YOLOv7-ECA的網絡性能Table 2 Network performance of YOLOv7-ECA

表2所展示的內容為7個試驗中各自數值中最高的值。由表2可知,在上述7個試驗中和YOLOv7的對比中,YOLOv7-ECA的召回值增長最多,精確度表現僅次于YOLOv7-SE,參數量和浮點運算量增長最少。結果表明,加入ECA注意力機制后,模型的性能得到了提高,本模型可靠。

2.4.2 ResSPPCSPC模塊試驗結果分析

本研究在SPPCSPC后并聯Res2Net模塊形成ResSPPCSPC,并且將Res2Net模塊同RepConv結合形成新的模塊。為了驗證該新模塊的設計有效性,依據Res2Net以及4個常用的注意力機制設計了8組消融試驗,分別命名為Res2Net、Res2Net-CBAM、Res2Net-CA、Res2Net-SE以及Res2Net-ECA,并且與YOLOv7的性能進行比較。試驗結果如表3和圖10所示。

表3 YOLOv7-Res2Net的網絡性能Table 3 Network performance of YOLOv7-Res2Net

圖10 YOLOv7-Res2Net消融試驗結果Fig. 10 Experimental results of YOLOv7-Res2Net ablation

由圖10可知,在加入Res2Net模塊之后,模型從第100輪左右開始明顯收斂,可以證明ECA-Res2Net對更細粒度的特征提取在木材優選的應用中效果較好。在精確度的圖中,Res2Net-SE和Res2Net-ECA的表現比較好,最終收斂值接近;在召回值的圖中,Res2Net-CBAM和Res2Net-ECA表現比較好,最終收斂值接近,然而在mAP@0.5∶ mAP@0.95的圖中Res2Net-CBAM上升過程中,有一次較大的波動。因此,本研究最終選定了ECA注意力機制改進Res2Net模塊。

由表3可知,Res2Net為模型帶來了大量的參數量和計算量,分別有29.26%和10.89%的上升。雖然4個注意力機制為網絡模型帶來的參數量和計算量影響很小,但是實際上的效果提升是可觀的。

2.4.3 Wood-Net設計試驗結果分析

根據前2組消融試驗,將這2種模型組合成完整的改進模型Wood-Net。本研究將YOLOv3、YOLOv5s、YOLOv7、YOLOv7-ECA、Res2Net-ECA與Wood-Net模型進行性能比較,試驗結果如圖11和表4所示。

圖11 YOLOv7和Wood-Net對比結果Fig. 11 Comparison results between YOLOv7 and Wood-Net

表4 Wood-Net的網絡性能Table 4 Network performance of Wood-Net

由圖11可知,4個部分的參數都均有不同程度的提升。在精確度的圖中,Res2Net-ECA模塊收斂速度比YOLOv7-ECA以及Wood-Net都快,但是最終Wood-Net收斂的值最高;在召回值的圖中,YOLOv7-ECA、Res2Net-ECA以及Wood-Net收斂幅度相似。而Wood-Net同YOLOv7原版相比,就收斂結果而言,精確度有7.72%,召回率有3.22%,mAP@0.5有2.94%,mAP@0.5∶mAP@0.95有7.64% 的提升。

如表4所示,本研究針對分類頭的改進取得了很明顯的效果,大幅提升了mAP@0.5和mAP@0.5∶mAP@0.95的檢測效果。雖然參數量有超過25%的提升,但是也獲得了良好的效果,基本滿足在木材優選過程中檢測缺陷的準確度需求。

訓練和驗證過程中Wood-Net模型比YOLOv7的損失值更小,并且收斂速度更快(圖12),證明Wood-Net模型相比于YOLOv7模型在木材缺陷檢測的應用中擬合效果更好,Wood-Net模型可靠。為展示本研究模型在實際檢測過程中的效果,選取了最優的一輪訓練權重文件作為檢測模型的權重進行結果檢測并輸出了圖片,如圖13所示。

圖13 各缺陷檢測結果Fig. 13 Detection results of each defect

3 結 論

本研究提出了一種針對木材缺陷檢測的準確性更高的檢測模型Wood-Net,并先后進行了3組消融試驗。試驗證明,Wood-Net能夠很好地實現木材優選過程中的缺陷識別,具有較高的精度。通過3組消融試驗,本研究得出以下結論:

1)利用輕量化的通道注意力機制ECA改進E-ELAN結構,可以提升各項參數,提高通道間的信息交互能力很有必要。

2)ECA-Res2Net結構能夠在多通道提取更細粒度的特征,但是Res2Net通道之間信息隔離,利用ECA注意力機制實現跨通道信息交互,取得了一定效果。

在木材行業引入人工智能的方法,有利于智慧林業的建設與發展。利用人工智能的方式識別木材缺陷,為林業經濟的發展提供了一個更加便捷的方式,能夠促進經濟林產業降低費效比,進而實現節本增效。推進智能化林業裝備的研究,也有助于提高勞動生產率和資源利用率,現已成為林業發達國家技術發展的趨勢[16-17]。

未來一定是一個簡潔化的世界,設備變得更小、更便攜、更加節能,因此在未來的工作中,要嘗試設計更加輕量化的網絡以適配節能的智能化林業裝備。攝像機采集的圖像數據對模型的預測效果有關鍵影響,并且數據集均衡對結果的影響也不容忽視。Transformer機制也已經進入了大家的視野,并且獲得了廣泛的應用,在木材優選中具有潛在的研究價值。

猜你喜歡
木材注意力卷積
世界上最輕的木材
讓注意力“飛”回來
橘子皮用來開發透明木材
基于3D-Winograd的快速卷積算法設計及FPGA實現
數字說
從濾波器理解卷積
基于傅里葉域卷積表示的目標跟蹤算法
“揚眼”APP:讓注意力“變現”
A Beautiful Way Of Looking At Things
一種基于卷積神經網絡的性別識別方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合