李 佳,邱新華,季育文
(株洲時(shí)代電子技術(shù)有限公司,湖南 株洲 412007)
隨著鐵路總里程的不斷增長,鐵路隧道數(shù)量越來越多,而初期建成的隧道已經(jīng)進(jìn)入養(yǎng)護(hù)修理階段[1]。其中,裂縫和滲水是常見的隧道病害,若不及時(shí)發(fā)現(xiàn)并進(jìn)行維修,會(huì)導(dǎo)致隧道結(jié)構(gòu)損壞,對(duì)行車安全構(gòu)成嚴(yán)重威脅[1]。對(duì)于隧道襯砌裂縫病害,傳統(tǒng)的檢測(cè)方法以人工目測(cè)為主,主觀性強(qiáng)且效率低下,無法滿足軌道交通高速發(fā)展的檢測(cè)需求[1]?;跈C(jī)器視覺的無損檢測(cè)技術(shù)具有高效、準(zhǔn)確和全面等優(yōu)點(diǎn),逐漸成為隧道表面病害檢測(cè)的主流方法[1]。針對(duì)隧道表面病害檢測(cè),業(yè)內(nèi)開展了不同方向的研究。文獻(xiàn)[1]采用二維最大類間方差法對(duì)隧道圖像進(jìn)行閾值分割,該方法對(duì)灰度分布不均勻情況有一定的適應(yīng)性,可檢測(cè)出細(xì)小裂縫,但對(duì)圖像背景與前景的對(duì)比度要求較高,而實(shí)際隧道環(huán)境中采集的隧道表面圖像直方圖極大,可能存在多個(gè)波峰、波谷,因此此類方法的泛化能力較弱。文獻(xiàn)[2]首先采用高斯-快速中值濾波算法濾除大量噪聲,再采用基于邊緣信息的二次改進(jìn)最大類間方差法(Otsu)分割出二值圖像,突出了裂縫信息,最后通過投影和閾值結(jié)合的方法判定裂縫。該方法解決了部分光照不均勻、對(duì)比度低、噪聲污染嚴(yán)重等問題,但其閾值計(jì)算方式與圖像背景強(qiáng)相關(guān),易受施工縫、線纜等背景因素影響,準(zhǔn)確率偏低、誤檢率高。
傳統(tǒng)的人工特征提取方法對(duì)原始圖像質(zhì)量和圖像預(yù)處理效果的依賴程度高,對(duì)特定場景下的數(shù)據(jù)集,其能獲得較好的識(shí)別效果;但對(duì)分布存在差異的場景,其魯棒性差,因此傳統(tǒng)的模式識(shí)別方法無法適應(yīng)復(fù)雜的隧道環(huán)境[1]。而卷積神經(jīng)網(wǎng)絡(luò)可通過深度網(wǎng)絡(luò)抽象提取圖像中的目標(biāo)特征,對(duì)分布差異較大的環(huán)境,其適應(yīng)性優(yōu)于傳統(tǒng)方法的。文獻(xiàn)[3]提出一種基于深度學(xué)習(xí)的隧道裂縫識(shí)別算法,其采用兩個(gè)卷積神經(jīng)網(wǎng)絡(luò)分別進(jìn)行裂縫圖像篩選和裂縫區(qū)域定位,然后在定位區(qū)域內(nèi)進(jìn)行裂縫分割,一定程度上降低了線纜施工縫等干擾;但其裂縫區(qū)域定位需要采用滑動(dòng)窗口的方式遍歷整幅圖像,而單張圖像檢測(cè)耗時(shí)約680 ms,因此檢測(cè)效率較低。文獻(xiàn)[4]采用一種基于DenseNet模型的隧道檢測(cè)方法,其將原始圖像切分成N個(gè)區(qū)域后過濾非裂縫區(qū)域。相比于AlexNet模型,采用該方法的檢測(cè)精度得到了很大提升;但原始圖像的切分易造成裂縫檢測(cè)不連續(xù),且其通過DenseNet提取特征后再通過支持向量機(jī)(support vector machine, SVM)進(jìn)行裂縫及非裂縫判斷的方式?jīng)]有形成閉環(huán)反饋,而是過分依賴SVM過濾效果,因此,易導(dǎo)致漏檢。文獻(xiàn)[5]提出一種采用Faster R-CNN模型進(jìn)行隧道圖像裂縫檢測(cè)的方法。該方法弱化了隧道圖像背景質(zhì)量問題,準(zhǔn)確率和檢測(cè)速度取得了一定的提升,但二階目標(biāo)檢測(cè)方式仍制約了檢測(cè)效率。
為實(shí)現(xiàn)對(duì)隧道圖像裂縫的高效、準(zhǔn)確檢測(cè),本文提出一種基于YOlOv4[6]的單階隧道表面缺陷檢測(cè)方法,該方法能更好地適應(yīng)隧道復(fù)雜的環(huán)境;同時(shí)通過 CIoU(complete intersection over union)[7]損失函數(shù)計(jì)算改進(jìn)目標(biāo)框回歸損失,以有效提高檢測(cè)精度,在 NVIDIA GeForce 2080Ti顯卡上實(shí)現(xiàn)了55幀 /s的檢測(cè)速度,滿足了實(shí)時(shí)性要求。
隧道背景環(huán)境復(fù)雜多變、對(duì)比度低且噪聲較多,相機(jī)拍攝隧道表面的工作距離的變化會(huì)引起光照不均,導(dǎo)致不同部位出現(xiàn)圖像灰度差異,且隧道表面存在字跡、線纜和施工縫等,對(duì)檢測(cè)存在很大的干擾,因此用于隧道表面病害檢測(cè)的智能識(shí)別算法必須具備很強(qiáng)的場景適應(yīng)性。圖1示出典型隧道表面圖像。
圖1 典型隧道表面圖像Fig.1 Typical tunnel surface images
本文提出的隧道表面缺陷檢測(cè)方法基于YOLOv4。YOLOv4是一種端到端的單階目標(biāo)檢測(cè)算法,其沒有刻意追求理論上的低計(jì)算量(BFLOP),而是在YOLOv3[8]的基礎(chǔ)上進(jìn)行改進(jìn),設(shè)計(jì)了一種能應(yīng)用于實(shí)際工作且能被并行優(yōu)化的快速目標(biāo)檢測(cè)系統(tǒng),且采用了最新的 BoF(bag of freebies)和 BoS(bag of specials)方法優(yōu)化訓(xùn)練過程。該方法在幾乎不降低檢測(cè)速度的同時(shí)提高了檢測(cè)精度。
本文算法在YOLOv4基礎(chǔ)上進(jìn)行了修改,網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,主要包括主干網(wǎng)絡(luò)(Backbone:CSPDarkNet53)、特征融合網(wǎng)絡(luò)(Neck:SPP+PANET)和檢測(cè)層網(wǎng)絡(luò)頭(Head:YOLOv3)3部分。結(jié)合本文數(shù)據(jù)集的特點(diǎn),針對(duì)YOLO Head結(jié)構(gòu)進(jìn)行了設(shè)計(jì),數(shù)據(jù)集中圍繞當(dāng)前主要存在的隧道裂縫、滲水和剝落掉塊3類缺陷,輸出維數(shù)為B×(4+1+classes)。其中B為單個(gè)網(wǎng)格對(duì)應(yīng)的不同寬高比的預(yù)測(cè)框個(gè)數(shù)(默認(rèn)為3),classes為類別數(shù),每個(gè)預(yù)測(cè)框包含目標(biāo)矩形框、置信度及其對(duì)應(yīng)于每個(gè)類別的概率,故將每個(gè)網(wǎng)格的輸出張量設(shè)置為24維,最后3個(gè)YOLO Head輸出張量分別設(shè)置為76×76×24,38×38×24,19×19×24。
圖2 網(wǎng)絡(luò)模型示意Fig.2 Schematic diagram of network model
模型采用自正則的非單調(diào)Mish[9]激活函數(shù)進(jìn)行訓(xùn)練,其計(jì)算如式(1)所示,可保證訓(xùn)練損失的有效回傳,在確保收斂速度的同時(shí)能獲得更好的泛化能力且更準(zhǔn)確。
式中:x——激活層輸入;f(x)——激活層輸出。
為了更精確地檢測(cè)目標(biāo),訓(xùn)練損失由邊界框回歸損失、置信度損失和分類損失的加權(quán)和組成,如式(2)所示,并以此計(jì)算回傳梯度。邊界框回歸損失的計(jì)算如式(3)所示。
式中:L——訓(xùn)練損失;Lbox——邊界框回歸損失;Lobj——目標(biāo)置信度損失;LC——類別分類損失;λiou——邊界框回歸損失權(quán)重系數(shù);S——網(wǎng)格個(gè)數(shù);lij,obj——表示有目標(biāo),lij,obj=1;Lciou——采用 CIoU進(jìn)行度量的邊界損失。
由式(3)可知,通過λiou改變邊界框回歸損失在整個(gè)訓(xùn)練損失中的影響,可提高檢測(cè)精度。置信度損失的計(jì)算如下:
由式(4)可知,通過改變?chǔ)薱ls可以調(diào)整置信度損失在整個(gè)訓(xùn)練損失中的影響權(quán)重;通過改變?chǔ)薈,可以設(shè)置不同類別樣本在訓(xùn)練損失中的影響權(quán)重,以此來兼容訓(xùn)練樣本數(shù)較少的類別,以解決樣本少的問題。式(5)示出分類損失的計(jì)算公式。
通過對(duì)四川省境內(nèi)鐵路隧道數(shù)據(jù)進(jìn)行采集,本文建立了8 064張圖像的訓(xùn)練數(shù)據(jù)集,其中存在1 500個(gè)滲水病害區(qū)域,3 560個(gè)裂縫病害區(qū)域,3 816個(gè)剝落掉塊病害區(qū)域;建立了1 500張圖像的驗(yàn)證集,包含467個(gè)滲水病害、556個(gè)裂縫病害和524個(gè)剝落掉塊病害。
為豐富圖像樣本,本文采用圖像亮度拉伸、模糊處理、PCA色彩增強(qiáng)、隨機(jī)尺寸裁剪、圖像翻轉(zhuǎn)及混類增強(qiáng)(Mixup)等方式進(jìn)行訓(xùn)練數(shù)據(jù)的擴(kuò)增,將訓(xùn)練集由原來的8 064張擴(kuò)增為80 640張,以降低過擬合風(fēng)險(xiǎn),提高訓(xùn)練模型的泛化能力。圖3示出擴(kuò)增示例,其中圖3(a)為原始圖像;圖3(b)為采用高斯濾波進(jìn)行圖像平滑后的圖像,可使模型在一定程度上適應(yīng)列車抖動(dòng)影響;圖3(c)為通過直方圖均衡化實(shí)現(xiàn)圖像亮度拉伸后的樣本,強(qiáng)化了模型對(duì)光照不均的適應(yīng)性;圖3(d)為經(jīng)過PCA色彩增強(qiáng)后的樣本,灰度圖像樣本經(jīng)處理后形成了彩色圖像樣本,增強(qiáng)了模型對(duì)關(guān)鍵特征提取的能力;圖3(e)為經(jīng)過隨機(jī)比例裁剪后的樣本圖像,加強(qiáng)了模型對(duì)特征空間位置的泛化能力;圖3(f)為Mixup后的樣本圖像,將之前不同類的圖像進(jìn)行混合,有效增強(qiáng)了模型泛化能力。
圖3 數(shù)據(jù)擴(kuò)增示例Fig.3 Examples of data augmentation
為了加快模型訓(xùn)練收斂速度、提高隧道裂縫檢測(cè)精度,經(jīng)多次試驗(yàn)分析改進(jìn),得出以下參數(shù)選擇策略:
(1)通過統(tǒng)計(jì)隧道病害在圖像中的區(qū)域分布,歸一化圖像尺寸為608×608,使用K均值聚類分析,得到 YOLO 層的 9 個(gè)錨點(diǎn)框?yàn)?( 131, 226 ), ( 213,40 ), ( 272, 206 ), ( 331, 94 ), ( 554, 161 ), ( 556, 31 ),(563, 69 ), ( 576, 48 )和 (579, 101)。
(2)設(shè)置初始學(xué)習(xí)率lr=0.000 5,采用批次(batch)遞減策略進(jìn)行學(xué)習(xí)率更新,將steps設(shè)置為2 000 和 5 000,更新系數(shù) scales設(shè)置為 0.1 和 0.2;當(dāng)訓(xùn)練 batch=2 000 時(shí),lr=lr×0.1,即lr=0.000 05;當(dāng)訓(xùn)練 batch=5 000 時(shí),lr=lr×0.2,lr=0.000 1。
(3)采用MS COCO數(shù)據(jù)集預(yù)訓(xùn)練模型yolov4.weights初始化骨架網(wǎng)絡(luò),固定共享卷積層后進(jìn)行Neck和Head微調(diào)。
訓(xùn)練誤差曲線如圖4所示??梢钥闯?,經(jīng)過3 000個(gè)batch迭代后,損失及訓(xùn)練誤差平均精度均值(mean average precision, mAP)均已穩(wěn)定且達(dá)到了收斂狀態(tài),測(cè)試集最佳mAP值為65.1%。
圖4 訓(xùn)練誤差曲線Fig.4 Training error curve
本文從現(xiàn)場采集的鐵路隧道內(nèi)部表面圖像中挑選了1 500張圖像作為測(cè)試樣本,利用NVIDIA GeForce 2080Ti顯卡進(jìn)行加速計(jì)算,以驗(yàn)證算法性能。
針對(duì)隧道表面病害圖像樣本數(shù)量有限,且車載采集系統(tǒng)在運(yùn)動(dòng)過程中存在振動(dòng)、傾斜及光照等影響因素,為提高數(shù)據(jù)分布的多樣性、增強(qiáng)模型魯棒性,本文采用圖像亮度拉伸、模糊處理、PCA色彩增強(qiáng)、隨機(jī)尺寸裁剪、圖像翻轉(zhuǎn)及MixUp等數(shù)據(jù)擴(kuò)增方法,以提升缺陷檢測(cè)精度。表1示出優(yōu)化方法組合對(duì)檢測(cè)精度的影響分析。可以看出,Mish激活函數(shù)和CIoU對(duì)缺陷檢測(cè)框的定位mAP各有3%以上的提升。
表1 訓(xùn)練優(yōu)化方法組合對(duì)檢測(cè)精度影響分析Tab. 1 In fluence of training optimization method on detection accuracy
另外,應(yīng)用同樣的數(shù)據(jù)集將本文所提算法模型與YOLOv3和Faster R-CNN模型進(jìn)行比對(duì)試驗(yàn),主要從檢出率、誤檢率、mAP值及檢測(cè)速度方面進(jìn)行評(píng)估。其中,mAP、檢出率和檢測(cè)速度越高,誤檢率則越低,表明算法性能越高。檢出率和誤檢率計(jì)算如式(6)和式(7)所示。
式中:T——檢出率;TP——真正例;FN——假負(fù)例;F——誤檢率;FP——假正例;TN——真負(fù)例。
表2示出隧道表面缺陷檢測(cè)結(jié)果對(duì)比??梢钥闯?,采用Faster R-CNN模型,雖然mAP達(dá)到61.3%,但檢測(cè)速度只有6幀/s,因此不具備實(shí)時(shí)性;采用YOLOv3模型,檢測(cè)速度雖然達(dá)到57幀/s,但檢測(cè)精度和檢出率分別只有53.2%和85.2%,誤檢率偏高,影響用戶體驗(yàn);采用本文所提模型,mAP最高,為65.1%,且在2080Ti上檢測(cè)速度達(dá)到55幀/s,能滿足車載隧道檢測(cè)系統(tǒng)實(shí)時(shí)性要求。
表2 各算法模型的隧道表面缺陷檢測(cè)結(jié)果對(duì)比Tab. 2 Comparison among tunnel surface defect detection results of different algorithm models
圖5示出采用本文算法檢出的隧道表面缺陷效果。圖中,黃色框?yàn)榇嬖趧兟涞魤K病害區(qū)域,紫色框?yàn)闈B水區(qū)域,紅色框?yàn)樗淼懒芽p病害區(qū)域??梢钥闯?,采用本文算法能有效檢出缺陷所在位置及類別,為后續(xù)計(jì)算裂縫寬度、長度和面積等量化指標(biāo)奠定了基礎(chǔ)。
圖5 隧道表面缺陷檢出效果Fig.5 Detection effects on tunnel surface
為提高隧道表面病害的檢出能力,本文結(jié)合YOLOv4提出一種高速鐵路隧道表面缺陷檢測(cè)方法。其在復(fù)雜的隧道背景環(huán)境中,能快速準(zhǔn)確地定位隧道表面的缺陷并進(jìn)行分類;通過引入Mish激活函數(shù)和CIoU損失函數(shù)計(jì)算改進(jìn)目標(biāo)框回歸損失,有效提高檢測(cè)精度和泛化性,同時(shí)保持了較高的檢測(cè)速度,滿足隧道檢測(cè)系統(tǒng)的需求。目前,本文所提算法依舊存在個(gè)別缺陷漏檢、虛報(bào)等情況,下一步將通過增加樣本的多樣性及優(yōu)化損失函數(shù)來進(jìn)一步提高模型檢測(cè)能力。