劉珂鋮 謝群 李雁軍
文章編號(hào):1671-3559(2024)03-0341-09DOI:10.13349/j.cnki.jdxbn.20240024.003
摘要: 針對(duì)現(xiàn)有混凝土構(gòu)件裂縫人工檢測(cè)操作不僅費(fèi)時(shí)、 費(fèi)力,而且易出現(xiàn)錯(cuò)檢、 誤檢、 漏檢,以及部分位置難以開(kāi)展檢測(cè)的問(wèn)題,提出一種基于深度學(xué)習(xí)YOLOX(You Only Look Once)算法的混凝土構(gòu)件裂縫智能化檢測(cè)方法;首先采集、 整理包含各類混凝土構(gòu)件的典型裂縫圖像,并通過(guò)圖像數(shù)據(jù)增強(qiáng)建立Pascal VOC數(shù)據(jù)集,然后基于Facebook公司開(kāi)發(fā)的深度學(xué)習(xí)框架Pytorch,利用數(shù)據(jù)集訓(xùn)練YOLOX算法,并進(jìn)行裂縫識(shí)別和驗(yàn)證;將訓(xùn)練完成后YOLOX算法移植至搭載安卓系統(tǒng)的手機(jī)端,進(jìn)行現(xiàn)場(chǎng)實(shí)時(shí)檢測(cè)操作。結(jié)果表明:在迭代次數(shù)為700時(shí),混凝土構(gòu)件裂縫識(shí)別精度可達(dá)88.84%,能有效篩分混凝土構(gòu)件表面裂縫,并排除其他干擾項(xiàng),證明了所提出的方法對(duì)裂縫具有較高的識(shí)別精度和廣泛的適用性;經(jīng)試驗(yàn)測(cè)試,移植至手機(jī)端的YOLOX算法能在提升便攜性的同時(shí)保證高效、準(zhǔn)確的檢測(cè)效果,具有良好的應(yīng)用前景。
關(guān)鍵詞: 深度學(xué)習(xí); YOLOX(You Only Look Once)算法; 混凝土構(gòu)件; 裂縫識(shí)別
中圖分類號(hào): TV544; TP18; TP391.41
文獻(xiàn)標(biāo)志碼: A
開(kāi)放科學(xué)識(shí)別碼(OSID碼):
Intelligent Detection Method for Cracks of Concrete Members Based on
Deep Learning YOLOX Algorithm
LIU Kecheng, XIE Qun, LI Yanjun
(School of Civil Engineering and Architecture, University of Jinan, Jinan 250022, Shandong, China)
Abstract: In view of the problem that the existing artificial detection technology for cracks of concrete members was not only time-consuming and laborious but also prone to misdiagnosis, false detection, miss detection, and difficulties in detecting some locations, an intelligent detection method for cracks of concrete elements based on deep learning YOLOX (You Only Look Once) algorithm was proposed. Typical crack images of various concrete members were firstly collected and sorted out, and a Pascal VOC dataset was established through image data enhancement. On the basis of deep learning framework Pytorch developed by Facebook, YOLOX algorithm was then trained and verified for crack identification by using the dataset. YOLOX algorithm after training was transplanted to the mobile phone terminal with Android system for on-site real-time detection. The results show that the crack identification accuracy concrete members can reach 88.84% when the iteration number is 700. Cracks on the surface of concrete members can be effectively screened out and other interference items can be excluded, which indicates that the proposed method has high identification accuracy and wide applicability for cracks. Through the test, YOLOX algorithm transplanted to mobile phone terminals can not only improve portability but also ensure the efficient and accurate detection effect, which has a good application prospect.
Keywords: deep learning; YOLOX (You Only Look Once) algorithm; concrete member; crack identification
收稿日期: 2022-12-21????????? 網(wǎng)絡(luò)首發(fā)時(shí)間:2024-01-24T18:14:34
基金項(xiàng)目: 國(guó)家自然科學(xué)基金項(xiàng)目(52108214); 山東省住房城鄉(xiāng)建設(shè)科技計(jì)劃項(xiàng)目(2020-K5-18); 建筑結(jié)構(gòu)加固改造與地下空間
工程教育部重點(diǎn)實(shí)驗(yàn)室開(kāi)放課題項(xiàng)目(MEKL202006)
第一作者簡(jiǎn)介: 劉珂鋮(1999—),男,福建福州人。碩士研究生,研究方向?yàn)閳D像識(shí)別與智慧建造。E-mail:llwllkc0214@foxmail.com。
通信作者簡(jiǎn)介: 謝群(1979—),男,山東聊城人。教授,博士,博士生導(dǎo)師,研究方向?yàn)樾虏牧辖Y(jié)構(gòu)、 新型裝配式結(jié)構(gòu)、 工程結(jié)構(gòu)抗災(zāi)。
E-mail:cea_xieq@ujn.edu.cn。
網(wǎng)絡(luò)首發(fā)地址: https://link.cnki.net/urlid/37.1378.N.20240124.1122.006
混凝土構(gòu)件破壞開(kāi)裂產(chǎn)生的裂縫是構(gòu)件受力和變形最直觀和主要的損傷形式[1]。 在實(shí)際工程建筑物的檢測(cè)鑒定中, 裂縫損傷屬于可靠性鑒定的主要指標(biāo), 在混凝土結(jié)構(gòu)受力性能試驗(yàn)中, 裂縫也是混凝土結(jié)構(gòu)加載過(guò)程中測(cè)量的關(guān)鍵指標(biāo)。 據(jù)美國(guó)聯(lián)邦公路管理局2001年公開(kāi)報(bào)道[2], 公路橋梁工程中人工檢測(cè)裂縫損傷存在主觀性強(qiáng)、 精確性差、 定期檢測(cè)中易忽略混凝土剪切裂縫等重要裂縫等重大缺陷。 在試驗(yàn)中對(duì)混凝土構(gòu)件裂縫的檢測(cè)目前同樣主要由人工進(jìn)行[3-5], 但是試驗(yàn)通常具有往復(fù)加載時(shí)間長(zhǎng)、 加載級(jí)數(shù)多等特點(diǎn)[6], 因此人工監(jiān)測(cè)不僅費(fèi)時(shí)、 費(fèi)力, 無(wú)法實(shí)時(shí)動(dòng)態(tài)監(jiān)測(cè), 而且極易因記錄者疲勞等而導(dǎo)致錯(cuò)檢、 誤檢和漏檢。 探尋一種便捷、 高效的試驗(yàn)中混凝土構(gòu)件裂縫的檢測(cè)方法, 對(duì)我國(guó)日益增長(zhǎng)的建筑抗震性能試驗(yàn)需求具有重大現(xiàn)實(shí)意義。
目前,有關(guān)試驗(yàn)中混凝土構(gòu)件裂縫檢測(cè)的研究匱乏。鑒于傳統(tǒng)的裂縫人工檢測(cè)方式在該領(lǐng)域中的諸多缺陷,利用近年來(lái)崛起的人工智能是改善現(xiàn)狀的最佳方法。深度學(xué)習(xí)(deep learning, DL)是源于機(jī)器學(xué)習(xí)(machine learning, ML)的新興研究方向,深度學(xué)習(xí)的引入使機(jī)器學(xué)習(xí)更接近實(shí)現(xiàn)人工智能的終極目標(biāo)。由于深度學(xué)習(xí)具有重現(xiàn)性能良好、處理精度和泛用性廣等諸多優(yōu)點(diǎn),因此受到施工方和研究者的廣泛關(guān)注與青睞[7-8]。目前,深度學(xué)習(xí)在數(shù)據(jù)模擬、 材料分析、 事故分析及智能檢測(cè)等多項(xiàng)土木建筑工程領(lǐng)域中均具有良好的應(yīng)用前景[9-13]。
YOLO(You Only Look Once)系列算法僅瀏覽1次即可識(shí)別出圖像中物體的類別和位置,YOLOX算法作為該系列算法的改進(jìn)版,綜合了系列算法的網(wǎng)絡(luò)的優(yōu)點(diǎn),使用Focus、 CSPnet網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行特征提取,通過(guò)Mosaic結(jié)構(gòu)進(jìn)行數(shù)據(jù)增強(qiáng),創(chuàng)新地應(yīng)用了新的解耦頭、 Anchor Free思想和SimOTA動(dòng)態(tài)正樣本匹配方法,大幅改善了YOLO系列算法的識(shí)別效果。本文中以各類典型混凝土構(gòu)件為研究對(duì)象,提出一種基于深度學(xué)習(xí)YOLOX算法的混凝土構(gòu)件裂縫智能化檢測(cè)方法,對(duì)混凝土構(gòu)件裂縫進(jìn)行識(shí)別和驗(yàn)證。
1? YOLOX算法結(jié)構(gòu)及裂縫識(shí)別流程
目前學(xué)者們已提出一些基于深度學(xué)習(xí)的裂縫檢測(cè)方法[14-16],并證明了這些方法在裂縫檢測(cè)和識(shí)別中的良好可行性。這些方法通常應(yīng)用于建成一段時(shí)間的道路和橋梁,裂縫尺寸較大,對(duì)識(shí)別精度要求較低,同時(shí)這些裂縫圖像的像素點(diǎn)與灰度值存在重疊,并且與背景和噪聲的形態(tài)存在差異,因此研究者后續(xù)選用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)[17],或區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(region-based CNN, R-CNN)[18]等改進(jìn)算法。在試驗(yàn)過(guò)程中,構(gòu)件開(kāi)裂最先形成的裂縫多為細(xì)小裂縫,這些裂縫在圖像中的像素點(diǎn)較小,因此應(yīng)用于道路和橋梁的深度學(xué)習(xí)方法泛用性不足,無(wú)法直接應(yīng)用于試驗(yàn)中混凝土構(gòu)件裂縫的檢測(cè)。更重要的是,傳統(tǒng)的神經(jīng)元網(wǎng)絡(luò)系統(tǒng)在裂縫識(shí)別時(shí)對(duì)設(shè)備要求高,訓(xùn)練周期長(zhǎng),通常需要訓(xùn)練上萬(wàn)次才能達(dá)到較高的識(shí)別精度[19-20],無(wú)法滿足低成本、易操作和高效檢測(cè)混凝土構(gòu)件裂縫的實(shí)際需求。
針對(duì)混凝土構(gòu)件裂縫檢測(cè)面臨的實(shí)際問(wèn)題,本文中提出一種兼具識(shí)別快、 運(yùn)行效率高、 準(zhǔn)確率較高等特性[21]的基于深度學(xué)習(xí)YOLOX算法的混凝土構(gòu)件裂縫智能化檢測(cè)方法。圖1所示為YOLOX算法與其他最先進(jìn)的物體探測(cè)算法的速度與精度均值對(duì)比[21]。由圖可知,相對(duì)于作為工業(yè)應(yīng)用最廣泛的探測(cè)器之一的YOLOv3算法,YOLOX算法在COCO數(shù)據(jù)集上的精度均值(average precision)更高,在圖像處理器(GPU)Tesla V100上以每秒68.9幀的速率實(shí)現(xiàn)精度均值50%,識(shí)別效果優(yōu)于同期發(fā)布的YOLOv5算法[21]。
按照網(wǎng)絡(luò)深度和特征圖深度的大小,YOLOX算法可分為輕量級(jí)和標(biāo)準(zhǔn)2種類型,YOLOX-s算法是標(biāo)準(zhǔn)網(wǎng)絡(luò)中深度最小、運(yùn)行最快的算法,能夠?qū)崿F(xiàn)端對(duì)端的目標(biāo)檢測(cè),該算法選用單個(gè)神經(jīng)網(wǎng)絡(luò)直接預(yù)測(cè)圖像中物品的類別和邊界概率[21],更適用于現(xiàn)場(chǎng)實(shí)際應(yīng)用環(huán)境,因此本文中將YOLOX-s算法應(yīng)用于混凝土構(gòu)件裂縫識(shí)別。
用于混凝土構(gòu)件裂縫識(shí)別的YOLOX算法的結(jié)構(gòu)如圖2所示,其中CSPDarknet是主干特征提取網(wǎng)絡(luò),輸入的圖像首先在該網(wǎng)絡(luò)中進(jìn)行特征提取,提取
到的特征稱為特征層,是輸入圖像的特征集合;特征金字塔網(wǎng)絡(luò)(feature pyramid network, FPN)是加強(qiáng)特征提取網(wǎng)絡(luò),特征層在該網(wǎng)絡(luò)中進(jìn)行特征融合,從而結(jié)合不同尺度的特征信息;Yolo Head是分類器和回歸器,經(jīng)由前2個(gè)結(jié)構(gòu)產(chǎn)出的加強(qiáng)特征層,具有寬度、 高度和通道個(gè)數(shù)等尺度,此時(shí)可將特征圖看作多個(gè)特征點(diǎn)的集合,而每個(gè)特征點(diǎn)都有等同于通道個(gè)數(shù)的特征,分類器和回歸器Yolo Head的作用即為判斷是否有物體與這些特征點(diǎn)相對(duì)應(yīng)。圖3所示為YOLOX算法中分類器和回歸器Yolo Head與舊版本YOLO算法的區(qū)別[21]。由圖2、 3可知,與舊版本YOLO算法不同,在YOLOX算法結(jié)構(gòu)中,分類器和回歸器Yolo Head分成兩大部分,分別實(shí)現(xiàn)對(duì)應(yīng)功能,直到最后進(jìn)行預(yù)測(cè)時(shí)才進(jìn)行整合。綜上所述,整個(gè)YOLOX算法的工作流程可以概括為特征提取—特征加強(qiáng)—預(yù)測(cè)特征點(diǎn)對(duì)應(yīng)的物體類別。
利用YOLOX算法識(shí)別裂縫的主要步驟如下: 1)混凝土構(gòu)件裂縫檢測(cè)模塊根據(jù)輸入的裂縫圖像進(jìn)行識(shí)別和標(biāo)注; 2)裂縫識(shí)別模塊對(duì)檢測(cè)到的混凝土構(gòu)件裂縫區(qū)域裁剪出子圖像,根據(jù)子圖像中是否存在裂縫進(jìn)行圖像二分類; 3)預(yù)測(cè)得出裂縫的識(shí)別結(jié)果。
2? 數(shù)據(jù)集建立
2.1? 圖像采集及擴(kuò)增
由于國(guó)內(nèi)尚沒(méi)有混凝土構(gòu)件裂縫的公開(kāi)數(shù)據(jù)集,因此以濟(jì)南大學(xué)存有的試驗(yàn)用混凝土構(gòu)件、 實(shí)際工程混凝土構(gòu)件作為研究對(duì)象,構(gòu)件類型涵蓋鋼筋-混凝土梁、 柱、 板、 剪力墻、 基礎(chǔ)、 外墻等,采集這些構(gòu)件表面裂縫的圖像。
為了提高混凝土構(gòu)件裂縫識(shí)別的準(zhǔn)確性, 對(duì)采集到的圖像通過(guò)圖像旋轉(zhuǎn)、 翻轉(zhuǎn)、 模糊、 增加噪點(diǎn)、 改變亮度等方式進(jìn)行圖像數(shù)據(jù)擴(kuò)增, 增加數(shù)據(jù)集的樣本量, 有效緩解算法的過(guò)擬合, 提高算法的泛化能力。 裂縫原圖及原圖增強(qiáng)樣例如圖4所示。 處理后的數(shù)據(jù)集中圖像數(shù)據(jù)擴(kuò)增至702個(gè),建立基于Pascal VOC格式的混凝土構(gòu)件裂縫數(shù)據(jù)集, 然后按照訓(xùn)練用數(shù)據(jù)集與驗(yàn)證用數(shù)據(jù)集中數(shù)據(jù)個(gè)數(shù)之比為9∶1, 將所建立的混凝土構(gòu)件數(shù)據(jù)集劃分為訓(xùn)練用數(shù)據(jù)集和驗(yàn)證用數(shù)據(jù)集。
2.2? 數(shù)據(jù)處理
在建立數(shù)據(jù)集后,進(jìn)行圖像裂縫標(biāo)注時(shí)需要考慮混凝土構(gòu)件裂縫的實(shí)際特性,正確判斷圖像中的裂縫是否為構(gòu)件開(kāi)裂破壞時(shí)產(chǎn)生的裂縫,同時(shí)區(qū)分其他干擾項(xiàng),例如辨別風(fēng)干開(kāi)裂的漆面褶皺、 構(gòu)件上標(biāo)注的人工筆跡等。
選用Labelimg系統(tǒng)對(duì)數(shù)據(jù)集圖像進(jìn)行標(biāo)注, 混凝土構(gòu)件裂縫標(biāo)注樣例如圖5所示。 標(biāo)注完成后, Labelimg系統(tǒng)生成含有裂縫標(biāo)注信息的擴(kuò)展名為txt的文本文件, 包含標(biāo)注的裂縫個(gè)數(shù)和坐標(biāo)等信息。
3? YOLOX算法訓(xùn)練及識(shí)別效果分析
3.1? 訓(xùn)練配置
選用華碩品牌飛行堡壘系列GL502VML型便攜式計(jì)算機(jī)進(jìn)行訓(xùn)練, 硬件配置為英偉達(dá)品牌精視系列GTX 1060 3GB型GPU, 英特爾品牌酷睿系列i7-6700HQ型中央處理器(CPU);操作系統(tǒng)為Windows 10 21H1版本,開(kāi)發(fā)平臺(tái)選用Pycharm,軟件環(huán)境為Python 3.6;深度學(xué)習(xí)框架選用Facebook公司開(kāi)發(fā)的Pytorch 1.2.0;根據(jù)建立的Pascal VOC格式的混凝土構(gòu)件裂縫數(shù)據(jù)集訓(xùn)練YOLOX-s算法。
3.2? 訓(xùn)練方案
選取標(biāo)注的數(shù)據(jù)集中的裂縫圖像庫(kù)作為訓(xùn)練樣本。 初始權(quán)重文件為yolox_s.pth; 使用單GPU加速訓(xùn)練; 算法的最大、 最小學(xué)習(xí)率分別設(shè)定為0.01、 0.000 1, 學(xué)習(xí)率下降方式選為余弦退火(cosine annealing); 選用隨機(jī)梯度下降(stochastic gradient descent, SGD)優(yōu)化器,為了防止過(guò)擬合,設(shè)置權(quán)值衰減系數(shù)為0.000 5。
3.3? 損失計(jì)算
YOLOX算法的檢測(cè)頭主要分為Cls、 Reg和Obj這3個(gè)部分,其中Cls用于判斷每個(gè)特征點(diǎn)包含物體的種類,Reg用于判斷特征點(diǎn)的回歸參數(shù),Obj用于判斷特征點(diǎn)是否包含物體。YOLOX算法在訓(xùn)練迭代中的損失L由分類損失Lcls、 定位損失Lreg和置信度損失Lobj這3個(gè)部分組成,其中Lcls和Lreg只計(jì)算正樣本的損失,Lobj中對(duì)正、 負(fù)樣本的損失均進(jìn)行計(jì)算。損失L的計(jì)算公式[21]為
L=Lcls+λLreg+LobjNpos ,(1)
式中: λ為定位損失Lreg的平衡系數(shù),設(shè)置為5; Npos為正樣本的錨點(diǎn)個(gè)數(shù)。
3.4? 評(píng)價(jià)指標(biāo)
通常采用廣泛應(yīng)用于目標(biāo)檢測(cè)算法模型的識(shí)別效果評(píng)估[22-24]的平均精度均值(mean average precision)作為衡量模型性能的評(píng)價(jià)指標(biāo);但本文所提出的方法僅對(duì)混凝土構(gòu)件裂縫進(jìn)行目標(biāo)檢測(cè),因此本文中YOLOX算法可以直接選用精度均值作為裂縫識(shí)別的評(píng)價(jià)指標(biāo)。精度均值能有效反映模型識(shí)別的效果優(yōu)劣,數(shù)值越大則結(jié)果越好。根據(jù)精度P與召回率R的關(guān)系建立P-R曲線,精度均值Pa在對(duì)P-R曲線下方區(qū)域的面積進(jìn)行積分后得出,具體公式[22-24]為
P=TpTp+Fp ,(2)
R=TpTp+Fn ,(3)
Pa=∫10PRdR ,(4)
式中: Tp為被正確識(shí)別為含有裂縫的正樣本數(shù)量; Fp為被正確識(shí)別為未含有裂縫的負(fù)樣本數(shù)量; Fn為未被正確識(shí)別為含有裂縫的正樣本的個(gè)數(shù)。
3.5? 訓(xùn)練結(jié)果
YOLOX算法共進(jìn)行1 000次訓(xùn)練,算法訓(xùn)練的迭代次數(shù)與損失、 平均精度均值的關(guān)系如圖6所示,算法訓(xùn)練時(shí)的損失如表1所示。
訓(xùn)練損失、 驗(yàn)證損失—YOLOX算法在
訓(xùn)練用數(shù)據(jù)集、 驗(yàn)證用數(shù)據(jù)集中的損失。
由圖6、 表1可知,當(dāng)?shù)螖?shù)為700時(shí),YOLOX算法在訓(xùn)練用數(shù)據(jù)集中的損失(簡(jiǎn)稱訓(xùn)練損失)和驗(yàn)證用數(shù)據(jù)集中的損失(簡(jiǎn)稱驗(yàn)證損失)相近,表明此時(shí)精度已相對(duì)較高,同時(shí)驗(yàn)證損失與后續(xù)迭代次數(shù)為800~1 000時(shí)差別較小,可見(jiàn)YOLOX算法在迭代次數(shù)為700時(shí)即可滿足現(xiàn)實(shí)場(chǎng)景中的泛化誤差,因此綜合考慮時(shí)間成本,選取迭代次數(shù)為700時(shí)的權(quán)值文件作為YOLOX算法訓(xùn)練結(jié)果。
由于YOLOX算法的精度和召回率隨門(mén)限值的變化而變化, 因此通常定義門(mén)限值為0.5。 YOLOX算法訓(xùn)練后的精度、 召回率、 精度均值、 精度與召回率的調(diào)和均值F1的評(píng)估曲線如圖7所示。 由圖可知, 裂縫識(shí)別的精度、 召回率分別為88.84%、 85.27%, 精度均值為88.4%, 精度與召回率的調(diào)和均值F1達(dá)到87%, 說(shuō)明此時(shí)YOLOX算法的裂縫識(shí)別能力和準(zhǔn)確性均較高。
3.6? 訓(xùn)練后YOLOX算法的裂縫識(shí)別效果測(cè)試
為了進(jìn)一步驗(yàn)證算法精度,選取其他混凝土構(gòu)件圖像,裂縫識(shí)別效果測(cè)試結(jié)果見(jiàn)圖8。由圖8(a)、 (b)可知,訓(xùn)練完成后的YOLOX算法能夠較好地區(qū)分裂縫和人工筆跡等其他干擾項(xiàng),識(shí)別出測(cè)試圖中存在的裂縫;由圖8(c)可知,在表面粗糙的構(gòu)件基礎(chǔ)上,復(fù)雜背景中的細(xì)小裂縫仍能被正確識(shí)別;由圖8(d)可知,未存有裂縫的圖像不進(jìn)行標(biāo)注。綜上所述,訓(xùn)練后的YOLOX算法整體標(biāo)注效果與傳統(tǒng)人工標(biāo)注水平相近。
4? YOLOX算法移植至安卓系統(tǒng)
4.1? 基于ncnn框架的移植
將訓(xùn)練完成后的YOLOX算法運(yùn)用于裂縫識(shí)別時(shí), 通常需要采用計(jì)算機(jī)結(jié)合拍攝設(shè)備的協(xié)同方式進(jìn)行, 實(shí)施流程比傳統(tǒng)人工檢測(cè)和計(jì)算機(jī)圖像處理方法有所改進(jìn), 但是仍過(guò)于繁瑣, 并且專業(yè)拍攝設(shè)備便攜性欠佳。 為了便于實(shí)際裂縫檢測(cè)操作, 基于ncnn框架和Open CV-mobile編譯庫(kù)將訓(xùn)練完成后的YOLOX算法移植至手機(jī)端。
Open CV-mobile是基于跨平臺(tái)的計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)的Open CV軟件庫(kù)改進(jìn)開(kāi)發(fā)的最小化編譯庫(kù), 包含大部分常用的圖像處理功能。ncnn框架是一個(gè)專為手機(jī)端極致優(yōu)化的高性能神經(jīng)網(wǎng)絡(luò)前向計(jì)算依賴框架, 也是業(yè)界首個(gè)專精于手機(jī)端優(yōu)化的開(kāi)源神經(jīng)網(wǎng)絡(luò)推斷庫(kù), 2017年7月由騰訊優(yōu)圖實(shí)驗(yàn)室開(kāi)源發(fā)布。ncnn框架與傳統(tǒng)手機(jī)端編譯框架caffe-android-lib、 mini-caffe在YOLOX算法運(yùn)行過(guò)程中內(nèi)存使用量、 CPU使用率和得出基準(zhǔn)結(jié)果所需時(shí)間對(duì)比如圖9所示。由圖可知:相較于傳統(tǒng)手機(jī)端編譯框架, ncnn框架在YOLOX算法運(yùn)行前、 后內(nèi)存使用量更小, 運(yùn)行YOLOX算法時(shí)CPU占用率相對(duì)更低, 得出基準(zhǔn)結(jié)果更快?;趎cnn框架, 開(kāi)發(fā)者無(wú)須依賴第三方庫(kù)就能將深度學(xué)習(xí)算法封裝產(chǎn)出人工智能應(yīng)用的手機(jī)軟件(mobile application,
APP),以提升算法的便攜性。
4.2? YOLOX算法移植方案
在目前全球范圍內(nèi)的三大主流手機(jī)系統(tǒng)中,Apple公司開(kāi)發(fā)的iOS系統(tǒng)用戶人數(shù)超過(guò)17億,占比為34%,Google公司開(kāi)源開(kāi)發(fā)的安卓(Android)系統(tǒng)用戶人數(shù)超過(guò)30億,占比為60%,華為公司開(kāi)發(fā)的鴻蒙系統(tǒng)用戶人數(shù)為3.2億,占比為6%,大多數(shù)用戶持有的智能手機(jī)均搭載安卓系統(tǒng),因此優(yōu)先考慮將YOLOX算法移植至安卓系統(tǒng)。
采用Android Studio、 Visual Studio 2019軟件平臺(tái)進(jìn)行算法移植。在配置protobuf、 ncnn框架后, 修改YOLOX算法結(jié)構(gòu)中的部分參數(shù)以適配手機(jī)軟件的開(kāi)發(fā), 由YOLOX算法中提供的工具包export_onnx.py生成開(kāi)放神經(jīng)網(wǎng)絡(luò)交換(open neural network exchange, ONNX)格式文件,存儲(chǔ)訓(xùn)練完成的算法并便于算法在不同框架間進(jìn)行轉(zhuǎn)移,命名為yolox.onnx;然后由onnx2ncnn代碼產(chǎn)出參數(shù)文件yolox-nano.param和編譯后的二進(jìn)制文件yolox-nano.bin,將其中部分參數(shù)修正后導(dǎo)入Android Studio軟件中的ncnn框架,連接搭載基于安卓系統(tǒng)定制的MIUI系統(tǒng)的Redmi K50 Ultra型智能手機(jī),生成集成訓(xùn)練完成的YOLOX算法的手機(jī)軟件,命名為yolox_demo。
4.3? YOLOX算法移植前、 后裂縫識(shí)別效果對(duì)比測(cè)試
測(cè)試手機(jī)軟件文件yolox_demo完整,確認(rèn)未發(fā)生閃退等故障后,設(shè)計(jì)一根鋼筋-混凝土柱用于實(shí)際裂縫檢測(cè)。采用伺服作動(dòng)器對(duì)鋼筋-混凝土柱施加水平往復(fù)荷載,構(gòu)件屈服前由力控制加載,屈服后選用位移控制加載,每級(jí)加載循環(huán)3次。鋼筋-混凝土柱檢測(cè)現(xiàn)場(chǎng)如圖10所示。
鋼筋-混凝土柱開(kāi)始加載后,啟動(dòng)yolox_demo手機(jī)軟件調(diào)用手機(jī)攝像頭,該軟件可選用GPU模式和CPU模式,其中GPU模式識(shí)別裂縫效果更佳,因此選用GPU模式與移植前的計(jì)算機(jī)端共同對(duì)檢測(cè)過(guò)程中的鋼筋-混凝土柱實(shí)時(shí)拍攝識(shí)別,檢測(cè)同一構(gòu)件相同表面處的裂縫進(jìn)行對(duì)比,移植前、后YOLOX算法檢測(cè)效果對(duì)比如圖11所示,其中左、 右圖分別為手機(jī)端、計(jì)算機(jī)端識(shí)別結(jié)果,2種終端
對(duì)同一區(qū)域的裂縫識(shí)別結(jié)果以雙向箭頭標(biāo)示。以圖11(b)為例,使用手機(jī)端識(shí)別2處裂縫的概率分別為88.0%、 78.8%,而計(jì)算機(jī)端識(shí)別對(duì)應(yīng)區(qū)域的概率則為94.0%、 83.0%,分別相差6.0%、 4.2%。原因是手機(jī)端設(shè)備的硬件配置弱于計(jì)算機(jī)端設(shè)備的,并且當(dāng)前技術(shù)尚無(wú)法解決[25-26],但是整體來(lái)看,移植前、 后識(shí)別效果相近,同時(shí)相對(duì)于計(jì)算機(jī)端,手機(jī)端具有更高的便攜性和更多的應(yīng)用場(chǎng)景[26],證明本文所提出的方法中YOLOX算法的移植在提升YOLOX算法便攜性的同時(shí)仍然保證了較高的識(shí)別精度。
5? 結(jié)論
本文中通過(guò)采集各類典型混凝土構(gòu)件圖像,提出基于深度學(xué)習(xí)YOLOX算法的混凝土構(gòu)件裂縫智能化檢測(cè)方法,得到如下結(jié)論:
1)經(jīng)采集的圖像數(shù)據(jù)集訓(xùn)練迭代后,混凝土構(gòu)件裂縫識(shí)別精度可達(dá)88.84%,本文所提出的方法具有識(shí)別準(zhǔn)確率高、 易于從業(yè)人員操作、 對(duì)訓(xùn)練樣本數(shù)量要求少等眾多優(yōu)點(diǎn),相較現(xiàn)有的人工檢測(cè),保障了檢查人員的人身安全,同時(shí)解決了人工檢測(cè)時(shí)易因記錄者主觀原因錯(cuò)檢、 誤檢和漏檢等技術(shù)難題,在試驗(yàn)和工程中兼具廣泛應(yīng)用前景和實(shí)際工程價(jià)值。
2)將訓(xùn)練后的YOLOX算法經(jīng)由ncnn框架和Open CV-mobile編譯庫(kù)封裝,移植至搭載安卓系統(tǒng)的智能手機(jī),并檢測(cè)鋼筋-混凝土柱實(shí)際受力產(chǎn)生的裂縫,識(shí)別效果良好,并且移植前、 后識(shí)別精度相近,移植方法在保證識(shí)別精度的同時(shí)有效提升了算法的便攜性和實(shí)時(shí)性。
參考文獻(xiàn):
[1]? 中國(guó)建筑科學(xué)研究院. 混凝土結(jié)構(gòu)試驗(yàn)方法標(biāo)準(zhǔn): GB/T 50152—2012[S]. 北京: 中國(guó)建筑工業(yè)出版社, 2014: 6-7, 31-32.
[2]? GRAYBEALBA,PHARESBM,ROLANDER D D,et al.Visual inspection of highway bridges[J]. Journal of Nondestructive Evaluation, 2002, 21(3): 67.
[3]? 徐文靖, 邵曉東, 馬骉, 等. 采用UHPC連接的預(yù)制拼裝橋墩構(gòu)造及試驗(yàn)研究[J]. 土木工程學(xué)報(bào), 2022, 55(12): 105.
[4]? 付波, 李梓捷, 林晨豪, 等. 考慮豎向荷載的外包裝飾層鋼板剪力墻抗震性能試驗(yàn)研究[J]. 工業(yè)建筑, 2022, 52(11): 49.
[5]? 楊丹, 賈彬, 郭瑞. GFRP筋混凝土梁柱組合體抗震性能試驗(yàn)研究[J]. 建筑結(jié)構(gòu)學(xué)報(bào), 2022, 43(10): 225.
[6]? 中國(guó)建筑科學(xué)研究院. 建筑抗震試驗(yàn)規(guī)程: JGJ/T 101—2015[S]. 北京: 中國(guó)建筑工業(yè)出版社, 2015: 10.
[7]? 孫志軍, 薛磊, 許陽(yáng)明, 等. 深度學(xué)習(xí)研究綜述[J]. 計(jì)算機(jī)應(yīng)用研究, 2012, 29(8): 2806.
[8]? 周飛燕, 金林鵬, 董軍. 卷積神經(jīng)網(wǎng)絡(luò)研究綜述[J]. 計(jì)算機(jī)學(xué)報(bào), 2017, 40(6): 1229.
[9]? 王琛, 樊健生. 基于深度學(xué)習(xí)的土木工程結(jié)構(gòu)全過(guò)程響應(yīng)智能計(jì)算框架[J]. 建筑結(jié)構(gòu)學(xué)報(bào), 2023, 44(1): 259.
[10]? 李瀟睿, 班曉娟, 袁兆麟, 等. 工業(yè)場(chǎng)景下基于深度學(xué)習(xí)的時(shí)序預(yù)測(cè)方法及應(yīng)用[J]. 工程科學(xué)學(xué)報(bào), 2022, 44(4): 757.
[11] ?胡媛媛. 依賴深度學(xué)習(xí)算法的建筑工程管理項(xiàng)目最優(yōu)化控制[J]. 貴陽(yáng)學(xué)院學(xué)報(bào)(自然科學(xué)版), 2021, 16(4): 92.
[12]? 李巖, 楊豪杰, 劉輝, 等. 基于深度學(xué)習(xí)的混凝土裂縫檢測(cè)研究[J]. 信息技術(shù)與信息化, 2021(12): 233.
[13]? 劉婷, 張社榮, 王超, 等. 水利施工事故文本智能分析的BERT-BiLSTM混合模型[J]. 水力發(fā)電學(xué)報(bào), 2022, 41(7): 1.
[14]? 曹錦綱, 楊國(guó)田, 楊錫運(yùn). 基于注意力機(jī)制的深度學(xué)習(xí)路面裂縫檢測(cè)[J]. 計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào), 2020, 32(8): 1324.
[15]? 王琨. 基于深度學(xué)習(xí)的路面破損檢測(cè)研究及應(yīng)用[D]. 武漢: 武漢理工大學(xué), 2019.
[16]? 楊杰文, 章光, 陳西江, 等. 基于深度學(xué)習(xí)的較復(fù)雜背景下橋梁裂縫檢測(cè)[J]. 鐵道科學(xué)與工程學(xué)報(bào), 2020, 17(11): 2722.
[17]? 吳向東, 趙健康, 劉傳奇. 基于CNN與CRF的橋梁裂縫檢測(cè)算法[J]. 計(jì)算機(jī)工程與設(shè)計(jì), 2021, 42(1): 51.
[18]? 肖力煬, 李偉, 袁博, 等. 一種基于改進(jìn)實(shí)例分割模型的路面裂縫檢測(cè)方法[J]. 武漢大學(xué)學(xué)報(bào)(信息科學(xué)版), 2023, 48(5): 765.
[19]? 李太文, 范昕煒. 基于Faster R-CNN的道路裂縫識(shí)別[J]. 電子技術(shù)應(yīng)用, 2020, 46(7): 53.
[20]? 楊文偉, 楊霞, 蒙卉恩. 基于壓電陶瓷的PVA-ECC混凝土柱裂縫損傷監(jiān)測(cè)[J]. 沈陽(yáng)建筑大學(xué)學(xué)報(bào)(自然科學(xué)版), 2020, 36(4): 628.
[21]? GEZ,LIUST,WANGF,etal.YOLOX:exceedingYOLOseries in 2021[EB/OL]. (2021-08-06)[2022-10-09]. https://doi.org/10.48550/arXiv.2107.08430.
[22]? REDMON J, FARHADI A. YOLOv3: an incremental improvement[EB/OL]. (2018-04-08) [2022-10-09]. https://doi.org/10.48550/arXiv.1804.02767.
[23]? 李健偉, 曲長(zhǎng)文, 彭書(shū)娟, 等. 基于卷積神經(jīng)網(wǎng)絡(luò)的SAR圖像艦船目標(biāo)檢測(cè)[J]. 系統(tǒng)工程與電子技術(shù), 2018, 40(9): 1957.
[24]? CAO G,XIE X,YANG W,et al.Feature-fused SSD:fast detection for small objects[EB/OL]. (2018-11-27) [2022-10-09]. https://doi.org/10.48550/arXiv.1709.05054.
[25]? 《電腦迷》編輯部. 手機(jī)CPU與電腦CPU的性能究竟差多少[J]. 電腦迷, 2015(8): 55.
[26]? 劉九如, 尹茗. 我國(guó)智能終端產(chǎn)業(yè)發(fā)展研究及政策建議[J]. 產(chǎn)業(yè)經(jīng)濟(jì)評(píng)論, 2022(6): 11, 15-16.
(責(zé)任編輯:王? 耘)