陳涵深,姚明海,瞿心昱
基于U型全卷積神經(jīng)網(wǎng)絡(luò)的路面裂縫檢測
陳涵深1,2,姚明海1*,瞿心昱2
1浙江工業(yè)大學(xué)信息工程學(xué)院,浙江 杭州 310023;2浙江交通職業(yè)技術(shù)學(xué)院,浙江 杭州 311112
路面裂縫檢測是道路運營和維護(hù)的一項重要工作,由于裂縫沒有固定形狀而且紋理特征受光照影響大,基于圖像的精確裂縫檢測是一項巨大的挑戰(zhàn)。本文針對裂縫圖像的特點,提出了一種U型結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡(luò)UCrackNet。首先在跳躍連接中加入Dropout層來提高網(wǎng)絡(luò)的泛化能力;其次,針對上采樣中容易產(chǎn)生邊緣輪廓失真的問題,采用池化索引對圖像邊界特征進(jìn)行高保真恢復(fù);最后,為了更好地提取局部細(xì)節(jié)和全局上下文信息,采用不同擴張系數(shù)的空洞卷積密集連接來實現(xiàn)感受野的均衡,同時嵌入多層輸出融合來進(jìn)一步提升模型的檢測精度。在公開的道路裂縫數(shù)據(jù)集CrackTree206和AIMCrack上測試表明,該算法能有效地檢測出路面裂縫,并且具有一定的魯棒性。
裂縫檢測;卷積神經(jīng)網(wǎng)絡(luò);UCrackNet;感受野
近年來,隨著國民經(jīng)濟發(fā)展的日新月異,公路交通事業(yè)得到了快速的發(fā)展,截止2019年中旬,我國交通公路總里程數(shù)為484.65萬公里[1],已躍居世界第一。公路日常養(yǎng)護(hù)問題變得日益突出,及時發(fā)現(xiàn)和維護(hù)受損路面可以極大地節(jié)約公路養(yǎng)護(hù)成本,同時,隨著我國全國機動車保有量增加,因交通道路維護(hù)不及時,交通路面的凹坑、坑井以及塌陷等異常情況會直接影響到交通效率和行車安全[2]。因此,為了更好地保障道路性能和安全,對路面缺陷進(jìn)行快速、準(zhǔn)確的分析和評估已經(jīng)成為當(dāng)務(wù)之急。
裂縫是一種最常見的路面缺陷類型[3],基于視覺的自動檢測裂縫已成為研究的熱點。目前基于視覺的裂縫檢測方法大致可分為傳統(tǒng)圖像處理方法和深度學(xué)習(xí)方法,其中傳統(tǒng)圖像處理方法主要通過分析裂縫的圖像特征[4-5],如紋理、邊緣和對比度等,通過人為地設(shè)計分割和提取的依據(jù),能夠在特定的數(shù)據(jù)集上取得良好的檢測效果。深度學(xué)習(xí)方法已經(jīng)在多個視覺應(yīng)用場合表現(xiàn)出卓越的性能,研究者對基于深度學(xué)習(xí)的圖像裂縫檢測也展開了廣泛的研究,提出的方法根據(jù)任務(wù)類型不同大致可分為三類:1) 圖像分類方法[6-7],判斷采集的圖像中是否存在裂縫;2) 目標(biāo)檢測方法[8-9],定位裂縫在圖像的位置;3)像素級(pixel-level)預(yù)測方法[10-11],能夠?qū)D中的每一個像素都得到一個對應(yīng)的分類結(jié)果。前兩種算法能夠在路面圖像中定位裂縫,但無法逐像素檢測裂縫,而像素級預(yù)測方法可以獲得裂縫的幾何特征,例如形狀、方向、長度和寬度,這對于準(zhǔn)確評估路面狀況并做出路面維護(hù)決策至關(guān)重要。
在實際場景中,像素級的裂縫檢測和自然圖像的語義分割區(qū)別較大,主要體現(xiàn)在以下三點:1) 對比常見的語義分割圖像,裂縫沒有固定的形狀并且常常存在極端的長寬比;2) 前景圖像和背景圖像的像素比極度不均衡;3) 目前公開的數(shù)據(jù)集規(guī)模均較小,可訓(xùn)練的標(biāo)注圖像較為有限。因此,盡管一些語義分割模型在自然圖像的應(yīng)用場景下具有出色的整體性能,但應(yīng)用在裂縫檢測時效果并不一定好。比如目前比較流行的語義分割模型DeepLab v3+[12],在編碼器(encoder)下采樣4倍后,會有一個分支連接到解碼器(decoder)部分,而解碼器的輸出前會有一個直接4倍雙線性插值操作,即輸入到輸出有一個4倍下采樣和4倍上采樣操作。如果一個目標(biāo)物的長度或者寬度小于4個像素,即便在特征提取的下采樣過程中保留了完整的細(xì)節(jié),直接4倍雙線性插值也是不能恢復(fù)小于4個像素的空間信息,而裂紋在圖像中的寬度有時會小于4個像素。因此,將DeepLab v3+直接應(yīng)用到裂縫檢測,識別效果并不出色,但該網(wǎng)絡(luò)的一些設(shè)計思想,如多尺度信息的捕獲和融合,對裂縫檢測的網(wǎng)絡(luò)模型設(shè)計具有一定的參考價值。
本文主要關(guān)注基于U型卷積神經(jīng)網(wǎng)絡(luò)的模型設(shè)計,對提高像素級裂縫檢測的性能展開研究。由于路面狀況復(fù)雜,很難找到對所有不同路面均有效的特征提取方法,室外環(huán)境下的像素級裂縫檢測仍然是一個挑戰(zhàn)。為了使神經(jīng)網(wǎng)絡(luò)具備強大的特征表示能力,目前已經(jīng)提出了幾種多尺度和多層級特征提取的裂縫檢測方法[13-14],這些方法均使用特征金字塔模塊作為多尺度特征提取器,在多種分辨率條件下捕獲豐富的上下文信息。此外,Mei等人[15]使用密集連接(densely connected)的卷積神經(jīng)網(wǎng)絡(luò)來實現(xiàn)裂縫檢測,并引入了像素之間連通性的損失函數(shù),以克服反卷積層輸出中存在的裂縫分散問題。Fei等人[16]提出了一種用于3D瀝青路面裂縫檢測的CrackNet-V高效深度神經(jīng)網(wǎng)絡(luò),CrackNet-V建立在先前的CrackNet[17]工作基礎(chǔ)上,使用多個小卷積核(3×3)的卷積層來增加網(wǎng)絡(luò)結(jié)構(gòu)的深度,以此在不增加額外參數(shù)的基礎(chǔ)上提高準(zhǔn)確性和計算效率。因上述研究使用不同的裂縫數(shù)據(jù)集或者同數(shù)據(jù)集不同評估方法進(jìn)行實驗,故無法直接對比其實際效果。
本文借鑒了最新語義分割模型的設(shè)計思路,針對裂縫圖像的特點,提出一種有效的基于U型全卷積神經(jīng)網(wǎng)絡(luò)的裂縫檢測模型,這里稱為UCrackNet,用于挖掘更多有利于裂縫分割的特征信息,從而提高分割精度和泛化能力,所提出的方法具有以下優(yōu)點:
1) 在模型中同時引入跳躍連接和池化索引,減少下采樣和上采樣過程中的特征丟失,從而改善邊緣輪廓的檢測效果;
2) 考慮裂縫沒有固定的形狀并且常常展現(xiàn)出極端的長寬比,使用不同擴張系數(shù)的空洞卷積密集連接來改善網(wǎng)絡(luò)的感受野,使其在檢測中既關(guān)注細(xì)節(jié)又能充分利用上下文信息;
3) 為了進(jìn)一步提升對不同尺度物體的分割魯棒性,在解碼器部分采用多層輸出融合技術(shù),該方法能更好的學(xué)習(xí)來自于不同層次的卷積特征信息。
基于深度學(xué)習(xí)的像素級裂縫檢測通常分為三步:1) 通過圖像傳感器獲取道路圖像,提取感興趣區(qū)域(region of interest,ROI),減少不相關(guān)物體的干擾;2) 圖像預(yù)處理,為了減輕檢測模型對計算資源的要求,使用滑動窗口在ROI圖像截取圖像塊,然后在輸入分割模型之前,對其進(jìn)行簡單的歸一化預(yù)處理,即把輸入圖像減去每個通道的均值,再除以128。考慮卷積神經(jīng)網(wǎng)絡(luò)具有較強的擬合能力,本文未使用對比度均衡、伽馬校正等圖像預(yù)增強技術(shù);3) 圖像分割,使用分割模型對圖像中的每一個像素都進(jìn)行一個對應(yīng)的分類輸出,最終通過合并圖像塊的預(yù)測結(jié)果得到整個路面裂縫區(qū)域。由于前兩步驟比較簡單,本文著重介紹第三步驟。
圖1 UCrackNet模型結(jié)構(gòu)圖
U-Net[18]是一種經(jīng)典的U型結(jié)構(gòu)全卷積神經(jīng)網(wǎng)絡(luò),在小樣本的眼底視網(wǎng)膜分割、細(xì)胞分割等應(yīng)用場景中獲得了非常優(yōu)秀的結(jié)果。本文借鑒了U-Net網(wǎng)絡(luò)的對稱式設(shè)計思路,提出一種U型結(jié)構(gòu)的全卷積神經(jīng)網(wǎng)絡(luò)UCrackNet,全卷積神經(jīng)網(wǎng)絡(luò)由于沒有全連接層,能夠保留一定的上下文特征和空間信息。UCrackNet的模型結(jié)構(gòu)如圖1所示,它由編碼器、橋接單元(bridge block)和解碼器三部分組成。
考慮到VGG-16[19]在很多項任務(wù)上均比VGG-13展現(xiàn)出更好的性能,同時VGG-16相對于VGG-13具有更深的網(wǎng)絡(luò)深度和更強非線性擬合的能力,本文將VGG-16作為UCrackNet編碼器的基礎(chǔ)結(jié)構(gòu)(backbone)。U-Net橋接部分是由兩個1024通道3×3卷積組成,而本文使用的是多個密集連接的空洞卷積,具體介紹詳見2.4小節(jié)。模型的解碼器部分采用編碼器類似結(jié)構(gòu)的對稱設(shè)計,其中VGG-16中的池化層更換成上采樣層,最終輸出像素級的預(yù)測結(jié)果。
UCrackNet也采用了U-Net結(jié)構(gòu)中跳躍連接方式(skip connection),在最大池化和反卷積之間引入直連方式,能夠把某些特征從編碼器中直接傳播到對應(yīng)的解碼器中,該方式不僅可保留來自編碼部分的上下文信息,而且引入多個路徑進(jìn)行反向傳播梯度,可減輕梯度消失的問題。不同之處是在每層跳躍連接中加入一個參數(shù)為0.3的Dropout層來緩解網(wǎng)絡(luò)過擬合,達(dá)到提升網(wǎng)絡(luò)泛化能力的效果。
池化層可以實現(xiàn)平移的不變性但也導(dǎo)致細(xì)小的空
間位置偏移。UCrackNet模型中使用4個最大池化層,這會加劇特征圖中的空間位置信息丟失,導(dǎo)致在圖像分割時產(chǎn)生邊緣細(xì)節(jié)的損失。道路裂縫往往具有寬度窄、長度長等幾何特點,邊緣位置信息的正確定位顯得更加重要。本文借鑒SegNet中提出的池化索引(pooling indices)思想[20],在裂縫檢測的下采樣過程中記錄每個池中最大特征值的位置,在上采樣時使用該位置索引對圖像特征進(jìn)行恢復(fù),得到一個稀疏特征圖,最后通過卷積層生成稠密特征圖。該方法具有以下優(yōu)點:1) 能夠改善邊緣輪廓的檢測效果;2) 只需要增加少量參數(shù)(存儲池化索引)且該過程不需要訓(xùn)練。
其中:
考慮到裂縫長寬不一,為了能更好地提取局部細(xì)節(jié)和全局上下文信息,要求模型同時具備大小不同的感受野[21]。使用池化(pooling)可以成倍增加特征點的感受野,但在下采樣過程中會降低中心特征圖的分辨率而可能丟失空間信息。針對該問題,可以使用空洞卷積(atrous convolution)[22],它能夠在不損失分辨率和不增加計算量的情況下增大感受野,然而直接使用空洞卷積存在網(wǎng)格效應(yīng)(gridding effect)[23],也會產(chǎn)生臨近信息的丟失,影響信息的連續(xù)性。例如,使用大擴張系數(shù)(dilation rate)的空洞卷積在卷積過程中會插入多個空洞來獲取大的感受野,這對于小的物體而言,可能會采集不到。因此如何均衡不同大小物體之間的關(guān)系,是設(shè)計空洞卷積網(wǎng)絡(luò)的關(guān)鍵。
圖3 混合空洞卷積的橋接單元
ASPP[22]在網(wǎng)絡(luò)解碼器中對于不同尺度使用不同大小的擴張系數(shù)來獲取多尺度信息,每個尺度的特征提取是一個獨立的分支,在網(wǎng)絡(luò)最后把它們?nèi)诤掀饋碓俳右粋€卷積層輸出,這樣的設(shè)計可以有效避免在編碼器上冗余的信息獲取,而直接關(guān)注物體內(nèi)部之間的相關(guān)性。然而,ASPP使用了多個大擴張系數(shù)(插入更多的零)的空洞卷積并聯(lián)組成,對裂縫檢測而言,ASSP獲得的多尺度視野仍然不夠密集。受DenseASPP[24]使用密集連接來覆蓋大范圍感受野的啟發(fā),在橋接單元加入不同擴張系數(shù)的空洞卷積,并設(shè)計成密集連接來減少此類問題的影響。從網(wǎng)絡(luò)局部分解來看,整個網(wǎng)絡(luò)由擴張系數(shù)分別為1、2、3、4的3×3卷積層串聯(lián)而成。其中擴張系數(shù)為1的空洞卷積就是普通卷積,擴張系數(shù)為2、3、4的空洞卷積會在相鄰兩個卷積核權(quán)值之間分別有1、2、3個空洞。最后在空洞卷積的末尾連接一個1×3卷積和3×1卷積的組合,來提高網(wǎng)絡(luò)的非線性擬合能力和減少輸出的通道數(shù),最終得到網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
根據(jù)式(4)和式(5),得到密集連接部分的感受野如表1所示,其中RF current和RF stacking分別代表當(dāng)前層感受野和堆疊后的感受野。
圖2 池化索引操作示意圖。左側(cè)是2×2的最大池化操作,右側(cè)是帶位置索引的2×2上采樣操作
從表1可以看出,密集連接部分的理論感受野尺寸已經(jīng)達(dá)到了21×21。擴張系數(shù)之所以選擇(1,2,3,4)而不是(1,3,5,7)或者DenseASPP的(3,6,12,18,24)之類,是因為AIMCrack[10]的圖像塊分辨率為192×192,通過UCrackNet編碼器處理后的特征圖大小為12×12。文獻(xiàn)[25]指出感受野的影響分布是近似于高斯分布,高斯分布從中間衰減得十分快,實際有效的感受野大小只是理論感受野的小部分,因此網(wǎng)絡(luò)的理論感受野應(yīng)大于特征圖的尺寸。(1,2,3,4)的組合能夠使空洞卷積之后的特征圖像像素點很好地覆蓋到整個橋接部分的輸入特征圖,而(1,3,5,7)或者(3,6,12,18,24)的組合會產(chǎn)生過大的感受野而引起特征細(xì)節(jié)的丟失。
目前大多數(shù)U型結(jié)構(gòu)的全卷積語義分割網(wǎng)絡(luò)(例如SegNet、DeepLab v3+),僅利用卷積網(wǎng)絡(luò)的最后一層作為輸出,在深層次的特征信息中確定淺層的細(xì)節(jié)信息,故容易造成高層特征信息的丟失。此外,裂縫圖像存在嚴(yán)重前景和背景像素量的不平衡,易出現(xiàn)梯度爆炸或消失的情況,從而使得網(wǎng)絡(luò)訓(xùn)練時收斂較慢甚至無法收斂。本文借鑒HED網(wǎng)絡(luò)架構(gòu)[26]思想,在解碼器的每一個單元(block)中都計算其損失函數(shù),該方式的優(yōu)勢是可以更好地學(xué)習(xí)來自不同層次的卷積特征信息。UCrackNet還將解碼部分所有層的特征信息進(jìn)行融合得到最終的特征,其深層次的特征比較粗糙,對于較大的目標(biāo)以及目標(biāo)的部分邊緣處可以得到較強的響應(yīng),而淺層的特征可以為深層特征補充充分的細(xì)節(jié)信息,同時每一個單元的感受野皆不相同,都被很好地集成到最終的特征表中。
多層輸出融合使用圖像金字塔策略如圖4所示。在解碼器每個Block的輸出連接了一個卷積核大小為1×1卷積來降低特征信息的通道數(shù),然后將所得到的概率映射使用反卷積恢復(fù)到原始尺寸。最后將這些概率映射進(jìn)行堆疊,通過1×1卷積得到最終的預(yù)測結(jié)果。鑒于精度與速度間平衡性的考慮,該部分的所有卷積和反卷積的通道數(shù)都設(shè)置成為1。
UCrackNet模型使用Python語言在基于Tensorflow的Keras深度學(xué)習(xí)框架上搭建,編寫的程序在Ubuntu16.04操作系統(tǒng)運行。硬件環(huán)境為Intel i5 8500 處理器,16 G DDR4內(nèi)存和一塊Nvidia GTX1080Ti 11 G顯卡。
本文選取兩個規(guī)模相對較大的道路裂縫數(shù)據(jù)集進(jìn)行訓(xùn)練和測試。
1) CrackTree206[27]:包含206張800 pixels×600 pixels的道路裂縫圖片,數(shù)據(jù)集中的裂縫較細(xì)并且存在遮擋和陰影干擾。本文隨機選取126張圖片為訓(xùn)練樣本,余下80張圖片為驗證樣本。
2) AIMCrack[10]:由安裝在車輛內(nèi)部的行車記錄儀以透視圖方式(perspective view)拍攝的道路裂縫圖像。數(shù)據(jù)集由韓國市內(nèi)不同地點、不同時間段拍攝的527張1920 pixels×1080 pixels的彩色圖片組成,樣本干擾物多,多樣性強,光照影響大,檢測難度相對較高。由于拍攝相機視角的原因,圖像中包含路面和路面上方的信息,而裂縫識別只需要關(guān)注路面信息,所以本文選用固定參數(shù)的感興趣區(qū)域(region of interest,ROI)方法對圖像進(jìn)行裁剪,以減少非道路信息的干擾。裁剪后的圖像分辨率為1920×384,并隨機劃分成327張訓(xùn)練樣本和200張驗證樣本。
由于硬件資源的限制,將裂縫圖像按比例切割成多個圖像塊作為模型的訓(xùn)練集,同時為了增加訓(xùn)練樣本,采用間隔為1/2圖像塊寬度的交疊切割方法對訓(xùn)練集進(jìn)行擴充,最終得到的訓(xùn)練樣本統(tǒng)計數(shù)據(jù)詳見表2。在訓(xùn)練時,使用隨機對比度(±5%)、隨機亮度(±5%)和水平翻轉(zhuǎn)的圖像增強技術(shù)來避免網(wǎng)絡(luò)的過擬合,采用Adam優(yōu)化器[28],設(shè)定小批尺寸(mini-batch size)為12。在數(shù)據(jù)集AIMCrack中,初始學(xué)習(xí)率(learning rate)設(shè)置為0.001,每40個周期(epoch)減少1/3;對數(shù)據(jù)集CrackTree206,設(shè)置初始學(xué)習(xí)率為0.0005,每20周期減少1/3。
將基于像素點的精度(precision,)、召回率(recall,)和F1分?jǐn)?shù)(1),三個檢測領(lǐng)域常用度量方法作為裂縫預(yù)測結(jié)果的評價指標(biāo)。另外,裂縫檢測也可以被看作是一種二進(jìn)制的語義分割,從而可以使用語義分割的重疊度(intersection-over-union,IoU)來評價裂縫的檢測結(jié)果,不同的是因為道路圖像中90%以上的像素都是背景(非裂縫),所以這里只計算前景(裂縫)的IoU。各項評價指標(biāo)定義如下:
表2 兩個裂縫數(shù)據(jù)集的訓(xùn)練樣本對比
為了分析各種改進(jìn)措施對算法檢測效果的影響,UCrackNet在AIMCrack數(shù)據(jù)集上進(jìn)行了消融實驗,這里的基線是指基于VGG-16、橋接單元通道數(shù)為512的U-Net模型。從表3可以看出,在跳躍連接中加入Dropout層對模型性能提升有幫助,同時增加池化索引可以將算法在驗證集的IoU再提高1.7%。另外,使用感受野均衡比原算法在IoU上提升3.6%,驗證了合理設(shè)計網(wǎng)絡(luò)感受野對模型設(shè)計的重要性,同時加入多層輸出融合模塊表現(xiàn)更好,對IoU和F1分別有3.8%、1.8%的提升。
為了驗證本文方法的優(yōu)越性,在CrackTree206和AIMCrack數(shù)據(jù)集上與幾個主流的網(wǎng)絡(luò)模型展開了對比實驗。CrackForest[4]是采用傳統(tǒng)圖像處理方法來獲取裂紋特征,再使用結(jié)構(gòu)化隨機森林來實現(xiàn)分類輸出的一種裂縫檢測算法。CrackForest的實驗結(jié)果是由i5 8500處理器,16 G內(nèi)存的硬件環(huán)境和Matlab2016軟件環(huán)境中運行得到。LinkNet[29]、DeepCrack[14]、U-Net和ResUNet[30]都是U型結(jié)構(gòu)的全卷積神經(jīng)網(wǎng)絡(luò),其中LinkNet編碼器部分是ResNet-18[31]網(wǎng)絡(luò),解碼器部分由輕量級的全卷積網(wǎng)絡(luò)組成;ResUNet是一種全殘差網(wǎng)絡(luò)設(shè)計的U-Net模型,為了速度和性能的均衡,該模型只使用了6個殘差學(xué)習(xí)單元和2個卷積層;DeepCrack是最近提出的基于SegNet基礎(chǔ)結(jié)構(gòu)的裂縫檢測模型,該模型融合編碼器和解碼器中各層的多尺度特征,取得了不錯的檢測效果。
表3 UCrackNet消融實驗的結(jié)果
表4 不同算法在數(shù)據(jù)集CrackTree206和AIMCrack上的結(jié)果對比
各種方法的定量對比結(jié)果見表4,本文算法在CrackTree206數(shù)據(jù)集的測試F1分?jǐn)?shù)達(dá)到81.2%,相比于DeepCrack和U-Net分別有3.7%和1.0%的提升,而在AIMCrack數(shù)據(jù)集上比DeepCrack和U-Net也分別有2.2%和3.1%的提升。從模型的運行時間來看,本文提出的算法在單塊GTX1080Ti顯卡上能超過2 fps,盡管相比LinkNet、U-Net和ResUNet顯得劣勢,但仍快于DeepCrack。因此,綜合考慮各類方法的檢測效果與計算速度,UCrackNet更能滿足實際裂縫檢測的需求。
根據(jù)各種算法在兩種數(shù)據(jù)集上的檢測結(jié)果,給出了對應(yīng)的精度-召回率曲線(precision-recall curves)。通過選定不同閾值,以精度和召回率作為變量而繪制出的曲線如圖5。從圖5可以看出,本文的方法在不同的閾值設(shè)定下,精度和召回率上均優(yōu)于其他對比方法。
此外,分別給出了各種方法在兩個數(shù)據(jù)集上的輸出結(jié)果,詳見圖6和圖7,紅色框表示模型預(yù)測中產(chǎn)生的噪聲,綠色框表示一些細(xì)節(jié)的預(yù)測結(jié)果。可以看出,CrackForest只能提取圖像中的部分裂縫,不適用于復(fù)雜場景下的裂縫圖像分割,LinkNet和ResUNet在有干擾物影響的部位準(zhǔn)確率較低。DeepCrack在噪聲抑制上好于U-Net,但U-Net在裂縫細(xì)節(jié)方面要優(yōu)于DeepCrack,而本文提出的算法(圖6和圖7綠色框部位)相比LinkNet、ResUNet、U-Net和DeepCrack,在裂縫邊緣處,完整度上與真實更加接近,而且輸出噪聲更低。
圖5 不同算法在兩個數(shù)據(jù)集中的精度-召回率(P-R)曲線圖。(a) CrackTree206;(b) AIMCrack
圖6 CrackTree206數(shù)據(jù)集上的檢測結(jié)果對比
圖7 AIMCrack數(shù)據(jù)集上的檢測結(jié)果對比
圖8 復(fù)雜場景下的檢測結(jié)果對比
最后,本文還給出了復(fù)雜場景的預(yù)測結(jié)果對比,如圖8所示,紅色框表示誤檢區(qū)域,黃色框表示一些明顯的漏檢區(qū)域。樣本圖像選自AIMCrack測試集,存在路面灰度不均勻、裂縫深淺各異和雙黃線標(biāo)識干擾等情況。從圖中可以看出,LinkNet和ResUNet存在許多漏檢現(xiàn)象,未能正確識別出一些明顯裂縫;UNet會發(fā)生一定的誤檢,如圖中的紅色框所示,將一些非裂縫的像素預(yù)測成了裂縫;而DeepCrack在雙黃線部位不能識別出裂縫;相對而言,本文方法在檢測上效果更好,在淺層的裂縫處和道路標(biāo)識干擾下具有一定的魯棒性。當(dāng)然,本文方法也存在一定的局限性,從圖8的UCrackNet輸出結(jié)果中可以看到,在某些裂縫特征微弱的地方,也出現(xiàn)一些的漏檢。在后續(xù)的工作中,可以通過擴大訓(xùn)練樣本數(shù)量來進(jìn)一步提升該方法的實際檢測效果。
根據(jù)裂縫圖像的特點,結(jié)合最新的分割模型設(shè)計思想,提出了一種基于U型全卷積神經(jīng)網(wǎng)絡(luò)的裂縫檢測模型。通過在公開數(shù)據(jù)集CrackTree206和AIMCrack上的測試,獲得了比目前主流模型更優(yōu)的結(jié)果。該方法也可通過適當(dāng)?shù)男薷膽?yīng)用于其他語義分割的場景,比如橋梁裂縫檢測、物體表面缺陷檢測。
現(xiàn)有的基于深度學(xué)習(xí)的裂縫檢測算法本質(zhì)都是通過神經(jīng)網(wǎng)絡(luò)的強大擬合能力來實現(xiàn)裂縫檢測,但是這些方法并沒有考慮到裂縫的幾何約束,因此如何結(jié)合裂縫的幾何特征和卷積神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力來實現(xiàn)更加精準(zhǔn)的裂縫檢測,將作為今后的一個研究方向。
[1] http://www.zgjtb.com/2019-10/08/content_230254.htm.
[2] Schnebele E, Tanyu B F, Cervone G,. Review of remote sensing methodologies for pavement management and assessment[J]., 2015, 7(2): 7.
[3] Zhang D J, Li Q Q. A review of pavement high speed detection technology[J]., 2015, 40(1): 1–8.
張德津, 李清泉. 公路路面快速檢測技術(shù)發(fā)展綜述[J]. 測繪地理信息, 2015, 40(1): 1–8.
[4] Shi Y, Cui L M, Qi Z Q,. Automatic road crack detection using random structured forests[J]., 2016, 17(12): 3434–3445.
[5] Xu W, Tang Z M, Lv J Y. Pavement crack detection based on image saliency[J]., 2013, 18(1): 69–77.
徐威, 唐振民, 呂建勇. 基于圖像顯著性的路面裂縫檢測[J]. 中國圖象圖形學(xué)報, 2013, 18(1): 69–77.
[6] Zhang L, Yang F, Zhang Y D,. Road crack detection using deep convolutional neural network[C]//, Phoenix, AZ, USA, 2016: 3708–3712.
[7] Cha Y J, Choi W, Büyük?ztürk O. Deep learning-based crack damage detection using convolutional neural networks[J]., 2017, 32(5): 361–378.
[8] Maeda H, Sekimoto Y, Seto T,. Road damage detection and classification using deep neural networks with smartphone images[J]., 2018, 33(12): 1127–1141.
[9] Carr T A, Jenkins M D, Iglesias M I,. Road crack detection using a single stage detector based deep neural network[C]//, Salerno, Italy, 2018.
[10] Bang S, Park S, Kim H,. Encoder–decoder network for pixel-level road crack detection in black-box images[J]., 2019, 34(8): 713–727.
[11] Yang X C, Li H, Yu Y T,. Automatic pixel-level crack detection and measurement using fully convolutional network[J]., 2018, 33(12): 1090–1109.
[12] Chen L C, Zhu Y K, Papandreou G,. Encoder-decoder with atrous separable convolution for semantic image segmentation[C]//, Glasgow, United Kingdom, 2018: 833–851.
[13] Yang F, Zhang L, Yu S J,. Feature pyramid and hierarchical boosting network for pavement crack detection[J]., 2020, 21(4): 1525–1535.
[14] Zou Q, Zhang Z, Li Q Q,. DeepCrack: learning hierarchical convolutional features for crack detection[J]., 2019, 28(3): 1498–1512.
[15] Mei Q P, Gül M, Azim M R,. Densely connected deep neural network considering connectivity of pixels for automatic crack detection[J]., 2020, 110: 103018.
[16] Fei Y, Wang K C P, Zhang A,. Pixel-level cracking detection on 3D asphalt pavement images through deep-learning-based CrackNet-V[J]., 2020, 21(1): 273–284.
[17] Zhang A, Wang K C P, Li B X,. Automated pixel-level pavement crack detection on 3D asphalt surfaces using a deep-learning network[J]., 2017, 32(10): 805–819.
[18] Ronneberger O, Fischer P, Brox T,. U-Net: Convolutional networks for biomedical image segmentation[C]//, Lima, Peru, 2015: 234–241.
[19] Simonyan K, Zisserman A. Very deep convolutional networks for large-scale image recognition[C]//, 2015.
[20] Badrinarayanan V, Kendall A, Cipolla R. SegNet: A deep convolutional encoder-decoder architecture for image segmentation[J]., 2017, 39(12): 2481–2495.
[21] Yu F, Koltun V. Multi-scale context aggregation by dilated convolutions[C]//, 2016.
[22] Chen L C, Papandreou G, Kokkinos I,. DeepLab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected CRFs[J]., 2018, 40(4): 834–848.
[23] Wang P Q, Chen P F, Yuan Y,. Understanding convolution for semantic segmentation[C]//2018, Lake Tahoe, NV, USA, 2018: 1451–1460.
[24] Yang M K, Yu K, Zhang C,. DenseASPP for semantic segmentation in street scenes[C]//, Salt Lake City, UT, USA, 2018: 3684–3692.
[25] Luo W J, Li Y J, Urtasun R,. Understanding the effective receptive field in deep convolutional neural networks[C]//, 2016: 4905–4913.
[26] Xie S, Tu Z. Holistically-Nested Edge Detection[J]., 2015, 125(1-3): 3–18.
[27] Zou Q, Cao Y, Li Q Q,. CrackTree: Automatic crack detection from pavement images[J]., 2012, 33(3): 227–238.
[28] Kingma D P, Ba L J. Adam: A method for stochastic optimization[C]//, Ithaca, NY, 2015.
[29] Chaurasia A, Culurciello E. LinkNet: Exploiting encoder representations for efficient semantic segmentation[C]//2007, St. Petersburg, FL, USA, 2017: 1–4.
[30] Zhang Z X, Liu Q J, Wang Y H. Road extraction by deep residual U-Net[J]., 2018, 15(5): 749–753.
[31] He K M, Zhang X Y, Ren S Q,. Deep residual learning for image recognition[C]//2016, Las Vegas, NV, USA, 2016: 770–778.
Pavement crack detection based on the U-shaped fully convolutional neural network
Chen Hanshen1,2, Yao Minghai1*, Qu Xinyu2
1College of Information Engineering, Zhejiang University of Technology, Hangzhou, Zhejiang 310023, China;2Zhejiang Institute of Communications, Hangzhou, Zhejiang 311112, China
Processing flow of the proposed method
Overview:Cracks are one of the most common categories of pavement distress. Early locating and repairing the cracks can not only reduce the cost of pavement maintenance but also decrease the probability of road accidents happening. Precise measurement of the crack is an essential step toward identifying theroad condition and determining rehabilitation strategies. Nevertheless, cracks do not have a certain shape and the appearance of cracks usually changes drastically in different lighting conditions, making it hard to be detected by the algorithm with imagery analytics. Therefore, fully automated and comprehensive crack detection is still challenging. In this paper, we focus on pixel-level crack detection in 2D vision and propose an effective U-shaped fully convolutional neural network called UCrackNet, which is the enhanced version of U-Net. It consists of three main components: an encoder, a bridge block, and a decoder. The backbone of the encoder is the pre-trained VGG-16 that extracts spatial features from the pavement image. The last convolutional layer at each scale in the encoder has a skip connection to connect the corresponding layer in the decoder to preserve and reuse feature maps at different pooling stages. To minimize the possibility of overfitting and achieve better generalization ability, we add a dropout layer into each skip connection. The bridge block is a bridge path between the encoder and the decoder. Motivated by DenseASPP, four densely connected atrous convolutional layers with different dilation rates are employed in the bridge block, so that it generates features with a larger receptive field to effectively capture multi-scale information.The decoder has four convolutional blocks, and in each block, up-sampling with indices is used to reduce the shift and distortion during the up-sampling operation. Furthermore, multi-level fusion is introduced in the output stage to utilize multiscale and multilevel information of objects. The idea of multi-level fusion is inspired by the success of the HED network architecture, which showed that it is capable of fully exploiting the rich feature hierarchies from convolutional neural network (CNNs). Specifically, the feature maps of each stage are first up-sampled to the size of the output image, then a 1×1 convolutional is used to fuse these maps to get the final prediction map. Qualitative evaluations on the two public CrackTree206 and AIMCrack datasets demonstrate that the proposed method achieves superior performance compared with CrackForest, LinkNet, ResUNet, U-Net, and DeepCrack. The qualitative results show that our method produces high-quality crack maps, which are closer to the ground-truth and have lower noise compared with the other methods.
* E-mail: ymh@zjut.edu.cn
Pavement crack detection based on the U-shaped fully convolutional neural network
Chen Hanshen1,2, Yao Minghai1*, Qu Xinyu2
1College of Information Engineering, Zhejiang University of Technology, Hangzhou, Zhejiang 310023, China;2Zhejiang Institute of Communications, Hangzhou, Zhejiang 311112, China
Crack detection is one of the most important works in the system of pavement management. Cracks do not have a certain shape and the appearance of cracks usually changes drastically in different lighting conditions, making it hard to be detected by the algorithm with imagery analytics. To address these issues, we propose an effective U-shaped fully convolutional neural network called UCrackNet. First, a dropout layer is added into the skip connection to achieve better generalization. Second, pooling indices is used to reduce the shift and distortion during the up-sampling process. Third, four atrous convolutions with different dilation rates are densely connected in the bridge block, so that the receptive field of the network could cover each pixel of the whole image. In addition, multi-level fusion is introduced in the output stage to achieve better performance. Evaluations on the two public CrackTree206 and AIMCrack datasets demonstrate that the proposed method achieves high accuracy results and good generalization ability.Keywords: crack detection; convolutionalneural network; UCrackNet; receptive fieldCitation: Chen H S, Yao M H, Qu X YPavement crack detection based on the U-shaped fully convolutional neural network[J]., 2020, 47(12): 200036
National Natural Science Foundation of China (61871350) and Zhejiang Provincial National Science Foundation of China (GG19E050005)
10.12086/oee.2020.200036
TP391.4
A
陳涵深,姚明海,瞿心昱. 基于U型全卷積神經(jīng)網(wǎng)絡(luò)的路面裂縫檢測[J]. 光電工程,2020,47(12): 200036
: Chen H S, Yao M H, Qu X Y. Pavement crack detection based on the U-shaped fully convolutional neural network[J]., 2020,47(12): 200036
2020-01-20;
2020-04-10
國家自然科學(xué)基金資助項目(61871350);浙江省自然科學(xué)基金資助(GG19E050005)
陳涵深(1983-),男,博士研究生,講師,主要從事計算機視覺和機器學(xué)習(xí)的研究。E-mail:chs9811@163.com
姚明海(1963-),男,博士,教授,主要從事機器學(xué)習(xí)和模式識別的研究。E-mail:ymh@zjut.edu.cn