?

基于航拍圖像與改進U-Net 的建筑外墻裂縫檢測方法

2024-04-11 13:02劉少華任宜春鄭智雄牛孜飏
土木與環境工程學報 2024年1期
關鍵詞:外墻卷積裂縫

劉少華 ,任宜春 ,鄭智雄 ,牛孜飏

(1.長沙理工大學 土木工程學院,長沙 410114;2.中國建筑第五工程局有限公司,長沙 410007)

建筑外墻裂縫會使帶腐蝕性的雨水滲入墻體,導致墻體涂料與防水材料等發霉、剝落,不僅影響建筑美觀,甚至銹蝕墻內鋼筋等材料,破壞墻體結構,帶來安全隱患。準確檢測出裂縫位置,可以為制定有效的維護方案提供依據。目前,建筑外墻裂縫主要采用人工檢測,這是一種高空作業,不僅危險,而且檢測效率和精度都很低。如何安全、高效地檢測建筑外墻裂縫成為亟須解決的問題。

計算機視覺為裂縫檢測提供了一種非接觸式的檢測技術[1],包括圖像處理和深度學習兩類方法?;趫D像處理的裂縫檢測方法根據裂縫的紋理和邊緣等特征,人為設計裂縫檢測的依據,實現裂縫檢測[2]。這種方法夠在特定的數據集上取得良好的檢測效果,但是裂縫的檢測精度不高,且需要針對特定的圖像設計專門的裂縫檢測算法。近年來,基于深度學習的方法在裂縫檢測領域取得了顯著的成果,根據裂縫檢測方式的不同可將其分為3 類:圖像分類、目標檢測與語義分割?;趫D像分類[3]與目標檢測[4]的裂縫檢測方式,只能識別并定位裂縫,不能在像素級別上標記裂縫,從而無法獲得裂縫形狀信息;基于語義分割的裂縫檢測方法是對圖像中的每個像素點進行分類,能將裂縫像素準確標記出來,既可以檢測有無裂縫,又能得到裂縫的位置、形狀等信息[5]。經典語義分割模型 U-Net[6]、DeepLabv3+[7]、PSPNet[8]及其改進模型在橋梁、路面及隧道等領域的裂縫檢測中得到廣泛應用。李良福等[9]提出了改進的PSPNet 模型,解決了橋梁裂縫分割細節信息丟失的問題;Li 等[10]提出了一種可訓練的上下文編碼網絡,實現了復雜條件下橋梁裂縫的檢測;曹錦綱等[11]提出了一種基于注意力機制的網絡,實現了自動準確地路面裂縫檢測;Nguyen等[12]提出了一種兩級卷積神經網絡來處理含噪聲和低質量的道路圖像;孟慶成等[13]用改進的MobileNet_v2 替換U-Net 編碼器,實現了對混凝土裂縫的實時檢測;Dang 等[14]提出了改進的U-Net 模型,在滿足裂縫分割性能要求的基礎上支持裂縫自動測量。上述模型在裂縫檢測中的成功應用,表明深度學習方法在裂縫檢測領域具有廣闊的應用前景。

建筑外墻裂縫與橋梁、路面等混凝土裂縫擁有共同特征,然而建筑外墻因其材料多樣性,且墻體包含復雜建筑構件,導致建筑外墻裂縫圖像背景更加復雜,存在更多的背景噪聲。因此,有必要為建筑外墻裂縫檢測針對性地設計一個深度學習模型?;谏疃葘W習的裂縫檢測方法在訓練和預測階段都依賴原始圖像數據,人工采集大型建筑的外墻圖像需高空作業,存在安全隱患大、效率低等問題。近年來,無人機技術取得快速發展,無人機搭載傳感器為高空采集圖像提供了一種安全且高效的方式,在抗震救災、農業植保等領域得到廣泛應用[15]。筆者使用無人機航拍采集建筑外墻圖像,并根據裂縫圖像特征設計了改進的U-Net 模型用于裂縫檢測。

