楊 鑠,許清風(fēng),王卓琳
(上海市建筑科學(xué)研究院有限公司 上海市工程結(jié)構(gòu)安全重點(diǎn)實(shí)驗(yàn)室,上海 200032)
經(jīng)過幾十年的城市化發(fā)展,中國既有民用建筑、工業(yè)廠房、橋梁隧道等建筑和基礎(chǔ)設(shè)施的存量巨大,這些工程結(jié)構(gòu)經(jīng)過長期使用后,在荷載、溫度效應(yīng)等因素影響下,累積損傷逐漸增多。同時(shí),中國是地震多發(fā)國家,結(jié)構(gòu)在服役期內(nèi)遭受地震后也會(huì)產(chǎn)生損傷劣化。上述工程結(jié)構(gòu)的老舊和累積損傷會(huì)嚴(yán)重影響其使用功能,導(dǎo)致其破壞甚至損毀[1-2]。因此,定期對工程結(jié)構(gòu)進(jìn)行損傷檢測和維護(hù),對提升結(jié)構(gòu)的安全性和耐久性具有重要意義[3]。傳統(tǒng)的結(jié)構(gòu)損傷檢測方法主要為人工檢測方法,該方法通過肉眼觀察、手工描繪和使用裂縫尺量測等手段來查找、記錄和測量結(jié)構(gòu)損傷的數(shù)量、位置分布和大小。然而使用該方法識(shí)別損傷會(huì)導(dǎo)致檢測結(jié)果主觀性較強(qiáng),并受到視覺疲勞、高空作業(yè)等因素影響,容易造成漏檢和錯(cuò)檢[4],使該方法難以滿足實(shí)際工程中大量的檢測需求。
計(jì)算機(jī)視覺技術(shù)是模擬人類視覺功能的技術(shù),主要包括數(shù)字圖像處理[5-6]和機(jī)器學(xué)習(xí)[7-8],其重要研究領(lǐng)域之一為圖像目標(biāo)檢測,包括工程結(jié)構(gòu)的損傷檢測。因該技術(shù)具有自動(dòng)化、非接觸、成本低、客觀性強(qiáng)等特點(diǎn),可較好地替代人工損傷檢測方法。傳統(tǒng)的基于計(jì)算機(jī)視覺技術(shù)的目標(biāo)檢測主要步驟為:①圖像預(yù)處理,包括降噪、增強(qiáng)等操作;②利用特定算法在候選區(qū)提取特征;③選取具有代表性的特征;④利用分類器來進(jìn)行特征分類;⑤合并具有同一類別特征的候選區(qū),計(jì)算目標(biāo)邊界框以完成目標(biāo)檢測。常見的特征主要有SIFT[9](Scale-invariant Feature Transform)、HOG[10](Histogram of Oriented Gradient)等,常見的分類器主要有SVM[11](Support Vector Machine)、DPM[12](Deformable Parts Model)等。近年來,視頻監(jiān)控、無人機(jī)和機(jī)器人等設(shè)備開始廣泛應(yīng)用于工程結(jié)構(gòu)的損傷檢測中[13-15],使損傷檢測的作業(yè)范圍更大,圖像采集的自動(dòng)化程度、靈活度和效率更高。同時(shí),使用這些設(shè)備也帶來了圖像采集數(shù)量增大、圖像背景信息和遮擋增多等問題,使損傷檢測更加復(fù)雜。傳統(tǒng)的圖像處理和機(jī)器學(xué)習(xí)方法主要使用人工設(shè)計(jì)的特征,這些特征主要存在層次級(jí)別低、可分性和代表性不強(qiáng)等問題,較難應(yīng)用于復(fù)雜多樣的目標(biāo)檢測,使傳統(tǒng)視覺技術(shù)難以應(yīng)對上述問題。深度學(xué)習(xí)作為機(jī)器學(xué)習(xí)方法中的一種,自Hinton等[16]發(fā)表深度學(xué)習(xí)的相關(guān)論文以來得到了廣泛而深入的研究,已成為近年來的研究熱點(diǎn)。相比于傳統(tǒng)機(jī)器學(xué)習(xí)方法,深度學(xué)習(xí)方法具有更強(qiáng)大的特征學(xué)習(xí)和表達(dá)能力,提取的特征更多樣化且層次更深,可用來應(yīng)對大規(guī)模的復(fù)雜目標(biāo)檢測任務(wù)[17]。常見的深度學(xué)習(xí)方法主要有限制波爾茲曼機(jī)[16](Restricted Boltzmann Machine,RBM)、自編碼器[18](Autoencode,AE)和卷積神經(jīng)網(wǎng)絡(luò)[19](Convolutional Neural Network,CNN)。隨著深度學(xué)習(xí)方法的不斷發(fā)展,較多學(xué)者發(fā)現(xiàn)將CNN應(yīng)用于工程結(jié)構(gòu)的損傷檢測,識(shí)別效果可獲得較大提升[20-22]。
本文對基于CNN模型的工程結(jié)構(gòu)損傷檢測方法進(jìn)行了綜述,介紹了用于損傷檢測的不同CNN模型的結(jié)構(gòu)、使用模型進(jìn)行檢測的步驟和損傷識(shí)別效果,對比了不同模型之間的差別和各自的特點(diǎn),說明了各類模型的局限性,描述了此類方法在不同結(jié)構(gòu)損傷檢測中的應(yīng)用,并對后續(xù)的研究工作進(jìn)行了展望,以期為CNN模型在工程結(jié)構(gòu)損傷檢測中的應(yīng)用提供參考。
卷積神經(jīng)網(wǎng)絡(luò)是一種多層非線性前饋神經(jīng)網(wǎng)絡(luò),最初被用于復(fù)雜圖像的特征識(shí)別和提取,以解決傳統(tǒng)圖像識(shí)別技術(shù)僅能提取圖像淺層特征的問題,實(shí)現(xiàn)對復(fù)雜圖像的自動(dòng)化處理。典型的卷積神經(jīng)網(wǎng)絡(luò)包括輸入層、卷積層、激活層、池化層、全連接層和輸出層,如圖1所示。
圖1 卷積神經(jīng)網(wǎng)絡(luò)典型結(jié)構(gòu)
1.1.1 輸入層
輸入層用于接收輸入圖像,其大小與輸入圖像大小相同。該層會(huì)將輸入的圖像轉(zhuǎn)換為像素矩陣(特征圖),該矩陣不同位置的數(shù)字代表輸入圖像對應(yīng)位置上像素的顏色編號(hào)。若輸入圖像為彩色圖像,則經(jīng)輸入層轉(zhuǎn)換得到的數(shù)據(jù)在通道方向上包含R、G、B三個(gè)特征圖。
1.1.2 卷積層
卷積層是卷積神經(jīng)網(wǎng)絡(luò)的核心層,輸入層特征圖進(jìn)入卷積層后,會(huì)與過濾器(卷積核)進(jìn)行卷積運(yùn)算,以提取圖像的局部特征。卷積運(yùn)算包括3個(gè)步驟:①進(jìn)入卷積層的特征圖子區(qū)域與過濾器進(jìn)行點(diǎn)積運(yùn)算(對應(yīng)元素相乘);②對點(diǎn)積運(yùn)算得到的數(shù)值求和;③將求和所得值與偏置值相加得到輸出特征圖上的元素。上述步驟如圖2所示,其中過濾器的大小和通道數(shù)與輸入特征圖子區(qū)域的大小和通道數(shù)相同,過濾器中的元素?cái)?shù)值(權(quán)重)與偏置參數(shù)可基于誤差反向傳播法,應(yīng)用相關(guān)學(xué)習(xí)技巧(隨機(jī)梯度下降法、AdaGrad法[23]、Adam法[24]等)進(jìn)行更新;過濾器滑動(dòng)步幅的大小對卷積神經(jīng)網(wǎng)絡(luò)的特征提取能力和計(jì)算量均有較大影響,隨步幅增大,輸出特征圖減小,計(jì)算量下降,但圖像的局部特征會(huì)在一定程度上丟失;卷積層層數(shù)亦對卷積神經(jīng)網(wǎng)絡(luò)的特征提取能力有較大影響,隨卷積層數(shù)增多(網(wǎng)絡(luò)結(jié)構(gòu)深度增加),網(wǎng)絡(luò)可提取圖像中更復(fù)雜和抽象的特征,但計(jì)算量會(huì)隨之增加。
圖2 卷積運(yùn)算步驟
1.1.3 激活層
卷積層后通常連接激活層,用以調(diào)整或截?cái)嗑矸e層的輸出。早期的非線性激活函數(shù)包括sigmoid函數(shù)和tanh函數(shù),目前激活函數(shù)主要為ReLU(Rectified Linear Unit)函數(shù)[25]。以上3個(gè)函數(shù)的表達(dá)式為
(1)
(2)
ReLU(x)=max{0,x}
(3)
式中:x為神經(jīng)元輸出值。
由式(1)~(3)可以看出,相比而言,ReLU函數(shù)形式更簡單且取值無上限,其梯度總為0或1,而sigmoid函數(shù)和tanh函數(shù)的梯度總在變化且存在梯度消失的問題。因此,使采用ReLU函數(shù)的卷積神經(jīng)網(wǎng)絡(luò)計(jì)算速度更快,精度更高。
1.1.4 池化層
池化層通常設(shè)置在激活層之后,通過池化操作(對特征圖局部區(qū)域下采樣)來減小輸入數(shù)據(jù)的空間大小并減少模型參數(shù)以降低其復(fù)雜度,通過此過程可去除特征圖的冗余信息以提取其主要特征,使模型對數(shù)據(jù)的微小變動(dòng)具有魯棒性。池化操作包括平均值池化和最大值池化,對于圖像處理問題,采用最大值池化的模型性能更好[26]。最大值池化過程如圖3所示。一般而言,池化窗口大小與步幅相同,使池化操作可無重疊地選擇特征圖局部區(qū)域,但在個(gè)別情況下,為提高模型性能可使兩者不相同[27]。
圖3 最大值池化過程
1.1.5 全連接層
全連接層一般位于池化層之后,用于對模型提取的高級(jí)特征進(jìn)行映射,其結(jié)構(gòu)為后一層每個(gè)神經(jīng)元都與當(dāng)前層所有神經(jīng)元相連,如圖1所示。全連接層將池化層的輸出特征圖轉(zhuǎn)換為特征向量的步驟如下:①將輸出特征圖排列成特征向量;②按式(4)計(jì)算下一層的特征向量。
xn=f(wnxn-1+bn)
(4)
式中:xn-1、xn分別為第n-1層和第n層的特征向量;wn、bn分別為第n層的權(quán)重和偏置向量;f為非線性激活函數(shù)。
1.1.6 輸出層
輸出層位于卷積神經(jīng)網(wǎng)絡(luò)模型末端,其激活函數(shù)形式應(yīng)根據(jù)任務(wù)目的確定。對于回歸問題,激活函數(shù)一般采用恒等函數(shù);對于分類問題,一般采用softmax函數(shù),此時(shí)輸出層可稱為softmax層。softmax函數(shù)用來產(chǎn)生一個(gè)圖像類別的預(yù)測向量p(y(i)=n(i)|x(i);W),其中,x(i)為第i個(gè)樣本的輸出特征向量,y(i)=n(i)表示該樣本屬于第n(i)個(gè)類別(n(i)=1,2,…,n),W為權(quán)重矩陣。類別預(yù)測向量表達(dá)式為
(5)
由式(5)得到的預(yù)測向量元素表示圖像屬于某一類別的概率。
卷積神經(jīng)網(wǎng)絡(luò)模型中的參數(shù)(卷積核、全連接層的權(quán)重)需通過樣本數(shù)據(jù)訓(xùn)練來確定。模型的訓(xùn)練過程也稱為學(xué)習(xí)過程。在訓(xùn)練模型時(shí),需計(jì)算模型的損失函數(shù)。損失函數(shù)是神經(jīng)網(wǎng)絡(luò)模型學(xué)習(xí)過程中的重要指標(biāo),代表模型輸出值與真實(shí)值的差別。學(xué)習(xí)的目的在于找到使損失函數(shù)取值最小的模型參數(shù),本質(zhì)上屬于模型參數(shù)的最優(yōu)化問題。較常見的損失函數(shù)主要有平均絕對誤差(Mean Absolute Error,MAE)函數(shù)、均方誤差(Mean Square Error,MSE)函數(shù)和交叉熵誤差(Cross Entropy Error)函數(shù)。在交叉熵誤差函數(shù)中,將softmax函數(shù)與交叉熵?fù)p失相結(jié)合可得到softmax交叉熵?fù)p失函數(shù),該損失函數(shù)一般用于分類模型中。MAE損失函數(shù)L1、MSE損失函數(shù)L2和softmax交叉熵?fù)p失函數(shù)L3的表達(dá)式為
(6)
(7)
(8)
求解網(wǎng)絡(luò)模型參數(shù)時(shí),給出損失函數(shù)沿網(wǎng)絡(luò)模型反向在各層關(guān)于模型參數(shù)的梯度,并使參數(shù)沿梯度方向更新直至誤差收斂,此方法被稱為隨機(jī)梯度下降(Stochastic Gradient Descent,SGD)法。使用SGD法訓(xùn)練模型通常效率較低,為此可采用基于SGD法的修正優(yōu)化方法,如AdaGrad法[23]、Adam法[24]等。
對于訓(xùn)練好的網(wǎng)絡(luò)模型,需采用驗(yàn)證數(shù)據(jù)集驗(yàn)證其有效性以評(píng)價(jià)模型的性能。常用的目標(biāo)檢測模型評(píng)價(jià)指標(biāo)如下:
(1)準(zhǔn)確率A,即正確檢測或分割到的樣本或像素?cái)?shù)與總樣本或總像素?cái)?shù)的比值,計(jì)算公式為
(9)
式中:Tp為正確識(shí)別到的正對象數(shù);TN為正確識(shí)別到的負(fù)對象數(shù);Fp為錯(cuò)誤識(shí)別到的正對象數(shù);FN為錯(cuò)誤識(shí)別到的負(fù)對象數(shù)。
(2)精確率P,即正確檢測或分割出的目標(biāo)樣本或像素?cái)?shù)與檢測或分割到的所有目標(biāo)樣本或像素?cái)?shù)的比值,計(jì)算公式為
(10)
(3)召回率R,即正確檢測或分割出的目標(biāo)樣本或像素?cái)?shù)與實(shí)際的目標(biāo)樣本或像素?cái)?shù)的比值,計(jì)算公式為
(11)
一般情況下,當(dāng)精確率較高時(shí),召回率較低;反之亦然。為綜合評(píng)價(jià)網(wǎng)絡(luò)訓(xùn)練效果,使用綜合評(píng)價(jià)指標(biāo)F1[式(12)]綜合考慮精確率和召回率的指標(biāo)。
(12)
LeCun等[19]于1998年提出了CNN模型LeNet-5,將其用于手寫數(shù)字的識(shí)別。作為早期的卷積神經(jīng)網(wǎng)絡(luò),由于運(yùn)算能力的限制和過擬合問題,此類模型的應(yīng)用和發(fā)展受到限制。2012年,Krizhevsky等[28]提出了AlexNet模型,其模型結(jié)構(gòu)如圖4所示。相比于LeNet-5,該網(wǎng)絡(luò)的卷積層和池化層有所增加,使其在ImageNet數(shù)據(jù)集[29]上的圖像分類準(zhǔn)確率大幅提高。其采用Dropout策略緩解了過擬合問題,并通過使用ReLU激活函數(shù)以及采用GPU運(yùn)算,提高了網(wǎng)絡(luò)的訓(xùn)練和識(shí)別速度。AlexNet模型被提出后,在網(wǎng)絡(luò)的深度和寬度層面,CNN模型不斷有新的發(fā)展。
圖4 AlexNet模型結(jié)構(gòu)示意
為研究網(wǎng)絡(luò)層數(shù)對模型性能的影響,Simonyan等[30]在AlexNet基礎(chǔ)上提出了VGG模型,其選用3×3的卷積核,以減少模型的參數(shù)。測試發(fā)現(xiàn),隨網(wǎng)絡(luò)層數(shù)增加,圖像分類準(zhǔn)確率有所提高,但層數(shù)超過一定數(shù)量時(shí),模型出現(xiàn)退化現(xiàn)象。當(dāng)模型包含16個(gè)卷積層、5個(gè)池化層和3個(gè)全連接層(VGG-19)時(shí),其圖像分類效果最優(yōu)。為解決網(wǎng)絡(luò)退化問題,He等[31]提出了ResNet模型,該模型通過引入恒等映射(與卷積層組成殘差模塊),使反向傳遞的梯度變化不大,基本解決了模型退化問題并提升了訓(xùn)練速度。同一時(shí)期,Szegedy等[32]提出了GoogleNet模型,該模型在深度方向包含多個(gè)Inception模塊,每個(gè)Inception模塊在寬度方向包含多個(gè)使用不同大小卷積核的卷積運(yùn)算。以上方法使模型的準(zhǔn)確率和魯棒性顯著提升,且模型的訓(xùn)練參數(shù)較少。此外,針對ResNet模型的不足,一些學(xué)者通過改變殘差模塊的寬度(模塊內(nèi)卷積層的通道數(shù))提升了網(wǎng)絡(luò)的識(shí)別準(zhǔn)確率和訓(xùn)練速度[33],或在每層建立本層與之后各層的前饋連接以提高特征表達(dá)的復(fù)用性[34]。也有學(xué)者將GoogleNet模型中的Inception思想與殘差思想相結(jié)合,提出了新的模型,其訓(xùn)練速度和性能得到了顯著提升[35]。Xie等[36]在ResNet模型中引入了不同于深度和寬度的新維度(Cardinality),即在殘差模塊內(nèi)增加多個(gè)卷積路徑,在未增加網(wǎng)絡(luò)復(fù)雜度的情況下顯著提高了圖像分類的準(zhǔn)確率。Hu等[37]針對卷積神經(jīng)網(wǎng)絡(luò)提出了一種新模塊(Squeeze-and-excitation Block),使模型能根據(jù)各特征通道的重要性,自動(dòng)調(diào)節(jié)相應(yīng)通道的權(quán)重,該模型在圖像分類的top-5錯(cuò)誤率降低至2.251%。
近年來,眾多學(xué)者對如何將CNN用于圖像目標(biāo)檢測進(jìn)行了大量研究。針對目標(biāo)識(shí)別的CNN模型包括基于分類的算法、基于回歸的算法和圖像分割算法[38-40]?;诜诸惡突貧w的算法屬于目標(biāo)檢測算法,其中,基于候選區(qū)域的算法[40]應(yīng)用較多,該算法也被稱為兩階段目標(biāo)檢測算法。兩階段目標(biāo)檢測算法首先從待檢測圖像中選取若干候選區(qū)域,然后對其進(jìn)行特征提取,最后對特征進(jìn)行分類,以完成目標(biāo)檢測,其典型代表有:R-CNN[41]、SPP-Net[42]、Fast R-CNN[43]、Faster R-CNN[44]、R-FCN[45]和Mask R-CNN[46]等;基于回歸的算法不含提取候選區(qū)域的過程,因此也被稱為單階段目標(biāo)檢測算法,該算法將卷積神經(jīng)網(wǎng)絡(luò)模型看作回歸器,直接在待檢測圖像中回歸目標(biāo)物的位置信息,從而將特征提取、目標(biāo)分類和位置回歸集中在同一卷積神經(jīng)網(wǎng)絡(luò)模型中完成,其典型代表有:YOLO系列[47-50]、SSD系列[51-55]、RetinaNet[56]、CornerNet[57]、CenterNet[58]和EfficientDet[59]等?;贑NN的圖像分割算法是近年來得到快速發(fā)展的一種圖像分割技術(shù),其能在識(shí)別過程中直接完成目標(biāo)物的分割工作,可實(shí)現(xiàn)目標(biāo)的像素級(jí)提取。
上述基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測算法中,當(dāng)識(shí)別目標(biāo)為結(jié)構(gòu)損傷(表面裂縫、混凝土保護(hù)層剝落和局部破壞等)時(shí),即為結(jié)構(gòu)損傷目標(biāo)檢測算法,這類算法主要被用于結(jié)構(gòu)損傷的分類與定位。其中,基于分類的算法包括直接基于經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)損傷識(shí)別方法,以及利用特定算法對待測圖像提取候選區(qū),在此基礎(chǔ)上使用卷積神經(jīng)網(wǎng)絡(luò)對結(jié)構(gòu)損傷進(jìn)行分類和位置回歸的基于候選區(qū)的算法;基于回歸的算法在損傷檢測過程中不包含候選區(qū)的生成過程,計(jì)算速度一般比基于候選區(qū)的算法快,但檢測精度比后者低?;诜诸惡突诨貧w的算法使卷積神經(jīng)網(wǎng)絡(luò)更易應(yīng)用于實(shí)際的結(jié)構(gòu)損傷檢測中。直接使用CNN遍歷圖像(直接基于CNN的方法)以及采用基于候選區(qū)和回歸算法的裂縫識(shí)別效果如圖5所示。
圖5 不同方法的輸出結(jié)果
Dorafshan等[62]對6種邊緣識(shí)別器和1種直接基于CNN的方法在用于裂縫檢測的包含100張?jiān)紙D像的混凝土橋面數(shù)據(jù)集上識(shí)別裂縫的性能進(jìn)行了對比。所用的卷積神經(jīng)網(wǎng)絡(luò)采用AlexNet模型的3種訓(xùn)練模式,即完全訓(xùn)練模式、遷移學(xué)習(xí)模式和分類器模式,分別指直接在裂縫數(shù)據(jù)集上訓(xùn)練的模型、在大型數(shù)據(jù)集上對模型進(jìn)行預(yù)訓(xùn)練并使用裂縫數(shù)據(jù)集繼續(xù)訓(xùn)練高層次權(quán)重的模型和僅在大型數(shù)據(jù)集上訓(xùn)練的模型。結(jié)果表明,使用已有的邊緣檢測法可識(shí)別到圖像上53%~79%的裂縫像素(裂縫像素識(shí)別召回率為53%~79%),識(shí)別到的裂縫寬度均大于0.1 mm,并會(huì)在最終的二值圖像中殘留噪聲。相比之下,使用卷積神經(jīng)網(wǎng)絡(luò)對圖像進(jìn)行識(shí)別其準(zhǔn)確率可達(dá)到或超過97%。在遷移學(xué)習(xí)模式下,卷積神經(jīng)網(wǎng)絡(luò)可檢測到86%的裂縫圖像(裂縫圖像識(shí)別召回率為86%);在完全訓(xùn)練和分類器模式下,卷積神經(jīng)網(wǎng)絡(luò)可識(shí)別出寬度大于0.08 mm的裂縫,在遷移學(xué)習(xí)模式下,可識(shí)別出寬度大于0.04 mm的裂縫。同時(shí),卷積神經(jīng)網(wǎng)絡(luò)檢測裂縫的速度更快。此外,將邊緣檢測器與卷積神經(jīng)網(wǎng)絡(luò)結(jié)合而構(gòu)成混合裂縫檢測器來檢測裂縫,可大幅減少圖像上的殘留噪聲;對卷積神經(jīng)網(wǎng)絡(luò)在大型結(jié)構(gòu)損傷數(shù)據(jù)集中進(jìn)行預(yù)訓(xùn)練后進(jìn)行遷移學(xué)習(xí),可有效提升模型裂縫檢測的性能。
韓曉健等[63]認(rèn)為,直接基于CNN的裂縫識(shí)別模型相比傳統(tǒng)的機(jī)器學(xué)習(xí)算法雖然可實(shí)現(xiàn)裂縫圖像特征的自動(dòng)化提取,顯著提高裂縫識(shí)別精度,但訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)需要大量標(biāo)簽樣本,使直接基于CNN的裂縫識(shí)別方法的應(yīng)用受到極大限制,且此類方法不能直接提取圖像上的裂縫。
針對以上缺點(diǎn),作者選擇AlexNet模型,使用直接基于CNN的方法,并調(diào)整最后的全連接層以實(shí)現(xiàn)裂縫和背景圖像的分類。同時(shí),基于遷移學(xué)習(xí)思想,對網(wǎng)絡(luò)在已有的大型數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練,得到網(wǎng)絡(luò)權(quán)重(參數(shù))初始值,之后對其在樣本數(shù)量有限的裂縫數(shù)據(jù)集上再進(jìn)行訓(xùn)練,以達(dá)到模型可識(shí)別裂縫的要求。此外,對識(shí)別出的包含裂縫的圖像采用雙邊濾波算法、裂縫灰度增強(qiáng)和基于局部區(qū)域閾值的圖像分割方法提取裂縫,最終得到只含有裂縫的二值圖像。經(jīng)測試,上述采用遷移學(xué)習(xí)的混凝土結(jié)構(gòu)裂縫識(shí)別模型的識(shí)別準(zhǔn)確率達(dá)到了98%以上。
與混凝土結(jié)構(gòu)表面裂縫類似的是混凝土路面裂縫。針對此類裂縫的檢測,王麗蘋等[64]提出了一種直接基于CNN的檢測方法,該模型仍使用AlexNet架構(gòu),并在此基礎(chǔ)上對網(wǎng)絡(luò)結(jié)構(gòu)和神經(jīng)元數(shù)量、卷積層尺寸、參數(shù)更新時(shí)的學(xué)習(xí)率等除權(quán)重和偏置以外的超參數(shù)進(jìn)行優(yōu)化。通過相機(jī)采集照片建立混凝土路面裂縫彩色和灰度圖像數(shù)據(jù)集用以訓(xùn)練模型。最后,基于Caffe開發(fā)平臺(tái),分析了數(shù)據(jù)集大小、顏色信息、網(wǎng)絡(luò)結(jié)構(gòu)和超參數(shù)對該模型性能的影響。分析結(jié)果表明,優(yōu)化后的網(wǎng)絡(luò)比原AlexNet網(wǎng)絡(luò)的裂縫識(shí)別準(zhǔn)確率高,對彩色圖像的裂縫識(shí)別準(zhǔn)確率最高達(dá)98.5%。該網(wǎng)絡(luò)可直接用于彩色標(biāo)準(zhǔn)圖像的裂縫檢測,減少了圖像預(yù)處理工作量。
王超等[65]針對以往卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)過于復(fù)雜、參數(shù)多、設(shè)備配置要求高和檢測實(shí)時(shí)性差等問題,提出一種基于輕質(zhì)化CNN的混凝土結(jié)構(gòu)表面裂縫識(shí)別模型。該模型包含21個(gè)卷積層、6個(gè)池化層和2個(gè)不同的Inception模塊,且未使用全連接層。每個(gè)Inception模塊含多個(gè)卷積層,以此增加網(wǎng)絡(luò)寬度。對于如何提高網(wǎng)絡(luò)模型的泛化能力,從而提高網(wǎng)絡(luò)的魯棒性和穩(wěn)定性,防止過擬合發(fā)生,作者認(rèn)為關(guān)鍵在于網(wǎng)絡(luò)的訓(xùn)練裂縫數(shù)據(jù)集應(yīng)具有背景多樣性和裂縫寬度、走向以及光照強(qiáng)度多樣性。通過測試集測試模型可知,與卷積神經(jīng)網(wǎng)絡(luò)VGG-16(包含13個(gè)卷積層、5個(gè)池化層和3個(gè)全連接層)[30]、GoogleNet和ResNet-50[31]相比,模型的準(zhǔn)確率、精確率、召回率和綜合評(píng)價(jià)指標(biāo)均有所提高;相比于結(jié)構(gòu)相似但存在全連接層的模型,上述指標(biāo)亦有所提升,且網(wǎng)絡(luò)識(shí)別速度有所提高;與在每個(gè)卷積層后進(jìn)行批量標(biāo)準(zhǔn)化以及未進(jìn)行批量標(biāo)準(zhǔn)化的模型相比,僅在最后的卷積層之后使用批量標(biāo)準(zhǔn)化層,模型的穩(wěn)定性最好且裂縫識(shí)別效果較好。
Ali等[66]針對混凝土結(jié)構(gòu)裂縫的檢測提出了一種卷積神經(jīng)網(wǎng)絡(luò)模型,該模型由5個(gè)卷積層、3個(gè)池化層、2個(gè)全連接層和softmax輸出層組成,如圖6所示。作者將該網(wǎng)絡(luò)模型與VGG-16、VGG-19、ResNet-50、InceptionV3[67]在8個(gè)大小不同的裂縫數(shù)據(jù)集上的計(jì)算時(shí)間、裂縫識(shí)別結(jié)果、識(shí)別準(zhǔn)確率、精確率和召回率進(jìn)行對比。結(jié)果表明,訓(xùn)練數(shù)據(jù)量大小和數(shù)據(jù)樣本的不均勻性對模型性能影響較大。上述模型在使用適量的、類型多樣的數(shù)據(jù)進(jìn)行訓(xùn)練時(shí)會(huì)表現(xiàn)出較好的性能,當(dāng)訓(xùn)練數(shù)據(jù)量過大且多樣性降低時(shí),模型泛化能力下降且會(huì)出現(xiàn)過擬合現(xiàn)象。該模型和VGG-16在混凝土結(jié)構(gòu)的裂縫檢測方面均表現(xiàn)優(yōu)異,但前者計(jì)算速度快,網(wǎng)絡(luò)復(fù)雜程度較低。
圖6 一種新提出的CNN結(jié)構(gòu)[66]
由上述研究現(xiàn)狀可知,目前針對直接基于CNN算法的結(jié)構(gòu)損傷識(shí)別的研究已取得一定進(jìn)展,但是直接基于CNN的方法大多僅應(yīng)用于混凝土結(jié)構(gòu)裂縫的識(shí)別,涉及的結(jié)構(gòu)損傷類型和應(yīng)用場景單一,在特殊條件下(如鋼結(jié)構(gòu)細(xì)微裂紋等[68])該方法的結(jié)構(gòu)損傷識(shí)別性能有待提高。
針對老化混凝土橋梁的檢測和維護(hù),Kim等[69]采用搭載高分辨率相機(jī)的商用無人機(jī)來識(shí)別橋梁裂縫。首先,使用無人機(jī)對橋梁進(jìn)行拍攝來獲得基于點(diǎn)云的背景模型。隨后,使用R-CNN模型在通過無人機(jī)拍攝得到的圖像中識(shí)別裂縫并采用圖像處理技術(shù)分析裂縫寬度和長度。最終,將識(shí)別出的裂縫在背景模型中予以呈現(xiàn)。
所使用的R-CNN模型的計(jì)算步驟為首先使用Selective Search方法從輸入圖像中生成候選區(qū),隨后對裁剪為統(tǒng)一大小的候選區(qū)圖像使用CNN模型提取特征并對候選區(qū)進(jìn)行分類。CNN模型中包含3個(gè)卷積層及隨后的ReLU激活層和最大值池化層、2個(gè)全連接層和softmax輸出層。考慮到橋梁裂縫數(shù)據(jù)較少,作者基于遷移學(xué)習(xí)思想,使用來自Cifar-10數(shù)據(jù)集[70]中的50 000張圖片對模型的卷積層、激活層和池化層部分進(jìn)行預(yù)訓(xùn)練,隨后使用384張裂縫圖片對模型的全連接層部分進(jìn)行微調(diào)訓(xùn)練。對經(jīng)微調(diào)訓(xùn)練的R-CNN模型進(jìn)行測試,結(jié)果表明該模型可有效檢測和定量分析既有橋梁的裂縫,使用該模型結(jié)合裂縫自動(dòng)化呈現(xiàn)技術(shù)可實(shí)現(xiàn)對橋梁裂縫發(fā)展過程的監(jiān)測。
鑒于以往使用CNN模型識(shí)別的結(jié)構(gòu)損傷類型較為單一,Cha等[71]采用基于ZF-Net[72]的Faster R-CNN模型對結(jié)構(gòu)的多種損傷進(jìn)行檢測,損傷類型包括鋼結(jié)構(gòu)的適度腐蝕、嚴(yán)重腐蝕、螺栓腐蝕、表面開裂分層和混凝土結(jié)構(gòu)表面開裂。該模型結(jié)構(gòu)如圖7所示。由圖7可知,模型由用于生成候選區(qū)的區(qū)域提議網(wǎng)絡(luò)(Region Proposal Network,RPN)[44]和用于目標(biāo)定位與分類的卷積神經(jīng)網(wǎng)絡(luò)Fast R-CNN構(gòu)成。RPN和Fast R-CNN共用ZF-Net網(wǎng)絡(luò)以提取輸入圖像的特征。相關(guān)研究表明,ZF-Net對于目標(biāo)檢測具有較高的訓(xùn)練和檢測速度,可對目標(biāo)進(jìn)行快速檢測[72]。
圖7 基于ZF-Net的Faster R-CNN模型結(jié)構(gòu)示意[71]
在訓(xùn)練模型前,使用相機(jī)搜集297張分辨率為6 000×4 000的照片并裁剪為2 366張分辨率為500×375的包含上述5種損傷的數(shù)據(jù)集,并將損傷類型進(jìn)行標(biāo)注。隨后,在此數(shù)據(jù)集中隨機(jī)選擇照片以建立模型測試數(shù)據(jù)集。未入選的圖片經(jīng)數(shù)據(jù)增廣后建立模型訓(xùn)練和驗(yàn)證數(shù)據(jù)集,采用試錯(cuò)方法確定模型生成提議部分的初始參數(shù)使預(yù)測準(zhǔn)確率最大。該模型在測試集中對5種損傷預(yù)測結(jié)果的平均精確率可達(dá)到89.7%。使用該模型對混凝土裂縫進(jìn)行識(shí)別,與使用典型CNN模型[60]的識(shí)別結(jié)果相比,基于ZF-Net的Faster R-CNN模型具有更高的計(jì)算效率,對于不同大小的輸入圖像可提供尺寸多變的選框。此外,使用該模型也可實(shí)現(xiàn)準(zhǔn)實(shí)時(shí)視頻圖像損傷檢測。
目前針對基于候選區(qū)的算法在結(jié)構(gòu)損傷識(shí)別中的應(yīng)用研究已取得一定成果。由上述研究結(jié)果可知,基于候選區(qū)的算法使用選取候選區(qū)的方式來識(shí)別結(jié)構(gòu)損傷,與使用CNN模型遍歷圖像相比,分析速度大為提高。然而,此類模型的識(shí)別精度與選取的候選區(qū)質(zhì)量相關(guān),當(dāng)圖像背景復(fù)雜或損傷形狀不規(guī)則時(shí),候選區(qū)質(zhì)量會(huì)有所下降(如選框與真實(shí)區(qū)域的交并比較大,而選中的損傷面積很小)[73],基于候選區(qū)算法的損傷識(shí)別效果會(huì)受到影響。
鑒于已有結(jié)構(gòu)裂縫檢測方法效率低的問題,Jiang等[74]提出了一套混凝土結(jié)構(gòu)裂縫實(shí)時(shí)檢測方法。該方法借助爬墻無人機(jī)系統(tǒng)(Unmanned Aerial System,UAS)拍攝結(jié)構(gòu)外立面視頻,以解決圖像變形與圖像縮放參數(shù)不確定的問題,其拍攝的視頻通過無線數(shù)據(jù)傳輸器傳給智能手機(jī)。數(shù)據(jù)傳輸器將視頻轉(zhuǎn)換為每秒30幀、分辨率為640×480的模擬視頻信號(hào)。使用UAS拍攝視頻時(shí),智能手機(jī)同時(shí)接收視頻信號(hào),其延遲時(shí)間小于10 ms。因此,整個(gè)裂縫識(shí)別過程是實(shí)時(shí)的。
智能手機(jī)在Tensorflow Lite平臺(tái)上使用基于CNN的裂縫識(shí)別模型來檢測視頻中的結(jié)構(gòu)外立面裂縫。該模型采用基于Single Shot MultiBox Detector(SSD)的單階段目標(biāo)檢測方法。SSD模型包含基于CNN的特征提取部分(Base Network)以及用于分類和定位的檢測部分[51],如圖8所示,其中,檢測部分采用大小不同的特征圖結(jié)合多尺度選框(Default Box)來定位裂縫。原有SSD的特征提取部分采用VGG-16,因其層數(shù)和參數(shù)較多會(huì)影響計(jì)算速度,作者在此處采用改進(jìn)的MobileNet網(wǎng)絡(luò)MobileNetV2。MobileNet可提升模型的實(shí)時(shí)目標(biāo)檢測性能,能以很小的計(jì)算代價(jià)達(dá)到與VGG-16幾乎相同的檢測準(zhǔn)確率[75-76],MobileNetV2在MobileNet的基礎(chǔ)上做了進(jìn)一步改進(jìn),使其梯度傳播能力有所提升。此外,作者還將SSD檢測部分的卷積層替換為Separable卷積層,形成SSDLite-MobileNetV2模型,以進(jìn)一步減小模型的計(jì)算量。
圖8 SSD模型結(jié)構(gòu)示意
在建立結(jié)構(gòu)表面裂縫數(shù)據(jù)集時(shí),通過UAS獲取不同建筑物的表面裂縫視頻,通過相關(guān)軟件將視頻按幀數(shù)轉(zhuǎn)換為裂縫圖像,并按一定比例分配以用于模型的訓(xùn)練和測試。對比該模型與Faster R-CNN、SSD-MobileNet和SSD-MobileNetV2的訓(xùn)練結(jié)果可知,F(xiàn)aster R-CNN的預(yù)測平均精確率最高但速度最慢,SSDLite-MobileNetV2的速度最快。模型的實(shí)時(shí)測試結(jié)果表明,對于一部4 min的檢測視頻(包含6960幀圖像),SSDLite-MobileNetV2的識(shí)別精確率可達(dá)到94.48%。
針對混凝土高速路橋梁的損傷快速檢測,Zhang等[77]提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)YOLOv3[49]的單階段多種損傷檢測模型。YOLOv3網(wǎng)絡(luò)包括主干網(wǎng)絡(luò)(Backbone)和頭部網(wǎng)絡(luò)(Head Subnet),如圖9所示,其中,主干網(wǎng)絡(luò)使用DarkNet-53網(wǎng)絡(luò)[49]在平均值池化層之前的部分,用于提取圖像特征,包括卷積層和殘差單元;頭部網(wǎng)絡(luò)用于目標(biāo)分類和定位(框選),采用特征金字塔卷積神經(jīng)網(wǎng)絡(luò)模型(Feature Pyramid Network,F(xiàn)PN)[78]在3個(gè)層次上檢測目標(biāo),其中,F(xiàn)PN使用連接操作(Concatenation)來合并不同層次的圖像特征。YOLOv3在使用FPN后,分別在3個(gè)層次進(jìn)行下采樣。此外,作者采用改進(jìn)的遷移學(xué)習(xí)方法以解決預(yù)訓(xùn)練數(shù)據(jù)集和微調(diào)訓(xùn)練數(shù)據(jù)集分布差別大導(dǎo)致訓(xùn)練效果差的問題,并改進(jìn)了原有的批量正則化方法和損失函數(shù)。用于遷移學(xué)習(xí)的數(shù)據(jù)集包含2 206張來源于現(xiàn)場檢測的橋梁裂縫圖片,其中包括混凝土開裂、脹裂、剝離、鋼筋暴露和多種檢測場景。測試結(jié)果表明,原有的YOLOv3模型在交并比IoU閾值為0.5情況下的平均精確率均值為66.2%,在IoU閾值為0.75情況下的平均精確率均值為24.0%。改進(jìn)的YOLOv3模型的預(yù)測精度可分別達(dá)到79.9%、47.2%。
圖9 YOLOv3結(jié)構(gòu)示意[77]
由上述研究現(xiàn)狀可知,目前針對基于回歸的結(jié)構(gòu)損傷識(shí)別單階段算法的研究已取得一定進(jìn)展,而此類算法的特點(diǎn)使針對將其應(yīng)用于結(jié)構(gòu)損傷實(shí)時(shí)檢測中的研究更為深入和廣泛。由單階段算法的模型架構(gòu)可知,模型特征提取部分的性能對整體網(wǎng)絡(luò)的識(shí)別速度影響較大。然而,大多數(shù)現(xiàn)有的CNN模型結(jié)構(gòu)復(fù)雜,參數(shù)較多,在一定程度上限制了此類算法在結(jié)構(gòu)損傷實(shí)時(shí)檢測中的應(yīng)用。此外,在現(xiàn)場進(jìn)行實(shí)時(shí)檢測時(shí),通常需借助無人機(jī)等設(shè)備來獲取圖像,由于設(shè)備安全工作條件等要求的限制,此類方法對于結(jié)構(gòu)表面細(xì)微損傷的識(shí)別能力有待進(jìn)一步提高。
使用目標(biāo)檢測算法可分類和定位圖像中的損傷,若要進(jìn)一步分析損傷參數(shù)(裂縫寬度、損傷面積等),需借助傳統(tǒng)的圖像處理技術(shù)來提取損傷。已有的圖像處理技術(shù)存在特征提取泛化能力不強(qiáng)、易受環(huán)境因素干擾和效率低等缺陷[79]。為了實(shí)現(xiàn)在像素級(jí)別上直接從圖像中分割損傷以便于計(jì)算損傷參數(shù),已有較多學(xué)者研究了針對結(jié)構(gòu)損傷的基于深度學(xué)習(xí)的圖像分割算法并進(jìn)行了應(yīng)用。使用該算法的損傷提取效果如圖10所示。
圖10 圖像分割算法識(shí)別結(jié)果[80]
目前,采用卷積神經(jīng)網(wǎng)絡(luò)來提取損傷,主要是基于全卷積神經(jīng)網(wǎng)絡(luò)(Fully Convolution Network,F(xiàn)CN)[80-81]及在其基礎(chǔ)上改進(jìn)的模型來進(jìn)行的。FCN在傳統(tǒng)的CNN模型基礎(chǔ)上進(jìn)行了擴(kuò)展,包含用于目標(biāo)分類的全部為卷積層的編碼器部分以及包含上采樣操作(轉(zhuǎn)置卷積或反卷積)的解碼器部分。該模型的結(jié)構(gòu)如圖11所示。
圖11 FCN模型結(jié)構(gòu)示意[81]
FCN模型中,經(jīng)典的網(wǎng)絡(luò)結(jié)構(gòu)有FCN-32s、FCN-16s和FCN-8s,其中,F(xiàn)CN-32s是在編碼器完成分類后通過上采樣將特征圖放大32倍;FCN-16s是將編碼器中池化層4與卷積層7輸出的特征圖合并后放大16倍;FCN-8s是將編碼器中的池化層3、池化層4和卷積層7輸出的特征圖合并后放大8倍。
增加FCN模型解碼器部分的層次,形成深度FCN,即可構(gòu)成U-Net模型[82]。該模型的解碼器部分幾乎與編碼器部分對稱,后者由多層卷積模塊組成,該模塊包含2個(gè)卷積層及隨后的ReLU激活層和最大值池化層,其在模型中的作用為下采樣,即減小特征圖的大小并成倍增加特征圖通道數(shù)量;前者亦包含多個(gè)模塊,每個(gè)模塊包括上采樣操作和隨后的卷積層、相同層次上與編碼器之間用于合并特征圖的skip連接,以及隨后的2個(gè)卷積層和ReLU激活層。模型總計(jì)包含23個(gè)卷積層,其結(jié)構(gòu)如圖12所示。
圖12 U-Net結(jié)構(gòu)示意[82]
為充分利用深度卷積神經(jīng)網(wǎng)絡(luò)(網(wǎng)絡(luò)層數(shù)較多)中具有金字塔形式的特征圖體系,從多個(gè)尺度提取圖像特征并進(jìn)行目標(biāo)的像素級(jí)分割,Lin等[78]提出了FPN模型,其結(jié)構(gòu)如圖13所示,其中,上采樣(8×)表示將特征圖在長、寬方向上擴(kuò)大8倍,1/32表示輸出特征圖在長、寬尺度上為原輸入圖像的1/32,其余含義同。該模型包含具有特征金字塔形式的由底到頂?shù)穆窂?、由頂?shù)降椎穆窂揭约皟陕方?jīng)對應(yīng)層次間的連接。由底到頂?shù)穆窂娇捎扇我庑问降木矸e神經(jīng)網(wǎng)絡(luò)構(gòu)成。由頂?shù)降椎穆窂桨ㄉ喜蓸硬僮?,在每次上采樣后將每層特征圖與來自由底到頂路徑并經(jīng)歷卷積操作的特征圖進(jìn)行疊加。最后,將分別從不同層次得到的特征圖經(jīng)上采樣后進(jìn)行合并,從而得到最終的預(yù)測結(jié)果。從結(jié)構(gòu)上看,F(xiàn)PN模型與U-Net模型基本一致,主要區(qū)別在于前者在網(wǎng)絡(luò)的不同層次分別進(jìn)行預(yù)測。
圖13 FPN結(jié)構(gòu)示意
對于基于CNN模型的圖像分割性能的綜合評(píng)價(jià),其指標(biāo)主要有以下幾種。
像素準(zhǔn)確率(Pixel Accuracy,PA),即圖像中各類目標(biāo)正確分割的像素?cái)?shù)與總像素分割數(shù)之比RPA,計(jì)算公式為
(13)
平均像素準(zhǔn)確率(Mean Pixel Accuracy,MPA),即圖像中每一類像素的正確分割比例的平均值RMPA,計(jì)算公式為
(14)
交并比(Interaction over Union,IoU)為某一類目標(biāo)正確分割的像素?cái)?shù)與該目標(biāo)真實(shí)區(qū)域和預(yù)測區(qū)域并集之比RIoU,計(jì)算公式為
(15)
平均交并比(Mean Interaction over Union,MIoU)為每一類目標(biāo)預(yù)測交并比的平均值RMIoU,計(jì)算公式為
(16)
頻權(quán)交并比(Frequency Weighted Intersection over Union,F(xiàn)WIoU)在MIoU的基礎(chǔ)上對每一種類目標(biāo)設(shè)置不同權(quán)重,RFWIoU計(jì)算公式為
(17)
式中:Puu為類別為u的像素被推斷屬于類別u的像素?cái)?shù);Puv為類別為u的像素被推斷屬于類別v的像素?cái)?shù);Pvu為類別為v的像素被推斷屬于類別u的像素?cái)?shù);RIoU,i為第i類目標(biāo)的交并比;N為目標(biāo)類別數(shù)。
當(dāng)需要分割的像素僅有2類(目標(biāo)和背景)時(shí),式(13)等同于式(9)。
為解決原有基于圖像處理的裂縫檢測技術(shù)易受到光照變化等因素干擾的問題,Ye等[83]建立了基于FCN架構(gòu)的卷積神經(jīng)網(wǎng)絡(luò)Ci-Net,以實(shí)現(xiàn)性能穩(wěn)定的像素級(jí)混凝土結(jié)構(gòu)裂縫檢測。該模型包括卷積層、池化層、上采樣層、反卷積層和softmax分類器。筆者從CrackForest數(shù)據(jù)集[84]和TITS2016數(shù)據(jù)集[85]采集到762張包含混凝土裂縫的圖像,并裁剪為12 500張分辨率為80×80且裂縫位于或靠近中心的圖像,將其中12 000張圖像用于訓(xùn)練和驗(yàn)證模型,兩者數(shù)量之比為7∶3。模型訓(xùn)練結(jié)果表明,在循環(huán)訓(xùn)練40 epoch后,模型的裂縫提取平均準(zhǔn)確率可達(dá)到93.6%。將剩余500張圖像用于測試,結(jié)果表明,模型提取裂縫的精確率為84%,召回率為82%,交并比為72.7%,綜合評(píng)價(jià)指標(biāo)為60.4%。經(jīng)對比分析可知,采用Ci-Net提取混凝土裂縫的效果明顯優(yōu)于使用Sobel和Canny邊緣檢測法的效果。
Li等[86]針對混凝土結(jié)構(gòu)多種損傷的像素級(jí)提取,提出了一種改進(jìn)的FCN模型。該模型將DenseNet-121[34]作為編碼器,DenseNet-121中包含卷積層、DenseBlock模塊和最大值池化層。模型的解碼器中包含上采樣層、Crop層(用于裁剪特征圖)和Eltwise層(用于疊加特征圖)。使用智能手機(jī)采集了1 375張分辨率為4 032×3 016的包含裂縫、剝落、風(fēng)化和孔洞4類損傷的照片,對損傷進(jìn)行像素級(jí)標(biāo)記,同時(shí)將上述照片縮小至分辨率為504×376的圖像以減小模型訓(xùn)練的計(jì)算量。隨后,通過數(shù)據(jù)增廣來增加圖像數(shù)量,將用于訓(xùn)練、驗(yàn)證和測試的圖像數(shù)量分別設(shè)為2 000、200、550。采用遷移學(xué)習(xí)方法將模型的權(quán)重和偏置初始化,并通過試錯(cuò)方法選出性能最優(yōu)的學(xué)習(xí)率,按此學(xué)習(xí)率訓(xùn)練的模型RPA可達(dá)到98.61%,RMPA可達(dá)到91.59%,RMIoU可達(dá)到84.53%,RFWIoU可達(dá)到97.34%。使用550張圖像對模型進(jìn)行測試,結(jié)果表明:該模型對混凝土結(jié)構(gòu)多重?fù)p傷進(jìn)行像素級(jí)提取的性能較為穩(wěn)定;增加訓(xùn)練圖像數(shù)量可進(jìn)一步提高模型的性能和泛化能力。使用基于FCN的模型SegNet[87]在相同的損傷數(shù)據(jù)集上對其進(jìn)行訓(xùn)練并與改進(jìn)的FCN模型相比,SegNet的損傷分割性能指標(biāo)MIoU和FWIoU均低于改進(jìn)的FCN模型;SegNet對于混凝土的剝落損傷提取結(jié)果較好,對于裂縫、風(fēng)化和孔洞的提取面積相比實(shí)際面積偏大。此外,由于改進(jìn)的FCN模型編碼器使用了DenseNet-121,模型大小和參數(shù)量大為減小,使其可安裝于智能手機(jī)以便于實(shí)際應(yīng)用。
Meng[88]基于全卷積神經(jīng)網(wǎng)絡(luò)U-Net架構(gòu)建立了一種用于分割混凝土裂縫的模型CrackNet。考慮到ResNet-101[31]相比于VGG-16參數(shù)少且能提取更深層的目標(biāo)特征,模型編碼器采用ResNet-101。建立數(shù)據(jù)集時(shí),首先在相關(guān)文獻(xiàn)和實(shí)際工程中搜集裂縫圖片,隨后使用基于python的圖像數(shù)據(jù)增廣工具Augmentor對已有圖像進(jìn)行旋轉(zhuǎn)、拉伸和縮放,以擴(kuò)展裂縫數(shù)據(jù),并采用專業(yè)軟件Labelme對裂縫進(jìn)行像素級(jí)標(biāo)記。為減少模型運(yùn)算所需的存儲(chǔ)空間和冗余信息,筆者將需要處理的彩色圖像轉(zhuǎn)換為灰度圖。訓(xùn)練模型時(shí)采用交叉熵形式的損失函數(shù),其表達(dá)式為
(18)
圖像的整體損失值取各像素點(diǎn)損失平均值。在評(píng)估模型性能時(shí),對于預(yù)測結(jié)果分別按照式(10)和式(11)計(jì)算裂縫分割的精確率和召回率。通過與全卷積模型FCN-8s和FCN-32s的預(yù)測結(jié)果進(jìn)行對比可知,F(xiàn)CN分割裂縫的精度較低,不能較好地排除噪聲干擾;對于不同類型混凝土裂縫的分割,CrackNet的性能較穩(wěn)定且精確較高。
鋼筋混凝土(RC)結(jié)構(gòu)多類型地震損傷的定量評(píng)估是震損RC構(gòu)件性能退化和震后RC結(jié)構(gòu)安全性評(píng)估的關(guān)鍵,而量化地震損傷首先要較精確地檢測損傷。為此,Miao等[89]開發(fā)了一種針對RC構(gòu)件多類別損傷的基于CNN的識(shí)別方法,其能夠?qū)崿F(xiàn)對震后RC構(gòu)件出現(xiàn)的裂縫、剝落、壓碎以及鋼筋外露、屈曲和斷裂進(jìn)行定位、分類和分割。
針對損傷數(shù)據(jù)中不同類型損傷樣本數(shù)量差異大(數(shù)據(jù)不均衡)的問題,筆者開發(fā)了針對目標(biāo)及其像素的數(shù)據(jù)均衡化技術(shù),該技術(shù)通過一定檢驗(yàn)過程保證每類損傷在數(shù)據(jù)集中達(dá)到足夠數(shù)量使數(shù)據(jù)集達(dá)到樣本級(jí)別下的數(shù)據(jù)均衡,并通過改進(jìn)損失函數(shù)使數(shù)據(jù)集達(dá)到像素級(jí)別的數(shù)據(jù)均衡,進(jìn)而使模型識(shí)別不同類型損傷的能力更均衡化。同時(shí),利用分層采樣使數(shù)據(jù)集中的背景樣本達(dá)到足夠數(shù)量,進(jìn)而使模型識(shí)別復(fù)雜背景的能力增強(qiáng)。筆者基于U-Net架構(gòu)建立了Damage-Net模型,其結(jié)構(gòu)相對于U-Net有所調(diào)整,使模型輸入和輸出圖像的大小相同。模型的編碼器采用VGG-16架構(gòu)并結(jié)合遷移學(xué)習(xí)方法,使模型的訓(xùn)練效率和預(yù)測性能有所提高。通過編碼器和解碼器之間的4個(gè)skip連接來建構(gòu)圖像中的細(xì)微邊界。
Damage-Net模型經(jīng)不同數(shù)據(jù)集訓(xùn)練后,分別得到可用于識(shí)別裂縫的卷積神經(jīng)網(wǎng)絡(luò)Crack-Net和可用于識(shí)別除裂縫外4種破壞的卷積神經(jīng)網(wǎng)絡(luò)Category-Net。測試結(jié)果表明,2種模型的損傷識(shí)別性能較好,在測試集上的MIoU可達(dá)到70%。
由上述可知,針對可進(jìn)行結(jié)構(gòu)損傷像素級(jí)分割的FCN模型和在其基礎(chǔ)上發(fā)展而來的U-Net模型的研究已取得較大進(jìn)展,為基于損傷的結(jié)構(gòu)安全性量化評(píng)估提供了支撐。然而,此類基于“編碼器-解碼器”架構(gòu)的CNN模型仍存在結(jié)構(gòu)復(fù)雜、參數(shù)多的問題,對于圖像噪聲的抗干擾能力有待進(jìn)一步提高。此外,訓(xùn)練數(shù)據(jù)集對此類模型損傷分割的性能影響較大[90]。目前不同類型的結(jié)構(gòu)損傷分割數(shù)據(jù)集較缺乏,且在像素級(jí)別上標(biāo)記損傷較為復(fù)雜,標(biāo)記時(shí)需考慮不同的結(jié)構(gòu)材質(zhì)、圖像亮度和損傷的大小與粗細(xì),工作量較大,而利用現(xiàn)有的數(shù)據(jù)增廣技術(shù)也不能完全模擬實(shí)際場景中結(jié)構(gòu)損傷的多樣性。以上因素在一定程度上限制了此類模型的應(yīng)用。
Yang等[91]針對路面裂縫檢測問題,提出了一種基于FPN結(jié)合分層推進(jìn)(Hierarchical Boosting)模塊的卷積神經(jīng)網(wǎng)絡(luò)模型,其中FPN用于將高層信息引入低層特征圖,以提升低層的特征表達(dá)能力;通過分層推進(jìn)模塊調(diào)整樣本權(quán)重,使模型能更好地應(yīng)對較難處理的裂縫分割案例。測試結(jié)果表明,與全卷積神經(jīng)網(wǎng)絡(luò)FCN-8s相比,使用該模型提取的裂縫更加清晰。
混凝土結(jié)構(gòu)裂縫與路面裂縫在形式上較為接近,則將上述方法中的訓(xùn)練樣本替換為混凝土結(jié)構(gòu)裂縫時(shí),可實(shí)現(xiàn)此類裂縫的像素級(jí)分割。Ni等[92]據(jù)此提出了一種可分割混凝土結(jié)構(gòu)裂縫的卷積神經(jīng)網(wǎng)絡(luò)模型。該模型核心包含2個(gè)模塊,分別為用于分類和特征提取的CNN模塊(此處作者使用GoogleNet,也可使用VGG-19、ResNet-101等性能好的網(wǎng)絡(luò))以及用于裂縫分割的裂縫描繪網(wǎng)絡(luò)(Crack Delineation Network,CDN)模塊。CDN包含用于合并經(jīng)預(yù)訓(xùn)練的CNN提取所得特征圖的FPN網(wǎng)絡(luò)和連續(xù)卷積層,以實(shí)現(xiàn)裂縫的像素級(jí)檢測和分割。測試結(jié)果表明,合并的特征圖通道數(shù)對模型的裂縫分割性能影響較大;將CDN模塊內(nèi)合并特征圖的方法優(yōu)化后,其裂縫識(shí)別性能進(jìn)一步提高,檢測和分割分辨率為6 000×4 000的圖像的混凝土裂縫平均需花費(fèi)16 s,分析速度有待進(jìn)一步提高。
由上述研究結(jié)果可知,由于FPN模型可通過融合不同層次的特征來進(jìn)行目標(biāo)分割,可在一定程度上提升損傷分割的準(zhǔn)確度和抗干擾能力,但也在一定程度上降低了檢測效率。
結(jié)構(gòu)外立面的損傷能夠很大程度反映結(jié)構(gòu)的健康狀況。為了對結(jié)構(gòu)外立面損傷進(jìn)行可視化、自動(dòng)化的評(píng)估,Guo等[93]提出了利用基于規(guī)則的深度學(xué)習(xí)進(jìn)行以評(píng)估為目的的混凝土結(jié)構(gòu)外立面損傷檢測方法。使用該方法可得到包含重要信息(外立面損傷的類型、位置、數(shù)量和大小等)的外立面有效評(píng)估區(qū),以便于損傷評(píng)估。
該方法基于Mask R-CNN模型,而該模型常用于目標(biāo)的分類、定位和分割,其中包含4個(gè)模塊:①用于特征提取的CNN模塊;②用于合并不同級(jí)別特征的FPN模塊;③用于區(qū)域提議的RPN模塊;④預(yù)測模塊,此模塊將生成的候選區(qū)域作為興趣區(qū)域(Region of Interest,RoI),利用RoIAlign層提取具有空間信息的特征,并通過框選分支和Mask分支來分別定位、分類和分割目標(biāo)。模型結(jié)構(gòu)如圖14所示,其中CNN模塊使用ResNet-50網(wǎng)絡(luò)。此外,將設(shè)計(jì)好的規(guī)則分別集成在數(shù)據(jù)集生成、模型訓(xùn)練和模型預(yù)測3個(gè)步驟中。在數(shù)據(jù)集生成階段,依據(jù)分類和分割法則對損傷區(qū)域進(jìn)行注釋和標(biāo)記,隨后依據(jù)定位法則結(jié)合選框生成程序,將原有注釋合并為有效評(píng)估區(qū)內(nèi)基于規(guī)則的注釋;在模型訓(xùn)練階段,利用提議加權(quán)法則提高訓(xùn)練樣本的均勻性;在模型預(yù)測階段,利用調(diào)整法則生成符合相關(guān)評(píng)估要求的立面評(píng)估區(qū)。
圖14 Mask R-CNN結(jié)構(gòu)示意
模型訓(xùn)練結(jié)果表明,與未考慮相應(yīng)法則的不同模型共同進(jìn)行10次重復(fù)訓(xùn)練后,該模型在各類損傷(開裂、剝落和分層)的定位和分割方面的平均精確率均值最高且性能最穩(wěn)定;使用提議加權(quán)法則可有效減小噪聲對模型穩(wěn)定性的影響。此外,根據(jù)不同要求,在設(shè)置同類損傷之間不同的距離閾值(一處損傷內(nèi)2塊損傷間距離的最大值)后,損傷檢測結(jié)果顯示該模型仍具有良好而穩(wěn)定的性能。
Kim等[94]針對混凝土結(jié)構(gòu)的多種損傷檢測,采用在COCO數(shù)據(jù)集[95]上經(jīng)過預(yù)訓(xùn)練的Mask R-CNN模型,對765張從互聯(lián)網(wǎng)和實(shí)際現(xiàn)場搜集的包含裂縫、剝落、表面風(fēng)化和鋼筋暴露的混凝土結(jié)構(gòu)照片進(jìn)行微調(diào)訓(xùn)練,來定位、分類和分割幾種典型損傷。模型中的CNN模塊采用ResNet-101網(wǎng)絡(luò)。使用25張取自實(shí)際中包含上述損傷且周邊含有不同雜物的圖像來檢測損傷以驗(yàn)證模型的有效性。結(jié)果表明:在損傷定位方面,平均精確率可達(dá)到90.41%,平均召回率可達(dá)到90.81%;在損傷分割方面,平均精確率可達(dá)到87.24%,平均召回率可達(dá)到87.58%。模型對細(xì)長型損傷的檢測性能和分割精細(xì)程度還有待進(jìn)一步提高。
由上述研究結(jié)果可知,基于Mask R-CNN的結(jié)構(gòu)損傷識(shí)別方法可同時(shí)實(shí)現(xiàn)對結(jié)構(gòu)損傷的定位(框選)和像素級(jí)分割,克服了基于FCN及其衍生模型僅能分割損傷,不能預(yù)測損傷位置信息的缺陷。然而,由于此類模型包含區(qū)域提議步驟,其識(shí)別結(jié)構(gòu)損傷的效果仍會(huì)受到選框質(zhì)量的影響。此外,其分割損傷的精度會(huì)受到Mask分支分辨率的影響,當(dāng)分辨率較大時(shí),模型的計(jì)算時(shí)間會(huì)有所增加。
實(shí)際中,除混凝土結(jié)構(gòu)在既有結(jié)構(gòu)中占比很大,既有砌體結(jié)構(gòu)亦量大面廣,檢測此類結(jié)構(gòu)損傷十分重要。同時(shí),既有鋼結(jié)構(gòu)和古建筑木結(jié)構(gòu)的損傷檢測亦不容忽視。當(dāng)結(jié)構(gòu)類型不同時(shí),圖像中的損傷形態(tài)(裂縫形式和破壞形態(tài))和背景信息會(huì)有較大不同,進(jìn)而影響基于CNN模型的損傷識(shí)別效果。以下對研究基于CNN檢測砌體結(jié)構(gòu)、鋼結(jié)構(gòu)和古建筑木結(jié)構(gòu)損傷的典型案例進(jìn)行描述。
Dais等[96]研究了采用深度學(xué)習(xí)方法檢測圖像中砌體墻裂縫的性能,包括裂縫檢測和分割。因缺乏砌體結(jié)構(gòu)損傷數(shù)據(jù),作者建立了包含不同大小和走向的裂縫(以階梯形裂縫為主)以及復(fù)雜背景的砌體照片數(shù)據(jù)集,其中部分照片如圖15所示。識(shí)別和分割裂縫時(shí),使用了不同的卷積神經(jīng)網(wǎng)絡(luò)并結(jié)合遷移學(xué)習(xí)方法。通過使用在ImageNet數(shù)據(jù)集上預(yù)訓(xùn)練的不同卷積神經(jīng)網(wǎng)絡(luò)可知,利用MobileNet進(jìn)行圖像分類可達(dá)到95.3%的準(zhǔn)確率;將不同預(yù)訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)模型作為編碼器,并結(jié)合U-Net和FPN,用于分割圖像中的砌體裂縫,測試結(jié)果表明,對于結(jié)合預(yù)訓(xùn)練的MobileNet模型U-Net-MobileNet以及結(jié)合預(yù)訓(xùn)練的InceptionV3模型FPN-InceptionV3,兩者綜合評(píng)價(jià)指標(biāo)達(dá)到79.6%。此外,當(dāng)U-Net-MobileNet的卷積神經(jīng)網(wǎng)絡(luò)未預(yù)訓(xùn)練時(shí),分割砌體裂縫時(shí)其綜合評(píng)價(jià)指標(biāo)會(huì)降至75.4%;使用經(jīng)砌體裂縫數(shù)據(jù)集訓(xùn)練的U-Net-MobileNet分割混凝土裂縫時(shí),其綜合評(píng)價(jià)指標(biāo)為74.7%,下降幅度不大,表明該模型具有分割不同類型結(jié)構(gòu)裂縫的潛力。
圖15 部分砌體裂縫照片[96]
針對鋼結(jié)構(gòu)橋梁連接板疲勞裂縫的檢測,Dung等[97]研究了基于CNN的疲勞裂縫識(shí)別性能和不同訓(xùn)練方法對模型性能的影響。作者分析了3種訓(xùn)練方法對裂縫識(shí)別性能的影響:①使用包含2個(gè)卷積模塊和1個(gè)全連接層的淺層卷積神經(jīng)網(wǎng)絡(luò),并搜集試驗(yàn)和檢測現(xiàn)場的圖片對其進(jìn)行訓(xùn)練;②使用在ImageNet數(shù)據(jù)集上預(yù)訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)VGG-16,對全連接層進(jìn)行微調(diào)訓(xùn)練;③在第2種方法基礎(chǔ)上,對VGG-16第2個(gè)卷積模塊和其后的全連接層進(jìn)行微調(diào)訓(xùn)練,學(xué)習(xí)率定為1×10-4。
測試結(jié)果表明,采用VGG-16結(jié)合數(shù)據(jù)增廣技術(shù)并使用第3種方法訓(xùn)練,裂縫識(shí)別性能最好,精確率可達(dá)到98%。部分疲勞裂縫識(shí)別結(jié)果如圖16所示。
圖16 部分裂縫識(shí)別結(jié)果
古建筑木結(jié)構(gòu)一般存在裂縫、腐朽和變形等損傷,檢測這些損傷是修復(fù)前的重要步驟。Liu等[98]針對古建筑木結(jié)構(gòu)的裂縫采用YOLOv3模型對其進(jìn)行檢測。訓(xùn)練模型時(shí),首先采集光照強(qiáng)度不同的木結(jié)構(gòu)古塔裂縫照片,其中不同形式的裂縫比例大致均衡。隨后,將其裁剪至分辨率為800×800的圖片并進(jìn)行標(biāo)記,結(jié)合數(shù)據(jù)增廣技術(shù)最終獲得包含不同類型木結(jié)構(gòu)裂縫的圖片,并按一定比例分配以用于模型的訓(xùn)練、驗(yàn)證和測試,如圖17所示。結(jié)果表明,該模型對木結(jié)構(gòu)裂縫的識(shí)別精確率較高,速度較快。
圖17 不同形式的木結(jié)構(gòu)裂縫[98]
目前,基于CNN的結(jié)構(gòu)損傷識(shí)別研究已取得了較大進(jìn)展和較多成果。
由于結(jié)構(gòu)出現(xiàn)損傷的場景較特殊,且工程結(jié)構(gòu)類型較多,破壞機(jī)制復(fù)雜多樣,損傷種類較多,導(dǎo)致不同類型結(jié)構(gòu)損傷的樣本數(shù)量有限。同時(shí),標(biāo)注損傷的工作量較大。以上因素使可用來訓(xùn)練基于CNN的結(jié)構(gòu)損傷識(shí)別模型的不同類型結(jié)構(gòu)損傷數(shù)據(jù)集較缺乏?,F(xiàn)階段多數(shù)研究采用遷移學(xué)習(xí)方法來解決此類問題,結(jié)果表明該方法較為有效[99]。因此,基于遷移學(xué)習(xí)思想,研究更合理高效的針對預(yù)訓(xùn)練模型的微調(diào)訓(xùn)練方法,以減少樣本數(shù)據(jù)的依賴性,提高模型的訓(xùn)練效率,是基于CNN的結(jié)構(gòu)損傷識(shí)別模型在訓(xùn)練方法上的重要研究方向和發(fā)展趨勢。同時(shí),通過進(jìn)一步開發(fā)數(shù)據(jù)增廣與均衡技術(shù),以減輕樣本數(shù)量和類型不足帶來的影響并提高訓(xùn)練樣本的均勻性和多樣性,是增強(qiáng)結(jié)構(gòu)損傷識(shí)別模型檢測效果的關(guān)鍵。此外,深入研究用于結(jié)構(gòu)損傷識(shí)別的基于生成對抗網(wǎng)絡(luò)的無監(jiān)督或半監(jiān)督學(xué)習(xí)方法[100-102]以減輕或免去標(biāo)注樣本的工作,這也是基于CNN的結(jié)構(gòu)損傷識(shí)別的發(fā)展方向。
對于結(jié)構(gòu)損傷的現(xiàn)場實(shí)時(shí)檢測,目前主要依賴單階段目標(biāo)檢測算法。此類場景中,損傷檢測的速度和精度主要受算法的模型結(jié)構(gòu)和圖像采集設(shè)備(無人機(jī)等)性能的影響。因此,為進(jìn)一步提升使用此類算法進(jìn)行損傷實(shí)時(shí)檢測的性能,需進(jìn)一步研究參數(shù)少、結(jié)構(gòu)更優(yōu)化的CNN主干模型,以用于單階段算法中,并開發(fā)環(huán)境適應(yīng)能力更強(qiáng)的采集設(shè)備,提升攝像機(jī)等硬件的性能。
針對結(jié)構(gòu)損傷的像素級(jí)分割,目前研究和應(yīng)用較多的是基于全卷積神經(jīng)網(wǎng)絡(luò)及其衍生模型的方法,以及結(jié)合定位功能的基于CNN的分割方法。此類方法可為結(jié)構(gòu)的損傷量化評(píng)估和受損結(jié)構(gòu)抗震性能評(píng)估提供支撐[103-104]。使用此類方法分割結(jié)構(gòu)損傷的精度和識(shí)別不同損傷的泛化能力主要受訓(xùn)練數(shù)據(jù)集樣本復(fù)雜性和多樣性的影響;調(diào)整此類方法的模型架構(gòu)和超參數(shù)可提高復(fù)雜和細(xì)微損傷的分割能力,但同時(shí)會(huì)增加模型的計(jì)算量。因此,綜合全卷積神經(jīng)網(wǎng)絡(luò)、特征金字塔網(wǎng)絡(luò)和定位框選網(wǎng)絡(luò)的優(yōu)點(diǎn),開發(fā)輕質(zhì)化的CNN損傷分割模型,并進(jìn)一步補(bǔ)充取自實(shí)際場景的多種結(jié)構(gòu)損傷的像素級(jí)標(biāo)記數(shù)據(jù)集,是此類方法的發(fā)展方向。
本文針對卷積神經(jīng)網(wǎng)絡(luò)模型在工程結(jié)構(gòu)損傷檢測中的應(yīng)用,回顧了損傷檢測所使用的不同卷積神經(jīng)網(wǎng)絡(luò)模型。在對比不同模型的架構(gòu)特點(diǎn)和損傷識(shí)別效果后,得到以下主要結(jié)論:
(1)若訓(xùn)練模型的結(jié)構(gòu)損傷樣本數(shù)量充足且種類多,則使用基于CNN的損傷識(shí)別方法識(shí)別結(jié)構(gòu)損傷的結(jié)果較精確,模型泛化能力較高。
(2)采用單階段的目標(biāo)檢測算法可顯著提高損傷識(shí)別速度,實(shí)現(xiàn)實(shí)時(shí)檢測,但精度不夠高;采用基于U-Net、FPN或Mask R-CNN的圖像分割算法可實(shí)現(xiàn)結(jié)構(gòu)損傷的像素級(jí)提取,為損傷的定量分析創(chuàng)造條件,但模型的參數(shù)較多,計(jì)算量大,需要較好的硬件資源。
(3)在缺乏訓(xùn)練樣本時(shí),可采用數(shù)據(jù)增廣技術(shù)來擴(kuò)充樣本數(shù)量并結(jié)合遷移學(xué)習(xí)方法來訓(xùn)練模型,以達(dá)到較好的損傷識(shí)別效果,也可避免因訓(xùn)練樣本較少而出現(xiàn)過擬合。
(4)一般采用基于CNN的方法僅可精確識(shí)別一種結(jié)構(gòu)的損傷,且識(shí)別微小損傷的精度有限。對于不同類型損傷,由于訓(xùn)練樣本數(shù)量不均衡,總體損傷識(shí)別精度不高;對于不同種類結(jié)構(gòu)的損傷,需分別建立相應(yīng)的CNN模型來識(shí)別。
針對以上結(jié)論中基于CNN的結(jié)構(gòu)損傷識(shí)別方法存在的問題,可考慮進(jìn)行以下方面的嘗試以期有所改進(jìn):
(1)針對高精度實(shí)時(shí)損傷檢測,可從模型架構(gòu)入手,通過設(shè)計(jì)輕量化卷積神經(jīng)網(wǎng)絡(luò),在大幅減少模型參數(shù)量、提高檢測速度的同時(shí),保持模型較高的檢測精度。
(2)針對微小損傷的識(shí)別,考慮到分辨率低、所占像素比少的特點(diǎn),可從模型架構(gòu)入手,采用優(yōu)化的融合多尺度圖像特征的方法,結(jié)合不同層次的語義信息來提高檢測精度。
(3)對于通過同一個(gè)CNN模型進(jìn)行不同種類結(jié)構(gòu)的損傷和不同形式損傷的識(shí)別,可考慮改進(jìn)模型訓(xùn)練和生成訓(xùn)練樣本的方法,結(jié)合數(shù)據(jù)平衡技術(shù)以提高使用同一模型識(shí)別不同損傷的精度。