劉 洋,李全勇,顧 健,楊 帆,王文博
(1.長春理工大學 光電工程學院 光電測控與光信息傳輸技術教育部重點實驗室,長春 130022; 2.長春理工大學 光電工程學院 光電工程國家級教學示范中心,長春 130022)
隨著生產(chǎn)力與工藝水平的提高,工業(yè)領域?qū)Σ牧闲阅艿囊笠膊粩嗵岣?,在這種趨勢下,碳纖維復合材料憑借其遠超其他材料的強度與比模量脫穎而出[1-2],在眾多行業(yè)發(fā)揮了舉足輕重的作用,但其加工工藝復雜,生產(chǎn)過程中會不可避免地出現(xiàn)內(nèi)部缺陷[3-4],不僅會縮短材料壽命和降低性能,還有可能在使用中造成嚴重事故,因此準確識別缺陷的位置與面積在材料性能檢測中十分重要。目前超聲檢測在碳纖維材料缺陷無損檢測領域已經(jīng)有比較成熟的應用[5-8],但尚未提出一種比較成熟的缺陷識別方法。針對實際應用中缺陷識別存在的效率較低、精度不高等問題,BOHLOULI 等[9]使用超聲相控陣系統(tǒng)對聚乙烯管道電熔接頭進行檢測,利用基于小波變換的人工神經(jīng)網(wǎng)絡檢測成像圖進行缺陷識別,提升了缺陷識別的精度,但網(wǎng)絡模型的計算復雜度高,實時更新難度較大;RHIM等[10]對碳纖維復合材料的超聲信號進行模態(tài)分析,使用所得傳遞函數(shù)的零極點為分類的特征值,再進行BP網(wǎng)絡訓練,但碳纖維復合材料具有各向異性的特性,該方法的識別精度有限;XU等[11]使用改進的 Faster R-CNN算法檢測混凝土柱的損傷,但其將識別過程分為兩階段,使得識別速度受到影響,而YOLO系列算法[12]將兩階段合并,實現(xiàn)了更快的檢測速度,更適用于碳纖維復合材料的自動化檢測。謝經(jīng)明等[13]基于X射線焊縫圖像采用輕量化的YOLO網(wǎng)絡進行識別,大大降低了網(wǎng)絡模型的計算量,加快了識別速度,但精度有所損失。
為滿足碳纖維復合材料缺陷位置與面積快速準確的識別需求,基于YOLO V5網(wǎng)絡模型,通過超聲相控陣系統(tǒng)采集碳纖維復合材料的預置缺陷,對檢測結果圖像進行數(shù)據(jù)增強,以解決樣本不足和缺陷數(shù)據(jù)分布不均的問題;為解決特征融合時忽略了通道間和區(qū)域間聯(lián)系的問題,添加了改進的通道注意力機制和空間注意力機制;為提高計算速度,使用k-means++聚類算法對缺陷數(shù)據(jù)集重新聚類,得到適用于碳纖維復合材料缺陷的先驗框,并改進了損失函數(shù)的計算方法。在文章建立的數(shù)據(jù)集上進行訓練與測試,通過與其他網(wǎng)絡模型訓練的結果進行對比,結果表明該算法在精度與速度上均具有一定的優(yōu)勢。
為進一步彌補YOLO V5算法的缺陷,提高網(wǎng)絡性能,通過以下兩方面對算法進行改進。
(1) 添加通道注意力機制。原算法對統(tǒng)一大小的特征圖使用串聯(lián)操作融合,該方法僅將特征在同一通道維度上進行連接,忽略了不同通道上特征存在的內(nèi)部聯(lián)系,導致融合后的特征不能很好地描述目標。故文章在特征融合時引入通道注意力機制。
由于經(jīng)典的SENet算法計算了所有通道間的依賴關系并對特征圖進行了降維操作,過程效率低,對網(wǎng)絡性能影響較大。因此文章使用一種能實現(xiàn)跨通道交互的ECANet注意力模塊算法,其能夠在不降低維度的全局平均池化(GAP)下計算每個通道與其k臨近通道間的依賴關系,同時,為減少特征信息的損失,文章額外增加全局最大池化(GMP)的分支,在分別獲取兩個分支的依賴關系后進行加權,從而獲得更準確的通道間信息。改進的通道注意力模塊結構如圖1所示(C為向量長度)。
圖1 改進的通道注意力模塊結構
對輸入的特征通道u分別進行全局平均池化和全局最大池化,得到全局最大池化后的特征向量(Fm)和全局平均池化后的特征向量(Fa)分別為
(1)
(2)
式中:W和H分別為當前通道的寬度和高度;uij為當前通道第i行第j列像素點。
由于對每個通道計算權重時僅考慮其k個相鄰通道,因此分支權重vi為
(3)
通過使用卷積核大小為r的一維卷積核即可實現(xiàn)通道間的交互,即兩分支權重v1和v2分別為
v1=σ[C1Dr(Fm)]
(4)
v2=σ[C1Dr(Fa)]
(5)
式中:C1D為包含r個參數(shù)的一維卷積,綜合考慮計算效率與模型大小,取r=3。
通過對兩分支進行加權計算得到最終通道權重ω為
ω=p·v1+q·v2
(6)
式中:p和q為網(wǎng)絡自動優(yōu)化調(diào)整的動態(tài)系數(shù),p+q=1。
最終輸出的特征u′為
u′=ω·u
(7)
(2) 添加空間注意力機制。經(jīng)通道注意力機制重新分配通道權重后的特征圖能夠更重視有用的通道,但在進行目標識別與定位時,特征圖中的各個區(qū)域也不是同等重要的,因此添加改進的空間注意力算法進行區(qū)域權重分配,其網(wǎng)絡結構如圖2所示。
圖2 改進的空間注意力模塊
空間注意力模塊壓縮輸入特征的維度,將W×H×C的特征圖變?yōu)閃×H×1,文章為保證特征完整性,在原全局平均池化的基礎上增加全局最大池化操作,將得到的兩個一維通道特征圖拼接后,利用卷積核和Sigmoid函數(shù)得到空間域權重系數(shù)ω′,計算方法為
ω′=σ{fn×n{[Avgpool(u′);Maxpool(u′)]}}
(8)
式中:fn×n為大小為n的卷積核,文章取n=3;Maxpool為全局最大池化函數(shù);Avgpool為全局平均池化函數(shù)。
特征圖t先后經(jīng)過通道注意力和空間注意力的輸出t″可表示為
t'″=ω′t′×t′=w′[w(t)×t]×[w(t)×t]
(9)
通過添加該模塊,能夠在不損失網(wǎng)絡性能和特征信息的情況下獲得不同通道和不同區(qū)域的相互關系,重要信息將在融合后的特征中被增強,無用信息則被抑制。
初始先驗框的選擇很大程度決定了算法的性能,YOLO V5采用k-means算法制定了9個先驗框,由于文章數(shù)據(jù)集的待檢測目標與原數(shù)據(jù)集的目標均不同,故需要重新計算先驗框。由于k-means算法需要預先定義先驗框數(shù)量,且初始中心位置對聚類結果的影響較大,因此采用k-means++算法進行聚類以彌補這些不足,其采用交互比代替原本使用的歐氏距離,評估標準為:
d(bbox,cent)=1-Iou(bbox,cent)
(10)
式中:d(bbox,cent)為邊界框到中心點的距離;Iou(bbox,cent)為先驗框與實際目標區(qū)域的交并比。
d(bbox,cent)的值越小,越能提升先驗框的聚類效果。k-means++與k-means算法獲取的先驗框數(shù)量與Iou的關系如圖3所示,可以看出k-means++的聚類效果更好,且隨著先驗框數(shù)量的增加,曲線的增長變得越來越緩慢,超過6個時已趨于穩(wěn)定。原算法為每個尺度設置3個先驗框,是為了提升識別重疊目標時的精度,由于缺陷目標基本不存在重疊現(xiàn)象,因此降低先驗框數(shù)量也不會造成漏檢,故選擇新的先驗框數(shù)量為6個,其尺寸分別為156×269,103× 151,72 × 97,56 × 78,38×40,21×24(單位均為像素)。
圖3 兩種算法下先驗框數(shù)量與Iou的關系
YOLO V5的損失函數(shù)共包含3部分,分別是目標分類誤差Icls、置信度誤差Iobj以及邊界框位置預測誤差Ibbox。原網(wǎng)絡采用GIoU_Loss函數(shù)對邊界框位置誤差進行預測,但該計算方法存在不足,當多個目標框均完全包含先驗框,且各先驗框大小一致時,由于這些先驗框與目標框具有相同的差集,GIoU_Loss函數(shù)會將其視為同種情況,無法區(qū)分先驗框的具體位置,從而產(chǎn)生較大的邊界回歸誤差。
為避免數(shù)據(jù)集在訓練時被該問題影響,采用EIoU_Loss函數(shù)來定義YOLO V5算法在目標檢測中的損失函數(shù)。EIoU_Loss將邊框回歸時的3個影響因素都考慮在內(nèi),包括重疊面積誤差,中心點誤差和寬高誤差。其表達式為
IEIOU=1-Iou+ρ2(b,bgt)/c2+
(11)
式中:ρ(b,bgt)為先驗框與目標框的中心距離;ρ(ω,ωgt)為先驗框與目標框的寬度差;ρ(h,hgt)為先驗框與目標框的高度差;當外接框同時包含先驗框與目標框時,c為外接框的最小對角線距離;cω為外接框的最小寬度;ch為外接框的最小高度;IEIOU為回歸框預測損失。
EIoU_Loss函數(shù)彌補了GIoU_Loss函數(shù)的不足,并且提升了精度和收斂速度,能夠達到更好的計算效果。
使用的碳纖維復合材料樣件尺寸為10 cm×10 cm×0.4 cm(長×寬×厚),制備方法如下:首先在模具上涂一層有機粘膠,均勻纏繞厚為2 mm的碳纖維布,之后按照設計圖的位置放置厚度為0.2 mm,形狀分別為圓形、正方形及扇形的聚四氟乙烯薄膜(見圖4);然后繼續(xù)纏繞碳纖維布直至厚度達到4 mm,最后將其熱壓72 h后進行脫模處理。記錄各缺陷的位置及面積以驗證算法性能。
圖4 碳纖維復合材料樣件設計示意及實物
共設計制作樣件150塊,其中預置圓形缺陷、正方形缺陷、扇形缺陷的樣件各50塊,分別對每塊樣件使用超聲相控陣系統(tǒng)進行微調(diào)參數(shù)的多次掃查,采集到碳纖維復合材料缺陷圖像共250張。YOLO V5算法在進行訓練時需要大量的圖像數(shù)據(jù),樣本不足容易造成網(wǎng)絡性能和識別精度下降。由于條件限制無法制作足夠多的樣本,因此采用數(shù)據(jù)增強的方式進行數(shù)據(jù)集的擴充。分別對采集的圖像分別進行了旋轉(zhuǎn)、裁剪、添加噪聲等操作,最終得到各類缺陷的圖像共900張。數(shù)據(jù)增強后得到的圖像如圖5所示。將缺陷圖像大小統(tǒng)一為416×416(像素),按照4…1的比例分配,分別作為訓練集圖像和測試集圖像。
圖5 數(shù)據(jù)增強后得到的樣件圖像
研究設置的網(wǎng)絡參數(shù)如下:初始學習率為1×10-3;下降方式為隨機梯度下降;最大迭代次數(shù)為400,單批次訓練量為16,權重衰減率為1×10-3。共訓練3個模型,分別是YOLO V3,YOLO V5和改進的YOLO V5模型。
采用準確率(P)和召回率(R)對訓練結果進行評價,其計算方法為
(12)
(13)
式中:T為缺陷目標被正確識別為缺陷的個數(shù);F為非缺陷目標被錯誤識別為缺陷的個數(shù);N為缺陷目標未被識別到的個數(shù)。
各模型的訓練結果如圖6所示,可以看出在迭代300次時,損失函數(shù)基本收斂,且改進后YOLO V5算法的損失值更低,平均損失為0.017;改進后YOLO V5算法的準確率與召回率分別為98.8%和98.1%,與改進前相比分別提高了10.4%和6.6%,與YOLO V3算法相比分別提高了15.1%和10.8%;與YOLO V3和YOLO V5相比,文章算法的準確率和召回率均有所提升,說明該方法在提高碳纖維材料缺陷的識別效果上有一定作用。
圖6 各模型的訓練結果
在相同的訓練參數(shù)下,為驗證算法改進的效果,額外增加兩組模型,僅改進YOLO V5的網(wǎng)絡結構與優(yōu)化先驗框和損失函數(shù),得到不同算法的識別效果如表1所示。從表1可以看出,添加通道注意力機制后,精度提升較大,但會略微降低檢測速度,而對先驗框和損失函數(shù)進行優(yōu)化后,不僅能夠改善其檢測速度下降的問題,對提升準確度也有一定幫助。
表1 不同算法識別效果對比
改進YOLO V5算法對部分缺陷的識別效果如圖7所示,其中,圓形缺陷圖像分別為3塊不同樣件的檢測結果,纏繞碳纖維布時樣件的預應力不一致,導致局部較松,因此圖像中存在較多條紋;扇形缺陷圖像為同一樣件經(jīng)微調(diào)相控陣參數(shù)多次掃查得到的結果,由于聚焦深度不一致,各缺陷色度有差別;方形缺陷圖像為同一檢測圖像經(jīng)旋轉(zhuǎn)與添加噪聲得到的擴充數(shù)據(jù);通過對預測框內(nèi)目標進行形態(tài)學分析得到了其面積與坐標。
圖7 改進YOLO V5對部分缺陷的識別結果
各缺陷面積與位置的平均誤差如表2~4所示(以圖像左上角為原點),分析表中數(shù)據(jù),缺陷中心位置橫坐標最大誤差為2.3 mm,縱坐標最大誤差為2.8 mm,缺陷面積最大誤差為5.54%。綜合所有數(shù)據(jù),缺陷中心位置橫縱坐標平均誤差均小于2 mm,面積識別平均誤差小于5%,在實際檢測允許的誤差范圍內(nèi)。
表2 圓形缺陷面積與位置的平均誤差
表3 扇形缺陷面積與位置的平均誤差
表4 方形缺陷面積與位置的平均誤差
為解決碳纖維復合材料無損檢測中缺陷識別準確率低、效率差的問題,使用YOLO V5算法對碳纖維復合材料預置缺陷的超聲無損檢測結果進行識別。通過添加注意力機制、優(yōu)化先驗框和損失函數(shù)等措施對YOLO V5算法進行改進,并通過數(shù)據(jù)增強提高模型的泛化能力,實現(xiàn)了對不同大小、不同形態(tài)缺陷的識別。試驗結果顯示優(yōu)化后的算法精度和速度都有所提升,平均識別精度超過98%,位置計算誤差小于2 mm,面積計算誤差低于5%,該模型體積小,魯棒性高,為碳纖維材料缺陷的實時檢測提供了方法。