1 裂縫數據集構建

1.1 圖像采集與處理

圖像采集包括裂縫數據集構建和裂縫檢測兩個階段。在構建數據集時,為了保證訓練后模型的魯棒性,需要廣泛采集各類型建筑外墻圖像,包括不同光照條件、不同拍攝角度及不同航拍間距等。在裂縫檢測階段,需要根據裂縫檢測精度要求來設計圖像采集方案,規劃采集路線、航拍間距等以確定裂縫位置及圖像像素比例尺,從而指導裂縫修復與建筑維護。

廣泛采集原始建筑外墻圖像以構建建筑外墻裂縫數據集。共得到建筑外墻裂縫圖像566 張,分辨率大小為8 000×6 000。由于采集的圖像分辨率過大,不利于模型訓練,且裁剪后的裂縫圖像細節信息更加豐富,于是對圖像進行裁剪。利用滑動窗口方法將原圖裁剪為512×512 大小的子圖,第1步:從圖像左上角開始,沿著自左向右、自上而下的順序依次裁剪,得到子圖165 張,保證子圖覆蓋原圖,避免信息丟失;第2 步:在圖像左下角7 488×5 488 范圍內隨機選擇35 個點作為子圖左下角進行裁剪,得到子圖35 張,用于信息補充。在完成所有圖像裁剪后,剔除非建筑外墻圖像及不含裂縫的背景圖像后共得到裂縫圖像3 862 張。

圖1 裂縫樣本Fig.1 Crack samples

為了確保模型的泛化性能和復雜背景下裂縫分割的魯棒性,必須保證裂縫圖像數據中裂縫樣本及圖像背景的多樣性和復雜度。無人機航拍包括不同天氣狀況、一天的不同時間段,因光照條件不同,得到明暗程度不同的裂縫圖像;裂縫圖像包含的裂縫類型全面,包括縱向、橫向、斜向、交叉及任意分布的裂縫圖像,且圖像背景豐富,包括不同材料建筑外墻下磚縫、門窗、排水管、陰影及雜物等背景,部分裂縫圖像如圖1 所示。

1.2 圖像標注

為了保證數據集的可靠性,使用開源的分割任務標注軟件labelme 對裂縫進行人工標注。首先,沿著裂縫邊緣逐點勾勒出裂縫的輪廓,生成一個包含裂縫位置坐標的json 文件,然后用python 代碼將其轉化為可供計算機學習的二值圖像,標記結果如圖2 所示。

圖2 裂縫標注Fig.2 Crack labeling

在完成裂縫數據集構建后,按照8∶1∶1 的比例將數據集劃分為訓練集、驗證集和測試集,其中訓練集3 102 張,驗證集與測試集各380 張。

2 研究方法

2.1 U-Net 模型

U-Net 是在全卷積神經網絡的基礎上提出用于醫學圖像分割的網絡模型。該模型是一個對稱編解碼結構,包括編碼器、解碼器兩個部分。其獨特之處在于將編碼器中低分辨率特征圖通過跳躍連接直接拼接到對應解碼器上采樣生成的特征圖,從而有效融合淺層紋理特征和深層語義特征,有利于圖像分割。

編碼器是由兩個無填充的3×3 卷積重復應用組成,每一個卷積后面有一個ReLU 激活函數,兩次卷積之后有一個2×2 最大池化,用于下采樣。編碼器一共包含4 個下采樣,每一個下采樣中,將特征通道的數量增加一倍,特征圖大小減為一半。編碼器主要負責提取輸入圖像的特征信息,并將多個尺度的特征圖傳入解碼器。

解碼器是模型的加強特征提取網絡,利用轉置卷積對主干網絡獲取的5 個初步有效特征層進行上采用,并進行特征融合,最終得到一個融合了所有特征的有效特征層。

2.2 改進的U-Net 模型

