国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于改進(jìn)U-Net網(wǎng)絡(luò)的混凝土橋梁裂縫自檢測方法

2023-11-28 11:14:54周志達(dá)吳怡寧文旭光蒲黔輝
四川水泥 2023年11期

周 童 周志達(dá) 吳怡寧,3 文旭光 蒲黔輝*

(1.西南交通大學(xué) 土木工程學(xué)院,四川 成都 610031;2.廣西中國-東盟綜合交通國際聯(lián)合重點(diǎn)實(shí)驗(yàn)室南寧學(xué)院,廣西 南寧 530000;3.浙江大學(xué)建筑設(shè)計(jì)研究院有限公司,浙江 杭州 310028)

0 引言

在各種橋梁病害中,裂縫是橋梁多病害的早期表現(xiàn)形式之一,危害程度極大。采用傳統(tǒng)人工裂縫檢測存在橋下空間小、耗時(shí)長、主觀性強(qiáng)、效率低等缺點(diǎn),難以滿足量大面廣的橋梁養(yǎng)護(hù)和維修需求。而無損檢測路面裂縫的方法,例如激光全息技術(shù)[1],具有靈敏度高且響應(yīng)速度快的特點(diǎn),但該技術(shù)適用于平整路面,對于橋梁這類較為復(fù)雜的結(jié)構(gòu)可用性不佳,且系統(tǒng)結(jié)構(gòu)復(fù)雜,成本高,在現(xiàn)階段難以推廣應(yīng)用。因此,傳統(tǒng)的橋梁裂縫檢測方法已不能滿足需求越來越大的橋梁維保檢測任務(wù)。

近些年來,機(jī)器學(xué)習(xí)技術(shù)發(fā)展迅速,其中深度學(xué)習(xí)技術(shù)在大數(shù)據(jù)[2]的加持下更是在醫(yī)療[3]、網(wǎng)絡(luò)安全[4]等領(lǐng)域取得了顯著進(jìn)展,為橋梁裂縫檢測研究提供了新方法。在2016 年,Zhang 等人[5]首次將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于道路裂縫檢測,相比于傳統(tǒng)的人工特征提取方法,CNN提取特征的效率更高,并且排除了主觀性等不利因素,使得檢測的準(zhǔn)確性和可靠性顯著提升,從而帶來顯著的經(jīng)濟(jì)收益。隨后,研究人員[6-7]構(gòu)建了多個(gè)基于CNN的病害識別和特征提取模型,實(shí)現(xiàn)了對路面病害的高效、精準(zhǔn)識別和測量。此外,全卷積神經(jīng)網(wǎng)絡(luò)(FCN)的使用實(shí)現(xiàn)了對圖像中裂縫等多種病害的像素級分割[8]。目前基于深度學(xué)習(xí)的裂縫檢測方法可以大致分為圖像分類、圖像檢測和圖像分割三類[9]。

本文基于圖像語義分割對橋梁的裂縫進(jìn)行識別。圖像語義分割技術(shù)可分為兩大類:基于區(qū)域的圖像語義分割技術(shù)和基于像素的圖像語義分割技術(shù),后者的分割精度和分割速度更好。本研究使用基于編碼器-解碼器框架的U-net模型,并對其做出改進(jìn),以解決當(dāng)前針對較細(xì)微裂縫圖像檢測結(jié)果精度不高的問題,實(shí)現(xiàn)了自動(dòng)、準(zhǔn)確的裂縫圖像像素級分割。

1 模型描述

1.1 原始U-Net網(wǎng)絡(luò)

U-net 模型結(jié)構(gòu)如圖1 所示,包含編碼器、解碼器、跳躍連接等主要組成部分。編碼器部分由連續(xù)的卷積和池化層組成,用于逐步降低特征圖的空間分辨率,同時(shí)增加特征圖的通道數(shù),可以捕獲圖像的全局特征,提取語義信息。解碼器部分由連續(xù)的卷積和上采樣層組成,用于逐步恢復(fù)特征圖的空間分辨率,同時(shí)減少特征圖的通道數(shù),通過跳躍連接將編碼器中的低級特征與高級特征融合,從而保留圖像細(xì)節(jié)和局部信息。

圖1 原始U-net模型示意圖

