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

?

基于遷移學習和Xception網(wǎng)絡的混凝土裂紋識別研究

2022-07-21 11:54徐崢勻錢松榮
軟件工程 2022年7期
關鍵詞:遷移學習卷積神經(jīng)網(wǎng)絡圖像識別

徐崢勻 錢松榮

摘 ?要:針對深層卷積神經(jīng)網(wǎng)絡檢測表面結構裂紋耗費時間長、精度不夠高的問題,基于Xception網(wǎng)絡進行自適應調整重構其分類器,利用圖像增廣技術擴充數(shù)據(jù)集后,引入遷移學習的方法對Xception網(wǎng)絡進行訓練。同時,與構建的ResNet50、InceptionV3和VGG19三個深層卷積神經(jīng)網(wǎng)絡模型進行對比實驗,重新驗證其性能。實驗證明,引入遷移學習不僅可以提升模型的整體性能,還能縮減訓練深層卷積神經(jīng)網(wǎng)絡的時間,訓練的模型在數(shù)據(jù)集上的識別精確率達到96.24%,在對比實驗中達到96.50%。

關鍵詞:遷移學習;卷積神經(jīng)網(wǎng)絡;圖像識別;圖像增廣

中圖分類號:TP399 ? ? 文獻標識碼:A

Research on Concrete Crack Identification based on Transfer Learning and Xception

XU Zhengyun1, QIAN Songrong1,2

(1.College of Mechanical Engineering, Guizhou University, Guiyang 550025, China;

2.State Key Laboratory of Public Big Data, Guizhou University, Guiyang 550025, China)

xu.zhengyun@qq.com; 909718747@qq.com

Abstract: Aiming at the problems of time consuming and low accuracy of deep convolution neural network in detecting surface structural cracks, this paper proposes to adaptively adjust and reconstruct its classifier based on Xception, and use image augmentation technology to expand the dataset. After that, transfer learning method is introduced for training Xception. At the same time, its performance is re-verified by comparing it with three deep convolution neural network models, ResNet50, InceptionV3 and VGG19. Experiments show that the introduction of transfer learning not only improves the overall performance of the model, but also reduces the time of training the deep convolutional neural network. Recognition accuracy of the trained model on the dataset reaches 96.24%, and 96.50% in the comparative experiment.

Keywords: transfer learning; convolutional neural network; image recognition; image augmentation

1 ? 引言(Introduction)

橋梁結構會隨著時間的推移而退化,從而出現(xiàn)裂紋甚至坍塌,造成安全事故[1]。深度學習[2](Deep Learning)技術處理大量數(shù)據(jù)和自動化特征提取的能力使其能夠開發(fā)混凝土結構裂縫檢測問題的解決方案。而遷移學習[3](Transfer Learning)可以從相關或者相近領域中轉移已經(jīng)標注好的數(shù)據(jù)、參數(shù)或者知識結構,從而完成或改進目標領域或目標任務的學習效果。

本文基于遷移學習和Xception[4]網(wǎng)絡,使用混凝土裂紋圖像數(shù)據(jù)集訓練出能夠檢測裂紋的模型,利用圖像增廣技術擴充數(shù)據(jù)集;比較了使用擴增數(shù)據(jù)集和遷移學習前后模型在測試集上的表現(xiàn),得到一個訓練時間短并且具有較高精度的網(wǎng)絡模型。

2 ? 實驗流程(Experimental process)

基于遷移學習的Xception網(wǎng)絡裂紋識別模型建模流程如圖1所示。首先,對原有數(shù)據(jù)集的圖片進行圖片增強,從而增加訓練集;然后將數(shù)據(jù)分類并對不同種類進行標記,并且對其進行標準化或歸一化處理,以消除數(shù)據(jù)特征因數(shù)量級不同而對訓練過程產(chǎn)生的影響;接著,引入遷移學習的方法將相關領域中的知識結構和訓練參數(shù)遷移到構建好的模型當中進行訓練,訓練過程中對模型進行微調以提高其精確度;最后,使用測試數(shù)據(jù)集在所得模型上進行驗證,檢測結果以指定的評價指標來表示。實驗中使用到的方法和構建的模型將在下文介紹。

