趙 凡,李琳蕓,魏仁杰,張志偉
(1. 西安理工大學(xué)印刷包裝與數(shù)字媒體學(xué)院,西安 710054;2. 西安理工大學(xué)陜西省印刷包裝工程重點(diǎn)實(shí)驗(yàn)室,西安 710054)
壩體是水電站的重要組成部分,大部分是混凝土或土石結(jié)構(gòu),使用一段時(shí)間后常會(huì)出現(xiàn)裂縫滲漏,因此需要對(duì)大壩的病害風(fēng)險(xiǎn)進(jìn)行準(zhǔn)確的預(yù)警預(yù)測(cè)。裂縫的提取主要包含裂縫定位、裂縫形狀描繪以及裂縫長(zhǎng)度統(tǒng)計(jì)。大壩裂縫具有寬度小、可見(jiàn)性差、特征不明顯、有水漬等特點(diǎn),因此實(shí)現(xiàn)快速、穩(wěn)定、準(zhǔn)確的大壩裂縫提取仍然是一個(gè)極具挑戰(zhàn)性的難題。
裂縫檢測(cè)提取方法主要分為基于傳統(tǒng)圖像處理的方法[1-7]和基于深度學(xué)習(xí)的方法[8-13]。傳統(tǒng)的裂縫邊緣檢測(cè)算法,主要有Sobel 邊緣檢測(cè)算子[1]、Canny 邊緣檢測(cè)算子[2]、Laplacian 算子[3]等,這些算法只適用于寬度較大、背景簡(jiǎn)單和明顯的裂縫檢測(cè)。魏永杰等[4]提出累積梯度算法用于計(jì)算裂縫邊界。Peng等[5]提出一種基于隨機(jī)結(jié)構(gòu)森林的三閾值路面裂縫檢測(cè)方法。Baltazart 等[6]利用裂縫邊緣處檢測(cè)灰度與梯度的階躍性變化對(duì)圖像中的裂縫進(jìn)行檢測(cè)。Hoang 等[7]提出基于改進(jìn)最大類(lèi)間方差法的圖像閾值裂縫檢測(cè)方法。傳統(tǒng)方法復(fù)雜度低,適合于裂縫明顯和背景簡(jiǎn)單的圖像,當(dāng)裂縫圖像背景復(fù)雜、噪聲大、裂縫和背景亮度相近時(shí),傳統(tǒng)方法的檢測(cè)精度就會(huì)大幅度下降。
基于深度學(xué)習(xí)的裂縫檢測(cè)方法近年來(lái)受到了廣泛關(guān)注。?;莸龋?]使用改進(jìn)的U-Net 網(wǎng)絡(luò)對(duì)鐵路隧道裂縫進(jìn)行提取。Qin 等[9]提出一種端到端神經(jīng)網(wǎng)絡(luò)對(duì)裂縫檢測(cè)。趙珊珊等[10]將預(yù)處理后的路面圖像輸入卷積神經(jīng)網(wǎng)絡(luò)(CNN)模型實(shí)現(xiàn)路面圖像裂縫的檢測(cè),網(wǎng)絡(luò)對(duì)簡(jiǎn)單背景下的裂縫檢測(cè)效果較好,但是對(duì)于復(fù)雜路面情況,如路面雜物的遮擋時(shí)檢測(cè)效果較差。毛鶯池等[11]利用基于改進(jìn)Faster R-CNN和K-MABtrA 遷移學(xué)習(xí)方法對(duì)小目標(biāo)裂縫進(jìn)行檢測(cè)。陳澤斌等[12]改進(jìn)了U-Net 網(wǎng)絡(luò)模型進(jìn)行路面裂縫識(shí)別,對(duì)路面裂縫識(shí)別效果較好,但需要大量和多樣性的訓(xùn)練樣本才能改善識(shí)別效果,不適用于本文數(shù)據(jù)。Gang 等[13]提出的R2CE-Net 網(wǎng)絡(luò),使用RRCNN 塊來(lái)代替編碼器結(jié)構(gòu)的標(biāo)準(zhǔn)卷積,使用更多尺度卷積和池化獲得更多的裂縫特征。上述網(wǎng)絡(luò)對(duì)與背景對(duì)比度較強(qiáng)的裂縫檢測(cè)效果較好,但針對(duì)和背景相似度很大的裂縫檢測(cè)效果不佳,也均未給出裂縫形狀的描述,無(wú)法給出定量的病害預(yù)警結(jié)果。
路面和橋梁上的裂縫通常采用基于深度學(xué)習(xí)的通用目標(biāo)檢測(cè)器或分割器得到檢測(cè)結(jié)果,但大壩的裂縫處存在滲漏,并且裂縫的混凝土和周?chē)h(huán)境很相似,若采用通用目標(biāo)檢測(cè)器進(jìn)行大壩裂縫的檢測(cè)就會(huì)產(chǎn)生很多誤檢。另外,由于壩體上方裂縫滲漏水的覆蓋原因會(huì)導(dǎo)致裂縫自身紋理模糊或不明顯,進(jìn)一步造成檢測(cè)器的漏檢發(fā)生。針對(duì)大壩裂縫的特點(diǎn),本文首先設(shè)計(jì)了一個(gè)二目標(biāo)檢測(cè)器,把裂縫區(qū)域和水漬區(qū)域作為兩個(gè)獨(dú)立的目標(biāo)在圖像上同時(shí)檢測(cè)出來(lái);其次,建立和同一裂縫關(guān)聯(lián)的裂縫區(qū)域和水漬區(qū)域幾何關(guān)系;最后,利用二者的幾何位置關(guān)系對(duì)與裂縫框相關(guān)聯(lián)的水漬框上邊界進(jìn)行點(diǎn)采樣和曲線擬合,得到定位的裂縫曲線。這樣做的好處可以改善裂縫檢測(cè)的精度,為病害風(fēng)險(xiǎn)進(jìn)行更準(zhǔn)確的預(yù)警預(yù)測(cè)。由于其優(yōu)越的性能,本文采用YOLOv4 網(wǎng)絡(luò)結(jié)構(gòu)[14]進(jìn)行通用檢測(cè)器的訓(xùn)練。實(shí)驗(yàn)結(jié)果表明此算法對(duì)壩體病害的檢測(cè)很有效。
采用大疆無(wú)人機(jī)經(jīng)緯M300 RTK 對(duì)大壩圖像數(shù)據(jù)進(jìn)行采集。大疆無(wú)人機(jī)集成了H20 系列云臺(tái)、1 個(gè)2 000 萬(wàn)像素的主相機(jī)和1 個(gè)1 200 萬(wàn)像素的廣角相機(jī)等組件[15]。大壩圖像的采集地點(diǎn)為山西板澗河大壩。無(wú)人機(jī)在距離大壩壩體3~5 m 處對(duì)大壩表面進(jìn)行圖像采集,對(duì)獲取的全部圖像經(jīng)過(guò)人工篩選后,保留250 張含有裂縫的圖像作為實(shí)驗(yàn)數(shù)據(jù),其中裂縫長(zhǎng)度在50~300 cm 之間,寬度在3~20 mm 之間。
壩體結(jié)構(gòu)是混凝土,和裂縫相似的橫紋較多,如果把裂縫作為唯一的目標(biāo)進(jìn)行檢測(cè)就會(huì)出現(xiàn)很多誤檢;另外,位于壩體較高部位的裂縫滲漏的水漬會(huì)貫穿較低部位的裂縫,如果只對(duì)水漬部位檢測(cè),往往只能確定較高部位的滲漏點(diǎn)而忽略較低部位的滲漏點(diǎn)。本研究把裂縫和水漬作為兩個(gè)獨(dú)立的目標(biāo)在圖像中進(jìn)行樣本標(biāo)注,標(biāo)注工具采用yolo_mark 標(biāo)注軟件。標(biāo)注結(jié)果如圖1 所示,其中黃色矩形框?yàn)闃?biāo)注的裂縫目標(biāo),記為1 號(hào)目標(biāo),藍(lán)色矩形框?yàn)闃?biāo)注的水漬目標(biāo),記為2 號(hào)目標(biāo)。
圖1 兩類(lèi)樣本的標(biāo)注結(jié)果Fig.1 Annotation results of two types of samples
本文的算法流程如圖2 所示,首先,把采集的250 張大壩裂縫圖像完成上述標(biāo)簽制作后進(jìn)行數(shù)據(jù)集劃分,按4∶1 的比例將圖像分為訓(xùn)練集和測(cè)試集,即200 張圖像作為訓(xùn)練數(shù)據(jù),50 張圖像作為測(cè)試數(shù)據(jù);其次,把訓(xùn)練圖像集和其對(duì)應(yīng)的標(biāo)簽集送入YOLOv4 網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行模型訓(xùn)練,得到訓(xùn)練好的二目標(biāo)檢測(cè)器;把測(cè)試集送入訓(xùn)練好的檢測(cè)器得到裂縫區(qū)域和水漬區(qū)域的檢測(cè)結(jié)果,表示為矩形框;最后,利用在圖像中的幾何位置關(guān)系,確定和各裂縫框關(guān)聯(lián)的水漬框上邊界,對(duì)包含在裂縫框中的水漬框上邊界進(jìn)行點(diǎn)均勻采樣,對(duì)采樣點(diǎn)進(jìn)行曲線擬合得到擬合后的裂縫曲線。
圖2 算法流程圖Fig.2 Algorithm flowchart
近年來(lái),隨著計(jì)算機(jī)視覺(jué)技術(shù)和深度學(xué)習(xí)理論的迅速發(fā)展和廣泛應(yīng)用,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)成為熱門(mén)研究領(lǐng)域,廣為流行的檢測(cè)器有SSD[16]、Faster R-CNN[17]、YOLOv3[18]和YOLOv4 算法[14],YOLOv4 算法是在原有YOLOv3 網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上提出的,采用了近些年目標(biāo)檢測(cè)領(lǐng)域中最先進(jìn)的優(yōu)化策略,從數(shù)據(jù)處理、基干網(wǎng)絡(luò)、激活函數(shù)、損失函數(shù)等各個(gè)方面都進(jìn)行了不同程度的優(yōu)化,使得在使用單個(gè)GPU 進(jìn)行訓(xùn)練時(shí)更加有效和適配。YOLOv4 是目前最優(yōu)秀的目標(biāo)檢測(cè)算法之一,作為一階段檢測(cè)網(wǎng)絡(luò),YOLOv4 網(wǎng)絡(luò)結(jié)構(gòu)主要由Input、Backbone、Neck 和Head 四部分組成,如圖3 所示。首先將圖像作為輸入送入網(wǎng)絡(luò),通過(guò)BackBone 主干網(wǎng)絡(luò)進(jìn)行特征提取,主干網(wǎng)絡(luò)為CSPDarknet53,Neck 層采用SPP(Spatial pyramid pooling)和PAN(Path aggregation network)結(jié)構(gòu)對(duì)不同尺寸的特征圖信息進(jìn)行融合,Dense prediction 層使用3 個(gè)不同尺度的特征圖對(duì)目標(biāo)進(jìn)行預(yù)測(cè)。
圖3 YOLOv4 網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.3 Structure diagram of YOLOv4 network
鑒于其優(yōu)越的性能,本文采用YOLOv4 作為裂縫檢測(cè)網(wǎng)絡(luò)結(jié)構(gòu),網(wǎng)絡(luò)輸出的類(lèi)別個(gè)數(shù)設(shè)定為3,其中0、1 和2 分別對(duì)應(yīng)裂縫類(lèi)、水漬類(lèi)和背景類(lèi),網(wǎng)絡(luò)輸出對(duì)三類(lèi)目標(biāo)預(yù)測(cè)的置信度,最后經(jīng)過(guò)非極大值抑制(Non-maximum suppression,NMS)后得到最終的檢測(cè)結(jié)果。訓(xùn)練時(shí)的目標(biāo)函數(shù)L定義為
式中:wgt、hgt代表真值框的寬和高;w、h代表預(yù)測(cè)框的寬和高。
由于采集的大壩裂縫圖像數(shù)量較少,故在實(shí)驗(yàn)中把YOLOv4 網(wǎng)絡(luò)在Imagenet 數(shù)據(jù)集[19]上的訓(xùn)練模型作為預(yù)訓(xùn)練模型。把大壩裂縫訓(xùn)練圖像分批次送入網(wǎng)絡(luò)進(jìn)行模型的再訓(xùn)練,訓(xùn)練結(jié)束得到最終的網(wǎng)絡(luò)模型。輸入網(wǎng)絡(luò)的大壩裂縫圖像大小為416×416。YOLOv4 網(wǎng)絡(luò)訓(xùn)練參數(shù)的設(shè)置如下:學(xué)習(xí)率為0.002 61;批處理圖片個(gè)數(shù)為64;最大迭代次數(shù),即權(quán)重更新次數(shù)為6 000。訓(xùn)練過(guò)程中的損失函數(shù)隨迭代次數(shù)增加的曲線如圖4 所示,訓(xùn)練結(jié)束時(shí)迭代次數(shù)為6 000,L值為0.525 6。
圖4 損失函數(shù)曲線Fig.4 Curve of loss function
裂縫曲線擬合主要由以下4 個(gè)步驟組成。
步驟2 統(tǒng)計(jì)和第j個(gè)裂縫框bj關(guān)聯(lián)的水漬框集合Cj,它的初始值為空。觀察YOLOv4 網(wǎng)絡(luò)對(duì)裂縫和水漬的檢測(cè)結(jié)果發(fā)現(xiàn),和同一裂縫關(guān)聯(lián)的裂縫框與水漬框之間存在以下幾何位置關(guān)系:裂縫框不完全包含水漬框,對(duì)應(yīng)同一裂縫的水漬框上邊界包含在和它關(guān)聯(lián)的裂縫框內(nèi)。算法1 是求取和裂縫框bj關(guān)聯(lián)的水漬框集合Cj流程。輸入為bj和C′,輸出為Cj。首先,初始化Cj為空集,即Cj=NULL;接著,從水漬框C′中依次提取元素c′i,求c′i和bj的交集,記為R;再提取c′i上邊界的左端點(diǎn)P1和右端點(diǎn)P2;最后,對(duì)R是否為空以及P1和P2是否都包含在bj中進(jìn)行判斷,如果R不為空并且P1和P2都包含在bj中,就把c′i追加到Cj中,即Cj+=c′i。
利用超定方程求得K,即k0~k5后,即可得到多項(xiàng)式曲線。延長(zhǎng)擬合曲線至裂縫框邊緣,即為大壩裂縫曲線提取結(jié)果。
圖5 不同階數(shù)多項(xiàng)式的裂縫曲線擬合結(jié)果Fig.5 Crack curve fitting results by polynomials with different orders
本文采用常用目標(biāo)檢測(cè)算法中的準(zhǔn)確率(Precision,P)、召回率(Recall,R)、P與R的加權(quán)調(diào)和平均(F1-Measure,F(xiàn)1)和各個(gè)類(lèi)別的平均準(zhǔn)確率(Average precision,AP),AP 的平均值mAP(Mean average precision)作為裂縫框、水漬框檢測(cè)和裂縫曲線提取的評(píng)價(jià)指標(biāo),計(jì)算方法如下:
(1)準(zhǔn)確率P表示預(yù)測(cè)的所有目標(biāo)中預(yù)測(cè)正確的樣本比例,其值越高越好。
(4)AP 為不同召回率上準(zhǔn)確率的平均值,mAP 為各個(gè)類(lèi)別的AP 平均值。
式中:TP(True position)表示把正樣本正確識(shí)別為正樣本的個(gè)數(shù),TN(True negative)表示把負(fù)樣本正確識(shí)別為負(fù)樣本的個(gè)數(shù),F(xiàn)P(False position)表示把負(fù)樣本錯(cuò)誤識(shí)別為正樣本的個(gè)數(shù),F(xiàn)N(False negative)表示把正樣本錯(cuò)誤識(shí)別為負(fù)樣本的個(gè)數(shù)。
3.2.1 主觀結(jié)果
圖6 為本文方法的檢測(cè)及裂縫擬合結(jié)果,其中圖6(a)為兩張無(wú)人機(jī)采集的大壩裂縫原圖像;圖6(b)為人工標(biāo)注的原圖,其中的紅色實(shí)線為專(zhuān)業(yè)技術(shù)人員標(biāo)注的裂縫曲線;圖6(c)為本文方法提取的大壩裂縫結(jié)果,其中紅色框表示檢測(cè)的裂縫框,綠色框表示檢測(cè)的水漬框,藍(lán)色曲線表示擬合出的裂縫曲線。從圖6(c)中的結(jié)果可見(jiàn),本文方法對(duì)裂縫和水漬都能進(jìn)行精確的檢測(cè),曲線擬合得到的裂縫曲線和專(zhuān)業(yè)技術(shù)人員標(biāo)注的裂縫也完全吻合,從而證明了本文方法對(duì)大壩裂縫檢測(cè)的有效性。
為了證明檢測(cè)器對(duì)裂縫提取效果的影響,把Faster R-CNN、YOLOv3 和YOLOv4 分別作為網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行模型訓(xùn)練后進(jìn)行了測(cè)試對(duì)比,圖7 為幾種通用檢測(cè)器的裂縫提取主觀效果圖,從圖7(b)可見(jiàn),F(xiàn)aster R-CNN 檢測(cè)器漏檢了很多水漬區(qū)域,并把一個(gè)裂縫檢測(cè)成兩個(gè)獨(dú)立的目標(biāo),擬合的曲線和真值的差異最大;從圖7(c)可見(jiàn),YOLOv3 檢測(cè)器的檢測(cè)框比真實(shí)裂縫大,對(duì)水漬有兩處漏檢,擬合的曲線平滑性較差;從圖7(d)可見(jiàn),本文方法不僅能夠?qū)α芽p和水漬所在區(qū)域進(jìn)行準(zhǔn)確的檢測(cè),擬合的裂縫曲線也和人工標(biāo)注的曲線完全吻合。
圖7 幾種通用檢測(cè)器的裂縫提取主觀效果對(duì)比圖Fig.7 Comparison of subjective effect of crack extraction by several general detectors
由圖6、7 的主觀效果可見(jiàn),本文提出的裂縫提取方法可以為大壩的病害檢測(cè)提供有效的定性分析。
圖6 裂縫提取主觀結(jié)果Fig.6 Subjective results of crack extraction
為了對(duì)大壩的病害風(fēng)險(xiǎn)進(jìn)行準(zhǔn)確的預(yù)警預(yù)測(cè),不僅需要在圖像中快速定位出裂縫區(qū)域,而且需要描繪出裂縫的形狀。為了驗(yàn)證各檢測(cè)器對(duì)裂縫曲線提取效果的影響,圖8 給出了裂縫曲線對(duì)比結(jié)果。從圖8 可見(jiàn),F(xiàn)aster R-CNN 檢測(cè)器和YOLOv3 檢測(cè)器都漏檢了一條裂縫,U-net 檢測(cè)器雖然沒(méi)有漏檢,但提取的裂縫有斷裂和不完整現(xiàn)象,而本文方法提取的曲線最接近裂縫曲線真值,從而可以驗(yàn)證本文方法對(duì)曲線提取的有效性。
圖8 裂縫曲線對(duì)比結(jié)果Fig.8 Comparison results of crack curves
3.2.2 客觀結(jié)果
為了驗(yàn)證本文方法對(duì)目標(biāo)檢測(cè)的客觀有效性,對(duì)所有大壩裂縫測(cè)試圖片進(jìn)行裂縫和水漬兩種目標(biāo)的檢測(cè)性能分析。表1 為幾種方法的實(shí)驗(yàn)比較結(jié)果,本文方法的F1 和mAP 值分別為0.90和0.89,比Faster R-CNN 分別高出0.14 和0.18;比YOLOv3 分別高出0.22 和0.19。表1 中的實(shí)驗(yàn)結(jié)果表明本文方法對(duì)裂縫和水漬的檢測(cè)性能明顯高于Faster R-CNN 和YOLOv3 算法。另外,為了驗(yàn)證本文方法對(duì)裂縫形狀提取的客觀有效性,表2 給出了幾種通用檢測(cè)器的裂縫提取性能和本文方法的對(duì)比結(jié)果,從表2 可見(jiàn),本文方法的F1 值分別比Faster R-CNN、YOLOv3、U-net 提升了0.31、0.05、0.07,由此可見(jiàn),本文方法提取的裂縫更準(zhǔn)確。這里需要指出的是U-net 網(wǎng)絡(luò)只對(duì)裂縫進(jìn)行了處理,即類(lèi)別個(gè)數(shù)為2,一類(lèi)是正樣本(裂縫),另一類(lèi)是負(fù)樣本(背景),并且樣本標(biāo)注是在像素級(jí)上進(jìn)行的。像素級(jí)的樣本標(biāo)注在一定程度上可以提升檢測(cè)的精度,但也為標(biāo)注工作帶來(lái)了更大的負(fù)擔(dān),并且不易于在已有的模型上進(jìn)行再訓(xùn)練和細(xì)調(diào)。盡管本文方法用矩形框?qū)δ繕?biāo)進(jìn)行了更粗粒度的樣本標(biāo)注,但在借用YOLOv4 預(yù)訓(xùn)練模型的基礎(chǔ)上還是取得了比U-net 網(wǎng)絡(luò)更好的性能。從裂縫區(qū)域和裂縫形狀的測(cè)試結(jié)果可見(jiàn),本文方法可以為大壩病害檢測(cè)提供有效的定量分析。
表1 檢測(cè)結(jié)果Table 1 Test results
表2 提取曲線的對(duì)比結(jié)果Table 2 Comparison results of extracted curves
為了提高模型的泛化能力,YOLOv4 主要采用了Cutmix[21]、Mosaic[14]和Cutmix & Mosaic 三種數(shù)據(jù)增強(qiáng)方式。Cutmix 是將訓(xùn)練集中隨機(jī)一幅圖像裁剪一部分粘貼到待增強(qiáng)圖像的感興趣區(qū)域以生成新樣本,這樣做可以使模型在訓(xùn)練過(guò)程中僅僅通過(guò)局部特征就可以對(duì)目標(biāo)進(jìn)行識(shí)別,強(qiáng)化模型對(duì)于目標(biāo)局部特征的認(rèn)知。Mosaic 是對(duì)Cutmix 的擴(kuò)展,把4 張圖像按一定比例大小組合成一張新的訓(xùn)練圖像,相當(dāng)于增加或減少訓(xùn)練過(guò)程中批處理數(shù)據(jù)的個(gè)數(shù)以降低對(duì)硬件的要求。為了測(cè)試YOLOv4各種數(shù)據(jù)增強(qiáng)方法對(duì)大壩裂縫和水漬區(qū)域檢測(cè)結(jié)果的影響,表3 列出了采用不同數(shù)據(jù)增強(qiáng)方式的目標(biāo)檢測(cè)對(duì)比結(jié)果,從表3 可見(jiàn),相對(duì)無(wú)增強(qiáng)方式,所有增強(qiáng)方式對(duì)目標(biāo)檢測(cè)的性能都有所提升,Mosaic 增強(qiáng)方式對(duì)目標(biāo)檢測(cè)的總體性能最好,不同的增強(qiáng)方式在性能上差異不大。由于采集數(shù)據(jù)的各目標(biāo)之間基本不存在遮擋現(xiàn)象,并且裂縫目標(biāo)和水漬目標(biāo)在形狀上存在很大差異,所以各增強(qiáng)方式的實(shí)際效果區(qū)別不大。
表3 采用不同數(shù)據(jù)增強(qiáng)方式的目標(biāo)檢測(cè)對(duì)比結(jié)果Table 3 Comparison results of target detection with different data enhancement methods
本文以大疆無(wú)人機(jī)采集的壩體裂縫圖像為數(shù)據(jù)集,根據(jù)大壩裂縫處具有水漬的特點(diǎn),引入了裂縫和水漬框的二目標(biāo)檢測(cè)機(jī)制,并利用裂縫和水漬的關(guān)聯(lián)關(guān)系以及幾何位置關(guān)系,進(jìn)行了裂縫區(qū)域的曲線擬合。實(shí)驗(yàn)結(jié)果表明本文方法不僅可以準(zhǔn)確地檢測(cè)圖像中的裂縫和水漬,擬合的裂縫曲線和專(zhuān)業(yè)人士標(biāo)注的真值也高度吻合。本文方法可以為毫米級(jí)的大壩病害檢測(cè)提供準(zhǔn)確的定性和定量分析,可以應(yīng)用在壩體安全的預(yù)警預(yù)測(cè)方面。