王 月,金映谷,李 陽(yáng),楊亞寧
(大連民族大學(xué) a.信息與通信工程學(xué)院;b.機(jī)電工程學(xué)院,遼寧 大連 116605)
混凝土表面裂紋是民用建筑的主要缺陷,這些缺陷對(duì)混凝土建筑結(jié)構(gòu)的美觀性、持久性甚至安全性都帶來(lái)非常不利的影響。因此混凝土表面裂紋缺陷檢測(cè)在檢查建筑物健康方面起著重要作用?,F(xiàn)階段,對(duì)于混凝土表面裂紋缺陷的檢測(cè)大多采用人工檢測(cè)方法,這種方法勞動(dòng)強(qiáng)度大,消耗時(shí)間長(zhǎng),易造成工人的視覺(jué)疲勞,引起檢測(cè)誤差,不僅效率低、檢測(cè)準(zhǔn)確率不高還會(huì)增加人力成本。
近年來(lái),隨著深度學(xué)習(xí)、圖像處理技術(shù)的迅速發(fā)展,已有很多科研工作者對(duì)混凝土表面缺陷檢測(cè)進(jìn)行了研究。王林林[1]提出了一種基于數(shù)字圖像處理技術(shù)的混凝土裂縫特征檢測(cè)與計(jì)算分析方法。首先對(duì)采集的圖像進(jìn)行預(yù)處理,其次采用基于灰度圖二值化的閾值分割算法與Canny邊緣檢測(cè)方法進(jìn)行處理,得到邊界曲線,使用像素計(jì)算方法計(jì)算裂縫寬度,對(duì)最大裂縫寬度和平均裂縫寬度的檢測(cè)精準(zhǔn)度分別為95.81%和92.81%。劉鵬[2]提出了一種基于圖像處理的混凝土預(yù)制構(gòu)件裂縫檢測(cè)系統(tǒng)。首先,對(duì)圖像進(jìn)行預(yù)處理,減小外界環(huán)境因素對(duì)圖片檢測(cè)的影響;其次,采用改進(jìn)脈沖耦合神經(jīng)網(wǎng)絡(luò)(PCNN)對(duì)混凝土裂縫圖像進(jìn)行分割,以裂縫的幾何形態(tài)特征為基礎(chǔ)對(duì)圖像中的裂縫進(jìn)行識(shí)別并計(jì)算已識(shí)別裂縫的長(zhǎng)度和平均寬度,實(shí)驗(yàn)證明具有可行性。Manjurul Islam和Jong-Myon Kim[3]提出了一種基于機(jī)器視覺(jué)的深度卷積神經(jīng)網(wǎng)絡(luò)裂縫自動(dòng)檢測(cè)方法。將深度神經(jīng)網(wǎng)絡(luò)和一個(gè)基于語(yǔ)義分割的編碼器與解碼器框架組成,從像素級(jí)別進(jìn)行分類,實(shí)驗(yàn)結(jié)果表明,該方法對(duì)混凝土裂縫分類非常有效,召回率和F1平均值均達(dá)到約92%。翟磊[4]等提出了一種基于深度學(xué)習(xí)的混凝土表面缺陷檢測(cè)方法。該方法采用兩段式學(xué)習(xí)網(wǎng)絡(luò),第一部分提取圖像中像素級(jí)別的特征以完成對(duì)圖像的像素分割;第二部分對(duì)第一部分處理的圖像是否存在缺陷進(jìn)行判斷,實(shí)驗(yàn)證明,該方法分割準(zhǔn)確率高,魯棒性強(qiáng)。上述方法取得了較好的缺陷檢測(cè)成果,但在檢測(cè)準(zhǔn)確率方面仍有待提高。
隨著科研人員對(duì)卷積神經(jīng)網(wǎng)絡(luò)的不斷研究,其應(yīng)用范圍也越來(lái)越廣泛。為探索卷積神經(jīng)網(wǎng)絡(luò)在建筑物檢測(cè)方面的應(yīng)用,進(jìn)一步提高檢測(cè)效率,本文提出了一種基于SqueezeNet的混凝土表面裂紋檢測(cè)方法,其利用SqueezeNet網(wǎng)絡(luò)模型訓(xùn)練裂紋缺陷分類器,得到混凝土表面裂紋檢測(cè)模型,最終利用檢測(cè)模型對(duì)混凝土表面裂紋進(jìn)行檢測(cè)。結(jié)果表明,該方法獲得了較高的準(zhǔn)確率,極大的提高了檢測(cè)效率,為混凝土表面裂紋缺陷檢測(cè)的研究提供了一定的參考價(jià)值。
SqueezeNet是一種輕量級(jí)卷積神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)結(jié)構(gòu)的核心部分是Fire Module結(jié)構(gòu)。Fire Module結(jié)構(gòu)由Squeeze結(jié)構(gòu)和Expand結(jié)構(gòu)組成,如圖1。Squeeze結(jié)構(gòu)采用s1×1個(gè)1×1卷積代替3×3卷積核對(duì)前一層輸出的特征映射進(jìn)行卷積,從而降低特征維數(shù),完成卷積后經(jīng)過(guò)ReLU激活函數(shù);Expand結(jié)構(gòu)由e1×1個(gè)1×1卷積核和e3×3個(gè)3×3卷積核共同組成,將卷積的結(jié)果進(jìn)行串聯(lián)實(shí)現(xiàn)擴(kuò)展,完成卷積后再經(jīng)過(guò)ReLU激活函數(shù)。Fire Module中應(yīng)設(shè)置s1×1 圖1 Fire Module 本文網(wǎng)絡(luò)模型結(jié)構(gòu)如圖2。主要由卷積層、池化層以及Fire Module層組成。網(wǎng)絡(luò)輸入層的混凝土圖像大小為224×224×3。每個(gè)卷積層連接ReLU激活函數(shù),改進(jìn)網(wǎng)絡(luò)模型的非線性特征;模型共堆疊8個(gè)Fire Module,每個(gè)Fire Module的參數(shù)設(shè)置見(jiàn)表1,且每個(gè)Fire Module內(nèi)部先通過(guò)Squeeze減少通道數(shù),再通過(guò)Expand增加通道數(shù);在第一層、第四層以及第七層后連接降采樣的Max Pool,縮減尺寸;在Fire9 Module后,使用ratio大小為0.5的Dropout改善過(guò)擬合,接著的卷積層為上一層結(jié)果圖的每個(gè)像素預(yù)測(cè)分類得分;再使用一個(gè)Global Average Pool獲得結(jié)果圖得分,使用Softmax分類器歸一化為概率。 表1 各個(gè)Fire Module參數(shù)設(shè)置表 圖2 網(wǎng)絡(luò)模型結(jié)構(gòu) 本文使用了來(lái)自中東技術(shù)大學(xué)[7]的各個(gè)校園建筑物的混凝土裂紋圖像的開(kāi)源數(shù)據(jù)集進(jìn)行分類。此數(shù)據(jù)集包含40 000張具有RGB通道的227×227像素的混凝土表面圖像,沒(méi)有應(yīng)用隨機(jī)旋轉(zhuǎn),翻轉(zhuǎn)或傾斜方面的數(shù)據(jù)增強(qiáng)。這些圖像被分為“裂紋”和“無(wú)裂紋”兩類,其中“無(wú)裂紋”數(shù)據(jù)集是指包含沒(méi)有任何裂紋的混凝土數(shù)據(jù)集,部分示例樣本如圖3。本文隨機(jī)選取數(shù)據(jù)集的70%作為訓(xùn)練集,15%作為驗(yàn)證集,15%作為測(cè)試集。 a)裂紋 b)無(wú)裂紋圖3 混凝土圖像示例 首先對(duì)數(shù)據(jù)集進(jìn)行預(yù)處理,由于樣本數(shù)據(jù)集大小是227×227,而本文所用網(wǎng)絡(luò)輸入層圖像大小是224×224,因此需要將樣本圖片統(tǒng)一縮放至224×224。 本實(shí)驗(yàn)的相關(guān)編程均在機(jī)器視覺(jué)軟件HALCON中進(jìn)行,實(shí)驗(yàn)環(huán)境配置見(jiàn)表2。 表2 環(huán)境配置 本文根據(jù)訓(xùn)練的混凝土類型數(shù)據(jù)集設(shè)置Batchsize(批量傳輸至設(shè)備存儲(chǔ)器中的圖像數(shù))為64,迭代200輪次;InitialLearningRate(初始學(xué)習(xí)率)為0.001,本文將學(xué)習(xí)率每50個(gè)周期縮小0.1;Momentum(將先前的更新矢量添加到當(dāng)前更新矢量的程度)設(shè)置為0.9;Weightprior(應(yīng)對(duì)訓(xùn)練中存在的過(guò)擬合現(xiàn)象的正則化參數(shù))為0.000 5。 設(shè)置模型超參數(shù)后,對(duì)混凝土圖像訓(xùn)練集進(jìn)行訓(xùn)練。其中利用非線性優(yōu)化算法將損失函數(shù)值最小化,利用隨機(jī)梯度下降算法進(jìn)行優(yōu)化,其會(huì)在迭代時(shí)將前一次迭代次數(shù)t的權(quán)重更新為新值,如式(1)。 (1) 式中:u表示動(dòng)量;λ表示學(xué)習(xí)率;w表示網(wǎng)絡(luò)權(quán)重;f(x,w)表示根據(jù)w和輸入x所得出的分類結(jié)果;vt表示動(dòng)量產(chǎn)生的影響。本文使用多項(xiàng)式邏輯損失作為損失函數(shù)如式(2)。 (2) 其中,yn為one-hot編碼目標(biāo)向量[8],對(duì)包含N個(gè)圖像的批次x的第n個(gè)圖像xn的標(biāo)簽進(jìn)行編碼;正則項(xiàng)Eα(w)為加權(quán)的L2-范數(shù),可以通過(guò)控制α來(lái)影響它。同時(shí),本文獲取模型損失值并繪制損失曲線如圖4。在訓(xùn)練和驗(yàn)證集上對(duì)分類器進(jìn)行評(píng)估,并繪制訓(xùn)練和驗(yàn)證的錯(cuò)誤率曲線如圖5。曲線1表示訓(xùn)練過(guò)程的誤差曲線,曲線2表示驗(yàn)證過(guò)程的誤差曲線,曲線3表示學(xué)習(xí)率的變化。 從圖4可以看到,當(dāng)模型迭代至110次時(shí),損失函數(shù)基本不變,說(shuō)明網(wǎng)絡(luò)已經(jīng)收斂。在圖5中,可以看出該模型在迭代73次之后,誤差曲線趨于穩(wěn)定,訓(xùn)練效果較好。 圖4 損失函數(shù)曲線 圖5 訓(xùn)練、驗(yàn)證誤差曲線 本文將通過(guò)準(zhǔn)確率(Accuracy)、召回率(Recall)、精確率(Precision)和F1值來(lái)評(píng)價(jià)訓(xùn)練出的分類模型的有效性能,其計(jì)算公式見(jiàn)表3。 表3 評(píng)價(jià)指標(biāo)計(jì)算公式 其中,TP(True Positive)表示正樣本被網(wǎng)絡(luò)模型正確的分類到該類別的樣本數(shù)量;FP(False Positive)表示負(fù)樣本被網(wǎng)絡(luò)模型錯(cuò)誤分類為正樣本的數(shù)量;FN(False Negative)表示正樣本被網(wǎng)絡(luò)模型錯(cuò)誤分類為負(fù)樣本的數(shù)量;TN(True Negative)表示負(fù)樣本被網(wǎng)絡(luò)模型正確分類到負(fù)樣本的數(shù)量。F1值表示網(wǎng)絡(luò)模型召回率與精確率的調(diào)和平均,是對(duì)召回率與精確率的綜合數(shù)值。 本文將測(cè)試集樣本應(yīng)用到分類器中進(jìn)行分類,部分分類結(jié)果如圖6。其中0表示NOTOK(裂紋),1表示OK(無(wú)裂紋),Ground truth class ID表示混凝土表面實(shí)際類別,Result class ID表示分類器檢測(cè)結(jié)果,Prediction表示檢測(cè)結(jié)果正確與否。 a)結(jié)果一 b)結(jié)果二 c)結(jié)果三 d)結(jié)果四圖6 測(cè)試集檢測(cè)結(jié)果 經(jīng)過(guò)對(duì)測(cè)試集進(jìn)行測(cè)試得到的模型混淆矩陣見(jiàn)表4。矩陣的每一行表示分類器的預(yù)測(cè)類別,每一列表示樣本的真實(shí)類別,通過(guò)3.1節(jié)模型性能評(píng)價(jià)指標(biāo)能夠評(píng)定分類器的性能,計(jì)算出各類別的召回率、精確率、F1值和準(zhǔn)確率見(jiàn)表5。 表4 模型混淆矩陣 表5 模型分類性能 由表5結(jié)果可知,本文所用分類器對(duì)混凝土裂紋缺陷檢測(cè)的準(zhǔn)確率高達(dá)99.85%,且各個(gè)性能指標(biāo)均在99.7%以上,單張平均檢測(cè)時(shí)間0.155 s,檢測(cè)效果較好。其中,對(duì)識(shí)別有誤的樣本分析可知,當(dāng)混凝土表面有遮擋物(如樹(shù)葉等)干擾,裂紋較淺、較小時(shí),可能會(huì)對(duì)模型識(shí)別造成影響,如圖6d所示的部分識(shí)別錯(cuò)誤樣本。為進(jìn)一步驗(yàn)證本文算法的有效性,將本文算法同其他算法進(jìn)行比較,結(jié)果見(jiàn)表6。 表6 性能F1比較結(jié)果 從表6結(jié)果可知,本文算法的F1值比CrackNet-T算法提升了0.011 7,較ResNet提升了0.014 2,較AlexNet提升了0.036 2,檢測(cè)效果較好。 本文針對(duì)混凝土表面裂紋檢測(cè)準(zhǔn)確率不高,效率低的問(wèn)題,提出一種基于SqueezeNet的混凝土表面裂紋缺陷檢測(cè)方法。該方法主要利用輕量級(jí)卷積神經(jīng)網(wǎng)絡(luò)SqueezeNet模型訓(xùn)練檢測(cè)分類器,實(shí)現(xiàn)了高準(zhǔn)確率、高效率檢測(cè)混凝土表面裂紋缺陷的目的。實(shí)驗(yàn)證明,該方法提高了檢測(cè)結(jié)果的可靠性和穩(wěn)定性,檢測(cè)準(zhǔn)確率高達(dá)99.85%,可以滿足混凝土表面裂紋的實(shí)際檢測(cè)需求。但該方法目前只能對(duì)混凝土表面是否存在裂紋缺陷進(jìn)行檢測(cè),后續(xù)將通過(guò)銳化、邊緣檢測(cè)、分割等技術(shù)對(duì)混凝土不同裂縫寬度的檢測(cè)進(jìn)行研究。1.2 模型構(gòu)建
2 混凝土表面裂紋缺陷檢測(cè)
2.1 數(shù)據(jù)集及其預(yù)處理
2.2 環(huán)境搭建及超參數(shù)設(shè)置
2.3 訓(xùn)練過(guò)程
3 實(shí)驗(yàn)結(jié)果與分析
3.1 模型性能評(píng)價(jià)指標(biāo)
3.2 結(jié)果分析
4 結(jié) 語(yǔ)