研究表明:U-Net 模型存在細長裂縫分割不連續、復雜背景下裂縫漏檢及背景誤檢的問題。分析其可能原因為:1)裂縫圖像正負樣本分布不均對模型性能造成影響;2)模型特征提取能力不足導致裂縫漏檢及誤檢;3)缺少獲取多尺度信息的能力導致裂縫分割不連續及背景誤檢。在分析原因基礎上提出了基于U-Net 的改進模型,相對于原模型做出了3 點具有針對性的改進:1)使用改進的損失函數處理裂縫圖像正負樣本分布極度不均衡的問題;2)使用預訓練的ResNet50 網絡替換原模型的編碼網絡,以提升模型特征表達能力;3)添加改進的ASPP 模塊,獲取多尺度上下文信息。網絡結構如圖3 所示。

圖3 改進的U-Net 模型Fig.3 Improved U-Net model

2.2.1 殘差神經網絡

理論上,神經網絡的層數越多即深度學習模型越深,網絡的特征表達能力越強。但神經網絡達到一定深度時,繼續加深會因為反向傳播過程梯度消失導致模型性能變得更差。為了解決這個問題,He等[16]提出了用跳躍連接解決網絡加深造成梯度消失的殘差神經網絡(ResNet),包括Conv Block 和Identity Block 兩個基本模塊,Conv Block 改變網絡的維度,用來調整特征圖大小和層數;Identity Block不改變網絡維度,用來加深網絡,結構如圖4 所示。

圖4 殘差模塊Fig.4 Residual Module

基于深度學習的方法對建筑外墻裂縫圖像分割,然而裂縫的標注難度較大,自制大型數據集成本太高且不實際,為了克服深度學習方法依賴大量訓練樣本的問題,引入遷移學習方法?;谔卣魈崛〉倪w移,用ImageNet 數據集上預訓練好的深度殘差網絡(刪除最后的平均池化層、全連接層和softmax 層),替換U-Net 網絡原來由兩層卷積加一層池化組成的編碼網絡。

2.2.2 ASPP 模塊

受空間金字塔池化(Spatial Pyramid Pooling,SPP)模塊[8]啟發,Chen 等[7]提出了ASPP 模塊,結構如圖5 所示。

圖5 ASPP 模塊Fig.5 ASPP module

采用并行的多個具有不同擴張率的擴張卷積,每個分支使用不同擴張率單獨進行圖像特征提取,并將各分支提取特征進行融合,從而提取得到多尺度的圖像信息。該模塊可以有效避免局部信息丟失,增加遠距離信息的相關性。

擴張卷積是在普通卷積中增加“空洞”來擴大感受野的卷積,相對于普通卷積增加了“擴張率”這個超參數。通過設置擴張率的大小,可以實現相同參數量和計算量下更大的感受野。如圖6 所示,擴張率為2 的3×3 卷積核與普通3×3 卷積核相比,感受野由3×3 擴大為5×5。

圖6 感受野對比圖Fig.6 Comparison of receptive field

值得注意的是,組合擴張卷積的擴張率設置不當會產生“網格效應”。當卷積核大小為3×3,組合擴張率設為[2,2,2]時,像素利用情況如圖7(a)所示(數字表示像素利用次數),此時,大量像素未被利用(數字0 處),產生了“網格效應”;組合擴張率設為[1,2,3]時,像素利用情況如圖7(b)所示,此時像素利用全面,未產生“網格效應”。

圖7 像素利用情況Fig.7 Pixel utilization

Wang 等[17]提出了混合擴張卷積(Hybrid Dilated Convolution,HDC)理論,用于解決“網格效應”問題。假設有n個卷積核大小為k×k,擴張率為[r1…ri…rn]的擴張卷積,定義兩個非零值之間的距離為

式中:Mn=rn,M2≤k。另外,還需保證擴張率的最大公約數為不能大于1。

由于裂縫呈線性分布的特點,既有小目標物體的特點又有大目標物體的特點,且裂縫圖像含有多尺度背景噪聲。原U-Net 模型對細長裂縫預測存在分割不連續及背景噪聲誤檢的問題。