3 ? 實驗搭建(Experimental construction)

3.1 ? 數(shù)據(jù)來源及處理

目前還沒有發(fā)布統(tǒng)一的橋梁裂縫數(shù)據(jù)庫。因此,為了滿足實驗要求,基于網(wǎng)上的共享數(shù)據(jù)集[5](https://github.com/tjdxxhy/crack-detection)進行實驗。原始數(shù)據(jù)為Phantom 4 Pro的CMOS表面陣列相機采集的2,068 張裂紋圖像,分辨率為1024×1024。實驗中所使用的橋梁裂紋數(shù)據(jù)集是基于原始數(shù)據(jù)集處理后得到的,分別為裂紋圖像4,058 張和背景圖像2,011 張,占比約為2∶1。數(shù)據(jù)集中的部分圖片如圖2所示,其中上方一組是含有裂紋的圖像,下方一組為無裂紋(正常)圖像。

數(shù)據(jù)的標準化和歸一化[6]可以消除因特征不同、數(shù)量級相差較大帶來的影響,同時可以使數(shù)據(jù)保持原始分布,對提高模型的精度具有積極影響。將圖片規(guī)格尺寸調整為256×256×3。使用圖像增廣技術[7]對訓練圖像做一系列隨機改變,以產(chǎn)生相似卻不相同的訓練樣本,這樣隨機改變訓練樣本可以降低模型對某些屬性的依賴性。

圖像增廣的具體操作如下:

(1)裁剪和翻轉:通過對圖像進行不同方式的裁剪和翻轉,使得感興趣的物體或者特征出現(xiàn)在不同位置,這種方法可以減輕模型對數(shù)據(jù)集中裂紋出現(xiàn)位置的依賴性。

(2)變化顏色:通過調節(jié)整體亮度、色彩等因素,起到模擬不同天氣環(huán)境的作用,以此來降低模型對光照色彩的敏感度。

實際操作時,將幾種效果進行隨機組合,利用圖像增廣技術的一個示例如圖3所示,上方圖像為原始數(shù)據(jù)集中任意一張圖像,下方圖像是其經(jīng)過四次圖像增廣技術分別得到的圖像。最終數(shù)據(jù)集被擴增至25,576 張,其中裂紋圖像16,642 張,無裂紋圖像8,934 張。對所有圖像進行標記,根據(jù)有無裂紋分別標記為正負樣本。

歸一化處理如下:

在圖像輸入網(wǎng)絡之前,對其進行歸一化處理,將圖像的特征數(shù)據(jù)通過等式(1)進行變換:

(1)

式(1)中的,表示圖像中每個像素點的值所組成的集合;;和分別表示為該集合中像素值的最大取值和最小取值;表示通過計算后將任意取值范圍內(nèi)的值轉化為[0,1]區(qū)間內(nèi)的值,即為歸一化處理后的特征值。

3.2 ? 實驗平臺

實驗所選擇的編寫語言為Python[8]。Python作為開源軟件,不僅有強大的數(shù)據(jù)處理和算法模型搭建能力,也因擁有豐富而強大的庫被廣泛應用于科研中。其中Numpy庫封裝了許多基礎的矩陣和向量的操作,而Scipy庫則在此基礎上提供了更豐富的功能,比如各種統(tǒng)計常用的分布和算法都能迅速地在Scipy庫中找到,加上Matplotlib庫用來提供數(shù)據(jù)可視化,這些方法被高效應用于實驗中。

TensorFlow[9]是一個采用數(shù)據(jù)流圖(Data Flow Graphs),用于數(shù)值計算的開源軟件庫,而現(xiàn)在已經(jīng)發(fā)展成為一個平臺,用于機器學習和深度神經(jīng)網(wǎng)絡方面的研究,在易用性、分布式訓練和部署等方面都取得了長足的進步。實際上,TensorFlow已進化成為一個更全面的“工具、庫和社區(qū)資源生態(tài)系統(tǒng)”[9],研究人員可以很方便地使用它來進行各種實驗。TensorFlow 2.0生態(tài)系統(tǒng)包含對Python的支持,本文中的實驗均使用其框架搭建模型進行訓練。

3.3 ? 模型建立

(1)Xception網(wǎng)絡模型

深層的卷積神經(jīng)網(wǎng)絡對復雜圖像的識別相比于淺層結構往往能夠取得更好的效果,本文中使用的Xception網(wǎng)絡是谷歌公司繼Inception系列網(wǎng)絡后的改進結構,其主要原理是采用深度可分離卷積來替換原來網(wǎng)絡中的卷積操作,在基本不增加網(wǎng)絡復雜度的同時,進一步提高了模型的效果。

為調整成適應本次實驗的結構,將網(wǎng)絡的輸入調整為256×256×3,并對該網(wǎng)絡只選取卷積層結構,對后面的輸出層進行自定義搭建,搭建完成以后的模型結構示意圖如圖4所示。在圖4中可以看到,輸入層圖片調整尺寸后,批量輸入Xception網(wǎng)絡的卷積層結構中,經(jīng)過全局池化,連續(xù)經(jīng)過三個自定義的全連接層[10]后得到輸出結果,其中全連接層的參數(shù)(神經(jīng)元)個數(shù)分別為512、256和64。前兩個全連接層分別連接參數(shù)大小相同的Dropout層[11],訓練時每傳遞一次數(shù)據(jù),Dropout層就會隨機選擇并刪除神經(jīng)元信號,在模型中刪除的比例均設置為20%,用于抑制模型的過擬合[12]。

(2)基于遷移學習理論的模型構建

在給定源域和學習任務、目標域和學習任務時,遷移學習的目的是獲取源域和學習任務中的知識以幫助提高預測函數(shù)的學習,其中或者。其基本原理如圖5所示。

預訓練網(wǎng)絡是一個已經(jīng)在其他數(shù)據(jù)集(主要是大規(guī)模的圖像識別數(shù)據(jù)集)上訓練好的卷積神經(jīng)網(wǎng)絡,所以訓練的數(shù)據(jù)集往往非常大并且具有通用性,網(wǎng)絡學習提取到的特征空間層次結構能夠用作特征提取模型。學習到的特征在不同問題之間往往是可轉移的,使得深度學習和遷移學習相比于其他方法更具有優(yōu)勢,它使得深度學習對于小數(shù)據(jù)問題非常有效。實驗中使用到的源域數(shù)據(jù)集ImageNet[13]是一個已經(jīng)標記好種類的圖像數(shù)據(jù)庫(常用于機器視覺研究),目前已經(jīng)超過20,000 個類別。在圖5中,保持原本預先訓練好的網(wǎng)絡中的卷積基參數(shù)不變,將其凍結,刪除其訓練好的分類器(圖5后半部分)并且創(chuàng)建新的分類器,對其參數(shù)隨機初始化,從而搭建出新的模型并使用數(shù)據(jù)集進行訓練,得到新的預測模型。

3.4 ? 評價指標

本文主要采用損失值(Loss)、均方根誤差(RMSE)和精確率(Precision)作為模型性能的評價指標。

RMSE值的計算方法如下:

(2)

式(2)中的和分別代表第 個樣本的真實值和預測值。

損失值是衡量卷積神經(jīng)網(wǎng)絡性能“劣化程度”的一個指標,即當前模型與監(jiān)測數(shù)據(jù)的不匹配程度以及不一致程度。通過最大化地減少或降低損失函數(shù),可以減小模型預測誤差,使得模型逐漸收斂。本文采用二元交叉熵進行損失值計算,其公式如下:

(3)

其中,代表第 個樣本的預測值,正值返回1,負值返回0;是所有樣本的預測正概率。

精確率的計算公式如下:

(4)

在式(4)中,TP代表模型預測值為正例,真實值也是正例的數(shù)目;FP表示模型預測值為正例,而真實值是負例的數(shù)目。

損失值和RMSE值下降得越低、精確率越高,那么模型的性能越好;反之,模型性能越差。

4 ?實驗結果及分析(Experimental results and analysis)

實驗采用小批量隨機梯度下降法,將擴增后不同類型的數(shù)據(jù)分別打亂,其中分別選出80%的數(shù)據(jù)作為訓練數(shù)據(jù),其余部分作為測試數(shù)據(jù)。數(shù)據(jù)集劃分表如表1所示。為了得到穩(wěn)定有效的結果,分別進行四類模型的實驗:(1)僅使用原始數(shù)據(jù)集;(2)使用擴增數(shù)據(jù)集;(3)使用遷移學習;(4)同時使用擴增數(shù)據(jù)集和遷移學習。

實驗過程中使用相同的優(yōu)化器(Adam)[14]和相同的學習率1×10-4,訓練過程總共10 個輪次,對每個模型進行10 次交叉驗證后,獲得了最穩(wěn)定的結果。表2顯示了損失值、RMSE值和精確率的最終實驗結果,圖6、圖7和圖8分別顯示了所有模型訓練過程中損失值、RMSE值和精確率的變化趨勢。

為了進一步檢驗網(wǎng)絡的識別能力,本文利用相同的方式構建了ResNet50、InceptionV3和VGG19三個深度卷積神經(jīng)網(wǎng)絡進行對比實驗,同樣擴增數(shù)據(jù)集并引入遷移學習對四個網(wǎng)絡重新進行測試,使用精確率、召回率和F1指數(shù)作為評價指標,所得結果如表3所示。

通過表2、圖6、圖7和圖8可以看出,使用原始數(shù)據(jù)集訓練模型的表現(xiàn)較差,使用了圖像增廣技術擴增數(shù)據(jù)集訓練后,模型的整體性能有了一定的提高,精確率提高到84.67%;使用了遷移學習后,模型的性能大大提升,損失值迅速下降至0.0340,RMSE值下降至0.0574,精確率則提升到了96.24%;在此基礎上擴增數(shù)據(jù)集使得模型性能再一次小幅度提升,損失值進一步下降至0.0326,RMSE值下降至0.0520,精確率提升至97.13%。而表3顯示,經(jīng)過重新測試后,與三組深度卷積神經(jīng)網(wǎng)絡模型進行對比得出,本文所構建的模型各方面的性能都比其他三組要好,識別的精確率更高。

最終,我們根據(jù)以上數(shù)據(jù)可以得出結論:比較模型的整體性能,擴增數(shù)據(jù)集+遷移學習>遷移學習>擴增數(shù)據(jù)集>原始數(shù)據(jù)集。利用圖像增廣技術擴充數(shù)據(jù)集能在一定程度上提升模型的性能,這是由于相比于原始數(shù)據(jù)集,模型得到了更加充分的訓練。引入遷移學習技術能夠大幅度提升模型的性能,這是由于遷移學習后使得模型在開始訓練時就已經(jīng)具備了一定的特征識別能力。值得一提的是,僅使用遷移學習的模型使用的是原始數(shù)據(jù)集且達到很好的效果,這說明遷移學習能夠大幅減少訓練所需樣本數(shù)并且能夠縮短訓練時間。與其他網(wǎng)絡模型對比也可看出,引入遷移學習的Xception網(wǎng)絡更具有優(yōu)勢。

5 ? 結論(Conclusion)

本文使用圖像增廣技術擴增數(shù)據(jù)集,利用遷移學習方法對Xception深層卷積神經(jīng)網(wǎng)絡模型進行訓練,比較了模型前后的性能。根據(jù)實驗分析發(fā)現(xiàn):圖像增廣和遷移學習技術可以提升模型的性能,其中擴增數(shù)據(jù)集能夠使得模型的訓練更加充分,在一定程度上降低了模型的損失值和RMSE值,將模型的精確率從79.82%提升到84.67%;而利用遷移學習技術使得模型的損失值和RMSE值大幅度下降,并且得到了96.24%的預測精確率,同時還縮減了訓練模型的時間,與同級別的深層網(wǎng)絡相比,在精確率、召回率和F1指數(shù)等指標上都表現(xiàn)出了更好的性能。本文實驗為深層卷積神經(jīng)網(wǎng)絡檢測表面結構裂紋時出現(xiàn)的識別精度低、耗費時間長等問題提供了解決思路和解決方案。

參考文獻(References)

[1] KIM H, AHN E, SHIN M, et al. Crack and noncrack classification from concrete surface images using machine learning[J]. Structural Health Monitoring, 2019, 18(3):725-738.

[2] LECUN Y, BENGIO Y, HINTON G. Deep learning[J]. Nature, 2015, 521(7553):436.

[3] ZHUANG F, QI Z, DUAN K, et al. A comprehensive survey on transfer learning[J]. Proceedings of the IEEE, 2020, 109(1):43-76.

[4] JINSAKUL N, TSAI C F, TSAI C E, et al. Enhancement of deep learning in image classification performance using xception with the swish activation function for colorectal polyp preliminary screening[J]. Mathematics, 2019, 7(12):1170.

[5] XU H, SU X, WANG Y, et al. Automatic bridge crack detection using a convolutional neural network[J]. Applied Sciences, 2019, 9(14):2867.

[6] 唐德可,王峰,王宏琦.基于標準化處理的手寫符號快速識別方法[J].計算機應用與軟件,2018,35(09):242-246.

[7] 魏小娜,李英豪,王振宇,等.醫(yī)學影像人工智能輔助診斷的樣本增廣方法[J].計算機應用,2019,39(09):2558-2567.

[8] OLIPHANT T E. Python for scientific computing[J]. Computing in Science & Engineering, 2007, 9(3):10-20.

[9] WONGSUPHASAWAT K, SMILKOV D, WEXLER J, et al. Visualizing dataflow graphs of deep learning models in tensorflow[J]. IEEE Transactions on Visualization and Computer Graphics, 2017, 24(1):1-12.

[10] 李清濤,任宇馳,王遠,等.基于人工神經(jīng)網(wǎng)絡全連接層優(yōu)化的線損異常診斷方法研究[J].電氣應用,2020,39(04):82-88.

[11] 周安眾,羅可.一種卷積神經(jīng)網(wǎng)絡的稀疏性Dropout正則化方法[J].小型微型計算機系統(tǒng),2018,39(08):1674-1679.

[12] 謝璐陽,夏兆君,朱少華,等.基于卷積神經(jīng)網(wǎng)絡的圖像識別過擬合問題分析與研究[J].軟件工程,2019,22(10):27-29,26.

[13] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. Imagenet classification with deep convolutional neural networks[J]. Advances in Neural Information Processing Systems, 2012, 25:1097-1105.

[14] 畢常遙,袁曉彤.基于Adam局部優(yōu)化的分布式近似牛頓深度學習模型訓練[J].計算機應用與軟件,2021,38(10):278-283.

作者簡介:

徐崢勻(1998-),男,碩士.研究領域:機器學習,深度學習.

錢松榮(1972-),女,博士,教授.研究領域:機器學習,深度學習.

猜你喜歡
遷移學習卷積神經(jīng)網(wǎng)絡圖像識別
基于Resnet-50的貓狗圖像識別
高速公路圖像識別技術應用探討
圖像識別在物聯(lián)網(wǎng)上的應用
圖像識別在水質檢測中的應用
奇異值分解與移移學習在電機故障診斷中的應用
基于深度卷積神經(jīng)網(wǎng)絡的物體識別算法
深度學習算法應用于巖石圖像處理的可行性研究
基于深度卷積網(wǎng)絡的人臉年齡分析算法與實現(xiàn)
基于卷積神經(jīng)網(wǎng)絡的樹葉識別的算法的研究
一種基于遷移極速學習機的人體行為識別模型
赫章县| 绍兴县| 天柱县| 青海省| 绥江县| 茌平县| 紫云| 仙居县| 隆昌县| 府谷县| 和平区| 江北区| 城市| 运城市| 乌鲁木齐县| 虞城县| 滨州市| 休宁县| 呼伦贝尔市| 日照市| 武山县| 江口县| 蓬溪县| 苍梧县| 梁山县| 铜山县| 保亭| 新宁县| 苍南县| 姚安县| 舒兰市| 蕉岭县| 积石山| 周宁县| 营山县| 通州区| 永嘉县| 克山县| 东乌珠穆沁旗| 淮阳县| 柳林县|