在編碼部分,主要對輸入圖像進(jìn)行卷積和池化操作,得到五個(gè)大小不同的特征圖,且每次卷積、池化操作后獲得的特征圖尺寸減少為原來的一半;在解碼部分,首先對第五次卷積之后所得到的特征圖進(jìn)行上采樣,將其結(jié)果與第四次池化所得到的特征圖進(jìn)行特征融合和卷積操作,之后依次對其余特征圖進(jìn)行同樣的操作,直到得到最終的分割結(jié)果。

該網(wǎng)絡(luò)的輸入圖像將原始圖像邊緣像素進(jìn)行對稱復(fù)制,增大了圖片尺寸。對于本文選取的Crack 500數(shù)據(jù)集,其像素大小為640×360,若將其作為網(wǎng)絡(luò)的輸出反推各階段特征圖大小,會在第二次下采樣中出現(xiàn)奇數(shù)。為避免這個(gè)問題,將輸出圖像周圍進(jìn)行填充使其變?yōu)?44×372的大小,同時(shí)將原始圖像的邊緣像素進(jìn)行復(fù)制擴(kuò)充使輸入特征圖變?yōu)?28×556的大小。

1.2 改進(jìn)U-Net網(wǎng)絡(luò)

1.2.1 全零填充

在圖像處理中,卷積是一種對圖像進(jìn)行特征提取的操作,通過在輸入圖像上滑動(dòng)卷積核來提取不同位置的特征。為了保持輸出特征圖的大小與輸入圖像相同,可以在輸入圖像的周圍加上合適數(shù)量的零像素,從而進(jìn)行卷積操作而不改變特征圖的尺寸。全零填充操作有助于對各階段特征圖信息進(jìn)行充分利用并傳遞。

1.2.2 空洞卷積

與傳統(tǒng)的卷積操作不同,空洞卷積在卷積核內(nèi)部引入了固定間隔(膨脹率)的空洞,使得卷積核在輸入數(shù)據(jù)上的感受野增大,從而能夠捕捉更大范圍的特征。相比于增大卷積核的尺寸來捕獲更大感受野,空洞卷積能夠在保持卷積核尺寸不變的情況下增加感受野,從而減少了模型所需學(xué)習(xí)的參數(shù)量[10]。

如圖2 所示,在卷積核大小不變的情況下,感受野會隨著間隔的增加而提高。本文將膨脹率設(shè)置為2。

圖2 空洞卷積示意圖

改進(jìn)U-net模型結(jié)構(gòu)如圖3 所示,該網(wǎng)絡(luò)最后一個(gè)池化層的輸入行數(shù)是45,在進(jìn)行2×2最大池化時(shí)會導(dǎo)致最后一行像素點(diǎn)被拋棄,因此在后續(xù)的反卷積過程中將其添加到對應(yīng)位置。輸出端采用一個(gè)卷積核大小為1×1的卷積組,將圖像變?yōu)?×640×360的大小,并且采用Sigmoid激活函數(shù)將每個(gè)像素是否為裂縫的概率映射到0-1之間,若該點(diǎn)的值大于0.5,則認(rèn)定其為裂縫,反之為背景。同時(shí),本文對網(wǎng)絡(luò)層進(jìn)行了增添,在各池化層之后增加一次上采樣作為特征圖,將每個(gè)階段的特征圖進(jìn)行通道融合,提升了網(wǎng)絡(luò)的全局表達(dá)能力。

圖3 改進(jìn)U-net模型示意圖

由于網(wǎng)絡(luò)輸入特征圖沒有經(jīng)過擴(kuò)充操作,因此在經(jīng)過卷積操作時(shí)大大減少了訓(xùn)練參數(shù),有效提高了網(wǎng)絡(luò)計(jì)算效率。

2 試驗(yàn)方法

2.1 圖像數(shù)據(jù)集與預(yù)處理

本文以Crack 500公共數(shù)據(jù)集作為實(shí)驗(yàn)數(shù)據(jù)進(jìn)行實(shí)驗(yàn),其中包含3368張路面裂縫圖片,隨機(jī)選取3000張作為訓(xùn)練集,剩余的作為測試集進(jìn)行驗(yàn)證。對于圖像標(biāo)簽,在GitHub上找到了其他學(xué)者標(biāo)記的標(biāo)簽文件并用于本文模型的訓(xùn)練,并利用訓(xùn)練好的模型參數(shù)對橋梁混凝土裂縫進(jìn)行再訓(xùn)練,最終得到分割檢測的結(jié)果。對于Crack 500數(shù)據(jù)集,其圖像大小為640×360,而用于遷移訓(xùn)練的橋梁混凝土裂縫圖像大小為1024×1024,為使得模型輸入尺寸一致,將橋梁裂縫進(jìn)行剪裁使其變?yōu)?40×640的大小。

