李健民,賈曉芬,b
(安徽理工大學(xué) a.電氣與信息工程學(xué)院,b.人工智能學(xué)院,安徽 淮南 232001)
隨著社會(huì)經(jīng)濟(jì)的不斷發(fā)展,城鎮(zhèn)化的不斷推進(jìn),各種橋梁、建筑如雨后春筍般林立而起。其中,混凝土由于設(shè)計(jì)方案、受力不均、熱脹冷縮和材料選用等因素產(chǎn)生裂縫?;炷亮芽p的產(chǎn)生不僅影響建筑的外觀,而且危害建筑的結(jié)構(gòu)安全,可能會(huì)造成不可挽回的生命財(cái)產(chǎn)損失。所以及時(shí)發(fā)現(xiàn)并處理這些裂縫,對(duì)建筑的穩(wěn)定性與安全性具有重要意義。
近年來(lái),深度學(xué)習(xí)和卷積神經(jīng)網(wǎng)絡(luò)的研究與應(yīng)用得到飛速發(fā)展,其相關(guān)成果在計(jì)算機(jī)視覺(jué)領(lǐng)域大放異彩,于是越來(lái)越多的學(xué)者將深度學(xué)習(xí)運(yùn)用于裂縫檢測(cè)中。Konstantinos M[1]等人分層地構(gòu)建復(fù)雜的特征,利用深度學(xué)習(xí)架構(gòu)的優(yōu)勢(shì),將獲得的特征用于訓(xùn)練適當(dāng)?shù)娜毕輽z測(cè)器,實(shí)現(xiàn)對(duì)裂縫的快速預(yù)測(cè)。Qu Z[2]等提出了一種新的多尺度卷積特征融合模塊,在不同的卷積階段,將高級(jí)特征與低級(jí)特征進(jìn)行融合。孫朝云[3]等提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)融合模型的路面裂縫識(shí)別方法,分別用 SSD網(wǎng)絡(luò)模型進(jìn)行裂縫分類(lèi)和U-Net網(wǎng)絡(luò)模型進(jìn)行裂縫分割。Hamed M[4]應(yīng)用單階段YOLO v2與二階段Faster-RCNN進(jìn)行裂縫智能識(shí)別,試驗(yàn)表明YOLO v2網(wǎng)絡(luò)模型識(shí)別精度更高。ZHANG C B[5]等提出了一種改進(jìn)的YOLO v3網(wǎng)絡(luò)應(yīng)用于橋梁病害檢測(cè),通過(guò)引入焦點(diǎn)損失函數(shù),以及新的遷移學(xué)習(xí)方法,有效提升了病害識(shí)別準(zhǔn)確率。
已有研究成果表明,深度學(xué)習(xí)目標(biāo)檢測(cè)算法能夠較高精度的進(jìn)行裂縫檢測(cè),然而在特定環(huán)境工程應(yīng)用中仍然存在部分問(wèn)題:① 網(wǎng)絡(luò)模型巨大,對(duì)硬件的算力和內(nèi)存要求較高,難以部署在低算力平臺(tái)上。② 難以在輕量化和高精度檢測(cè)間實(shí)現(xiàn)平衡。為解決上述問(wèn)題,本文提出了YOLO v5s-LGSE混凝土裂縫檢測(cè)模型。首先在Ghost卷積的基礎(chǔ)上改進(jìn)出更為輕量化的LG卷積模塊,進(jìn)一步減少網(wǎng)絡(luò)的特征冗余與參數(shù)量;其次采用Shuffle Net中的Channel Shuffle模塊與LG卷積模塊組成LGS模塊,可以增加特征圖的組間信息交流,提升模型準(zhǔn)確性;最后引入ECA注意力機(jī)制,在保證不增加參數(shù)量的前提下加強(qiáng)特征圖的通道特征。將LGSE模塊替換為YOLO v5s模型中的Backbone與Neck中的Conv與C3的卷積模塊,在顯著降低了網(wǎng)絡(luò)參數(shù)量的同時(shí)提升了混凝土裂縫的檢驗(yàn)精度,滿(mǎn)足工程檢驗(yàn)需求。
本文采用輕量化卷積模塊LGS與通道注意力模塊ECA相結(jié)合的方式,串聯(lián)形成LGSE模塊,與原卷積模塊相比,用更少的特征圖提取較多的特征,減少了整個(gè)網(wǎng)絡(luò)的特征冗余和計(jì)算量,提高了檢驗(yàn)精度。
用LGSE模塊替換YOLO v5s中除第一個(gè)之外的所有Conv,然后替換Bottleneck和C3模塊,得到LGSEBottleneck與C3LGSE。最終所得的YOLO v5s-LGSE網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 YOLO v5s-LGSE網(wǎng)絡(luò)結(jié)構(gòu)
1.2.1 LG模塊
目前高精度的目標(biāo)檢測(cè)網(wǎng)絡(luò)采用了大量的卷積運(yùn)算進(jìn)行特征提取,這就導(dǎo)致網(wǎng)絡(luò)有較多的特征冗余、參數(shù)量大和模型體積大的問(wèn)題,同時(shí)巨大的網(wǎng)絡(luò)模型對(duì)硬件條件也是一個(gè)巨大的挑戰(zhàn),會(huì)出現(xiàn)顯存不足或訓(xùn)練速度緩慢的情況。針對(duì)這些問(wèn)題,華為諾亞方舟實(shí)驗(yàn)室提出輕量型網(wǎng)絡(luò)結(jié)構(gòu)GhostNet[6],能大量減少網(wǎng)絡(luò)參數(shù)量,并在準(zhǔn)確率、計(jì)算性能方面均超過(guò)MobileNetV3[7]等輕量化網(wǎng)絡(luò)模型。結(jié)合GhostConv的思想改進(jìn)LG(Lighter Ghost)模塊,如圖2所示,首先將輸入進(jìn)行1×1,通道為1/2輸入通道的點(diǎn)卷積,旨在減少一半特征冗余;然后再進(jìn)行兩次3×3,通道為1/4輸入通道的組卷積用于提取特征,最后三者拼接得到輸出。
圖2 LG模塊結(jié)構(gòu)
LG模塊與GhostConv相比,旨在將原本1個(gè)高級(jí)廉價(jià)線(xiàn)性運(yùn)算Фk(1≤k≤C)替換為2個(gè)低級(jí)廉價(jià)線(xiàn)性運(yùn)算Ф1i和Ф2j(1≤ 1i≤C,1≤ 2j≤C)的串聯(lián)結(jié)構(gòu),如圖3所示。例如,將原本GhostConv中卷積核為5和1/2輸入通道的組卷積替換為2個(gè)卷積核為3和1/4輸入通道的組卷積的串聯(lián)結(jié)構(gòu);2個(gè)3×3卷積堆疊與1個(gè)5×5卷積相比,具有相同的效果和感受野,且具備更少的計(jì)算量和更多的非線(xiàn)性,以防止梯度消失或爆炸,LG模塊可以利用更少的特征圖獲得較多的特征,進(jìn)一步去除網(wǎng)絡(luò)中的特征冗余,減少網(wǎng)絡(luò)中的參數(shù)量。
圖3 GhostConv模塊與LG模塊
針對(duì)裂縫圖像的特性,識(shí)別裂縫的關(guān)鍵在于能否提取出裂縫的輪廓信息,而并非是墻面或裂縫里的一些細(xì)節(jié)深層信息;所以采取2個(gè)3×3卷積堆疊和拼接的方式是為了淺層特征與深層特征融合,實(shí)現(xiàn)更高精度檢測(cè)。
1.2.2 ChannelShuffle模塊
當(dāng)前優(yōu)秀的輕量化網(wǎng)絡(luò)大部分都使用了深度可分離卷積或者組卷積,用以減少網(wǎng)絡(luò)的參數(shù)量和計(jì)算量,但是這2種卷積操作無(wú)法改變特征圖的通道數(shù),因此需要采用點(diǎn)卷積來(lái)促進(jìn)通道之間的信息融合和改變通道的維度。輕量化網(wǎng)絡(luò)中點(diǎn)卷積占據(jù)了較大的計(jì)算量并致使通道之間充滿(mǎn)約束,一定程度降低了模型的預(yù)測(cè)精度,上述采用的LG模塊就具有這個(gè)特點(diǎn)。所以選用Shuffle Net[8]中的Channel Shuffle模塊,以促進(jìn)特征圖通道間的信息交流,平衡網(wǎng)絡(luò)模型的輕量化和檢測(cè)精度,如圖4所示。Channel Shuffle是通過(guò)將通道按順序排列為指定維度的矩陣,然后將矩陣進(jìn)行轉(zhuǎn)置操作,最后展平得到通道混洗過(guò)的特征圖。Channel Shuffle巧妙地利用常規(guī)張量操作實(shí)現(xiàn)將每個(gè)組的信息分散到其他組里,這樣一來(lái)輸出的特征圖就能均勻的包含每一組的特征;促進(jìn)了組與組之間的信息交流,進(jìn)而提升特征模型表達(dá)能力。
圖4 Channel Shuffle轉(zhuǎn)化過(guò)程
在使用LGS模塊進(jìn)行特征提取后,網(wǎng)絡(luò)模型的參數(shù)量和體積大大減少,隨之而來(lái)的可能是影響裂縫的檢驗(yàn)精度。為進(jìn)一步提高檢驗(yàn)精度,增強(qiáng)裂縫目標(biāo)特征的表達(dá),更好的提取裂縫特征信息。本文采用了高效的ECA[9]注意力機(jī)制,ECA是一種輕量級(jí)通道注意力模塊,它能夠在不改變輸出特征圖維度和幾乎不增加參數(shù)量的前提下,對(duì)輸入特征圖進(jìn)行通道特征加強(qiáng),如圖5所示。
圖5 ECA通道注意力模塊
由圖5可知,實(shí)現(xiàn)ECA過(guò)程,首先對(duì)輸入的特征圖進(jìn)行全局平均池化,從而將H×W×C維度的特征圖壓縮為1×1×C維度的特征圖;然后對(duì)特征圖通過(guò)1×1的卷積,進(jìn)行通道特征學(xué)習(xí),以獲得每個(gè)特征點(diǎn)的權(quán)值;最后是通道注意力結(jié)合,將通道注意力的權(quán)值與原始輸入特征圖逐通道相乘,最終得到通道注意力的特征圖。其中為解決不同輸入特征圖,提取不同范圍的特征時(shí),ECA在做1×1卷積時(shí),卷積核的大小通過(guò)一個(gè)自適應(yīng)函數(shù)變化(k=ψ(C)),即動(dòng)態(tài)卷積核。
(3)
式中:k表示卷積核大小;C表示通道數(shù);| |odd表示k只能取奇數(shù);γ和b設(shè)置為2和1,用于改變通道數(shù)C和卷積核大小和之間的比例。
本文使用混凝土墻壁裂縫圖片,制作自定義數(shù)據(jù)集進(jìn)行訓(xùn)練和驗(yàn)證,共包含4 058張裂縫圖片,由2種裂縫類(lèi)別組成,如圖6所示。其中包括普通裂縫(gap)2 006張和滲水裂縫(leaky_gap)2 534張(用于檢測(cè)墻體內(nèi)部有無(wú)管道破裂),用于試驗(yàn)的數(shù)據(jù)集的圖片全部用LabelImg進(jìn)行手工標(biāo)注,且使用隨機(jī)劃分的方法劃分訓(xùn)練集和驗(yàn)證集,其中訓(xùn)練集和驗(yàn)證集的劃分比例為8∶2,最終劃分結(jié)果為訓(xùn)練集3 678張,驗(yàn)證集980張。
圖6 普通裂縫與滲水裂縫
試驗(yàn)使用的硬件環(huán)境及軟件配置如表1所示,在網(wǎng)絡(luò)訓(xùn)練過(guò)程中,設(shè)置參數(shù)學(xué)習(xí)率為0.01,動(dòng)量為0.937,優(yōu)化器為帶動(dòng)量的SGD,權(quán)重衰減為0.000 5,epoch設(shè)為300次,batch_size設(shè)置為8,圖片大小設(shè)置為640×640。
表1 硬件環(huán)境及軟件配置
為驗(yàn)證YOLO v5s-LGSE模型設(shè)計(jì)的輕量性與合理性,需通過(guò)消融試驗(yàn)來(lái)驗(yàn)證LGS模塊與注意力ECA模塊單獨(dú)作用時(shí)的效果。故開(kāi)展了表2中的4個(gè)試驗(yàn),其中“√”表示使用了該模塊,無(wú)“√”表示未使用該模塊,試驗(yàn)1為YOLO v5s原網(wǎng)絡(luò),試驗(yàn)4為YOLO v5s-LGSE網(wǎng)絡(luò)。
表2 消融試驗(yàn)結(jié)果
由表2可知,試驗(yàn)1中原始YOLO v5s網(wǎng)絡(luò)的網(wǎng)絡(luò)參數(shù)為7.0 M,計(jì)算量為16.0 G,模型大小為13.7 Mb;檢驗(yàn)精度方面mAP@0.5為97.3%,mAP@0.5∶0.95為79.8%;FPS為61.3。在試驗(yàn)2中,按照?qǐng)D2方式只添加LGS模塊,網(wǎng)絡(luò)參數(shù)量、計(jì)算量、模型體積與原始網(wǎng)絡(luò)相比減少了47.1%、49.4%、44.5%,得益于深層與淺層特征融合和增強(qiáng)組間信息交流的作用,試驗(yàn)2在減參的基礎(chǔ)上,mAP@0.5增加1%,mAP@0.5∶0.95增加3%,但是FPS降低了20.4%。試驗(yàn)3中只按照?qǐng)D2方式添加注意力模塊ECA,在參數(shù)量、計(jì)算量和模型體積與原始網(wǎng)絡(luò)相比幾乎不變的條件下,mAP@0.5增加0.7%,mAP@0.5∶0.95增加0.8%,但是FPS降低了37.5%。而在試驗(yàn)4中,YOLO v5s-LGSE模型與原始網(wǎng)絡(luò)相比,參數(shù)量、計(jì)算量、模型體積減少了47.1%、49.4%、44.5%,mAP@0.5增加1.2%,mAP@0.5∶0.95增加4.3%,FPS減少了42.9%。
為了驗(yàn)證本文改進(jìn)網(wǎng)絡(luò)模型的輕量化和檢測(cè)效果,將本文模型與YOLO v5原網(wǎng)絡(luò)和當(dāng)前主流的目標(biāo)檢測(cè)網(wǎng)絡(luò)進(jìn)行對(duì)比,以證明改進(jìn)的有效性。表3為不同網(wǎng)絡(luò)之間的對(duì)比情況。
表3 對(duì)比試驗(yàn)結(jié)果
由表3可知,在檢驗(yàn)精度方面,YOLO v4-Tiny可能由于網(wǎng)絡(luò)自身在多目標(biāo)和小目標(biāo)檢測(cè)方面會(huì)出現(xiàn)漏檢,所以mAP@0.5只有88.3%,與其他主流目標(biāo)檢測(cè)精度相差較大;YOLO v5s-LGSE網(wǎng)絡(luò)與輕量化網(wǎng)絡(luò)YOLO v5s和YOLO v7-Tiny相比有1.2%和2.1%的提升;與一階段經(jīng)典網(wǎng)絡(luò)SSD、YOLO v3、YOLO v4以及較新的YOLO v7相比有1.3%、0.5%、4.4%、0.2%的提升;與二階段經(jīng)典網(wǎng)絡(luò)Faster-RCNN相比也有0.2%的提升??梢钥闯霰疚母倪M(jìn)的網(wǎng)絡(luò)模型均優(yōu)于傳統(tǒng)目標(biāo)檢測(cè)網(wǎng)絡(luò),滿(mǎn)足混凝土裂縫高精度檢測(cè)的要求。
在輕量化方面,YOLO v5s-LGSE網(wǎng)絡(luò)的參數(shù)量為3.7 M、計(jì)算量為8.2 G、模型體積只有7.6 Mb,與大型網(wǎng)絡(luò)SSD、Faster-RCNN、YOLO v3、YOLO v4和YOLO v7相比,無(wú)論是參數(shù)量、計(jì)算量還是模型體積均有大幅減少;與輕量化網(wǎng)絡(luò)YOLO v4-Tiny、YOLO v5s、YOLO v7-Tiny相比,網(wǎng)絡(luò)參數(shù)量減少了37.3%、47.1%、38.3%;計(jì)算量分別增加20.6%、減少48.8%和37.9%;模型體積減少了66%、44.5%、35%。
在檢測(cè)速度方面,YOLO v5s-LGSE網(wǎng)絡(luò)的FPS為35,比SSD、Faster-RCNN、YOLO v3、YOLO v4和YOLO v7等大型網(wǎng)絡(luò)要快,但慢于YOLO v4-Tiny、YOLO v5s和YOLO v7-Tiny等輕量化網(wǎng)絡(luò)。
為了驗(yàn)證LGSE模塊是否真的即插即用,在其它網(wǎng)絡(luò)中也能實(shí)現(xiàn)減參和高效檢測(cè)。故開(kāi)展了表4中的3組6個(gè)對(duì)比試驗(yàn)。分別選取YOLO v3、YOLO v7和輕量化網(wǎng)絡(luò)YOLO v7-Tiny作為本次泛化試驗(yàn)的基準(zhǔn)網(wǎng)絡(luò),其中“√”處表示是原始網(wǎng)絡(luò)還是用LGSE模塊改進(jìn)后的網(wǎng)絡(luò)。在YOLO v3中將主干網(wǎng)絡(luò)的Conv和Bottleneck結(jié)構(gòu)替換為L(zhǎng)GSE與LGSEBottleneck,而在YOLO v7與YOLO v7-Tiny網(wǎng)絡(luò)中將CBS以及ELAN尾部的CBS替換為L(zhǎng)GSE模塊。
表4 泛化試驗(yàn)結(jié)果
由表4數(shù)據(jù)可知,添加LGSE模塊的YOLO v3網(wǎng)絡(luò)與原始網(wǎng)絡(luò)相比,mAP@0.5不變,mAP@0.5∶0.95增加3.7%,但是參數(shù)量、計(jì)算量、模型體積分別減少了20.5%、50.4%、19.7%。在YOLO v7網(wǎng)絡(luò)中,參數(shù)量、計(jì)算量、模型體積分別減少了5.9%、14.4%、14.4%,mAP@0.5不變,但是mAP@0.5∶0.95減少了2.9%。在輕量化網(wǎng)絡(luò)YOLO v7-Tiny中,參數(shù)量、計(jì)算量與模型體積減少了13.3%、13.6%、12.8%,mAP@0.5增加0.5%,mAP@0.5∶0.95增加16.6%。
檢測(cè)速度方面,更改前后除YOLO v3能保證檢測(cè)速度基本持平外,在YOLO v3與YOLO v7-Tiny網(wǎng)絡(luò)中均有13.8%和19.6%的下降。
為了觀察YOLO v5s-LGSE的實(shí)際檢測(cè)效果,分別給出了YOLO v5s與YOLO v5s-LGSE在滲水裂縫與普通裂縫的檢測(cè)效果,如圖7所示。
圖7 YOLO v5s與YOLO v5s-LGSE的檢測(cè)效果
由圖7可知,YOLO v5s模型對(duì)2張滲水裂縫圖片的檢測(cè)精度分別為87%和73%,對(duì)普通裂縫圖片的檢測(cè)精度分別為77%和36%;而相同圖片條件下YOLO v5s-LGSE模型對(duì)這些圖片的檢測(cè)精度分別為89%、83%、90%和43%。由檢測(cè)結(jié)果圖可知,YOLO v5s-LGSE模型具有更高的檢測(cè)精度且更能精準(zhǔn)地預(yù)測(cè)裂縫位置。
文中針對(duì)混凝土裂縫檢測(cè)提出的輕量化檢測(cè)網(wǎng)絡(luò)YOLO v5s-LGSE,能夠解決混凝土裂縫檢測(cè)遇到的通道語(yǔ)義丟失、目標(biāo)特征提取不充分和網(wǎng)絡(luò)模型巨大難以部署在算力平臺(tái)上等難題;經(jīng)過(guò)消融和對(duì)比試驗(yàn)論證了LGS模塊在特征提取過(guò)程中,通過(guò)更為輕量化的Ghost Conv與通道混洗相結(jié)合,可以減少網(wǎng)絡(luò)參數(shù)量和計(jì)算量,壓縮模型體積的同時(shí)還可以促進(jìn)通道語(yǔ)義信息交流,平衡參數(shù)量和檢驗(yàn)精度;引入通道注意力ECA模塊可以增強(qiáng)通道特征的表達(dá),在幾乎不增加網(wǎng)絡(luò)參數(shù)量的前提下進(jìn)一步提升網(wǎng)絡(luò)的檢驗(yàn)精度。對(duì)于模型檢測(cè)速度下降可以通過(guò)后期在硬件平臺(tái)部署TensorRT以提升檢測(cè)速度。
通過(guò)大量試驗(yàn)證明,YOLO v5s-LGSE網(wǎng)絡(luò)模型參數(shù)量?jī)H為原網(wǎng)絡(luò)的52.2%,檢驗(yàn)精度高達(dá)98.5%,無(wú)論是在模型的輕量化還是檢驗(yàn)精度的提升方面均實(shí)現(xiàn)了較為理想的結(jié)果,對(duì)實(shí)現(xiàn)實(shí)時(shí)性、便攜性的混凝土裂縫檢測(cè)具有一定意義。
蘭州工業(yè)學(xué)院學(xué)報(bào)2023年6期