孫玉龍, 錢增志, 曾帥康, 康偉德, 李 胤, 姜佳岐, 朱炳科
(1.中鐵建設(shè)集團有限公司, 北京 100043;2.北京工業(yè)大學(xué) 城市建設(shè)學(xué)部, 北京 100124;3.中國鐵建建筑工業(yè)化工程實驗室, 北京 100043;4.中國科學(xué)院自動化研究所, 北京 100190)
交通行業(yè)圍繞加快建設(shè)交通強國總體目標,努力打造安全便捷、智慧綠色、經(jīng)濟高效的道路網(wǎng),全面提升道路運行效率和服務(wù)水平,實現(xiàn)路網(wǎng)更高質(zhì)量、更高效率、更好水平的發(fā)展[1-2]。 隨著道路網(wǎng)絡(luò)的逐步完善,迫切需要通過加強養(yǎng)護維持既有道路的通行能力、技術(shù)狀況和服務(wù)水平。 路面病害檢測[3]作為道路養(yǎng)護的重要一環(huán),是決定道路養(yǎng)護質(zhì)量的關(guān)鍵因素。 目前,路面病害檢測主要采用傳統(tǒng)的基于人工視覺檢測的路面病害識別方法,存在以下幾個方面的不足:① 人工識別效率低,對于細小破損識別率低。 ② 人工識別不可避免在一些邊緣問題上存在主觀性強、工作量大等問題,且具有一定的不確定性。 ③ 工作精細度差、人力資源消耗高。自動化的路面病害檢測可以有效降低成本、提高效率。
自動化路面病害檢測[4-6]存在2 方面的挑戰(zhàn):一方面,缺乏大規(guī)模的路面數(shù)據(jù),難以訓(xùn)練一個覆蓋多種路面病害的路面病害分割模型;另一方面,路面病害難以識別,以往的病害識別算法難以識別細小病害,且難以對病害類別進行準確分類。 路面圖像病害識別需要實現(xiàn)像素級別的分類,即圖像語義分割[7-9]。 從大量的復(fù)雜路面背景中識別出細小的路面病害,并區(qū)分不同類別的病害,需要模型特征在具備較強的細節(jié)表達能力的同時,也要具備較強的語義判別能力。 為解決以上問題,本文采集了一個大規(guī)模的路面病害數(shù)據(jù)集,提出了一個高精度的路面病害分割方法。
本文針對某交通基礎(chǔ)設(shè)施的路面,采集了一個大規(guī)模的路面病害數(shù)據(jù)集,該數(shù)據(jù)根據(jù)路面病害行業(yè)標準進行像素級別的類別標注,具有專業(yè)性、多樣性和精細性等特點,為路面病害識別和智能化路面質(zhì)量分析提供了強有力的數(shù)據(jù)支持。 另一方面,根據(jù)采集到的路面圖像數(shù)據(jù),提出了一個基于大型卷積核模型和自監(jiān)督預(yù)訓(xùn)練的路面質(zhì)量分析方法,該方法分為2 個子模塊:一個是基于重參數(shù)化大型卷積核的U 型網(wǎng)絡(luò)結(jié)構(gòu);另一個是針對全卷積編碼器和全卷積解碼器構(gòu)建了自監(jiān)督預(yù)訓(xùn)練框架。 其中,基于重參數(shù)化大型卷積核的U 型網(wǎng)絡(luò)結(jié)構(gòu)針對路面病害識別任務(wù)需要較大感受野的性質(zhì),在傳統(tǒng)的U 型網(wǎng)絡(luò)結(jié)構(gòu)基礎(chǔ)上,采用了大型卷積核實現(xiàn)擴張?zhí)卣鞲惺芤暗哪康?為了緩解大型卷積核難以訓(xùn)練的問題,采用了重參數(shù)化技術(shù)來加速模型的收斂速度。 此外,為了提高模型的泛化性能和特征表達能力,本文針對U 型結(jié)構(gòu)的全卷積編碼器和全卷積解碼器構(gòu)建了自監(jiān)督預(yù)訓(xùn)練框架,使用圖像修補作為模型的自監(jiān)督預(yù)訓(xùn)練代理任務(wù),提高模型的預(yù)訓(xùn)練特征的表達能力和收斂速度,進而實現(xiàn)高精度的智能路面病害識別。
本文通過實驗驗證了基于重參數(shù)化大型卷積核的U 型網(wǎng)絡(luò)結(jié)構(gòu)和自監(jiān)督預(yù)訓(xùn)練框架的有效性,并針對我國某交通基礎(chǔ)設(shè)施的路面進行智能化路面質(zhì)量分析,將本文提出的路面病害識別算法應(yīng)用到該交通基礎(chǔ)設(shè)施的日常巡檢任務(wù)中,實現(xiàn)了路面養(yǎng)護降本增效。
本文通過在巡檢車上安裝路面圖像采集裝置的方式采集路面圖像數(shù)據(jù),如圖1 所示,路面圖像采集裝置由高亮工業(yè)補光光源和工業(yè)相機鏡頭組成。 巡檢車可以通過人工駕駛進行路面圖像數(shù)據(jù)采集,也可以通過無人駕駛進行全自動的路面圖像數(shù)據(jù)采集[10-11]。 通過對某交通基礎(chǔ)設(shè)施的路面數(shù)據(jù)進行采集和標注,得到了一個大型的路面病害分割數(shù)據(jù)集。
圖1 路面圖像采集裝置實物Fig.1 Road image collecting system
本文根據(jù)巡檢車采集到的數(shù)據(jù)進行標注,標注類別按照《公路技術(shù)狀況評定標準》(JTG 5210—2018)[12]和《軍用機場水泥混凝土道面性能檢測評價體系優(yōu)化》[13]進行定義,并根據(jù)實際采集到的路面病害類別進行適當調(diào)整,去除無病害圖像的類別以后,歸納出6 個病害類別:板塊碎裂、板塊斷裂、板塊剝落、表面裂縫、補丁、填縫料損壞。
本文共標注了3 539 張高清路面圖像,圖像分辨率都是6 400 pixel×8 192 pixel,標注圖像分布如圖2 所示。 一部分圖像包含多種病害類別,有3 205 張路面圖像不包含任何病害類別,334 張路面圖像存在路面病害,大部分病害圖像存在板塊斷裂類型的病害,路面圖像病害分布是一個典型的長尾分布。隨機按照8 ∶2的比例將路面圖像數(shù)據(jù)集分為訓(xùn)練集和測試集,訓(xùn)練集包含2 831 張圖像,測試集包含708 張圖像,訓(xùn)練集圖像和標注標簽用于訓(xùn)練路面病害分割模型,測試集用于測試模型對于路面病害分割的性能。 圖3 展示了本文標注的幾個路面病害標注樣例。 值得注意的是,本文采集的路面病害數(shù)據(jù)集是首個包含了多個路面病害的高分辨率圖像分割數(shù)據(jù)集,該數(shù)據(jù)集能夠為路面質(zhì)量評估提供數(shù)據(jù)基礎(chǔ),并為像素級別的路面病害識別提供新的研究方向和思路。
圖2 路面病害標注圖像分布Fig.2 Distribution of annotated road damage images
圖3 路面病害標注圖例Fig.3 Examples of annotated road damage
針對路面病害細長、占據(jù)像素面積較小的特點,本文采用如圖4 所示的U 型網(wǎng)絡(luò)結(jié)構(gòu)[7]。 輸入一張路面圖像,經(jīng)過一系列卷積和下采樣操作,提取具有大感受野、豐富語義特征的深層特征。 為了得到細節(jié)信息較為豐富的特征,采用對稱的上采樣結(jié)構(gòu),并使用橫向連接將編碼器結(jié)構(gòu)特征和解碼器結(jié)構(gòu)特征進行拼接,恢復(fù)路面圖像細節(jié)特征。 模型輸出與原圖像分辨率一致的特征圖,用于預(yù)測路面圖像分割結(jié)果。
圖4 U 型網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 UNet architecture
在U 型網(wǎng)絡(luò)結(jié)構(gòu)中,常用3×3 的卷積尺寸,如圖5(a)所示,可以獲得較好的局部特征,且計算量較小。 通過堆疊一系列卷積,可以逐漸擴大圖像感受野,實現(xiàn)路面病害分割。 然而,此種卷積存在感受野過小、缺乏大范圍信息的問題,導(dǎo)致了這種小卷積核的卷積難以獲得較好的路面病害分割性能。 因此,采用大型卷積核提高模型特征的感受野大小[14],如圖5(b)所示。 本文采用尺寸為21×21 的大型卷積核進行特征提取。 大型卷積核能夠獲取更大的特征圖感受野,感知更大范圍的語義信息,從而提高模型對于細長路面病害的識別能力,提高模型的預(yù)測精度。 然而,大型卷積核往往存在收斂速度慢、難以訓(xùn)練和計算復(fù)雜度高等問題。 因此,進一步采用重參數(shù)化[15]大型卷積核來提升模型的性能,如圖5(c)所示。 本文通過3 個不同的卷積分支進行特征提取,分別是21×5,5×21,5×5 大小的卷積核,最后將3 個分支的特征進行相加融合,獲取不同感受野大小的特征,即多尺度特征融合。 通過重參數(shù)化技術(shù),能夠加速模型訓(xùn)練的收斂速度,提高大型卷積核的可訓(xùn)練性,同時降低卷積的計算復(fù)雜度,在提高模型性能的同時降低計算量。 由于具備多種不同尺寸大小的卷積特征,模型能夠感知多種尺寸的感受野,進而提升模型對于不同尺寸病害的預(yù)測能力。將U 型網(wǎng)絡(luò)結(jié)構(gòu)中的所有卷積操作替換成重參數(shù)化大型卷積操作,提高模型對于路面病害的識別準確率。
圖5 3 種不同的卷積核示意Fig.5 Three convolutional kernels
深度網(wǎng)絡(luò)模型往往需要使用大規(guī)模數(shù)據(jù)進行模型預(yù)訓(xùn)練,為了提高模型的泛化性能和特征表達能力,本文針對U 型結(jié)構(gòu)的全卷積編碼器和全卷積解碼器構(gòu)建了自監(jiān)督預(yù)訓(xùn)練框架,如圖6 所示。 全卷積編碼器-解碼器自監(jiān)督預(yù)訓(xùn)練方法對輸入圖像進行隨機掩碼操作,本文參照FCMAE(Fully Convolutional Masked Autoencoder)[16]隨機掩蓋60%的像素,使用圖像修補作為模型的自監(jiān)督預(yù)訓(xùn)練代理任務(wù),模型輸出原始沒有掩蓋的圖像,進而提高預(yù)訓(xùn)練模型對于圖像的表達能力和收斂速度。 在模型編碼器階段,為了提高模型預(yù)測難度,避免跳躍連接產(chǎn)生額外的輔助信息,本文采用稀疏卷積操作[17]進行特征提取。 值得注意的是,稀疏卷積操作僅用于預(yù)訓(xùn)練階段,在模型微調(diào)和測試階段,將稀疏卷積操作替換回普通的卷積操作。 此外,本文同時對U 型結(jié)構(gòu)的解碼器部分進行預(yù)訓(xùn)練,解碼器采用的是卷積解碼器,更加注重細節(jié)特征的表達能力。 通過對整個模型結(jié)構(gòu)的預(yù)訓(xùn)練,模型能夠快速遷移到路面病害識別場景,進而提升泛化能力和在測試場景中的表達能力。 另一方面,使用像素級別的預(yù)測能夠增強模型對于密集預(yù)測任務(wù)的性能,即能夠提升模型對于路面病害分割的性能。
圖6 全卷積編碼器-解碼器自監(jiān)督預(yù)訓(xùn)練方法示意Fig.6 Self-supervised pre-training for fully convolutional encoder-decoder model
本文根據(jù)《公路技術(shù)狀況評定標準》 (JTG 5210—2018),使用路面損壞狀況指數(shù)PCI(Pavement Surface Condition Index)進行路面質(zhì)量評估,PCI 計算如下:
式中,DR(Pavement Distress Ratio)是路面破損率,為各種損壞的折合損壞面積之和與路面調(diào)查面積之百分比;a0為DR 系數(shù),瀝青路面采用15. 00,水泥混凝土路面采用 10.66;a1為DR 指數(shù),瀝青路面采用0.412,水泥混凝土路面采用0. 461;Ai為第i類路面破損的累計面積(m2);A為路面檢測或調(diào)查面積(m2);wi為第i類路面破損的權(quán)重或換算系數(shù),如表1 所示;i為路面損壞類型;i0為路面損壞類型總數(shù)。
表1 道路病害換算系數(shù)Tab.1 Weights of road damage
本文主要在2 個數(shù)據(jù)集上進行實驗驗證:一個是本文采集到的路面圖像數(shù)據(jù)集;另一個是目前公開常用的路面裂縫分割數(shù)據(jù)集——Crack500 數(shù)據(jù)集[18]。
Crack500 數(shù)據(jù)集是常用的路面裂縫分割數(shù)據(jù)集之一,該數(shù)據(jù)集包含500 張路面高清圖像,所有圖像尺寸為2 000 pixel×150 pixel。 該數(shù)據(jù)將每個圖像裁剪為16 個非重疊區(qū)域,僅保留包含裂紋像素個數(shù)大于1 000 的圖像切塊,將這些選定的圖像切塊分為3 部分:1 896 張訓(xùn)練圖像,348 張驗證圖像,以及1 124 張測試圖像。 模型使用Crack500 數(shù)據(jù)集與其他性能優(yōu)越的分割方法進行性能對比。
評價指標使用準確率(Precision)、 召回率(Recall)和F1 得分進行模型性能評估,定義如下:
式中,TP(True Positives)為預(yù)測為特定類別且預(yù)測正確的像素個數(shù);FP(False Positives)為預(yù)測為特定路面病害類別但預(yù)測錯誤的像素個數(shù);FN(False Negatives)為標注為病害類別但是沒有檢測出來的像素個數(shù)。 每個評價指標針對特定的病害類別進行評估,最后將所有類別的評價指標取平均值獲得最終的評價指標。
為了能夠盡可能保留原始圖像信息和保證計算機能夠充分計算,本文采用將原始圖像切塊的方式進行模型訓(xùn)練和推理。 訓(xùn)練時,對圖像進行隨機放縮,放縮因子在0.5~1.5 隨機選擇,然后對放縮圖像進行切塊,切塊大小為固定的1 024 pixel×1 024 pixel,同時采用隨機顏色抖動和隨機圖像翻轉(zhuǎn)、隨機亮度抖動、隨機幾何旋轉(zhuǎn)等數(shù)據(jù)擴增策略進行模型訓(xùn)練。優(yōu)化方法采用AdamW,初始學(xué)習(xí)率為10-4,beta 因子為(0.9,0.999)。 預(yù)訓(xùn)練階段,本文采用ImageNet 數(shù)據(jù)集進行預(yù)訓(xùn)練,為了保證對比公平,采用FCMAE相同的預(yù)訓(xùn)練策略。 測試時,本文采用固定切塊的方式進行推理,切塊大小為固定的1 024 pixel×1 024 pixel,切塊步長為672 pixel,重疊區(qū)域的預(yù)測概率通過取重疊切塊平均值的方式獲得。
3.3.1 消融實驗
本文對3 種不同的卷積核性能進行對比,如表2 所示。 可以看出,常用的3×3 卷積核由于局部感受野過小,3 項指標都比較差。 使用大型卷積核進行改進以后,模型性能會有較大幅度的提升,F1得分相比3×3 卷積提升了3.5%。 使用重參數(shù)化大型卷積核后,模型性能會有進一步提升,相比3×3卷積核提升了4.91%。
表2 3 種不同卷積核性能對比Tab.2 Performance comparison of three convolutional kernels單位:%
本文對比了4 種不同的預(yù)訓(xùn)練方法,性能對比如表3 所示。 可以看出,不使用任何模型預(yù),僅在目標數(shù)據(jù)集上面進行訓(xùn)練,模型性能非常差,這是因為數(shù)據(jù)量過少導(dǎo)致模型難以獲得具有區(qū)分性的特征。使用ImageNet 進行有監(jiān)督的預(yù)訓(xùn)練后,模型性能獲得較大的提升,F1 得分提升19. 43%,模型能夠從ImageNet 獲取較好的預(yù)訓(xùn)練效果。 采用FCMAE 對模型進行自監(jiān)督預(yù)訓(xùn)練,F1 得分能夠提升至93.44%,證明了自監(jiān)督預(yù)訓(xùn)練方式對于路面病害識別的有效性。 使用本文提出的方法,對U 型結(jié)構(gòu)的編碼器和解碼器進行自監(jiān)督預(yù)訓(xùn)練,模型性能能夠比FCMAE 進一步提升,F1 得分能夠提升1.03%。
表3 不同的預(yù)訓(xùn)練方法性能對比Tab.3 Performance comparison of different pre-training methods 單位:%
3.3.2 對比實驗
將本文方法與其他性能優(yōu)越的語義分割方法在交通基礎(chǔ)設(shè)施道面數(shù)據(jù)集上面進行性能對比,如表4 所 示。 相 比 于 DeepLabv3 +[19], UperNet[20],UNet[7],nnUNet[21]等性能優(yōu)越的語義分割方法,本文獲得了最好的結(jié)果,證明了本文方法的有效性。
表4 不同的分割方法在道面數(shù)據(jù)集上的性能對比Tab.4 Performance comparison of different segmentation methods on airport road dataset單位:%
本文方法與其他性能優(yōu)越裂縫分割方法在Crack500 數(shù)據(jù)集上面的性能對比如表5 所示。 可以看出,相比于BARNet[22],FFEDN[23],DMANet[24]分割方法,本文方法在Crack500 數(shù)據(jù)集上得到了最好的模型性能,證明了本文方法的有效性。
表5 不同的裂縫分割方法在Crack500 數(shù)據(jù)集上的性能對比Tab.5 Performance comparison of different crack segmentation methods on Crack500 dataset單位:%
3.3.3 預(yù)測結(jié)果可視化
圖7 展示了幾個本文方法的實驗效果可視化結(jié)果。 可以看出,與標注結(jié)果相比,本文方法能夠有效分割不同的路面病害,與測試集的標注結(jié)果保持一致性。 本文方法能夠較好地進行路面病害分割。
圖7 本文方法實驗效果可視化圖Fig.7 Visualized experiment results of the proposed method
3.3.4 實際應(yīng)用
將本文搭建的路面數(shù)據(jù)采集巡檢車和算法應(yīng)用到某交通基礎(chǔ)設(shè)施的日常巡檢任務(wù)中,使用PCI 進行路面質(zhì)量評估,得到某交通基礎(chǔ)設(shè)施的PCI 值為96.32%。 該交通基礎(chǔ)設(shè)施日常人工巡檢、計算得到的實際PCI 值為96. 73%,自動巡檢路面質(zhì)量分析結(jié)果與人工巡檢路面質(zhì)量分析結(jié)果較為一致。 進一步,對某交通基礎(chǔ)設(shè)施進行5 次重復(fù)巡檢,巡檢得到的PCI 值為96.32%,96.44%,96.37%,96.26%,96.53%,均與人工計算得到的PCI 結(jié)果一致,可以證明本文方法對于實際巡檢應(yīng)用具有重要的現(xiàn)實意義和有效性。
本文提出了一個基于大型卷積核模型和自監(jiān)督預(yù)訓(xùn)練的路面質(zhì)量分析方法。 首先,使用巡檢車在道路或場地進行路面數(shù)據(jù)采集,獲取了一個大型的多病害類別路面圖像數(shù)據(jù)集。 然后,使用基于重參數(shù)化大型卷積核的U 型網(wǎng)絡(luò)對路面圖像數(shù)據(jù)進行逐像素的病害識別,利用大感受野實現(xiàn)高精度的路面病害分割。 為了進一步提升模型的特征表達能力,本文針對U 型結(jié)構(gòu)的全卷積編碼器和全卷積解碼器構(gòu)建了自監(jiān)督預(yù)訓(xùn)練框架,使用圖像修補作為模型的自監(jiān)督預(yù)訓(xùn)練代理任務(wù)。 最后,根據(jù)提出的路面病害識別方法,對巡檢車獲取得到的數(shù)據(jù)進行實時分析,并應(yīng)用到某交通基礎(chǔ)設(shè)施的日常路面養(yǎng)護應(yīng)用中,巡檢結(jié)束后輸出該交通基礎(chǔ)設(shè)施路面的質(zhì)量評估報告,實現(xiàn)路面養(yǎng)護降本增效。