由于裂縫圖像主要以灰度值的變化為主,因此只需要通過單通道圖像,對灰度信息進(jìn)行圖像處理,判斷該像素點(diǎn)是否為裂縫像素。并且相較于彩色圖像,灰度圖像占的內(nèi)存更小,處理速度更快,同時(shí)將原裂縫圖像轉(zhuǎn)換為灰度圖像后,在神經(jīng)網(wǎng)絡(luò)中訓(xùn)練所需的時(shí)間復(fù)雜度也更小。

常用的獲取圖像灰度圖像算法包括:均值法;最大值法;加權(quán)平均法。本文采用的灰度處理方法是計(jì)算各個(gè)像素點(diǎn)三通道像素值的平均值,使其作為該點(diǎn)的灰度值,如公式(1)所示。

式中:Gray(x,y)——灰度值;

R(x,y)——紅色像素值;

G(x,y)——綠色像素值;

B(x,y)——藍(lán)色像素值。

2.2 試驗(yàn)環(huán)境配置

本文實(shí)驗(yàn)運(yùn)行環(huán)境是基于Keras 框架進(jìn)行的,Keras的主要優(yōu)點(diǎn)是模塊化程度高,支持當(dāng)前提出以卷積神經(jīng)網(wǎng)絡(luò)為框架的模型,使用Keras框架編輯的代碼可以使程序可讀性強(qiáng)、通俗易懂、更加簡練、靈活性更強(qiáng)。Keras框架與其他Python基礎(chǔ)框架相比是相對較為高級別的基礎(chǔ)框架,它以構(gòu)造塊形式去封裝常用的深度學(xué)習(xí)訓(xùn)練模塊及計(jì)算操作,使用者不需考慮其內(nèi)部模塊結(jié)構(gòu)的復(fù)雜性。其中,本研究的代碼是基于GitHub 已有程序“Road Crack Segmentation Keras”結(jié)合其他部分網(wǎng)絡(luò)代碼改進(jìn)而來。該代碼的適配環(huán)境為Python 3.7,Tensorflow-gpu 2.2.0,Keras 2.3.1等一系列適配版本的相關(guān)插件。

2.3 參數(shù)選取

2.3.1 學(xué)習(xí)率(Learning Rate)

學(xué)習(xí)率是深度學(xué)習(xí)中幾個(gè)最為重要的參數(shù)之一,它決定著模型能否快速收斂以及精確度等問題[16]。在一個(gè)神經(jīng)網(wǎng)絡(luò)模型中,學(xué)習(xí)率過大或過小都會對網(wǎng)絡(luò)產(chǎn)生較大影響。在訓(xùn)練網(wǎng)絡(luò)模型的時(shí)候,在開始訓(xùn)練的前期,網(wǎng)絡(luò)需要一個(gè)較大的學(xué)習(xí)率以此快速地收斂到最優(yōu)點(diǎn)附近,但隨著訓(xùn)練的深入,學(xué)習(xí)率則需要不斷變小,以此來靠近最優(yōu)點(diǎn),此時(shí)過大的學(xué)習(xí)率會讓模型在最優(yōu)點(diǎn)附近來回震蕩且幅度較大。因此隨著模型訓(xùn)練次數(shù)的增加,學(xué)習(xí)率應(yīng)該先大后小,才可以保證網(wǎng)絡(luò)模型在訓(xùn)練結(jié)束時(shí)達(dá)到或最大限度地靠近最優(yōu)點(diǎn)。本次試驗(yàn)中采用余弦退火的方法自動(dòng)調(diào)整學(xué)習(xí)率,如式(2)所示。

式中:lr——灰度值;

base_lr——初始學(xué)習(xí)率,本文設(shè)置為10-3;

epoch——當(dāng)前的訓(xùn)練輪次;

T_max——學(xué)習(xí)率退火的最大epoch 數(shù),設(shè)置為300。

2.3.2 迭代周期(epoch)

