王海群,王炳楠,葛 超
華北理工大學(xué)電氣工程學(xué)院,河北 唐山 063000
近些年來(lái),隨著人民經(jīng)濟(jì)水平的提高,私家車(chē)保有量正在逐年上漲,在如此繁重的交通壓力下,路面病害的出現(xiàn)變得越來(lái)越普遍。路面病害會(huì)影響人們的日常出行,甚至?xí)l(fā)嚴(yán)重的交通事故,帶來(lái)巨大的生命財(cái)產(chǎn)損失。因此,實(shí)現(xiàn)高效且精準(zhǔn)的路面病害檢測(cè)變得越來(lái)越重要,對(duì)于延長(zhǎng)道路使用年限、保障人民財(cái)產(chǎn)安全具有重要意義。
傳統(tǒng)的路面病害檢測(cè)方法主要分為兩種方式:第一種是通過(guò)人工巡檢來(lái)實(shí)現(xiàn)路面病害檢測(cè),巡檢人員沿道路兩側(cè)觀察、測(cè)量并記錄病害位置及大小,這種方式的時(shí)間成本和人力成本較大,而且會(huì)影響道路的正常通行;第二種是通過(guò)巡檢車(chē)搭載檢測(cè)裝置實(shí)現(xiàn)路面病害檢測(cè),目前主要的檢測(cè)裝置有超聲波、探地雷達(dá)與激光掃描儀等設(shè)備。如熊學(xué)堂等人[1]將三維探地雷達(dá)與深度學(xué)習(xí)技術(shù)相結(jié)合,實(shí)現(xiàn)了實(shí)時(shí)、高精度識(shí)別病害特征。如陳衛(wèi)[2]將超聲波技術(shù)應(yīng)用于公路橋梁病害檢測(cè),實(shí)現(xiàn)了伸縮縫、橋面以及橋臺(tái)等病害高效、高精度檢測(cè)。雖然檢測(cè)裝置能夠?qū)崿F(xiàn)路面病害的自動(dòng)檢測(cè),但是檢測(cè)裝置所涉及的部件較多,耗費(fèi)的人力和資金成本較大,且對(duì)于檢測(cè)路段有一定限制,不利于大范圍推廣使用,尤其不利于在村莊以及小鄉(xiāng)鎮(zhèn)使用。
隨著深度學(xué)習(xí)在目標(biāo)檢測(cè)領(lǐng)域的發(fā)展與應(yīng)用,出現(xiàn)了一系列基于深度學(xué)習(xí)的目標(biāo)檢測(cè)方法,在路面病害檢測(cè)方面也引入了深度學(xué)習(xí)技術(shù),實(shí)現(xiàn)高效且精準(zhǔn)的路面病害檢測(cè)。如Jing等人[3]改進(jìn)了U-Net的解碼器和編碼器,使模型能夠提取出更加完整的裂縫。Kyslytsyna 等人[4]提出了一種帶注意力機(jī)制的生成對(duì)抗網(wǎng)絡(luò)方法,在無(wú)監(jiān)督LⅠamas 數(shù)據(jù)集上取得了非常好的檢測(cè)效果。Deng等人[5]提出了一種路面裂縫自動(dòng)檢測(cè)、分割的集成框架,首先YOLOv5 算法對(duì)圖像的裂縫區(qū)域進(jìn)行檢測(cè),然后運(yùn)用Res-UNet算法對(duì)裂縫區(qū)域進(jìn)行像素級(jí)別的精確分割。Chun 等人[6]在全卷積神經(jīng)網(wǎng)絡(luò)基礎(chǔ)上通過(guò)半監(jiān)督學(xué)習(xí)對(duì)路面損傷進(jìn)行檢測(cè),最終證明該方法能夠很好的分割路面裂縫。安學(xué)剛等人[7]改進(jìn)了YOLOv4 網(wǎng)絡(luò),實(shí)現(xiàn)了無(wú)人機(jī)影像路面裂縫檢測(cè)。杜鵑等人[8]改進(jìn)了YOLOv7網(wǎng)絡(luò),增加了小目標(biāo)檢測(cè)層,引入K-means++重聚類先驗(yàn)框,并引入新的協(xié)調(diào)坐標(biāo)卷積和損失函數(shù),提出了P-ELAN結(jié)構(gòu)的輕量化骨干網(wǎng)絡(luò),實(shí)現(xiàn)了復(fù)雜場(chǎng)景下的道路目標(biāo)檢測(cè)。李松等人[9]基于YOLOv8網(wǎng)絡(luò),提出了一種能夠提取道路損傷圖像全局特征信息和局部特征信息的BOT模塊,引入CA注意力機(jī)制和C2fGhost模塊,實(shí)現(xiàn)了高準(zhǔn)確率檢測(cè)。目前,目標(biāo)檢測(cè)算法主要是針對(duì)物體檢測(cè),更加適用于特征明顯的檢測(cè)目標(biāo),對(duì)于路面病害特征提取能力不足,沒(méi)有充分考慮路面病害的具體特征,對(duì)于四種路面病害類型檢測(cè)效果較差。
目前,路面病害檢測(cè)主要存在以下問(wèn)題:路面病害特征和背景環(huán)境特征具有相似性,檢測(cè)算法容易出現(xiàn)誤檢現(xiàn)象;路面病害具有空間連續(xù)性和線性特征,檢測(cè)模型容易將網(wǎng)狀裂縫檢測(cè)為多種其他類型病害;路面病害大小差異較大,檢測(cè)算法容易出現(xiàn)漏檢現(xiàn)象。因此,提高模型對(duì)路面病害的特征提取能力,提高對(duì)于四種路面病害的檢測(cè)效果,降低誤檢、漏檢現(xiàn)象變得尤為重要。
在實(shí)際研究中發(fā)現(xiàn),路面病害的產(chǎn)生是一個(gè)緩慢的過(guò)程,對(duì)于路面病害檢測(cè)的實(shí)時(shí)性要求不高。一般的路面病害檢測(cè)是通過(guò)巡檢車(chē)或無(wú)人機(jī)采集路面病害圖片,再通過(guò)檢測(cè)網(wǎng)絡(luò)實(shí)現(xiàn)離線的路面病害檢測(cè)。因此,考慮到實(shí)際的檢測(cè)要求及應(yīng)用,本文主要提升網(wǎng)絡(luò)的檢測(cè)精度,實(shí)現(xiàn)路面病害的高精度離線檢測(cè)。
YOLOv8 目標(biāo)檢測(cè)算法是目前YOLO 系列的最新算法,其借鑒了YOLO 系列算法的一些優(yōu)秀思想,取得了不錯(cuò)的檢測(cè)效果。本文采用YOLOv8n 作為基本網(wǎng)絡(luò),針對(duì)路面病害檢測(cè)準(zhǔn)確率不高的問(wèn)題進(jìn)行改進(jìn)。首先,構(gòu)建CNX2f特征提取模塊并引入主干網(wǎng)絡(luò),采用更大的卷積核提取路面病害特征,解決路面病害特征和背景環(huán)境特征易混淆問(wèn)題;其次,引入重參數(shù)化結(jié)構(gòu)RepConv和DBB模塊,訓(xùn)練階段融合多尺度特征,解決路面病害大小差異較大問(wèn)題,推理階段重參數(shù)化降低模型參數(shù)量提高檢測(cè)速度;同時(shí),結(jié)合RepConv和DBB結(jié)構(gòu)構(gòu)建RBB 重參數(shù)化模塊引入檢測(cè)頭,并改進(jìn)檢測(cè)頭結(jié)構(gòu)為共享參數(shù)結(jié)構(gòu),解決YOLOv8網(wǎng)絡(luò)檢測(cè)頭參數(shù)冗余問(wèn)題,將多分支結(jié)構(gòu)重參數(shù)化為5×5卷積取代兩個(gè)3×3卷積,增大感受野提高特征提取能力;最后,引入SPPF_Avg模塊,解決最大池化引起的信息丟失問(wèn)題,提高頸部網(wǎng)絡(luò)多尺度特征提取能力,提高模型的檢測(cè)效果。
YOLOv8 網(wǎng)絡(luò)是在YOLO 系列網(wǎng)絡(luò)基礎(chǔ)上改進(jìn)而來(lái),YOLOv8 延用了YOLOv5 縮放系數(shù)方法,將模型分為n、s、m、l、x 五種大小,五種模型網(wǎng)絡(luò)深度依次加深,檢測(cè)精度提高,檢測(cè)速度降低。其中YOLOv8n 是最小模型,其檢測(cè)精度相對(duì)較低,但檢測(cè)速度最快,訓(xùn)練難度最小,本文在YOLOv8n的基礎(chǔ)上改進(jìn)檢測(cè)網(wǎng)絡(luò)。
YOLOv8網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,分為輸入層、主干網(wǎng)絡(luò)、頸部網(wǎng)絡(luò)和檢測(cè)頭四部分。
圖1 YOLOv8網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Network structure of YOLOv8
為了提高路面病害檢測(cè)的檢測(cè)精度,本文作出如下改進(jìn):首先,在模型主干網(wǎng)絡(luò)引入CNX2f模塊,由于7×7深度可分離卷積的引入擴(kuò)大了特征提取的感受野,提高了特征間的關(guān)聯(lián)性,更好地區(qū)分路面病害特征和背景環(huán)境特征;其次,在主干網(wǎng)絡(luò)引入重參數(shù)化模塊RepConv,并在頸部網(wǎng)絡(luò)和Head處引入DBB模塊,兩個(gè)模塊在訓(xùn)練階段均使用多分支結(jié)構(gòu)提高模型的訓(xùn)練效果,在推理階段通過(guò)重參數(shù)化轉(zhuǎn)換為單分支結(jié)構(gòu)提高推理速度,解決網(wǎng)絡(luò)對(duì)路面病害特征提取、融合能力不足導(dǎo)致的誤檢問(wèn)題;同時(shí),對(duì)網(wǎng)絡(luò)的Head 采用共享參數(shù)結(jié)構(gòu),并引入新的重參數(shù)化模塊RBB,解決頭部參數(shù)量冗余問(wèn)題并提高頭部網(wǎng)絡(luò)特征提取能力。最后,改進(jìn)YOLOv8網(wǎng)絡(luò)中SPPF 模塊,構(gòu)建雙分支結(jié)構(gòu)SPPF_Avg 模塊,防止路面病害特征丟失,解決路面病害多尺度特征提取不足問(wèn)題。改進(jìn)后的YOLOv8n網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 改進(jìn)后的YOLOv8n網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Ⅰmproved YOLOv8n network architecture
近些年來(lái)Tranformer[10]給CV領(lǐng)域帶來(lái)了巨大提升,引起了廣泛關(guān)注,而ConvNeXt[11]網(wǎng)絡(luò)借鑒了Tranformer的結(jié)構(gòu)特點(diǎn),構(gòu)建了純卷積神經(jīng)網(wǎng)絡(luò),取得了非常好的檢測(cè)效果,并且其網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)單、訓(xùn)練難度小。ConvNeXt網(wǎng)絡(luò)采用CNX(convnext block)作為基本模塊實(shí)現(xiàn)特征提取,其借鑒了自注意力機(jī)制結(jié)構(gòu),將檢測(cè)網(wǎng)絡(luò)中常用的3×3卷積替換為感受野更大更輕量的7×7深度可分離卷積,采用線性歸一化取代批歸一化并減少使用量,并將激活函數(shù)改進(jìn)為SiLu激活函數(shù)。
考慮到路面病害特征和部分背景環(huán)境特征具有相似性的特點(diǎn),采用更大的卷積核提取特征可以覆蓋更大的感受野,從而捕捉到更多的上下文信息,使特征具有更好的區(qū)分度和可解釋性,有效解決目標(biāo)特征和背景特征易混淆問(wèn)題。本文構(gòu)建了CNX2f模塊并引入YOLOv8網(wǎng)絡(luò)取代C2f 特征提取模塊,經(jīng)過(guò)實(shí)驗(yàn)驗(yàn)證發(fā)現(xiàn)將CNX2f模塊僅引入主干網(wǎng)絡(luò)對(duì)模型提升最大,實(shí)驗(yàn)結(jié)果如表1所示,具體位置如圖2所示。
表1 CNX2f檢測(cè)結(jié)果Table 1 CNX2f test result
CNX2f 模塊采用了spilt 結(jié)構(gòu),使用兩個(gè)CNX 模塊取代C2f 中的兩個(gè)普通卷積C。CNX 模塊通過(guò)1×1 的普通卷積降低通道數(shù),減小了模型的參數(shù)量和計(jì)算量,并且7×7深度可分離卷積擴(kuò)大了模型的感受野,提高了模型的檢測(cè)效果,CNX2f模塊如圖3所示。
為了獲得最佳的檢測(cè)效果,將CNX2f 模塊分別引入主干網(wǎng)絡(luò)、頸部網(wǎng)絡(luò)以及整個(gè)網(wǎng)絡(luò)來(lái)獲得最佳改進(jìn)方案,檢測(cè)結(jié)果如表1所示。
由表1可知,當(dāng)CNX2f模塊僅引入主干網(wǎng)絡(luò)時(shí)對(duì)模型的檢測(cè)效果提升最大,雖然參數(shù)量較原網(wǎng)絡(luò)增大了0.22×106、計(jì)算量增加了0.2,但是mAP值提升了1.3個(gè)百分點(diǎn)。因此,在路面病害檢測(cè)方面,將CNX2f引入YOLOv8主干網(wǎng)絡(luò)給模型的檢測(cè)效果帶來(lái)了很大提升。
多分支結(jié)構(gòu)(inception net[12]等)可以更好地提取多尺度特征,其檢測(cè)效果要優(yōu)于單分支結(jié)構(gòu),但是由于其使用了多分支并行結(jié)構(gòu),導(dǎo)致計(jì)算量和參數(shù)量較大。重參數(shù)化模塊對(duì)多分支結(jié)構(gòu)和單分支結(jié)構(gòu)進(jìn)行了融合,在模型訓(xùn)練階段采用多分支并行結(jié)構(gòu),更好地實(shí)現(xiàn)特征提取,得到更好的權(quán)重參數(shù),而在推理階段將多分支結(jié)構(gòu)轉(zhuǎn)換為單分支結(jié)構(gòu)來(lái)更高效的完成檢測(cè)任務(wù)。
在路面病害檢測(cè)任務(wù)中,縱向裂縫、橫向裂縫與網(wǎng)狀裂縫特征具有相似性,容易出現(xiàn)誤檢現(xiàn)象,采用重參數(shù)多分支結(jié)構(gòu)實(shí)現(xiàn)多尺度特征提取,可以有效解決裂縫類型誤檢問(wèn)題,同時(shí)重參數(shù)化后又不會(huì)影響模型檢測(cè)效率。本文在模型的主干網(wǎng)絡(luò)引入RepConv[13]模塊取代原網(wǎng)絡(luò)中的普通卷積模塊,提高主干網(wǎng)絡(luò)的多尺度特征提取能力,更好的融合多尺度特征獲取模型參數(shù)。將DBB[14]模塊引入頸部網(wǎng)絡(luò)末端,提高特征圖的多尺度特征表達(dá)能力,有效緩解頸部網(wǎng)絡(luò)上采樣帶來(lái)的多尺度信息丟失問(wèn)題。RepConv和DBB引入位置如圖2所示。
RepConv(Re-param Conv)模塊是RepVGG 網(wǎng)絡(luò)的基本模塊,采用了卷積重參數(shù)化方法,在Train階段采用BatchNorm、1×1 卷積和3×3 卷積的并行結(jié)構(gòu)豐富多尺度信息,在Val 階段通過(guò)卷積重參數(shù)化方法將多分支融合成單分支結(jié)構(gòu),重參數(shù)化模塊通過(guò)一個(gè)3×3卷積實(shí)現(xiàn)高效高精度檢測(cè)。RepConv結(jié)構(gòu)如圖4所示。
圖4 RepConv模塊Fig.4 RepConv module
在YOLOv8 算法中,推理階段會(huì)自動(dòng)將卷積層和BN 層融合,來(lái)達(dá)到加速推理的目的。卷積層公式如式(1)所示,BN層如式(2)所示,融合過(guò)程如式(3)所示:
其中,x為輸入值,W為卷積模塊權(quán)重,b為偏置,avg為輸入均值,σ為輸入方差,γ為BN 權(quán)重,β為權(quán)重,fuse為融合后的權(quán)重和偏差值。在模型轉(zhuǎn)換過(guò)程中需要將各分支權(quán)重大小均轉(zhuǎn)換為3×3大小,其中1×1卷積通過(guò)pad操作實(shí)現(xiàn)大小轉(zhuǎn)換,最后將各個(gè)分支的權(quán)值和偏執(zhí)分別求和作為單支路卷積的權(quán)重和偏執(zhí)。
將RepConv 引入模型主干網(wǎng)絡(luò)實(shí)現(xiàn)更好的特征提取,訓(xùn)練階段和推理階段模型的參數(shù)量和計(jì)算量如表2所示。
表2 RepConv參數(shù)量對(duì)比Table 2 RepConv parameter number comparison
如表2所示,盡管RepConv的引入增加了訓(xùn)練階段的參數(shù)量和計(jì)算量,但在推理階段的參數(shù)量和計(jì)算量要小于YOLOv8n 網(wǎng)絡(luò),并且平均檢測(cè)精度提高了1 個(gè)百分點(diǎn)。綜上所述,引入RepConv在不增加模型推理階段參數(shù)量和計(jì)算量的同時(shí)提高了檢測(cè)精度。
DBB(diverse branch block)重參數(shù)化模塊采用分離分支結(jié)構(gòu),如圖5所示。Train階段通過(guò)分離分支結(jié)構(gòu)提取多尺度特征,獲得不同尺寸和復(fù)雜度的特征信息,提高特征表達(dá)。Val階段結(jié)合不同尺寸和復(fù)雜度的分離分支來(lái)增加特征空間,提升單個(gè)卷積的表達(dá)能力,實(shí)現(xiàn)快速的模型推理。
圖5 DBB模塊Fig.5 DBB module
如圖5所示,與RepConv不同DBB需要將1×1卷積和k×k卷積在同一分支上進(jìn)行融合,將1×1卷積和平均池化在同一分支進(jìn)行融合可以看作為1×1 卷積與k×k卷積的融合,其中k×k卷積的每個(gè)權(quán)重均為1/(k×k)。融合過(guò)程如式(4)所示:
其中,k和b代表融合后的權(quán)重和偏置,k1和b1代表1×1卷積的權(quán)重和偏置,kk和bk代表k×k卷積的權(quán)重和偏置。先將同一分支的模塊按式(4)融合,再將不同分支模塊的權(quán)重參數(shù)求和實(shí)現(xiàn)模塊由多分支到單分支的轉(zhuǎn)換。
為了提高頸部網(wǎng)絡(luò)的多尺度特征表達(dá)能力,同時(shí)在推理階段獲得更快的推理速度,將DBB 模塊引入YOLOv8的頸部網(wǎng)絡(luò),訓(xùn)練階段和推理階段模型的參數(shù)量和計(jì)算量如表3所示。
表3 DBB參數(shù)量對(duì)比Table 3 DBB parameter number comparison
如表3所示,盡管在頸部網(wǎng)絡(luò)引入DBB模塊導(dǎo)致訓(xùn)練階段參數(shù)量增加了1.81×106,但在推理階段參數(shù)量?jī)H增加了0.77×106,并且檢測(cè)精度提高了1.3個(gè)百分點(diǎn),模型的檢測(cè)效果得到了較大提升。
YOLOv8的檢測(cè)頭采用解耦頭結(jié)構(gòu),共分為兩個(gè)分支,一個(gè)分支用來(lái)計(jì)算分類損失,一個(gè)分支用來(lái)計(jì)算錨框損失,這兩個(gè)分支分別由兩個(gè)卷積塊組成,這就帶來(lái)了巨大的參數(shù)量和計(jì)算量。為了解決檢測(cè)頭參數(shù)量、計(jì)算量冗余問(wèn)題,本文將檢測(cè)頭的兩個(gè)檢測(cè)分支改為共享參數(shù)結(jié)構(gòu),并引入了新的重參數(shù)化模塊(RBB),提高頭部網(wǎng)絡(luò)的多尺度特征融合能力及特征提取能力。
RBB 重參數(shù)化模塊借鑒了RepConv 和DBB 結(jié)構(gòu),融合了RepConv 和DBB 多分支結(jié)構(gòu)和重參數(shù)化方案,采用了5分支結(jié)構(gòu)并使用更大的卷積核實(shí)現(xiàn)特征提取,RBB結(jié)構(gòu)如圖6所示。為了提高網(wǎng)絡(luò)的特征提取能力,在Train階段分別用1×1卷積、3×3卷積、5×5卷積和最大池化提取多尺度特征,提高特征圖的特征表達(dá)能力,在Val階段轉(zhuǎn)化為5×5卷積的單分支結(jié)構(gòu)提高模型的推理速度。模型重參數(shù)化過(guò)程依然采用DBB和RepConv的重參數(shù)化方案,先融合串聯(lián)結(jié)構(gòu),再融合多分支并聯(lián)結(jié)構(gòu)。
圖6 RBB模塊Fig.6 RBB module
將檢測(cè)頭結(jié)構(gòu)改進(jìn)為共享參數(shù)結(jié)構(gòu),再將RBB 模塊引入檢測(cè)頭來(lái)實(shí)現(xiàn)多尺度特征提取,如圖7所示。將原來(lái)的雙分支結(jié)構(gòu)共享參數(shù)化,組成更小更輕量的頭部結(jié)構(gòu),首先經(jīng)過(guò)1×1 卷積降低通道數(shù)減小計(jì)算量,再經(jīng)過(guò)重參數(shù)化模塊RBB 提取多尺度特征,最后經(jīng)過(guò)卷積變成相應(yīng)的通道數(shù)計(jì)算損失。
圖7 改進(jìn)的檢測(cè)頭部Fig.7 Ⅰmproved detection head
改進(jìn)前后模型的參數(shù)量和計(jì)算量大小,如表4所示。
表4 RBB參數(shù)量對(duì)比Table 4 RBB parameter number comparison
如表4所示,采用共享參數(shù)結(jié)構(gòu)后模型的參數(shù)量明顯降低,并且RBB模塊的引入提高了模型的檢測(cè)精度,模型的參數(shù)量降低了0.41×106,平均檢測(cè)精度提高了0.5個(gè)百分點(diǎn)。綜上所述,本文的頭部改進(jìn)方案降低了模型的參數(shù)量并提高了檢測(cè)效果。
YOLOv8頸部網(wǎng)絡(luò)采用SPPF結(jié)構(gòu)來(lái)豐富特征圖包含的特征性信息,SPPF 通過(guò)三個(gè)最大池化層提取不同尺度特征,再通過(guò)拼接操作實(shí)現(xiàn)特征融合。雖然SPPF能夠很好地實(shí)現(xiàn)局部特征和全局特征的融合,但是由于其僅使用了最大池化操作提取特征可能會(huì)導(dǎo)致部分局部信息丟失。為解決部分特征信息丟失問(wèn)題,緩解由于路面病害大小差異較大導(dǎo)致的漏檢現(xiàn)象,實(shí)現(xiàn)更好的多尺度特征提取,提高特征圖的豐富度,現(xiàn)將SPPF引入新的平均池化支路構(gòu)建SPPF_Avg模塊,如圖8所示。
圖8 SPPF_Avg模塊Fig.8 SPPF_Avg module
如圖8所示,SPPF_Avg模塊可以分為兩部分,一部分為SPPF分支,另一部分為AvgPool分支。通過(guò)1×1卷積降低通道數(shù)減小計(jì)算量,SPPF 分支通過(guò)最大池化來(lái)提取全局特征和局部特征并實(shí)現(xiàn)特征融合,AvgPool 分支通過(guò)平均池化來(lái)補(bǔ)償SPPF 分支可能引起的特征丟失,最后將兩個(gè)分支的特征圖進(jìn)行拼接操作實(shí)現(xiàn)特征融合,提高特征圖的豐富度。具體計(jì)算流程如式(5)所示:
其中,Y1和Y2分別代表MaxPool 分支和AvgPool 分支的輸出,M(1~3)代表經(jīng)過(guò)1~3 個(gè)最大池化后的輸出,A(1~3)代表經(jīng)過(guò)1~3 個(gè)平均池化后的輸出。引入SPPF_Avg模塊能夠更好地實(shí)現(xiàn)了多尺度特征提取和融合,提高特征圖所包含信息的豐富度,以及模型檢測(cè)效果。
本實(shí)驗(yàn)平臺(tái)的操作系統(tǒng),如表5所示。
表5 實(shí)驗(yàn)環(huán)境Table 5 Experimental environment
本實(shí)驗(yàn)網(wǎng)絡(luò)訓(xùn)練的超參數(shù)如表6所示,其中Patience代表訓(xùn)練過(guò)程中模型不再提升超過(guò)指定次數(shù)時(shí)停止訓(xùn)練。
表6 訓(xùn)練超參數(shù)Table 6 Training hyperparameter
本實(shí)驗(yàn)選用全球道路損傷檢測(cè)挑戰(zhàn)賽提供的GRDDC2022 公開(kāi)數(shù)據(jù)集,從中選取出與國(guó)內(nèi)路面環(huán)境相近的圖片共13 866張作為本實(shí)驗(yàn)數(shù)據(jù)集,并將數(shù)據(jù)集按照8∶1∶1劃分為訓(xùn)練集、測(cè)試集和驗(yàn)證集。其中路面病害共分為4 個(gè)類別:D00(縱向裂縫)、D10(橫向裂縫)、D20(網(wǎng)狀裂縫)、D40(坑洞)。
本文選用參數(shù)量、計(jì)算量和平均精度均值mAP(mean average precision)作為評(píng)價(jià)指標(biāo),mAP具體計(jì)算如式(6)~(9)所示:
其中,TP 代表預(yù)測(cè)樣本中將正樣本正確預(yù)測(cè)為正樣本的個(gè)數(shù),F(xiàn)P 代表預(yù)測(cè)樣本中將負(fù)樣本錯(cuò)誤預(yù)測(cè)為正樣本的個(gè)數(shù)。AP 是對(duì)P-R曲線的積分,即曲線與橫縱坐標(biāo)所圍成的面積,而mAP為各類預(yù)測(cè)對(duì)象精度的均值,mAP@0.5是ⅠoU閾值為0.5時(shí)的mAP。
在本文所選路面病害數(shù)據(jù)集上分別對(duì)YOLOv8n網(wǎng)絡(luò)和改進(jìn)后的YOLOv8n 網(wǎng)絡(luò)進(jìn)行訓(xùn)練,然后分別用訓(xùn)練好的模型在驗(yàn)證集上進(jìn)行驗(yàn)證。YOLOv8n算法和改進(jìn)后的YOLOv8n 算法在測(cè)試集上的檢測(cè)結(jié)果,如表7所示。
表7 算法改進(jìn)前后對(duì)比Table 7 Comparison before and after algorithm improvement
由表7 可知,在訓(xùn)練階段改進(jìn)后的YOLOv8n 模型參數(shù)量較YOLOv8n增加了1.83×106,計(jì)算量增加了6.1,但在推理階段參數(shù)量?jī)H增加了0.59×106,計(jì)算量增加了2.3,并且改進(jìn)后的模型對(duì)各類病害檢測(cè)精度以及平均檢測(cè)精度均得到了較大提升。其中,縱向裂縫的檢測(cè)精度提高了0.5 個(gè)百分點(diǎn),橫向裂縫提高了1.2 個(gè)百分點(diǎn),網(wǎng)狀裂縫提高了1.2 個(gè)百分點(diǎn),坑洞提升了8.1 個(gè)百分點(diǎn),平均檢測(cè)精度提升了2.8個(gè)百分點(diǎn)。綜上所述,本文改進(jìn)算法在實(shí)際檢測(cè)應(yīng)用中參數(shù)量和計(jì)算量上僅增加了0.59×106和2.3,但是模型的平均檢測(cè)精度提高2.8 個(gè)百分點(diǎn),尤其是針對(duì)坑洞小目標(biāo)檢測(cè)精度提升較大。模型改進(jìn)前后在驗(yàn)證集上的mAP 曲線如圖9(a)、(b)所示,在模型訓(xùn)練時(shí)mAP對(duì)比曲線如圖9(c)所示。
圖9 mAP對(duì)比圖Fig.9 mAP comparison diagram
由圖9(a)和(b)可知,改進(jìn)后YOLOv8n 算法的mAP 曲線所圍成面積均大于YOLOv8n,特別是在坑槽小目標(biāo)檢測(cè)方面提升巨大,較原算法提高了8.1 個(gè)百分點(diǎn),整體平均mAP提高了2.8個(gè)百分點(diǎn)。由圖9(c)可知改進(jìn)后的模型在訓(xùn)練時(shí)mAP值位于YOLOv8n上方,說(shuō)明改進(jìn)后模型的檢測(cè)效果得到了提升。
本文對(duì)訓(xùn)練完成后的YOLOv8n以及改進(jìn)后算法從路面病害測(cè)試集中選取圖片進(jìn)行檢測(cè),檢測(cè)結(jié)果如圖10所示。
圖10 檢測(cè)結(jié)果對(duì)比Fig.10 Comparison of test results
如圖10(a)所示,改進(jìn)后的網(wǎng)絡(luò)解決了YOLOv8n存在的漏檢問(wèn)題;如圖(b)所示在對(duì)病害密集區(qū)域檢測(cè)時(shí),改進(jìn)后的網(wǎng)絡(luò)能夠更好地區(qū)分病害類型并獲得檢測(cè)結(jié)果;如圖(c)所示在路面顏色產(chǎn)生變化時(shí),改進(jìn)后的網(wǎng)絡(luò)仍能檢測(cè)出病害類型;如圖(d)所示在面對(duì)坑槽小目標(biāo)時(shí),YOLOv8n漏檢了坑洞小目標(biāo),并且將陰影誤檢為橫向裂縫,而改進(jìn)后的網(wǎng)絡(luò)正確的檢測(cè)到了坑槽并避免了誤檢情況;如圖(e)所示在雨天視線模糊時(shí),改進(jìn)后的網(wǎng)絡(luò)檢測(cè)效果要優(yōu)于YOLOv8n。綜上所述,改進(jìn)后的網(wǎng)絡(luò)在測(cè)試集上的檢測(cè)效果整體上要優(yōu)于YOLOv8n。
為了驗(yàn)證本文所提出各種改進(jìn)方案對(duì)模型檢測(cè)效果的提升,在YOLOv8n網(wǎng)絡(luò)的基礎(chǔ)上進(jìn)行了消融實(shí)驗(yàn),每一組實(shí)驗(yàn)都設(shè)置相同的超參數(shù),采用相同的訓(xùn)練策略,實(shí)驗(yàn)結(jié)果如表8所示。
表8 消融實(shí)驗(yàn)結(jié)果Table 8 Ablation experimental results
表8中,“√”代表在YOLOv8n網(wǎng)絡(luò)基礎(chǔ)上引入了對(duì)應(yīng)的改進(jìn)方案,“×”代表未引入該改進(jìn)方案。方案一代表僅引入CNX2f模塊后的檢測(cè)模型,方案二代表引入重參數(shù)化RepConv和DBB模塊,方案三代表引入SPPF_Avg模塊,方案四改進(jìn)了檢測(cè)頭部作為本文的改進(jìn)方案。
由表8可知,每一種優(yōu)化方案的引入都提升了模型的檢測(cè)效果,其中引入CNX2f 模塊后模型的mAP 提高了1.3個(gè)百分點(diǎn),說(shuō)明CNX2f模塊提升了主干網(wǎng)絡(luò)的特征提取能力;引入重參數(shù)化RepConv 和DBB 模塊后模型的mAP較方案一提高了0.5個(gè)百分點(diǎn),較原網(wǎng)絡(luò)提高了1.8 個(gè)百分點(diǎn);引入SPPF_Avg 模塊后模型的mAP 較方案二提高了0.7個(gè)百分點(diǎn),較原網(wǎng)絡(luò)提高了2.5個(gè)百分點(diǎn),說(shuō)明SPPF_Avg 模塊能夠更好地提取并融合多尺度特征,提高特征圖的表達(dá)能力;最后,改進(jìn)模型的檢測(cè)頭部,將頭部改為共享參數(shù)結(jié)構(gòu)并引入RBB 重參數(shù)化模塊,改進(jìn)后模型的mAP 較方案三提高了0.3 個(gè)百分點(diǎn),較原網(wǎng)絡(luò)提高了2.8個(gè)百分點(diǎn);綜上所述,方案四的檢測(cè)效果最佳,模型精確率提高了2.6個(gè)百分點(diǎn),召回率提高了3.0個(gè)百分點(diǎn),mAP提高了2.8個(gè)百分點(diǎn),證明了本文所改進(jìn)算法對(duì)模型的檢測(cè)性能有很大提升。
為了進(jìn)一步驗(yàn)證本文改進(jìn)算法對(duì)路面病害檢測(cè)的優(yōu)越性,將本文算法與傳統(tǒng)的目標(biāo)檢測(cè)算法進(jìn)行對(duì)比試驗(yàn),其中二階段檢測(cè)算法有Faster-RCNN[15]算法,一階段檢測(cè)算法有SSD[16]、YOLOv3[17]、YOLOv4[18]、YOLOv5s、YOLOX[19]、YOLOv7[20]、RTMDet[21]、PP-YOLOE[22]算法,實(shí)驗(yàn)結(jié)果如表9所示。
表9 對(duì)比實(shí)驗(yàn)結(jié)果Table 9 Comparison of experimental results
由表9 可知,本文改進(jìn)算法提高了YOLOv8n 模型的檢測(cè)精度,四種路面病害檢測(cè)精度均得到了提升。本文改進(jìn)算法的參數(shù)量和計(jì)算量小于除YOLOv8n 和YOLOv5n外的目標(biāo)檢測(cè)算法,與其他9種目標(biāo)檢測(cè)算法相比mAP分別提高了20.2、23.4、9.7、17.8、5.6、8.0、15.8、3.1、2.4個(gè)百分點(diǎn)。雖然參數(shù)量和計(jì)算量大于YOLOv5n和YOLOv8n,但在平均精度上分別提升了11.2和2.8個(gè)百分點(diǎn)。綜上所述,通過(guò)將本文改進(jìn)算法與傳統(tǒng)算法對(duì)比,證明了本文改進(jìn)算法在路面病害檢測(cè)方面要優(yōu)于目前常用的目標(biāo)檢測(cè)算法,mAP 值在所有算法中達(dá)到了最佳,在精度和參數(shù)量的綜合考量方面較其他算法有明顯優(yōu)勢(shì),可以有效且高精度的實(shí)現(xiàn)路面病害檢測(cè),并且參數(shù)量和計(jì)算量較小完全可以部署在移動(dòng)端或無(wú)人機(jī)設(shè)備。
為了解決路面病害特征和背景特征易混淆、不同類型病害容易誤檢、檢測(cè)目標(biāo)大小差異較大容易漏檢、檢測(cè)精度低等問(wèn)題,提出了重參數(shù)化YOLOv8路面病害檢測(cè)算法。首先構(gòu)建CNX2f特征提取模塊并引入主干網(wǎng)絡(luò),提高網(wǎng)絡(luò)的特征提取能力,更好地區(qū)分路面病害特征和背景環(huán)境特征;引入RepConv 和DBB 重參數(shù)化模塊使模型在訓(xùn)練階段獲得更好的權(quán)重和偏置,在推理階段降低模型參數(shù),有效解決路面病害多尺度特征提取能力差的問(wèn)題,解決不同類型病害的誤檢問(wèn)題;改進(jìn)模型檢測(cè)頭部采用共享參數(shù)結(jié)構(gòu),并構(gòu)建重參數(shù)化模塊RBB引入檢測(cè)頭部,解決檢測(cè)頭部冗余問(wèn)題,提高頭部網(wǎng)絡(luò)特征提取能力;最后構(gòu)建SPPF_Avg 多尺度特征提取模塊,提高網(wǎng)絡(luò)的多尺度特征提取能力,提高特征表達(dá),解決了病害尺度差異較大和部分特征丟失引起的漏檢現(xiàn)象。實(shí)驗(yàn)結(jié)果表明,改進(jìn)后YOLOv8n 算法在路面病害數(shù)據(jù)集上mAP提高了2.8個(gè)百分點(diǎn),相比傳統(tǒng)的目標(biāo)檢測(cè)算法取得了較大提升。綜上所述,本文改進(jìn)算法在面對(duì)背景復(fù)雜和病害大小差異較大的檢測(cè)任務(wù)具有一定的優(yōu)越性,促進(jìn)了路面病害檢測(cè)朝著智能化和無(wú)人化的方向發(fā)展。