王占飛,李明陽,李保險,李 崢,王樂群
(1.沈陽建筑大學(xué)交通與測繪工程學(xué)院,遼寧 沈陽 110168;2.中建二局第四建筑工程有限公司,天津 300457)
隨著基礎(chǔ)設(shè)施建設(shè)的加快,我國橋梁總量穩(wěn)居世界第一[1],但伴隨使用時間的增加,梁體表面出現(xiàn)了各類破損和病害,因此,及時檢測出損害位置并進行適當(dāng)加固修復(fù)是目前亟需解決的問題。據(jù)統(tǒng)計,我國公路危橋中,超過90%的病害是由裂縫導(dǎo)致的。
隨著深度學(xué)習(xí)理論[2]的飛速發(fā)展,在眾多領(lǐng)域中取得了重大成果。與人工檢測相比,深度學(xué)習(xí)技術(shù)應(yīng)用于橋梁檢測[3]中,擁有更高的效率和安全性。為此,國內(nèi)外學(xué)者開展了大量研究。賀志勇等[4]使用搭載高清攝像頭的無人機采集橋梁底面裂縫圖像,利用八方向的Sobel算子對圖像進行邊緣檢測,將圖像進行形態(tài)學(xué)開運算去除噪點,得到了較清晰的二值圖像,最后構(gòu)造了BP神經(jīng)網(wǎng)絡(luò)對裂縫進行識別分類。Y.J.Cha等[5]將CNN與滑動窗口結(jié)合進行裂縫檢測,減少了由于圖像切割對裂縫的影響,對裂縫進行了分類。王森等[6]將全卷積神經(jīng)網(wǎng)絡(luò)FCN引入到圖像裂紋檢測中,構(gòu)建了一種Crack FCN模型,實現(xiàn)了目標(biāo)的裂紋檢測。這些方法都能夠?qū)α芽p進行識別和分類,但識別準(zhǔn)確率仍有提高空間且未對裂縫做出定量測量。鑒于此,筆者提出將Resnet網(wǎng)絡(luò)應(yīng)用于混凝土橋梁裂縫檢測中,通過輸入多種復(fù)雜環(huán)境下的裂縫圖像對網(wǎng)絡(luò)進行訓(xùn)練和測試,以更高的準(zhǔn)確率對裂縫進行識別和分類;對圖像處理、圖像分割技術(shù)展開研究,以此為理論基礎(chǔ),基于Matlab開發(fā)了《橋梁裂縫測量系統(tǒng)》,通過統(tǒng)計裂縫輪廓處的像素點個數(shù),對裂縫進行定量測量,并評估了裂縫圖像在不同拍攝高度及角度下測量精確度,為在役混凝土橋梁健康評估提供參考指標(biāo)。
在開源數(shù)據(jù)庫中[7]獲取2 000張橋梁裂縫圖像,像素為1 024×1 024,由于數(shù)量較少,應(yīng)進行數(shù)據(jù)擴充。首先,將其分割為像素256×256的圖像,擴充后共32 000張圖像,包含帶有裂縫的裂縫圖像和不帶有裂縫的背景圖像。然后,從中選出12 000張裂縫圖像組成裂縫數(shù)據(jù)集及19 500張背景圖像組成背景數(shù)據(jù)集,如圖1所示。最后,從兩個數(shù)據(jù)集中隨機選出80%的圖像作為訓(xùn)練樣本,其余20%作為測試樣本,如表1所示。
表1 訓(xùn)練和測試樣本量
圖1 數(shù)據(jù)集的組建
由于圖像的拍攝環(huán)境受到陽光、陰影、雨
水等情況的影響,所得圖像中包含一部分成像質(zhì)量較低的圖像。圖2(a)為光照不足時所得圖像,圖2(b)為表面存在水漬的情況。為了提升圖像質(zhì)量,需要對圖像進行預(yù)處理。
圖2 圖像數(shù)據(jù)中存在的缺陷
為突出裂縫邊緣細節(jié),采用Bilateral濾波[8]進行裂縫輪廓銳化,效果如圖3所示(局部裂縫位置放大8倍)。Bilateral濾波既可以銳化裂縫細節(jié)、突出裂縫特征,又可以減輕因雨水、污漬等因素對圖像的影響。
圖3 Bilateral濾波效果對比
將RGB彩色圖轉(zhuǎn)換為灰度圖(Graying)[9],可大幅減少后續(xù)計算量和計算時間。若將圖像中的任意像素點定義為(i,j),此處的灰度值為Gray(i,j),則3個顏色通道對應(yīng)的值分別為B(i,j),R(i,j),G(i,j)。由于圖像的拍攝受到周邊環(huán)境的影響,故對RGB三原色分量進行合適的加權(quán)平均[10],即可得到最合理的灰度圖像,即:
Gray(i,j)=0.114B(i,j)+0.299R(i,j)+0.587G(i,j).
(1)
為進一步減輕因光照不足導(dǎo)致裂縫不突出的問題,將Bilateral濾波處理的圖像灰度化后再進行對比度增強處理(Contrast enhancement)。若將圖像任意點像素定義為x(i,j),那么以此點為中心,在窗口大小為(2n+1)×(2n+1)的區(qū)域內(nèi),其局部均值和方差可表示如下:
(2)
(3)
f(i,j)=mx(i,j)+G(i,j)[x(i,j)-mx(i,j)].
(4)
其中,f(i,j)為增益后的值。對于增益G,這里取大于1的常數(shù)C,達到增強的效果,即:
f(i,j)=mx(i,j)+C[x(i,j)-mx(i,j)].
(5)
處理效果如圖4(c)所示。
圖4 增強效果對比
將所有數(shù)據(jù)進行Bilateral濾波、灰度化和圖像增強處理后,裂縫輪廓更加清晰,光照條件不足等情況有所改善,命名本預(yù)處理方法為雙邊濾波-灰度化-對比度增強(Bilateral-Graying-Contrast enhancement,BGC),預(yù)處理后的數(shù)據(jù)分配如表2所示,進行后續(xù)的訓(xùn)練和測試。
表2 原圖與預(yù)處理后的數(shù)據(jù)集
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)[11-12]是由具有權(quán)重(Weights)、偏置(Bias)和激活函數(shù)的人工神經(jīng)元構(gòu)成的,接入若干個輸入的函數(shù)并輸出它們的加權(quán)和。其中有以下幾個基礎(chǔ)性操作,分別為卷積、激活、池化和全連接,最后通過Softmax得到識別分類結(jié)果,如圖5所示。
圖5 卷積神經(jīng)網(wǎng)絡(luò)框架
VGG網(wǎng)絡(luò)[13]通過反復(fù)堆疊3×3的小型卷積核和2×2的最大池化層,卷積層步長被設(shè)置為1,構(gòu)筑了16層的網(wǎng)絡(luò)模型。VGG網(wǎng)絡(luò)的結(jié)構(gòu)非常簡潔,但參數(shù)量較大,筆者使用傳統(tǒng)VGG網(wǎng)絡(luò)作為對比試驗,網(wǎng)絡(luò)結(jié)構(gòu)如圖6所示。
圖6 VGG網(wǎng)絡(luò)結(jié)構(gòu)圖
Resnet網(wǎng)絡(luò)[14]也是卷積神經(jīng)網(wǎng)絡(luò)模型的一種。隨著網(wǎng)絡(luò)越深,映射越難擬合,稱為退化現(xiàn)象。Resnet網(wǎng)絡(luò)的提出就是為了解決這種退化問題,通過短路機制加入了殘差單元,殘差網(wǎng)絡(luò)原理如圖7所示。
將神經(jīng)網(wǎng)絡(luò)單元內(nèi)要擬合的函數(shù)拆成直接映射部分和殘差部分,即y=F(x)+x。其中,F(xiàn)(x)為殘差函數(shù),x為映射部分。圖7(a)中,將x直接映射成為y=F(x)輸出,而圖7(b)中,將x映射為y,再將y-x輸出為F(x),此時網(wǎng)絡(luò)學(xué)習(xí)的是y-x,并不直接輸出y,因殘差較小,學(xué)習(xí)殘差項更加容易。圖7(b)的結(jié)構(gòu)是殘差網(wǎng)絡(luò)的基礎(chǔ),也叫做殘差塊(Residual block)[15]。殘差網(wǎng)絡(luò)可以更快地向前傳播數(shù)據(jù)或向后傳播梯度,筆者應(yīng)用Resnet網(wǎng)絡(luò)作為試驗網(wǎng)絡(luò)對裂縫圖像進行識別分類,網(wǎng)絡(luò)結(jié)構(gòu)如圖8所示。
圖7 殘差網(wǎng)絡(luò)原理
圖8 Resnet網(wǎng)絡(luò)結(jié)構(gòu)圖
3.4.1 試驗過程及結(jié)果
首先,將訓(xùn)練樣本和BGC處理后的訓(xùn)練樣本分別用VGG網(wǎng)絡(luò)和Resnet網(wǎng)絡(luò)進行訓(xùn)練,得到訓(xùn)練好的模型。然后,同樣將測試樣本和BGC處理后的測試樣本分別輸入到兩個已經(jīng)訓(xùn)練好的模型中進行測試。最后,統(tǒng)計試驗結(jié)果,如表3及圖9、圖10所示。
表3 VGG與Resnet輸出結(jié)果對比
圖9 VGG網(wǎng)絡(luò)測試準(zhǔn)確率及損失值
圖10 Resnet網(wǎng)絡(luò)測試準(zhǔn)確率及損失值
3.4.2 結(jié)果分析
(1)預(yù)處理對準(zhǔn)確率的影響如表4所示。筆者提出的BGC預(yù)處理方法對比原圖在不同網(wǎng)絡(luò)下的準(zhǔn)確率均有提高,可見在數(shù)據(jù)量巨大的裂縫識別分類中,對圖像的預(yù)處理是有必要的,且筆者提出的預(yù)處理方法效果較好。
表4 預(yù)處理前后的準(zhǔn)確率對比
(2)不同網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)設(shè)置對模型性能的影響如表5所示。相比于傳統(tǒng)VGG網(wǎng)絡(luò),Resnet網(wǎng)絡(luò)擁有獨特的殘差單元,通過跨層連接的方式,減少冗余特征的學(xué)習(xí)且可以使網(wǎng)絡(luò)很深,提高了裂縫識別的準(zhǔn)確率。
表5 不同網(wǎng)絡(luò)準(zhǔn)確率的對比
根據(jù)《城市橋梁檢測與評定技術(shù)規(guī)范》要求,當(dāng)裂縫超過0.25 mm,就必須進行修復(fù)加固。為了對裂縫進行測量,筆者基于Matlab語言開發(fā)了《橋梁裂縫測量系統(tǒng)》。
4.1.1 像素標(biāo)定
固定相機分辨率,在目標(biāo)平面法線方向上一定距離進行拍攝,根據(jù)已經(jīng)確定物理寬度的目標(biāo)平面與其所拍攝的像素大小,獲得像素標(biāo)定值(單位像素的實際寬度),即:
K=D/d.
(6)
式中:K為標(biāo)定值;D為平面固定寬度,mm;d為圖像的像素大小。
4.1.2 裂縫物理值轉(zhuǎn)換
圖像數(shù)據(jù)上測得的裂縫像素統(tǒng)計值需要轉(zhuǎn)換為實際物理值,即:
W=K×p.
(7)
式中:K為標(biāo)定值;p為像素點個數(shù)。
首先,對圖像進行直方圖均衡化[16]、Median濾波[17]和對比度增強操作,如圖11所示。分割出裂縫輪廓[18],并進行二值化[19]處理(Image Binarization),如圖12(a)所示。然后,二值圖像會存在較多噪點,影響裂縫部位的像素點統(tǒng)計,對二值圖像再次進行濾波可消除多數(shù)噪點,如圖12(b)所示。但混凝土表面可能存在難以消除的大塊噪點,如圖12(b)中線框內(nèi)所示,通過只顯示裂縫連通區(qū)域的輪廓,屏蔽大塊噪點的方法,可更精準(zhǔn)地提取裂縫輪廓,即圖12(c)中裂縫判定。最后,對裂縫位置進行綠框標(biāo)記,如圖12(d)所示,并自動計算各項像素統(tǒng)計值信息。
圖11 裂縫輪廓分割
圖12 裂縫精準(zhǔn)提取
在實際情況下,使用無人機或攝像機拍攝時,可能會產(chǎn)生距離浮動和傾斜角偏差,筆者有意采集不同拍攝高度及其30°偏角下的裂縫圖像,對系統(tǒng)的測量精度進行驗證。所使用的相機參數(shù):1 200萬像素,五倍光學(xué)變焦,拍攝圖像的像素大小為3 024×3 024。取景框內(nèi)對應(yīng)的實際長度為105 mm,則標(biāo)定值K為0.034 7,如圖13所示。
圖13 像素標(biāo)定
首先,任選5處裂縫,分別在距離目標(biāo)平面0.5 m、1.5 m和2.5 m及與之對應(yīng)偏角30°的條件下進行拍攝(拍攝時讓裂縫位置始終固定在取景框內(nèi),隨著距離變遠,放大圖像使裂縫位置在取景框內(nèi)保持不變),每處不同條件下拍攝所得圖像命名為1組(共5組)。然后,將圖像輸入到系統(tǒng),計算裂縫的像素統(tǒng)計值并轉(zhuǎn)換為物理值。最后,通過對比計算的物理值與儀器測得的實際物理值差異,評估本系統(tǒng)在實際情況下的測量精度,參與測量的圖像如圖14所示,測量結(jié)果如表6~表10所示,統(tǒng)計結(jié)果精度對比如圖15所示。
圖14 不同高度及角度下的圖像
表6 1組位置
表7 2組位置
表8 3組位置
表9 4組位置
表10 5組位置
圖15 統(tǒng)計結(jié)果精度對比
由統(tǒng)計結(jié)果可知,本系統(tǒng)測得的裂縫平均最大寬度、平均長度及平均面積的測量精度均在90.14%以上,最高精度可達96.9%,系統(tǒng)的測量精度較高,可滿足實際工程需要。
(1)以傳統(tǒng)VGG網(wǎng)絡(luò)作為對比試驗;試驗表明:Resnet網(wǎng)絡(luò)對比VGG網(wǎng)絡(luò)識別的準(zhǔn)確率在BGC測試集中,準(zhǔn)確率大幅提高31.3%,優(yōu)勢明顯。
(2)筆者提出了BGC預(yù)處理方法,經(jīng)過實際驗證,VGG網(wǎng)絡(luò)測試集準(zhǔn)確率提高4.99%,Resnet網(wǎng)絡(luò)測試集準(zhǔn)確率提高2.29%,可見筆者提出的預(yù)處理方式效果較好。
(3)針對裂縫的定量測量,開發(fā)了裂縫測量系統(tǒng)對裂縫進行量化分析;為適應(yīng)實際拍攝情況,客觀評估了不同拍攝高度及角度下的測量精度;通過計算,平均精度在90.14%以上,最高可達96.9%,可滿足工程需求。