為了解決上述問題,在模型編解碼之間添加ASPP 模塊。ASPP 模塊擴張率設計基于HDC 理論,并借鑒DeepLabv3+中ASPP 模塊結構。設計了擴張率分別為[2,3,5]、[2,3,7]、[2,3,9]、[2,3,12]的ASPP 模塊進行消融實驗。

2.2.3 損失函數

在建筑外墻裂縫圖像中,裂縫像素所占比例極小,約為1.5%~4%,造成正(裂縫)負(背景)樣本分布極度不均衡,且樣本中存在大量易分類的負樣本。研究發現,經典的二分類損失函數在裂縫圖像語義分割模型中,易分類的負樣本會對損失起主要貢獻作用,導致模型對裂縫特征的學習被抑制,模型的性能和優化方向不穩定。

為了解決現有損失函數在裂縫分割模型中的不足,提出使用Dice Loss[18]作為正則項與Focal Loss[19]結合的新損失函數(FD Loss),如式(2)所示。

式中:w為數量級校正因子,保證兩者處在相同數量級上。

Focal Loss 是基于二分類交叉熵損失函數改進而來的處理正負樣本分布不均,并讓模型在訓練時更專注于難分類樣本的損失函數,如式(3)所示。

式中:N為像素點總數;與y分別表 示第n個像素的預測值與真實值,通過設置α來控制正負樣本對總損失的共享權重;通過設置γ來減少易分類樣本的權重,使模型在訓練時更專注于難分類的樣本,本文α設為0.25、γ設為2。

Dice Loss 源于Dice 系數,可以緩解正負樣本在數量上不平衡的問題,并優化F1_score,如式(4)所示。

式中:N為像素點總數;與y分別表 示第n個像素的預測值與真實值;|·|表示其參數的所有矩陣元素的和;∩表示逐個元素的乘法運算。

3 實驗設計與分析

實驗環境配置如表1 所示。

表1 實驗環境配置Table 1 Experimental environment configuration

模型訓練100 個epoch,前50 個epoch 凍 結編碼器,對解碼器進行訓練。這樣可以避免因為編碼器預訓練權重與未訓練的解碼器權重相差太大導致編碼器預訓練權重被破壞,同時還可以加快模型訓練速度。批大小設為16,初始學習率設為0.000 1。后50 個epoch 對整個模型進行訓練,批大小設為8,初始學習率設為0.000 01。各模型損失曲線與mIoU 曲線如圖8 所示??傮w上,模型大約在85 個epoch 后達到收斂。

圖8 各模型損失曲線與mIoU 曲線Fig.8 Loss curve and mIoU curve of each model

3.1 評價指標

對于二分類問題,在進行結果評價時,可將樣例根據其真實類別與預測類別的組合劃分為真正例(TP)、假正例(FP)、真反例(TN)、假反例(FN)4種情形。

使用交并比(IoU)、精準率(Precision)、召回率(Recall)和F1_score這4 個指標,對網絡模型的分割性能進行定量評估。

IoU 突出預測結果與標簽的重合度,是常見的圖像分割評價指標;Precision 突出預測結果中誤檢像素的比例;Recall 突出漏檢的比例;F1_score綜合考慮了Precision 與Recall,F1_score值越大代表模型性能越好。

3.2 實驗分析

3.2.1 損失函數對比實驗

分別使用Focal Loss、Dice Loss 以及FD Loss作為模型的損失函數,在自制數據集上訓練,并在測試集上測試,得到實驗結果如圖9 所示。

圖9 損失函數實驗結果Fig.9 Experimental results of loss function

由圖9 可知,Focal Loss 從局部進行考察,其Precision 較高,Recall 相對較低;Dice Loss 從全局進行考察,Recall 較高,Precision 較低。FD Loss 結合兩者共同優化模型,引導模型更加注重對難分類的正(裂縫)樣本進行學習,并提高預測裂縫區域與標注裂縫區域的重合度。相較于單獨使用Focal Loss和Dice Loss,FD Loss 在裂縫數據上表現出更優異的效果,且訓練過程更加穩定。