迭代周期決定了訓(xùn)練過程中數(shù)據(jù)集在神經(jīng)網(wǎng)絡(luò)上迭代的次數(shù),直接影響到模型的訓(xùn)練效果和性能。在訓(xùn)練過少的epoch后,模型可能沒有充分學(xué)習(xí)數(shù)據(jù)集,導(dǎo)致欠擬合;而訓(xùn)練過多的epoch,模型可能會過度擬合訓(xùn)練數(shù)據(jù),而泛化能力較差。本文選取迭代次數(shù)為300輪。

2.3.3 批大小(Batch-Size)

在訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí),通常將數(shù)據(jù)集分成若干個(gè)小批次,每個(gè)小批次包含一定數(shù)量的樣本。Batch-Size 決定了每個(gè)小批次中包含的樣本數(shù)量。較大的Batch-Size通??梢约涌煊?xùn)練速度,因?yàn)槊總€(gè)小批次中的樣本數(shù)增加,從而減少了參數(shù)更新的次數(shù),這樣可以利用矩陣運(yùn)算和并行計(jì)算的優(yōu)勢,提高訓(xùn)練的效率;并且可以使訓(xùn)練過程更加穩(wěn)定,有助于避免訓(xùn)練過程中的震蕩或發(fā)散問題。

然而,較大的Batch-Size需要更多的內(nèi)存來存儲參數(shù)和梯度,特別是在GPU 上進(jìn)行訓(xùn)練時(shí)。如果內(nèi)存不足,可能需要減小Batch-Size 或使用更大的顯存設(shè)備。根據(jù)電腦的顯存,本文將批大小設(shè)置為6。

3 評價(jià)指標(biāo)

3.1 精確率(Precision)&召回率(Recall)

精確率從預(yù)測結(jié)果角度出發(fā),描述了二分類器預(yù)測出來的正例結(jié)果中有多少是真實(shí)正例,即該二分類器預(yù)測的正例有多少是準(zhǔn)確的;召回率從真實(shí)結(jié)果角度出發(fā),描述了測試集中的真實(shí)正例有多少被二分類器挑選了出來,即真實(shí)的正例有多少被該二分類器召回。Precision和Recall僅適用于二分類問題,如式(3)、(4)所示。

式中:TP——預(yù)測為正類別且真實(shí)為正類別的樣本數(shù)量;

FP——預(yù)測為正類別但實(shí)際為負(fù)類別的樣本數(shù)量;

FN——預(yù)測為負(fù)類別但實(shí)際為正類別的樣本數(shù)量。

3.2 F1-Score

F1-Score 是精確率和召回率的調(diào)和平均值。由于精確率和召回率通常是相互牽制的,優(yōu)化其中一個(gè)指標(biāo)可能會導(dǎo)致另一個(gè)指標(biāo)下降,F(xiàn)1-Score可以幫助綜合考慮這兩者,從而更全面地評估分類器的性能。計(jì)算公式如式(5)所示。

式中:P——精確率;

R——召回率。

3.3 交并比(Intersection-over-Union)

交并比可以用于評估模型預(yù)測的邊界框或分割結(jié)果與真實(shí)標(biāo)注之間的重疊程度,取值范圍在0到1之間。當(dāng)IOU等于1時(shí),表示預(yù)測結(jié)果完全和真實(shí)標(biāo)注一致;當(dāng)IOU等于0時(shí),表示預(yù)測結(jié)果和真實(shí)標(biāo)注沒有任何重疊。計(jì)算公式如式(6)所示。

式中:Area of Intersection——預(yù)測區(qū)域和真實(shí)標(biāo)注區(qū)域的交集面積;

Area of Union——預(yù)測區(qū)域和真實(shí)標(biāo)注區(qū)域的并集面積。

4 試驗(yàn)結(jié)果分析

4.1 Crack 500數(shù)據(jù)集

本文首先利用Crack 500[10]公共數(shù)據(jù)集作為算例。該數(shù)據(jù)集經(jīng)過處理后包含3368張裂縫圖像,其中訓(xùn)練數(shù)據(jù)集3000張圖像,驗(yàn)證數(shù)據(jù)集368張圖像。所有圖像均配備有像素級人工標(biāo)注的裂縫真值圖像。如圖4所示,為部分Crack 500圖像的分割效果對比,將原始圖像和標(biāo)記以及改進(jìn)前后模型的分割二值化圖像直觀展示了出來。從圖4 中可以觀察到,采用原始U-net 網(wǎng)絡(luò)對測試集識別的結(jié)果會使得原本連續(xù)的裂縫出現(xiàn)斷裂;而本文算法對于較淺裂縫的識別較原U-net網(wǎng)絡(luò)更加精確,同時(shí)對裂縫形態(tài)的提取更加完整。

