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