蔡志興 羅文婷 李 林
(福建農(nóng)林大學(xué)交通與土木工程學(xué)院 福建福州 350100)
近年來,公路的建設(shè)得到了快速的發(fā)展,伴隨著公路的使用,大量早期的公路逐漸進(jìn)入維護(hù)時(shí)期。高效、安全的路面病害檢測方法對公路養(yǎng)護(hù)部門的科學(xué)養(yǎng)護(hù)決策具有重要的實(shí)際意義。裂縫是最為常見的一種路面破損現(xiàn)象,若能在裂縫出現(xiàn)初期就進(jìn)行及時(shí)修補(bǔ),那么不僅能確保行車的安全,還可以延長公路的使用壽命。傳統(tǒng)的人工裂縫檢查受主觀性的影響,誤差較大且效率低下,與人工檢測相比基于圖像處理的路面裂縫自動化識別更加客觀、準(zhǔn)確,是當(dāng)今路面病害檢測的主流手段。
在過去二十年中,國內(nèi)外研究人員提出了許多路面裂縫檢測的算法,這些算法大致可分為兩類:①基于傳統(tǒng)圖像處理的方法;②基于機(jī)器學(xué)習(xí)的方法。
常用的傳統(tǒng)圖像處理方法有如下:閾值分割法,該方法通過設(shè)置全局或局部閾值來檢測裂縫[1];邊緣檢測法,該方法通過檢測算子來定位邊緣像素[2];小波變換法,該方法將原始數(shù)據(jù)分解到不同頻率帶,再從高頻帶中提取裂縫;基于形態(tài)學(xué)的方法利用裂縫之間的連通性來檢測裂縫。
基于機(jī)器學(xué)習(xí)的方法主要包括以下:基于支持向量機(jī)的方法,該方法首先將原始圖像切割為多個(gè)子圖像,之后根據(jù)所選的特征將子圖像分類為含裂縫子塊及不含裂縫子塊;基于隨機(jī)結(jié)構(gòu)森林的方法,該方法利用圖像中的結(jié)構(gòu)信息來檢測裂縫;基于圖像分割的方法,通過對圖像中每個(gè)像素進(jìn)行分類來找到裂縫,常用的架構(gòu)有FCN以及U-Net,該類方法若想應(yīng)用于復(fù)雜路面裂縫檢測任務(wù)上,其精度還有待提高。
本研究首先采用DHDV多功能檢測車對路面數(shù)據(jù)進(jìn)行采集,之后對所采集的圖像數(shù)據(jù)做像素級標(biāo)注以供檢測模型訓(xùn)練。本文還對原始圖像做了預(yù)處理,其中包括灰度化及歸一化,以此來達(dá)到降低計(jì)算量及提升后續(xù)識別模型收斂速度的目的。在裂縫識別階段,本文構(gòu)建了一個(gè)名為Crack U-Net的模型,該模型包含兩個(gè)部分:收縮路徑及擴(kuò)張路徑,其中收縮路徑用來提取上下文信息,擴(kuò)張路徑則用于定位出目標(biāo)的位置。本文還將注意力機(jī)制模塊嵌套到模型中以此來提升模型識別精度,通過該模型能夠?qū)崿F(xiàn)對圖像數(shù)據(jù)的逐像素分類。
本研究所采用的DHDV多功能檢測車是由WAYLINK公司、俄克拉何馬州立大學(xué)及阿肯色大學(xué)聯(lián)合開發(fā)的。DHDV上配有PaveVision3D傳感器,該傳感器在垂直方向上所采集到的表面紋理數(shù)據(jù)精度可達(dá)0.3mm,縱向方向上數(shù)據(jù)精度可達(dá)1mm。高功率的激光投影系統(tǒng)與定制的光學(xué)濾波器相結(jié)合使得DHDV在不同光照條件下都能保持高質(zhì)量地采集圖像數(shù)據(jù),且該檢測車速度可達(dá)100km/h,采集覆蓋范圍可達(dá)4m寬,能夠快速地完成車道數(shù)據(jù)采集。
圖像數(shù)據(jù)采集完畢后,本文首先對所采集的圖像數(shù)據(jù)進(jìn)行手工逐像素標(biāo)注,以作為模型訓(xùn)練的標(biāo)簽,原始圖像及標(biāo)簽圖像如圖1所示。所采集的原始圖像數(shù)據(jù)分辨率為2048×4096,為了在不損失圖像數(shù)據(jù)質(zhì)量的情況下盡可能減少后續(xù)識別模型的計(jì)算開銷,本文以尺寸大小為512×512的包圍盒對原始圖像數(shù)據(jù)進(jìn)行切割,經(jīng)切割后數(shù)據(jù)庫的圖像數(shù)據(jù)共包含18080張。最后本文按8:2的比例將圖像數(shù)據(jù)分為訓(xùn)練集和測試集。
圖1 訓(xùn)練樣本示例
圖像預(yù)處理的主要目的在于抑止圖像中的噪聲,增強(qiáng)目標(biāo)信息的可檢測性以及最大限度地簡化數(shù)據(jù),提高后續(xù)處理的速度。本研究中,首先對圖像做灰度化處理,以達(dá)到降低計(jì)算量的目的,具體計(jì)算過程如式(1)所示;之后對圖像做歸一化處理,以提升后續(xù)裂縫識別模型的收斂速度,具體計(jì)算過程如式(2)所示。
其中:R(i,j)、G(i,j)、B(i,j)分別表示三種通道在(i,j)處的像素值;f(i,j)表示在(i,j)的灰度值。
其中:x(i,j)表示在(i,j)處的像素值;min(x)表示圖像中的最小像素值;max(x)表示圖像中的最大像素值;X(i,j)表示(i,j)處歸一化后的像素值。
卷積神經(jīng)網(wǎng)絡(luò)(CNN)是多層感知機(jī)的變種,是具有深度結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡(luò)。目前CNN架構(gòu)被廣泛應(yīng)用于分類任務(wù),其輸出值為任務(wù)的單個(gè)類別標(biāo)簽。一個(gè)常規(guī)的CNN架構(gòu)由卷積層、池化層及全連接層組成。卷積層能夠提取出圖像的特征,每經(jīng)過一次卷積操作就會產(chǎn)生一個(gè)特征圖;池化層則用來對圖像進(jìn)行下采樣(通常選用最大池化),以達(dá)到減少數(shù)據(jù)處理量及保留下有用信息的目的;最后通過全連接層來確定最終分類結(jié)果,卷積層及池化層的運(yùn)算過程如圖2所示。該層次結(jié)構(gòu)能夠自動學(xué)習(xí)多層次的不變特征。
CNN架構(gòu)與傳統(tǒng)的僅由全連接層組成的深度神經(jīng)網(wǎng)絡(luò)相比,其優(yōu)點(diǎn)在于CNN架構(gòu)具有相對較少的學(xué)習(xí)參數(shù),且卷積層能夠使得CNN架構(gòu)具有從圖像數(shù)據(jù)中捕獲復(fù)雜特征的能力?;贑NN提出的模型架構(gòu)在圖像識別性能方面已大幅度超越傳統(tǒng)方法。
圖2 卷積層及池化層的計(jì)算過程
卷積神經(jīng)網(wǎng)絡(luò)具有強(qiáng)大的特征提取能力,是解決計(jì)算機(jī)視覺任務(wù)的優(yōu)秀技術(shù)。卷積神經(jīng)網(wǎng)絡(luò)模型層數(shù)越多,越能提取到豐富的特征信息,但加大深度的同時(shí)也會使得模型難以訓(xùn)練。與其盲目地增加網(wǎng)絡(luò)深度,不如對不同卷積核所提取出的特征進(jìn)行合理的權(quán)重分配。
眾所周知,注意力在人類視覺感知中扮演著重要的角色。人類視覺系統(tǒng)的一個(gè)重要特性是有選擇性地聚焦于部分顯著特征,以便更好的捕捉信息的視覺結(jié)構(gòu)。近年來,許多研究者將注意力機(jī)制模塊嵌套在卷積神經(jīng)網(wǎng)絡(luò)模型中來改善大規(guī)模視覺任務(wù)的性能。本研究中選用Squeezeand-Excitation(SE)模塊來進(jìn)一步處理由不同卷積核所提取出的特征,SE模塊中首先采用全局平均池化來進(jìn)行特征壓縮,之后通過參數(shù)W來為每個(gè)特征通道生成權(quán)重,最后將權(quán)重與原始特征圖相乘得到更新后的特征圖。其計(jì)算過程如式(3)~式(5)所示,流程如圖3所示。
其中:W和H代表特征圖中寬和高;C代表通道數(shù);uc(i,j)代表特征圖中的值;Fsq(uc)代表c通道處特征圖中值的全局平均池化結(jié)果;W1和W2代表可供學(xué)習(xí)的參數(shù);Fex(z,W)是W1和W2作用于Fsq(uc)生成的一個(gè)尺寸為1×1×C,值范圍在0~1的權(quán)重值;Fscale(uc,Sc)代表Fex(z,W)權(quán)重值與原始特征圖的乘積;δ代表ReLU操作;σ代表sigmoid激活函數(shù)。
圖3 SE模塊計(jì)算流程
在許多視覺任務(wù)中,輸出應(yīng)包含定位,每個(gè)像素都應(yīng)該有其各自的類別標(biāo)簽,路面裂縫識別就屬于這類任務(wù)。為解決此類基于像素級的分類問題,U-Net模型被提出。該模型由收縮路徑及擴(kuò)張路徑組成,其中收縮路徑用來提取上下文信息,擴(kuò)張路徑則用于定位,收縮路徑與擴(kuò)張路徑相互對稱,呈U形結(jié)構(gòu)。模型中最大的特點(diǎn)在于采用卷積取代全連接層,該策略使得模型能夠以任意尺寸的圖片作為輸入,且輸出為每一個(gè)像素所屬的類別,輸入與輸出形成端到端的網(wǎng)絡(luò)架構(gòu)。為防止局部信息丟失,該模型會將收縮路徑中每一層所提取的特征向量傳遞到對應(yīng)的擴(kuò)張路徑中。本文在U-Net基礎(chǔ)上添加了注意力機(jī)制模塊,以此來提升模型的識別精度,其中Crack U-Net模型架構(gòu)如圖4所示。
本文中實(shí)驗(yàn)運(yùn)行在Ubuntu 18.04.2 LTS操作系統(tǒng)上,使用的GPU為NVIDIA GTX 2080TI,采用的深度學(xué)習(xí)框架為Tensorflow。模型的訓(xùn)練方式采用批量訓(xùn)練,其中每一批包含四張圖像數(shù)據(jù);訓(xùn)練迭代次數(shù)設(shè)定為300次,初始學(xué)習(xí)率設(shè)定為1×10-5,每迭代100次后將學(xué)習(xí)率減少為原來的0.1倍;以交叉熵作為損失函數(shù),其公式如式(6)所示,并采用Adam對損失函數(shù)進(jìn)行迭代優(yōu)化,加快模型收斂速度;此外,每訓(xùn)練10輪,隨機(jī)從訓(xùn)練樣本中抽取10%作為驗(yàn)證數(shù)據(jù),以此來動態(tài)觀察模型識別性能,訓(xùn)練過程中的損失函數(shù)變換情況如圖5所示。
圖4 Crack U-Net架構(gòu)
其中:x表示輸入;p表示實(shí)際的標(biāo)簽值;q表示預(yù)測值;H(p,q)表示交叉熵。
圖5 損失值(Loss)變換情況
為檢驗(yàn)Crack U-Net的識別性能,本文首先隨機(jī)挑選了100張分辨率為512×512的圖像數(shù)據(jù)以作為測試數(shù)據(jù),之后對比基于閾值的方法、Canny邊緣檢測方法、基于FCN的方法及Crack U-Net的識別結(jié)果,從定量及定性兩個(gè)角度做出分析,比較四種識別方法性能的優(yōu)劣。圖6的定性比較結(jié)果可看出:Ostu閾值分割法及Canny邊緣檢測法的檢測結(jié)果伴隨著大量冗余信息,F(xiàn)CN對于標(biāo)線的抗噪性較差,Crack U-Net能精細(xì)且準(zhǔn)確地識別出裂縫。在定量分析時(shí),本文采用準(zhǔn)確率(P)、召回率(R)及F值作為評價(jià)指標(biāo),其中P、R及F值的計(jì)算公式如式(7)~式(9)所示。從計(jì)算結(jié)果表1可看出:Crack U-Net有最高的P、R及F值,F(xiàn)CN次之,Canny邊緣檢測與Ostu閾值分割兩種方法容易將非實(shí)際裂縫像素錯(cuò)誤地識別為裂縫目標(biāo),導(dǎo)致準(zhǔn)確率非常低(不足5%)。
其中:NTP代表被正確識別出來的裂縫區(qū)域像素的數(shù)量;NFP代表被誤判為裂縫像素的數(shù)量;NFN代表屬于裂縫像素但未被識別出來的像素的數(shù)量。
表1 不同識別方法的P、R和F值
(1)針對現(xiàn)有路面裂縫自動化識別研究中存在的問題,本文提出了Crack U-Net模型,實(shí)現(xiàn)了路面裂縫的自動化識別。
(2)利用DHDV自動采集二維激光圖像數(shù)據(jù),并對圖像數(shù)據(jù)進(jìn)行灰度化及歸一化處理,構(gòu)建訓(xùn)練庫以供模型訓(xùn)練。
(3)將本文所提的方法與Canny邊緣檢測、Ostu閾值分割以及FCN相比較,結(jié)果表明:本文所提出的方法精度較高,能夠完整且準(zhǔn)確地檢測出路面裂縫。
圖6 四種不同算法的識別結(jié)果
(4)本文所提出基于二維激光圖像數(shù)據(jù)的路面裂縫自動識別方法,對公路養(yǎng)護(hù)部門的科學(xué)養(yǎng)護(hù)決策具有重要實(shí)際意義。