圖4 Crack 500效果對比圖

4.2 橋梁混凝土裂縫自檢查數(shù)據(jù)集

由于路面裂縫與橋梁混凝土裂縫的特征表現(xiàn)形式相同,因此使用遷移學(xué)習(xí)對較少的橋梁裂縫圖像進(jìn)行快速訓(xùn)練,本文設(shè)置迭代輪數(shù)為30輪。將原始圖像進(jìn)行剪裁,每張圖像劃分為6個(gè)640×360大小的圖片。自數(shù)據(jù)集總共拍攝了30張圖片,經(jīng)過預(yù)處理之后將180張圖片隨機(jī)抽取150張用于訓(xùn)練,其余30張用于驗(yàn)證,并對其手動(dòng)添加標(biāo)簽文件。

圖5中選取了三張剪裁后的裂縫圖像,對其原始標(biāo)記和輸入模型得到的標(biāo)記進(jìn)行對比。從圖5中可以觀察到,由于橋梁混凝土裂縫相對與路面裂縫所含噪聲較小,最終模型預(yù)測出的裂縫形態(tài)與自制標(biāo)簽裂縫形態(tài)吻合情況出色。

圖5 橋梁裂縫效果對比圖

4.3 指標(biāo)分析

針對不同模型在不同數(shù)據(jù)集上的精確率、召回率、F1分?jǐn)?shù)以及交并比進(jìn)行計(jì)算,如表1所示。

表1 模型評價(jià)

改進(jìn)的U-Net在Crack 500數(shù)據(jù)集上取得了良好的分割效果,精確率為96.53%,召回率為97.29%,F(xiàn)1分?jǐn)?shù)為96.91%,IOU 為93.42%。與原U-Net 相比,改進(jìn)UNet的Precision 提升了4.42%,Recall 提升了3.75%,F(xiàn)1-Score 提升了4.09%,Intersection-over-Union 提升了4.85%,并在橋梁裂縫自數(shù)據(jù)集上展現(xiàn)出優(yōu)于Crack 500數(shù)據(jù)集的各項(xiàng)指標(biāo),充分體現(xiàn)了本文所提出的改進(jìn)U-Net模型在橋梁混凝土裂縫自檢測中的實(shí)用性。

5 結(jié)束語

本文基于U-Net 提出了性能更優(yōu)的橋梁裂縫檢測模型,實(shí)驗(yàn)結(jié)果證明其能較好地檢測混凝土橋梁裂縫。主要結(jié)論如下:

(1)通過在原始U-Net的結(jié)構(gòu)中增加一次上采樣過程,使得模型能夠獲得更多的裂縫細(xì)節(jié)信息。上采樣過程則能夠恢復(fù)圖像的細(xì)節(jié)信息,這樣可以使得模型更加準(zhǔn)確地檢測到混凝土橋梁裂縫。

(2)在卷積過程中,通過使用全零填充的方式,保護(hù)圖像邊緣不受卷積操作的影響,同時(shí)使圖像每次卷積后的規(guī)格不變,保證輸入輸出尺寸一致,這樣可以避免在卷積過程中損失圖像的邊緣信息,從而提高了模型的檢測性能。

(3)與原U-Net 相比,改進(jìn)U-Net 在Crack 500 數(shù)據(jù)集中Precision提升了4.42%,Recall提升了3.75%,F(xiàn)1-Score 提升了4.09%,Intersection-over-Union 提升了4.85%,并在橋梁裂縫自數(shù)據(jù)上表現(xiàn)更佳,取得了良好的分割效果。

台湾省| 潮安县| 北川| 泽普县| 云梦县| 普洱| 长汀县| 房山区| 栖霞市| 甘泉县| 永定县| 邵阳县| 仁怀市| 洛南县| 阿鲁科尔沁旗| 嘉禾县| 乐昌市| 夏津县| 洮南市| 英超| 临夏县| 夹江县| 安乡县| 凌海市| 麟游县| 北流市| 新绛县| 仁寿县| 曲沃县| 德阳市| 丹阳市| 来宾市| 武强县| 金昌市| 浑源县| 涡阳县| 中方县| 玉门市| 布尔津县| 石景山区| 合水县|