3.2.2 編碼網絡對比實驗

在U-Net 模型基礎上,將模型編碼網絡分別替換為預訓練的ResNet18、ResNet34、ResNet50 及ResNet101 進行實驗(模型使用FD Loss 作為損失函數),實驗結果如表2 所示。

表2 編碼網絡實驗結果Table 2 Experimental results of encoder

由表2 可知,隨著編碼網絡的加深,各評價指標都逐步提升,說明加深編碼網絡提高了模型特征提取能力,模型對裂縫的分割性能得到優化;然而編碼網絡使用ResNet101 時,各評價指標反而大幅下降,說明此時的模型復雜度與數據集大小及裂縫的分割難度不匹配,模型出現了過擬合現象。選擇ResNet50 作為遷移網絡,在增強模型特征提取能力的同時避免網絡過深導致模型與分割任務復雜度不匹配,造成過擬合。

3.2.3 ASPP 模塊擴張率對比實驗

在U-Net 模型基礎上,分別在編解碼網絡間添加3 種不同擴張率的ASPP 模塊進行實驗(模型使用FD Loss 作為損失函數),實驗結果如表3 所示。

表3 擴張率實驗結果Table 3 Experimental results of dilated rate

由表3 可知,為了避免“網格效應”,根據HDC理論設計的ASPP 模塊為兩個較小擴張率加一個較大擴張率的組合,隨著較大擴張率由5、7、9 逐漸增大時,各項評價指標均逐漸上升,說明組合的較大擴張率增大有助于提升模型的裂縫分割性能。當擴張率設置為[2,3,12]時,評價指標反而減小。這是因為其M2=6>3,不滿足HDC 理論,導致模型性能下降。當擴張率設為[2,3,9]時,各項評價指標均達到最高,模型分割性能最優?;诖?,改進的ASPP 模塊選擇擴張率為[2,3,9]的一組擴張卷積,結構如圖10 所示。

圖10 改進的ASPP 模塊Fig.10 Improved ASPP module

改進的ASPP 模塊首先使用一個1×1 的普通卷積作為第1 層,保留原特征圖以補充空間信息;然后使用擴張率為[2,3,9]的擴張卷積作為2 到4 層,提取多尺度物體的特征;最后使用全局平均池化作為第5 層,獲取全局特征。

3.2.4 消融實驗

為了驗證改進策略對提高模型分割性能的有效性,在自制數據集上進行消融實驗。分別驗證進行遷移學習、添加改進的ASPP 模塊以及二者組合對模型分割效果的影響(模型都使用FD Loss 作為損失函數),實驗結果如表4 所示。

表4 消融實驗結果Table 4 Ablation experimental results

比較實驗結果可知,在改進損失函數的基礎上用ResNet50 替換編碼網絡,Recall 提升了6.78%,同時IoU、Precision 和F1_score 都有相應的提升,說明引入遷移學習的U-Net 模型可以提取更豐富的裂縫特征,減少了部分裂縫不能被準確分割的狀況;在改進損失函數的基礎上添加改進的ASPP 模塊,Precision 提升了2.72%,同時IoU、Recall 和F1_score都有相應的提升,說明改進的ASPP 模塊獲取多尺度上下文信息的能力在U-Net 模型中得到利用,降低了將背景誤檢為裂縫的狀況,保證了裂縫分割的連續性;改進的U-Net 模型是在改進損失函數的基礎上引入遷移學習方法并加入改進的ASPP 模塊,與單個改進策略相比,以上評價指標都有一定的提升,說明用ResNet50 替代編碼網絡與添加改進的ASPP 模塊可以共同優化模型,并提升模型性能。與原模型相比,IoU 指標和F1_score 分別提升了3.53%、4.18%,說明所提改進策略有效提升了模型的裂縫分割性能。

