邊 琛,侯北平
(浙江科技學院 自動化與電氣工程學院,杭州 310023)
道路裂紋是瀝青路面的主要病害之一,高效準確地提取道路裂紋并進行路面損壞評估,對路面養(yǎng)護具有重要意義。瀝青路面常見的典型裂紋有橫向裂紋、縱向裂紋、塊狀裂紋和龜裂,它們形成的誘因不同,對路面的影響程度也不一致[1]。橫向裂紋與車道線垂直,周圍可能含有細小裂紋,主要誘因是溫度變化或下層裂紋的反射裂紋;縱向裂紋與車道線平行,出現(xiàn)在車轍輪跡邊緣,主要誘因是疲勞損壞、路基不均勻沉降或凍脹;塊狀裂紋表現(xiàn)為橫向裂紋和縱向裂紋交錯使路面分裂形成多邊形大塊,主要是由路面材料遇冷收縮、瀝青老化引起,對路面承載能力影響不大;龜裂是因路面疲勞破壞、路面材質較差等原因形成的形似龜殼的裂紋,龜裂會影響路面承載能力,是主要結構性病害之一。為了準確地檢測路面裂紋,國內外研究者進行了深入的探討。在傳統(tǒng)圖像處理方法中,裂紋的檢測通常采用閾值方法。Fujita等[2]借助兩步預處理依次對圖像進行降噪和線性結構增強,然后利用閾值處理分離道路裂紋和背景。Li等[3]提出了一種改進的Otsu算法(又名大津法)去除機場跑道的路面標記,并使用自適應閾值分割算法分割背景和裂紋。傳統(tǒng)方法通過設置不同的閾值,在理想環(huán)境中可以快速檢測圖像裂紋,但是在實際應用中,這些方法依賴閾值選擇,缺乏對全局信息的描述,易受到局部的光線和噪聲的干擾。
隨著技術的發(fā)展,機器學習方法在裂紋檢測的領域得到了廣泛的應用[4]。Zhang等[5]將深度卷積神經網(wǎng)絡用于路面裂紋自動檢測,提高了裂紋檢測精度。Shi等[6]提出了基于隨機結構森林方法檢測路面裂紋的CrackForest算法,能夠有效抑制噪聲影響,提升檢測精度和運算速度。Zhang等[7-8]提出了一種基于深度學習的CrackNet-V網(wǎng)絡,實現(xiàn)了三維瀝青路面的像素級裂紋檢測。Liu等[9]提出了一種擴展全卷積網(wǎng)絡和深度建組網(wǎng)絡組成的DeepCrack網(wǎng)絡,能夠以端到端的方式進行像素級裂紋分割。Xie等[10]提出的整體嵌套邊緣檢測(holistically-nested edge detection,HED)方法,利用全卷積網(wǎng)絡和深度監(jiān)督學習提取邊緣特征,改進了物體邊緣的檢測性能。Lin等[11]提出在目標檢測任務中利用特征金字塔方法(feature pyramid network,FPN)進行特征優(yōu)化,可以較好地應對檢測目標尺度變化的情況。Ren等[12]提出了一種利用膨脹卷積、空間金字塔池等模塊構成的CrackSegNet網(wǎng)絡,能夠有效地檢測隧道墻壁裂紋。
路面損壞評估的基本流程是首先檢測路面裂紋情況,然后測得裂紋影響面積,最后計算得到路面損壞狀況指數(shù)(pavement surface condition index,PCI)?,F(xiàn)有的路面損壞評估方法有2種:人工調查法通過調查裂紋長度和面積再判定裂紋類別和損壞程度;自動化檢測法則直接按網(wǎng)格分塊檢測裂紋類別,無法判定損壞程度。綜觀目前主流的裂紋檢測和路面損壞評估方法,存在以下問題:一是裂紋檢測方法裂紋分辨力較低,檢測精度不足,存在細小裂紋漏檢、陰影區(qū)域誤檢的問題;二是現(xiàn)有自動化路面損壞評估方法不能準確定位裂紋分布,無法判斷損壞程度,評估準確度不高。因此,我們提出了一種自動化的瀝青路面視覺評估方法:利用基于改進特征金字塔的ResNet網(wǎng)絡對瀝青路面進行檢測,以提高裂紋檢測精度,獲取像素級裂紋分布情況;改進了裂紋骨架提取方法,減少骨架毛刺和邊界異常,以利于準確計算裂紋特征并分類;改進了路面損壞狀況的評估方法,依據(jù)人工標準判定裂紋損壞程度,加權計算PCI指數(shù),以提升路面自動化評估的準確度。
本文算法流程如圖1所示,首先,對路面圖像進行像素級裂紋檢測;然后,從裂紋檢測結果中提取裂紋骨架,接著計算裂紋特征并對裂紋分類;最后,判定各類裂紋的損壞程度并計算PCI指數(shù),評估路面損壞狀況。
圖1 本文算法流程
圖2為典型裂紋圖像和標簽,通過觀察發(fā)現(xiàn)典型裂紋圖像具有以下特點:1) 裂紋圖像通常含有陰影和噪聲,會對檢測造成干擾;2) 部分細小裂紋不明顯,容易被漏檢或誤檢;3) 圖像中裂紋部分的像素數(shù)量少于背景,存在樣本比例不均的情況。
圖2 典型裂紋圖像和標簽
為了準確地獲取用于損壞評估的路面特征,需要對路面裂紋進行像素級檢測,即輸入道路圖像,對路面裂紋和背景進行圖像分割,輸出像素級裂紋檢測結果。本研究提出了基于改進特征金字塔的ResNet網(wǎng)絡,包括多尺度特征提取、特征金字塔優(yōu)化兩部分,如圖3所示。
圖3 像素級裂紋檢測網(wǎng)絡
多尺度特征提取環(huán)節(jié)以殘差網(wǎng)絡ResNet50為主干特征提取網(wǎng)絡,獲取不同尺度的特征響應。將網(wǎng)絡的輸入尺寸增大至512×512像素,以提高對裂紋的分辨能力和檢測精度,并將第1層調整為感受野較小的3×3卷積核和較短的步長,以利于在檢測網(wǎng)絡的淺層保留更多裂紋細節(jié)信息。裂紋檢測網(wǎng)絡各層響應如圖4所示,位于較淺層次的卷積塊1和卷積塊2響應中,含有較多微弱的局部裂紋細節(jié)信息,較深層次的卷積塊4和卷積塊5則含有更多提煉后的上下文信息。
圖4 裂紋檢測網(wǎng)絡各層響應
利用特征金字塔方法對這些多尺度特征進行融合優(yōu)化,可以挖掘蘊含在各層之間的微弱信息。特征金字塔的特征融合操作[13]如圖5所示,使用上采樣、連接、降維的方式自上而下對特征進行融合,傳遞信息直至底層。這一方面利用了具有上下文信息的深層特征對淺層特征進行引導優(yōu)化;另一方面也能減少較低層次特征中的噪聲對裂紋檢測的干擾。對特征金字塔各層進行反卷積,得到的側向輸出中每層都融合前一級多尺度裂紋特征且包含更多上下文信息,這有助于提高模型的裂紋檢測性能。
圖5 特征金字塔的特征融合操作
針對裂紋圖像中裂紋與背景像素比例不平衡的情況,采用焦點損失(focal loss[14])作為損失函數(shù),通過平衡因子調節(jié)像素類別的影響,計算損失LΔ;整體損失Ltotal由融合層和各側向輸出層計算損失LΔ并加權得到。其計算公式分別如下:
(1)
(2)
式(1)中:y為真實類別;y′為預測類別;α為平衡因子;γ為權重變化速率。式(2)中:Lfuse為融合層的損失LΔ;Lside(i)為側向輸出層i的損失LΔ;βi為各層加權系數(shù)。
獲取像素級裂紋檢測結果后,對其提取裂紋骨架,計算裂紋特征和判定裂紋類別。本研究針對裂紋骨架提取存在毛刺和邊界異常的情況,結合圖形學處理手段改進了Zhang-Suen骨架提取方法[15](以下簡稱Zhang-Suen方法)。改進后的裂紋骨架提取流程如圖6所示,首先輸入像素級裂紋檢測結果,對其進行圖形學膨脹和邊界填充操作,連接斷裂位置、減弱裂紋突起,有利于消除裂紋細化后骨架上的毛刺;接著使用Zhang-Suen方法對其提取裂紋骨架,其中紅框內部為正常骨架,邊界異常部分生成在紅框外部;最后切片輸出不含毛刺與邊界異常的裂紋骨架。
圖6 改進后的裂紋骨架提取流程
裂紋骨架細節(jié)對比如圖7所示,Zhang-Suen方法受到裂紋不規(guī)則邊緣和圖像邊界干擾,存在骨架毛刺(紅框)和邊界異常(綠框),改進的Zhang-Suen方法能有效消除毛刺和邊界異常。
圖7 裂紋骨架細節(jié)對比
獲得裂紋檢測結果和骨架后,可以從中提取裂紋面積、長度、方向強度系數(shù)、連通域等特征,具體如下:
1) 裂紋面積:由二值化裂紋檢測結果的像素點數(shù)量計算得到,即
(3)
式(3)中:A為裂紋面積;p為標定系數(shù);Ca(i,j)為裂紋檢測輸出第i行第j列像素值;M與N分別為圖像寬度與長度。
2) 裂紋長度:由裂紋骨架的像素點數(shù)量計算得到,即
(4)
式(4)中:L為裂紋長度;Cb(i,j)為裂紋骨架第i行第j列像素值。
3) 方向強度系數(shù):針對橫向裂紋和縱向裂紋的方向性,本研究提出了一種快速特征計算方法,利用方向強度系數(shù)來快速區(qū)分橫向裂紋與縱向裂紋。定義裂紋的方向強度系數(shù)為裂紋骨架在橫向方向強度與縱向方向強度的比值,其中某方向的強度為該方向最大累計和與投影長度的比值,即
(5)
式(5)中:K為方向強度系數(shù);sh與sv分別為裂紋檢測結果按橫向與縱向計算的累計和;lh與lv分別為裂紋在橫向與縱向的投影長度。
4) 裂紋連通域:圖像統(tǒng)一采集規(guī)格,每張圖像的裂紋塊度越小則連通域數(shù)量越多,故由連通域數(shù)量對裂紋塊度進行表征。
利用提取的裂紋特征,使用隨機森林算法對典型裂紋進行分類。這是一種以決策樹為基分類器的集成學習模型,可以較好地解決單個決策樹模型在復雜裂紋分類上的性能瓶頸。對1 927張裂紋圖像進行20輪分類試驗,按7∶3的比例隨機劃分為訓練集與測試集,其中橫向裂紋290張、縱向裂紋745張、塊狀裂紋776張、龜裂116張。典型裂紋分類結果如圖8所示,由圖可知這4種典型裂紋的分類準確率均較高。
圖8 典型裂紋分類結果
PCI指數(shù)是評價路面技術狀況的重要指數(shù),值域范圍為0~100,路面破損越嚴重,PCI指數(shù)越小[16]。路面損壞評估需要先通過調查來獲取裂紋特征,然后測得裂紋影響面積,最后計算PCI指數(shù)[17]。
現(xiàn)有的人工調查法與自動化檢測法的檢測手段不同,評估方法也不一致。人工調查法需手動測量裂紋特征,依據(jù)表1判斷標準對4種典型裂紋進行損壞程度判定,劃分為9種損壞類型,加權計算路面破損率,得出PCI指數(shù)。而現(xiàn)有的自動化檢測法獲取路面圖像后,按網(wǎng)格對裂紋進行檢測和分類,直接根據(jù)表2權重換算系數(shù)計算路面破損率,該方法無法判斷損壞程度,PCI指數(shù)計算的準確性也難以保證。
表1 人工調查法的路面損壞程度判斷標準和權重
表2 自動化檢測法的權重換算系數(shù)
本研究改進了PCI指數(shù)的自動評估方法:利用基于改進特征金字塔的ResNet網(wǎng)絡檢測路面裂紋后,由裂紋面積和長度計算得到裂紋寬度特征,結合連通域特征按照人工調查的標準對路面損壞程度進行判定;根據(jù)裂紋特征和損壞程度加權計算路面破損率,得出PCI指數(shù),對路面狀況進行精確評估。路面損壞狀況指數(shù)和路面破損率計算公式分別如下:
FPCI=100-a0RDRa1;
(6)
(7)
式(6)中:a0與a1分別為路面類型系數(shù)。式(7)中:Ai為第i類路面損壞的裂紋影響面積;A0為檢測路面總面積;wi為第i類路面損壞的權重;n為損壞類型數(shù)量。
試驗數(shù)據(jù)為不同的光照條件下拍攝的1 927張瀝青路面裂紋圖像,利用平移、旋轉、剪切等操作進行數(shù)據(jù)增強后,將圖像壓縮并裁剪為512×512像素,經半自動裂紋分割標注和典型裂紋標注制作成數(shù)據(jù)集。采用簡單交叉驗證方式,按7∶3比例將數(shù)據(jù)集多次隨機劃分為訓練集和測試集,訓練并選取性能最佳模型。
試驗采用開源框架Keras進行深度模型搭建,試驗環(huán)境如下:系統(tǒng)為Ubuntu 18.04,處理器為E5-2670v4,內存為128 GB,顯卡為RTX3090,24 GB,能夠滿足本試驗模型訓練和評估需求。另外,本模型使用單卡訓練100輪,批大小為2,優(yōu)化器采用Adam,學習率為0.000 1。
將本文方法與HED、CrackSegNet、DeepCrack等現(xiàn)有檢測算法做對比,分別在本文數(shù)據(jù)集上進行模型訓練與測試。不同裂紋檢測算法在本文數(shù)據(jù)集上的檢測性能見表3,本文方法裂紋檢測準確率為95.31%,在整體準確率、裂紋預測精確率和F1值指標上均有所提高。道路裂紋檢測結果如圖9所示,4種方法均能檢出裂紋主體部分。其中,HED方法存在裂紋斷裂情況,CrackSegNet方法對復雜裂紋檢測效果不佳,DeepCrack方法易受噪聲干擾,本文方法能夠較好地檢出細小裂紋。
表3 不同裂紋檢測算法在本文數(shù)據(jù)集上的檢測性能
圖9 道路裂紋檢測結果
對獲取的裂紋檢測結果提取骨架,與圖形學腐蝕法、Hilditch算法、Zhang-Suen算法等經典細化方法做對比,試驗結果如圖10所示。其中,圖形學腐蝕方法在道路裂紋任務中效果不佳,出現(xiàn)裂紋斷裂甚至消失的情況,無法提取骨架。Hilditch方法和Zhang-Suen方法均能提取到骨架,但都存在毛刺和邊界異常等情況。改進后的兩種方法都能較好地提取骨架,且沒有毛刺和邊界異常。其中改進的Zhang-Suen方法的計算量小于改進的Hilditch方法,骨架提取速度較快。
圖10 骨架提取方法對比
根據(jù)裂紋骨架和特征,分別采用標準的人工調查法、傳統(tǒng)的自動化檢測法、本文方法3種方式對模擬路段進行評估試驗,計算PCI指數(shù)。其中,各模擬路段含5張裂紋圖像、45張背景圖像,接近真實道路的路況。為了衡量自動化檢測法和本文方法的評估性能,將人工調查結果作為真值,分別計算兩種方法評估結果與真值的相對誤差。路面損壞狀況指數(shù)評估方法對比結果見表4,本文方法平均相對誤差1.6%,比現(xiàn)有的自動化檢測法降低了9.2%,因而提升了自動化路面評估的準確度。
表4 路面損壞狀況指數(shù)評估方法對比
本研究提出的裂紋檢測網(wǎng)絡對裂紋檢測準確率達95.3%,與經典裂紋提取方法相比,本文方法能更有效地檢測復雜裂紋和細小裂紋,且檢測結果的輸出尺寸更大,滿足后續(xù)評估環(huán)節(jié)的精度要求。在路面評估試驗中,本文方法計算得到的PCI指數(shù)與真值的誤差較小,驗證了本文方法的有效性。在裂紋特征清晰的模擬路段1、4、8中,本文方法能夠準確提取特征并判斷損壞程度,PCI指數(shù)相對誤差小于1%。在裂紋較為復雜的模擬路段7、10中,存在典型裂紋特征不明顯以致干擾裂紋分類和計算權重的情況,導致PCI指數(shù)的相對誤差增大至3%左右。在其余模擬路段中,裂紋的特征提取和分類難度適中,本文方法均取得較好的效果,相對誤差小于等于2%。而現(xiàn)有自動化檢測法直接按網(wǎng)格面積折算,導致計算的PCI指數(shù)整體偏低,平均相對誤差為10%左右,評估準確度低于本文方法。
通過對瀝青路面視覺評估方法的研究,我們得到以下結論:
1) 采用基于改進特征金字塔的ResNet網(wǎng)絡,利用多尺度特征和上下文信息,有效提高了瀝青路面典型裂紋的檢測性能,實現(xiàn)了像素級檢測與定位。
2) 改進的Zhang-Suen方法能夠有效提取裂紋骨架,去除骨架毛刺和邊界異常,利于后續(xù)的裂紋特征計算和典型裂紋分類。基于方向強度系數(shù)的裂紋特征快速計算方法,能有效區(qū)分橫向裂紋、縱向裂紋。
3) 改進的路面損壞狀況評估方法能夠按照人工標準判定各典型裂紋的損壞程度,并加權計算PCI指數(shù),解決了現(xiàn)有自動化檢測法評估誤差較大的問題,提高了路面自動化評估的準確度。
本研究探討了基于典型裂紋的路面損壞評估方法,其他非典型低頻路面損壞情況諸如波浪擁包、坑槽等對公路技術狀況也有影響[18],后續(xù)將深入研究。