3.2.5 經典語義分割模型對比

為了驗證改進模型的先進性和魯棒性,在自制建筑外墻裂縫數據集上復現了經典語義分割模型U-Net、DeepLabv3+及PSPNet,并與模型進行對比。為了確保實驗有效性,各模型在相同實驗參數下進行訓練。通過評價指標與分割結果進行定性與定量地對比模型性能。不同模型在建筑外墻裂縫數據集上實驗結果如表5 所示。

表5 模型對比結果Table 5 Model comparison results

由表5 可知,改進的U-Net 模型各項評價指標分別為69.06%、82.57%、86.3%、84.39%,均高于其他語義分割模型,說明模型對建筑外墻裂縫分割具有最優的性能。

為了更直觀地對比經典模型與本文模型對建筑外墻裂縫圖像的分割效果,選取3 張分別包含細長裂縫、任意分布裂縫及復雜背景噪聲的裂縫圖像進行預測,得到各模型的分割結果如圖11 所示。

圖11 裂縫分割結果對比Fig.11 Crack segmentation results comparison

由圖11 可知,經典語義分割模型在裂縫數據集上訓練后均能進行裂縫分割,但由于原模型并非針對裂縫特征進行設計,故裂縫分割效果較差,存在大量漏檢和誤檢的情況。對比經典模型分割效果可知,U-Net 模型對裂縫的分割效果較理想,存在少量誤檢和漏檢的情況;Deeplabv3+模型對裂縫的分割效果較U-Net 要差,漏檢和誤檢情況更加明顯;PSPNet 模型對裂縫的分割效果較差,不僅分割粗糙,且存在大量漏檢和誤檢。與經典模型相比,針對裂縫特征改進的U-Net 模型對裂縫分割不僅準確,而且分割精細,與標簽圖像基本一致;與U-Net模型相比,改進模型解決了原模型細長裂縫分割不連續、復雜背景下裂縫漏檢及背景誤檢的問題。

4 結論

針對建筑外墻裂縫人工檢測方法效率低、檢測效果和安全性差的問題,提出基于無人機航拍與計算機視覺的裂縫檢測方法。針對U-Net 模型存在的問題進行改進,并進行對比實驗,得出以下結論:

1)無人機靈活性強,可以繞建筑飛行并快速獲取高清的外墻圖像。在構建裂縫數據集和建筑外墻裂縫定期檢測階段,可以使用無人機繞建筑航拍實現安全、高效地采集建筑外墻圖像。

2)提出了組合Focal Loss 與Dice Loss 的FD Loss,用于模型優化。新損失函數具有更強的處理正負樣本分布不均的能力,保證了模型訓練過程的穩定性,并提高了模型對裂縫的分割性能。

3)所提改進的U-Net 模型增強了模型編碼網絡的特征提取能力,以及模型獲取多尺度上下文信息的能力,解決了原模型細長裂縫分割不連續、復雜背景下裂縫漏檢及背景誤檢的問題,IoU 指標和F1_score 分別提升了3.53%、4.18%。實驗表明,改進的U-Net 模型可以對復雜背景下的裂縫進行準確識別,具有較強的魯棒性。

4)所提基于無人機航拍與計算機視覺的建筑外墻裂縫檢測方法,使用無人機獲取裂縫圖像,并利用改進的U-Net 模型對裂縫進行檢測。該方法解決了傳統建筑外墻裂縫檢測方法需要人工高空作業帶來的安全問題,并提高了裂縫檢測的效率和精度。

猜你喜歡
外墻卷積裂縫
基于3D-Winograd的快速卷積算法設計及FPGA實現
碳酸鹽巖裂縫描述七大難點
裂縫(組詩)
從濾波器理解卷積
如此外墻,防水還扛得住么?!
地球的裂縫
基于傅里葉域卷積表示的目標跟蹤算法
一種外墻清洗機器人控制系統
外墻保溫技術探討
外墻色彩
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合