亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于圖像處理的遠(yuǎn)距離裂縫檢測(cè)智能平臺(tái)開發(fā)

        2022-12-26 12:53:46許益獎(jiǎng)劉曉宇
        計(jì)算機(jī)測(cè)量與控制 2022年12期
        關(guān)鍵詞:程序微信檢測(cè)

        余 欣,許益獎(jiǎng),李 薇,石 威,劉曉宇

        (四川大學(xué) 機(jī)械工程學(xué)院,成都 610000)

        0 引言

        隨著國家社會(huì)經(jīng)濟(jì)的高速發(fā)展,眾多關(guān)系到國民生產(chǎn)的各行業(yè)及人們的日常生活大型建筑物,如隧道、橋梁、水壩、大樓等的數(shù)量快速增長(zhǎng),而由于老化以及各種各樣的原因,建筑物很容易產(chǎn)生裂縫。裂縫不僅影響建筑外表的美觀,更影響建筑的安全使用壽命,存在較大的安全隱患,甚至可能會(huì)給社會(huì)造成重大的經(jīng)濟(jì)損失和人員傷亡。為了確保這些建筑物的使用安全,必須定期對(duì)其進(jìn)行裂縫識(shí)別及檢測(cè),準(zhǔn)確評(píng)估建筑物的裂縫發(fā)展情況,從而制定科學(xué)合理的建筑修護(hù)方案。

        傳統(tǒng)的裂縫檢測(cè)方式主要依靠人工近距離作業(yè)的方式,多利用傳感器(如超聲波傳感器)進(jìn)行裂縫檢測(cè),超聲波檢測(cè)是利用超聲波的特性,通過檢測(cè)出脈沖波在被測(cè)物中的傳播時(shí)間以及接收波的振幅和頻率,從而確定建筑物表面裂縫的有無、大小和位置等信息[1]。這種方式由于硬件發(fā)展水平的限制,檢測(cè)精度難以進(jìn)一步提升,而且對(duì)于隧道和橫跨山河的橋梁等大型建筑,近距離作業(yè)使得檢測(cè)難度大、危險(xiǎn)系數(shù)高,故常常需要使用遠(yuǎn)距離檢測(cè)的方式。

        目前,用傳統(tǒng)的人工作業(yè)的方式進(jìn)行裂縫檢測(cè)已經(jīng)越來越無法滿足工程的需求,同時(shí)隨著硬件設(shè)備性能的提升以及大規(guī)模數(shù)據(jù)集的出現(xiàn)使得深度學(xué)習(xí)技術(shù)在目標(biāo)檢測(cè),實(shí)例分割等視覺領(lǐng)域已取得顯著成果[2-4],基于圖像處理的智能識(shí)別檢測(cè)的新方法應(yīng)運(yùn)而生。這種智能化裂縫檢測(cè)方法實(shí)現(xiàn)了數(shù)字化、自動(dòng)化,極大地提高了檢測(cè)精度與效率[5]。

        此外,隨著深度學(xué)習(xí)技術(shù)在計(jì)算機(jī)視覺領(lǐng)域的蓬勃發(fā)展和在交通及工業(yè)生產(chǎn)等場(chǎng)景的廣泛適用,基于深度學(xué)習(xí)技術(shù)的裂縫智能檢測(cè)平臺(tái)為大勢(shì)所趨,選擇合適的深度學(xué)習(xí)平臺(tái)部署深度學(xué)習(xí)網(wǎng)絡(luò)模型進(jìn)行大型建筑物表面的裂縫圖像識(shí)別檢測(cè)至關(guān)重要,目前國內(nèi)外研究人員主要基于嵌入式[6-9]和微型PC終端[10-11]研發(fā)遠(yuǎn)距離裂縫檢測(cè)智能平臺(tái),然而由于大多數(shù)深度學(xué)習(xí)算法占用內(nèi)存大且運(yùn)算復(fù)雜度較高,而嵌入式、PC終端等邊緣設(shè)備資源空間、功耗和計(jì)算能力等受限,這為深度學(xué)習(xí)的部署開發(fā)帶來了一定的難度和局限性。因此,性能更加強(qiáng)大的裂縫智能檢測(cè)平臺(tái)的研發(fā)有待完善和發(fā)展。

        近年來互聯(lián)網(wǎng)的云計(jì)算、云存儲(chǔ)等云端技術(shù)日益成熟,采用云服務(wù)器實(shí)現(xiàn)云數(shù)據(jù)的聚合和分析,可以最大程度地整合與裂縫相關(guān)的信息和數(shù)據(jù),實(shí)現(xiàn)資源的靈活擴(kuò)展[12]。

        因此本項(xiàng)目以裂縫檢測(cè)領(lǐng)域迫切需求的對(duì)大型建筑物表面裂縫進(jìn)行遠(yuǎn)距離檢測(cè)為導(dǎo)向,基于圖像處理和深度學(xué)習(xí)搭建依托于微信小程序和云服務(wù)器的遠(yuǎn)距離裂縫智能檢測(cè)平臺(tái),可實(shí)現(xiàn)更方便、更快捷、更智能化的裂縫檢測(cè)。

        1 系統(tǒng)結(jié)構(gòu)與原理

        1.1 基于云端的遠(yuǎn)距離裂縫檢測(cè)方案

        首先利用遠(yuǎn)攝變焦鏡頭采集圖像并通過微信小程序上傳到云端服務(wù)器,其中微信小程序與云端服務(wù)器間的通信基于TCP/IP協(xié)議,以https通信方式進(jìn)行數(shù)據(jù)交互;然后進(jìn)行裂縫檢測(cè);最后將分析結(jié)果及裂縫特征參數(shù)信息等存儲(chǔ)到云端,同時(shí)微信小程序?qū)⒃摲治鼋Y(jié)果進(jìn)行解析渲染展現(xiàn)給用戶。

        方案原理如圖1所示。

        圖1 基于云端的遠(yuǎn)距離裂縫檢測(cè)方案

        1.2 智能平臺(tái)架構(gòu)

        1.2.1 展現(xiàn)層和通訊層

        展現(xiàn)層實(shí)現(xiàn)用戶交互,負(fù)責(zé)圖像的輸入、渲染與展示。通訊層為系統(tǒng)前端(展現(xiàn)層)與后端(功能層、數(shù)據(jù)庫)的數(shù)據(jù)傳輸,基于HTTP/HTTPS協(xié)議和POST/GET請(qǐng)求。

        1.2.2 業(yè)務(wù)層

        通過調(diào)用業(yè)務(wù)數(shù)據(jù)接口,實(shí)現(xiàn)相應(yīng)的功能,包括裂縫檢測(cè)、數(shù)據(jù)存儲(chǔ)等。

        業(yè)務(wù)層由服務(wù)類組成,并使用數(shù)據(jù)層提供的服務(wù)實(shí)現(xiàn)展現(xiàn)層所需業(yè)務(wù)數(shù)據(jù)的處理,為實(shí)現(xiàn)安全服務(wù)、接口服務(wù)、數(shù)據(jù)分析、數(shù)據(jù)處理、日志消息、狀態(tài)信息等提供支持[13]。

        1.2.3 數(shù)據(jù)層

        提供底層數(shù)據(jù),實(shí)現(xiàn)原始數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)緩存、數(shù)據(jù)分析讀寫以及文件存儲(chǔ)等功能。

        圖2 遠(yuǎn)距離云端裂縫檢測(cè)智能平臺(tái)架構(gòu)

        2 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

        2.1 微信小程序前端

        如今,智能手機(jī)全面普及,微信小程序是一種全新的連接用戶與服務(wù)的方式[14],其背靠微信用戶量大的優(yōu)勢(shì),可共享微信生態(tài),同時(shí)具有優(yōu)秀的用戶體驗(yàn);微信云開發(fā)提供了原生 Serverless 云服務(wù),無需搭建服務(wù)器,降低了運(yùn)維成本[15-17];依托于微信小程序的開放接口,可以構(gòu)建移動(dòng)端的裂縫檢測(cè)應(yīng)用平臺(tái),同樣可實(shí)現(xiàn)與后臺(tái)算法的交互;用戶使用時(shí)無需下載,使用便捷,并且通過微信小程序自帶的云數(shù)據(jù)庫實(shí)現(xiàn)對(duì)用戶數(shù)據(jù)的存儲(chǔ)。

        微信小程序采用wxml、wxss、JavaScript進(jìn)行開發(fā),本質(zhì)是一個(gè)單頁應(yīng)用,所有的頁面渲染和事件處理,都在一個(gè)頁面內(nèi)進(jìn)行,但又可以通過微信客戶端調(diào)用原生的各種接口。

        1)程序結(jié)構(gòu)。微信小程序由js、json、wxss和wxml四個(gè)文件組成。.js是文件應(yīng)用程序是邏輯文件,.json文件應(yīng)用程序是配置文件,.wxss應(yīng)用程序是定義公共樣式,.wxml是用于定義.wxss公共樣式的外觀,比如大小、形狀和顏色等。通過配置這四個(gè)文件可以實(shí)現(xiàn)預(yù)期程序的產(chǎn)出。

        2)小程序與云服務(wù)器交互。小程序端調(diào)用wx.uploadFile實(shí)現(xiàn)小程序向后端服務(wù)器發(fā)送一個(gè)POST請(qǐng)求,將用戶數(shù)據(jù)上傳至云服務(wù)器;云服務(wù)器收到數(shù)據(jù)后調(diào)用算法進(jìn)行檢測(cè),之后返回相應(yīng)的值。由于返回的值微信小程序不能直接展示,需要通過JSON.parse將返回值轉(zhuǎn)換為可識(shí)別的值,之后微信小程序便可將轉(zhuǎn)換后的數(shù)據(jù)展示在界面上,實(shí)現(xiàn)前后端數(shù)據(jù)的交互。

        3)程序界面設(shè)計(jì)。根據(jù)需求,本項(xiàng)目設(shè)計(jì)了登錄界面、初始界面、檢測(cè)界面、建議反饋界面以及作者介紹界面。在js、json頁面下定義相應(yīng)函數(shù)實(shí)現(xiàn)所需要的功能,再在wxss和wxml頁面設(shè)計(jì)各界面的樣式,以達(dá)到美觀效果。

        4)程序主要功能。程序登陸界面用于獲取用戶的數(shù)據(jù),以便于實(shí)驗(yàn)統(tǒng)計(jì);授權(quán)后會(huì)進(jìn)入到初始界面,初始界面包含了三個(gè)功能按鈕,分別為“開始檢測(cè)”按鈕、“建議反饋”按鈕以及“關(guān)于我們”按鈕。點(diǎn)擊“開始檢測(cè)”按鈕便可進(jìn)入檢測(cè)界面,之后即可上傳裂縫圖片進(jìn)行檢測(cè),小程序會(huì)跳轉(zhuǎn)到檢測(cè)結(jié)果界面;點(diǎn)擊“建議反饋”按鈕進(jìn)入到建議反饋界面,用戶可向開發(fā)者提供建議,以便開發(fā)者對(duì)程序的進(jìn)一步優(yōu)化;點(diǎn)擊“關(guān)于我們”按鈕進(jìn)入到團(tuán)隊(duì)介紹界面,可便捷地了解開發(fā)者團(tuán)隊(duì)。如圖3所示為微信小程序總體流程圖。

        圖3 前端流程設(shè)計(jì)

        2.2 云服務(wù)器端

        云服務(wù)器(ECS,elastic compute service)是云計(jì)算服務(wù)的重要組成部分,是面向各類互聯(lián)網(wǎng)用戶提供綜合業(yè)務(wù)能力的服務(wù)平臺(tái),平臺(tái)整合了傳統(tǒng)意義上的互聯(lián)網(wǎng)應(yīng)用三大核心要素:計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)。由于云服務(wù)器屬于互聯(lián)網(wǎng)基礎(chǔ)設(shè)施的范疇,用戶可根據(jù)個(gè)人或群體的需求隨時(shí)、定量地使用其計(jì)算資源,做到高效、便捷地使用云服務(wù)器。與傳統(tǒng)服務(wù)器相比,用戶使用云服務(wù)器不僅無需購買硬件實(shí)體,降低了運(yùn)營(yíng)成本,而且可在短時(shí)間內(nèi)依據(jù)需求創(chuàng)建或釋放多臺(tái)云服務(wù)器,實(shí)現(xiàn)性能擴(kuò)充,簡(jiǎn)單高效[18]。

        本項(xiàng)目的后端使用Python語言編程,采取Nginx+uWSGI+Flask應(yīng)用的方式部署,算法模型部署在Flask上。微信小程序向服務(wù)器發(fā)起https 請(qǐng)求,Nginx首先接收到請(qǐng)求并轉(zhuǎn)發(fā)給uWSGI,server(uWSGI服務(wù)器)根據(jù)自身的uwsgi和WSGI協(xié)議,找到對(duì)應(yīng)的Flask框架,F(xiàn)lask框架下的應(yīng)用進(jìn)行邏輯處理后,將返回值發(fā)送到uWSGI服務(wù)器,然后uWSGI服務(wù)器再返回給Nginx,最后Nginx將返回值返回給微信小程序進(jìn)行渲染顯示給用戶。云服務(wù)器部署流程如圖4所示。

        圖4 云服務(wù)器部署流程

        2.2.1 Web服務(wù)器配置

        Nginx代理服務(wù)器處理靜態(tài)文件和索引文件效果非常高;其設(shè)計(jì)在保證較高效率的同時(shí)所占用內(nèi)存也較??;此外,Nginx不僅穩(wěn)定性高,而且配置簡(jiǎn)潔。而uWSGI做為一款優(yōu)秀的Python應(yīng)用服務(wù)器,更擅長(zhǎng)處理動(dòng)態(tài)請(qǐng)求。故從安全性和可擴(kuò)展性方面來講,使用Nginx+uWSGI是最佳方式。

        其中Nginx服務(wù)器通過修改Nginx配置文件實(shí)現(xiàn)https訪問和反向代理,它可根據(jù)服務(wù)器的負(fù)載情況將請(qǐng)求分配給不同的服務(wù)器進(jìn)行處理,且在響應(yīng)處理過程中,客戶端無法得知真正服務(wù)器的IP地址,保證了服務(wù)器性能和安全。

        uWSGI服務(wù)器實(shí)現(xiàn)uwsgi協(xié)議和WSGI協(xié)議,分別定義了傳輸信息的類型和保證了不同Web服務(wù)器可以和不同的Python程序之間相互通信。在WSGI中,Web服務(wù)器端被稱為server,會(huì)先收到用戶請(qǐng)求,依據(jù)一定的規(guī)范要求調(diào)用應(yīng)用程序端,即Web框架(如Flask),執(zhí)行結(jié)果會(huì)被封裝并返回到客戶端。

        2.2.2 Flask框架

        Flask 是一個(gè)輕量級(jí)Python Web 框架,因其簡(jiǎn)潔、輕巧、擴(kuò)展性強(qiáng)等優(yōu)勢(shì)大受歡迎[19-20],由兩個(gè)依賴(Werkzeug和Jinja2)和第三方庫組成。Flask性能上基本滿足一般Web開發(fā)的需求, 并且靈活性以及可擴(kuò)展性上要優(yōu)于其他Web框架, 對(duì)各種數(shù)據(jù)庫的契合度都非常高。

        主要功能:接受并處理小程序傳來的數(shù)據(jù);部署裂縫檢測(cè)算法模型;編寫POST類型請(qǐng)求的API;存儲(chǔ)裂縫檢測(cè)前后圖像及裂縫數(shù)據(jù)。

        表1展示了Flask程序文件的目錄結(jié)構(gòu)。

        表1 Flask程序文件目錄結(jié)構(gòu)

        2.3 裂縫檢測(cè)模型

        輸入圖像以后,首先使用卷積神經(jīng)網(wǎng)絡(luò)對(duì)圖像進(jìn)行分類,判斷是否存在裂縫目標(biāo)。對(duì)存在裂縫的圖像進(jìn)行預(yù)處理,再使用語義分割網(wǎng)絡(luò)進(jìn)行圖像分割,提取裂縫區(qū)域。最后使用傳統(tǒng)的圖像處理算法提取裂縫的像素?cái)?shù)據(jù)。根據(jù)鏡頭數(shù)據(jù)與測(cè)量距離計(jì)算像素解析度,將像素?cái)?shù)據(jù)與像素解析度相乘,便可以得到實(shí)際的裂縫數(shù)據(jù)。

        裂縫檢測(cè)流程如圖5所示。

        圖5 裂縫圖像處理流程

        2.3.1 圖像采集及像素解析度計(jì)算

        使用長(zhǎng)焦鏡頭采集圖像,使用激光測(cè)距儀測(cè)出相機(jī)與裂縫區(qū)域的距離。

        根據(jù)透鏡成像原理,有:

        (1)

        (2)

        式中,L為物距;f為鏡頭焦距。設(shè)A為目標(biāo)實(shí)際尺寸,即裂縫實(shí)際物理尺寸,A′為成像尺寸,則有:

        (3)

        (4)

        代入得:

        (5)

        成像尺寸A′為:

        (6)

        得到像素解析度為:

        (7)

        式中,A″為成像的像素?cái)?shù);d為圖像傳感器長(zhǎng)邊物理尺寸;D為圖片傳感器長(zhǎng)邊像素?cái)?shù)。

        相機(jī)成像表面與裂縫表面若存在夾角θ,需要測(cè)出這個(gè)夾角,從而對(duì)像素解析度進(jìn)行修正。李清鑫等提出了一種測(cè)θ角的方法[21],使用三點(diǎn)激光測(cè)距儀,利用三束激光之間的幾何關(guān)系計(jì)算得到θ角。

        修正后的像素解度:

        (8)

        θ為成像平面與裂縫表面的夾角。

        2.3.2 圖像分類

        2019年谷歌研究出了一種卷積神經(jīng)網(wǎng)絡(luò)模型—EfficientNet[22]。這個(gè)網(wǎng)絡(luò)模型創(chuàng)新地使用一個(gè)簡(jiǎn)單而高效的復(fù)合系數(shù)從網(wǎng)絡(luò)深度、網(wǎng)絡(luò)寬度和輸入圖像分辨率三個(gè)維度來放大網(wǎng)絡(luò),網(wǎng)絡(luò)精度更高,參數(shù)量更少。

        本文使用EfficientNet-B0作為圖像分類網(wǎng)絡(luò)。EfficientNet-B0包含16個(gè)移動(dòng)翻轉(zhuǎn)瓶頸卷積模塊(MBConv)、2個(gè)卷積層、1個(gè)全局平均池化層以及1個(gè)分類層[23]。與ResNet-50相比,該網(wǎng)絡(luò)速度提升了將近十倍,網(wǎng)絡(luò)參數(shù)僅有其大約五分之一。通過該圖像分類網(wǎng)絡(luò),可以對(duì)輸入的圖片進(jìn)行有效分類,判斷是否存在裂縫。

        2.3.3 圖像預(yù)處理

        對(duì)輸入的裂縫圖像進(jìn)行預(yù)處理,步驟主要有三步:圖像灰度化、圖像對(duì)比度增強(qiáng)、圖像濾波去噪[24]。

        鏡頭采集得到的圖片是三通道的RGB圖像,需要通過灰度化將三通道變?yōu)閱瓮ǖ?。本文使用加?quán)均值平均值算法進(jìn)行灰度化,公式如下所示:

        f(x,y)=WRR(x,y)+WGG(x,y)+WBB(x,y)

        (9)

        式中,f(x,y)是灰度圖像素值,R(x,y),G(x,y),B(x,y)分別為彩色圖像中的紅、綠、藍(lán)三種顏色通道中的像素分量,WR、WG、WB為R(x,y),G(x,y),B(x,y)的權(quán)值。權(quán)值選擇以人眼對(duì)色彩的敏感性為根據(jù),實(shí)驗(yàn)表明,當(dāng)WR=0.299、WG=587、WB=0.114時(shí),能獲得最符合人眼視覺感受的灰度圖圖像[25]。

        采集到的圖像需要提高其對(duì)比度,以便表現(xiàn)圖像的細(xì)節(jié)。本文使用伽馬校正的方法增強(qiáng)對(duì)比度,通過對(duì)圖像像素值的非線性變換,可以放大局部低光區(qū)域,放大圖像細(xì)節(jié)。其數(shù)學(xué)表達(dá)式如下:

        LOUT=I1/gamma

        (10)

        LOUT是輸出圖像,I是輸入圖像,gamma為伽馬指數(shù)[26]。

        本文通過實(shí)驗(yàn),發(fā)現(xiàn)gamma指數(shù)小于1時(shí),圖像對(duì)比度增強(qiáng),gamma指數(shù)大于1時(shí),圖像對(duì)比度減弱。同時(shí),當(dāng)gamma指數(shù)較低時(shí),如gamma=0.1,圖像對(duì)比度較高,但同樣存在加強(qiáng)了背景噪聲的問題。通過對(duì)多張圖像進(jìn)行對(duì)比度增強(qiáng),發(fā)現(xiàn)在gamma從0.1逐漸增大至1.0的過程中,對(duì)比度增強(qiáng)的力度逐漸減弱,當(dāng)gamma=0.6時(shí),對(duì)比度較高,而噪聲目標(biāo)未明顯增強(qiáng),矯正效果最為理想。因此,本文中伽馬指數(shù)取0.6。

        對(duì)比度增強(qiáng)后的圖像有各種噪聲包括椒鹽噪聲和高斯噪聲。使用中值濾波去除椒鹽噪聲,使用雙邊濾波去除高斯噪聲。中值濾波的公式如下:

        f(x,y)=Med{h(m-p,m-q),(p,q∈M)}

        (11)

        式中,f(x,y)表示輸出像素,取鄰域內(nèi)像素像素灰度的中值;h(m,n)表示原始圖像中心位置像素點(diǎn)的灰度值;m表示鄰域窗口的大小;h(k-p,l-q)就是各個(gè)像素點(diǎn)的灰度值。

        雙邊濾波的輸出像素值是鄰域像素值的加權(quán)和,其加權(quán)系數(shù)有兩部分,一部分是高斯距離權(quán)重,另一部分是高斯相似度權(quán)重,公式分別如下:

        c(ξ,x)=e-1/2(d(ξ,x)/σd)2

        (12)

        s(ξ,x)=e-1/2(σ(f(),f(x))/σr)2

        (13)

        融合距離和亮度信息去濾波,得到最后的公式如下所示:

        h(x)=k-1∑f(ξ)c(ξ,x)s(ξ,x)

        (14)

        其中:k(x)=∑c(ξ,x)s(ξ,x),∑表示用于濾波的鄰域矩陣的大小,f(ξ)表示原始像素點(diǎn),圖像預(yù)處理前后效果對(duì)比如圖6所示。

        圖6 圖像預(yù)處理前后效果對(duì)比圖

        使用雙邊濾波的好處是在去除了噪聲的同時(shí)保護(hù)了邊緣,有利于裂縫區(qū)域的分割。

        2.3.4 圖像分割

        本文使用SegNet[27]語義分割網(wǎng)絡(luò)進(jìn)行圖像分割,如圖7所示。

        圖7 SegNet網(wǎng)絡(luò)分割效果

        SegNet包含編碼(encoder)和解碼(decoder)兩個(gè)部分。在編碼器中,包含了 VGG16 中的 13 個(gè)卷積層.同時(shí)編碼器中存在5個(gè)最大池化層,其下采樣操作可以縮小圖像。同時(shí)存儲(chǔ)池化操作中最大值的索引位置。在解碼器中進(jìn)行上采樣操作。解碼器中也有 13 個(gè)卷積層。與編碼器不同,解碼器中有 5 個(gè)上采樣層,用于將特征圖還原至原來的大小。上采樣操作采用轉(zhuǎn)置卷積的方式。解碼器后是一個(gè)softmax分類層,接收最后一個(gè)卷積層的輸出,對(duì)每個(gè)像素獨(dú)立分類,輸出有K個(gè)通道,每個(gè)通道代表一個(gè)類別。最終實(shí)現(xiàn)圖像語義分割。

        2.3.5 裂縫特征提取

        通過圖像分割得到裂縫區(qū)域后,將圖像轉(zhuǎn)化為二值圖像,圖像中,白色區(qū)域就是裂縫區(qū)域。

        圖像分割可能會(huì)使連續(xù)的裂縫邊緣發(fā)生斷裂,使用形態(tài)學(xué)運(yùn)算中的閉運(yùn)算對(duì)這些裂縫邊緣進(jìn)行連接,并使用開運(yùn)算去除毛刺。

        同時(shí),二值圖像中可能存在一些噪聲,要想提取出完整的裂縫特征還需要對(duì)圖像進(jìn)行濾波。利用裂縫的圓度較低,面積較噪聲大的特點(diǎn)對(duì)噪聲進(jìn)行了濾除。

        由于裂縫區(qū)域連通性較好,連通域面積較大,而噪聲區(qū)域多為孤立點(diǎn),面積較小,可以設(shè)立一個(gè)閾值,將低于此閾值的連通域視為噪聲區(qū)域,從而進(jìn)行初步去噪。然后利用連通域的圓度大小進(jìn)行進(jìn)一步去噪。

        圓度用于描述區(qū)域接近圓形的程度,如果區(qū)域越接近圓形,則它的圓度越接近于1。

        本文采用Halcon中關(guān)于圓度的定義來計(jì)算圓度,計(jì)算公式如下:

        (15)

        C為圓度,F(xiàn)為區(qū)域面積,max為區(qū)域中心點(diǎn)到輪廓點(diǎn)的最大值。

        噪聲點(diǎn)的圓度一般較大,裂縫區(qū)域的圓度一般較小,通過對(duì)多張裂縫圖片進(jìn)行去噪處理發(fā)現(xiàn),將圓度大于0.1的白色連通域視為噪聲進(jìn)行濾除后,可以比較完整地提取出裂縫區(qū)域,提取效果如圖8所示。

        圖8 裂縫特征提取效果

        2.3.6 裂縫參數(shù)計(jì)算

        經(jīng)過特征提取之后,所得白色連通域便是裂縫區(qū)域。統(tǒng)計(jì)所有像素值為255的像素點(diǎn)的個(gè)數(shù),便可以得到裂縫的像素面積。通過中軸變換算法,得到裂縫骨架,即一條只有一個(gè)像素點(diǎn)寬的直線,統(tǒng)計(jì)這條直線的像素點(diǎn)的個(gè)數(shù)便可以得到裂縫的像素長(zhǎng)度。同時(shí),中軸變換過程中還會(huì)返回中軸線上的所有點(diǎn)與中間點(diǎn)的距離,可以利用此距離得到裂縫寬度的像素寬度。將以上數(shù)據(jù)乘以像素解析度便可以得到實(shí)際的裂縫數(shù)據(jù)。

        3 實(shí)驗(yàn)結(jié)果與分析

        3.1 圖像分類實(shí)驗(yàn)

        3.1.1 數(shù)據(jù)預(yù)處理

        數(shù)據(jù)集Concrete Crack Images for Classification中含有20 000張帶有裂縫的圖像和20 000張不帶有裂縫的圖像,每張圖像的大小為227×227,是裂縫檢測(cè)相關(guān)研究中使用較為廣泛的數(shù)據(jù)集。從此數(shù)據(jù)集中挑選出1 000張帶有裂縫的圖像和1 000張不帶有裂縫。在數(shù)據(jù)預(yù)處理階段,將數(shù)據(jù)集中的圖片進(jìn)行中心裁剪,裁剪至224×224。其中224×224是EfficientNet-B0的標(biāo)準(zhǔn)輸入尺寸[16],同時(shí),由于裂縫一般位于圖像中間,中心裁剪可以減少一部分背景噪聲。之后再通過歸一化、以0.5概率隨機(jī)翻轉(zhuǎn)等操作以增強(qiáng)數(shù)據(jù)。

        3.1.2 模型訓(xùn)練

        網(wǎng)絡(luò)模型使用EfficientNet的BO版本,訓(xùn)練的參數(shù)如下表所示,輸入圖像尺寸為224×224,每批數(shù)據(jù)量為32,學(xué)習(xí)率為0.001,epoch為100次,動(dòng)量參數(shù)設(shè)為0.9,權(quán)重衰減為0.000 1。使用SGD優(yōu)化器和交叉熵?fù)p失函數(shù)。

        在模型訓(xùn)練過程中,損失函數(shù)值隨訓(xùn)練次數(shù)增加而衰減,當(dāng)訓(xùn)練至100次時(shí),模型基本收斂,損失函數(shù)值約為0.016 72。

        3.1.3 實(shí)驗(yàn)指標(biāo)

        本實(shí)驗(yàn)針對(duì)圖像分類模型進(jìn)行評(píng)估,衡量分類模型的性能。主要實(shí)驗(yàn)指標(biāo):精確率(precision)、召回率(recall)、F值[28]和FPS(frames per second) 指標(biāo)。計(jì)算精確率和召回率時(shí)還需使用以下參數(shù):TP(true positives) 表示裂縫樣本被正確分類為裂縫的樣本數(shù),TN(true negatives) 表示非裂縫樣本被正確分類為非裂縫的樣本數(shù),F(xiàn)P(false positives) 表示非裂縫樣本被錯(cuò)誤分類為裂縫的樣本數(shù),F(xiàn)N(false negatives)表示裂縫樣本被錯(cuò)誤分類為非裂縫的樣本數(shù)。

        精確率表示被正確預(yù)測(cè)為裂縫的圖像占預(yù)測(cè)為裂縫的圖像的比例,定義如下:

        (16)

        召回率表示被正確預(yù)測(cè)為裂縫的圖像占全部裂縫圖像的比例,定義如下:

        (17)

        F值用于綜合反映整體的指標(biāo)。定義如下:

        (18)

        FPS表示每秒處理的圖片數(shù),用于衡量檢測(cè)算法的檢測(cè)速度。

        3.1.4 測(cè)試結(jié)果

        使用算法模型對(duì)250張帶有裂縫的圖像和250張不帶有裂縫的圖像進(jìn)行測(cè)試測(cè)試結(jié)果如表2所示。

        表2 分類網(wǎng)測(cè)試結(jié)果

        實(shí)驗(yàn)結(jié)果表明圖像分類模型精確率和召回率均比較高,算法模型精度較高,且每秒可以處理將近5張圖片,可以滿足實(shí)時(shí)分類的需求。

        3.2 圖像分割實(shí)驗(yàn)

        3.2.1 數(shù)據(jù)預(yù)處理

        同樣從數(shù)據(jù)集Concrete Crack Images for Classification數(shù)據(jù)集中挑選出1 000張帶有裂縫的圖像,使用labelme工具標(biāo)注出圖像中的裂縫區(qū)域。

        3.2.2 模型訓(xùn)練

        訓(xùn)練的參數(shù)如表3所示,輸入圖像尺寸為256×256,每批數(shù)據(jù)量為32,學(xué)習(xí)率為0.001,epoch為100次,權(quán)重衰減為0.000 1。使用Adam優(yōu)化器和二值交叉熵?fù)p失函數(shù)。

        表3 分割網(wǎng)MIoU值

        在模型訓(xùn)練過程中,損失函數(shù)值隨訓(xùn)練次數(shù)增加而衰減,當(dāng)訓(xùn)練至100次時(shí),模型基本收斂,損失函數(shù)值約為0.043 24。

        3.2.3 實(shí)驗(yàn)指標(biāo)

        平均交并比MIoU值是一個(gè)衡量圖像分割精度的重要指標(biāo),定義是預(yù)測(cè)值和真實(shí)值的交集與并集之比的平均值。MIoU越接近于 1,說明分割模型分割效果越精確。計(jì)算公式如下:

        (19)

        其中:P表示預(yù)測(cè)值,G表示真實(shí)值,K表示總類別個(gè)數(shù)。

        3.2.4 測(cè)試結(jié)果

        對(duì)測(cè)試集的500張裂縫圖像使用labelme標(biāo)注出裂縫區(qū)域,并將它們分為5組,分別使用使用分割網(wǎng)模型對(duì)另外進(jìn)行分割,計(jì)算平均交并比MIoU。

        如表3所示,測(cè)試集的MIoU穩(wěn)定在89.20%左右,裂縫分割效果較好。

        3.3 裂縫處理實(shí)驗(yàn)

        3.3.1 長(zhǎng)度計(jì)算實(shí)驗(yàn)

        本文使用NikonD7500相機(jī)拍攝裂縫圖像,其CMOS傳感器的尺寸為23.5 mm×15.7 mm,鏡頭焦距范圍為18~140 mm,拍攝的照片尺寸均為5 568×3 712。拍攝時(shí),保持成像平面與裂縫表面平行,測(cè)量拍攝時(shí)的物距并記錄焦距。

        同時(shí),對(duì)于這種尺寸較大的圖像,本文先將圖像縮小至原來的十分之一,圖像通過算法模型后,再將數(shù)據(jù)包括數(shù)值與圖像放大至10倍,從而加快圖像處理過程,并得到與原圖直接處理相一致的數(shù)據(jù)。其中,縮小和放大圖像時(shí),插值方法選擇OpenCV中的基于像素區(qū)域關(guān)系的插值算法(INTER_AREA),這種方法可以避免產(chǎn)生波紋現(xiàn)象,插值效果較好。實(shí)驗(yàn)數(shù)據(jù)如表4所示。

        表4 裂縫長(zhǎng)度計(jì)算 mm

        計(jì)算的長(zhǎng)度與實(shí)際長(zhǎng)度的相對(duì)誤差平均值為7.83%,分析誤差產(chǎn)生的原因,一個(gè)主要原因是在提取裂縫骨架時(shí)會(huì)出現(xiàn)許多分叉,而在實(shí)際測(cè)量時(shí),測(cè)量的是主骨架的長(zhǎng)度,不包括分叉,如圖9所示,因而產(chǎn)生了誤差。

        圖9 長(zhǎng)度計(jì)算實(shí)驗(yàn)

        3.3.2 遠(yuǎn)距離裂縫區(qū)域提取

        使用同樣的相機(jī)對(duì)遠(yuǎn)距離的建筑物表面裂縫進(jìn)行處理,提取裂縫區(qū)域。處理結(jié)果如圖10所示。

        圖10 提取裂縫區(qū)域

        拍攝時(shí),物距保持在10~20 m。經(jīng)過處理后,可以較為完整地從圖像中提取出裂縫區(qū)域。遠(yuǎn)距離裂縫圖像處理的精度受圖像采集設(shè)備的影響更大,使用焦距更高、性能更優(yōu)的采集設(shè)備可以采集到成像質(zhì)量更高的圖像,有利于提取裂縫區(qū)域與計(jì)算數(shù)據(jù)。

        3.3.3 智能平臺(tái)效果展示

        在“程序首頁”界面能夠直觀地了解本小程序的所能實(shí)現(xiàn)的功能,在“建議反饋”界面用戶可以上傳自己的建議到微信小程序自帶的云數(shù)據(jù)庫,在“開始檢測(cè)”界面用戶能夠上傳圖片進(jìn)行裂縫檢測(cè),最后“檢測(cè)結(jié)果”界面展示所檢測(cè)到裂縫的形狀以及相關(guān)參數(shù)。如圖11所示。

        圖11 智能平臺(tái)效果展示

        4 結(jié)束語

        本文針對(duì)目前市場(chǎng)緊缺大型建筑物遠(yuǎn)距離裂縫檢測(cè)智能儀器的現(xiàn)狀,開發(fā)了基于微信小程序和Python Flask的智能檢測(cè)平臺(tái),通過對(duì)裂縫特征的提取,得到裂縫圖像以及其長(zhǎng)度、面積等相關(guān)信息,之后依據(jù)相關(guān)標(biāo)準(zhǔn)對(duì)其進(jìn)行綜合評(píng)價(jià),從而實(shí)現(xiàn)對(duì)大型建筑物健康狀況的評(píng)估,在一定程度上規(guī)避了較大安全隱患。同時(shí),以微信小程序?yàn)橐劳羞M(jìn)行人機(jī)交互,在保證高檢測(cè)精度、高工作效率的同時(shí)提高了該檢測(cè)平臺(tái)的智能化和市場(chǎng)競(jìng)爭(zhēng)力。

        通過對(duì)本項(xiàng)目程序進(jìn)行的實(shí)驗(yàn),可以看出由移動(dòng)端與部署了裂縫檢測(cè)算法的云服務(wù)器搭建的裂縫檢測(cè)智能平臺(tái)能夠以較高的精度實(shí)現(xiàn)對(duì)大型建筑物裂縫的檢測(cè),并達(dá)到了以下效果。

        1)簡(jiǎn)便快速:基于微信小程序搭建的智能平臺(tái)無需下載,使用移動(dòng)設(shè)備即可登錄微信訪問,用戶上傳圖片即可進(jìn)行檢測(cè)。

        2)效率高:微信小程序可以直接訪問用戶相冊(cè),并且由于算法質(zhì)量高使得檢測(cè)時(shí)間短,用戶檢測(cè)一張裂縫圖后可以很快速地檢測(cè)下一張。

        3)高精度:云服務(wù)器可實(shí)時(shí)檢測(cè),并同步進(jìn)行圖像處理算法模型的在線訓(xùn)練,不斷提高檢測(cè)的精度,以適應(yīng)更加復(fù)雜的應(yīng)用場(chǎng)景。

        4)云數(shù)據(jù)庫存儲(chǔ):調(diào)用微信小程序自帶的云數(shù)據(jù)庫可以實(shí)現(xiàn)對(duì)用戶檢測(cè)圖片的儲(chǔ)存以及收集用戶反饋信息。

        5)實(shí)現(xiàn)長(zhǎng)期裂縫數(shù)據(jù)跟蹤儲(chǔ)存:云服務(wù)器存儲(chǔ)空間可無限擴(kuò)容,因此通過云服務(wù)器可存儲(chǔ)不同時(shí)期裂縫檢測(cè)的數(shù)據(jù),形成連貫裂縫跟蹤,便于觀察裂縫是否繼續(xù)擴(kuò)大、擴(kuò)大的速度是怎樣的,從而更好預(yù)測(cè)什么時(shí)候該對(duì)裂縫進(jìn)行處理。

        同時(shí),未來還將進(jìn)一步完善算法,并不局限于微信小程序,擴(kuò)展平臺(tái)類型如APP、網(wǎng)站等。當(dāng)前,工程方面對(duì)遠(yuǎn)距離的,能夠?qū)崟r(shí)檢測(cè)的、高精度的檢測(cè)設(shè)備的需求較大,這樣的設(shè)備能夠滿足對(duì)社會(huì)上建筑測(cè)量智能化的需求,本研究對(duì)于建筑物裂縫智能化檢測(cè)、鑒定、評(píng)估工作具有重大意義。

        猜你喜歡
        程序微信檢測(cè)
        “不等式”檢測(cè)題
        “一元一次不等式”檢測(cè)題
        “一元一次不等式組”檢測(cè)題
        試論我國未決羈押程序的立法完善
        “程序猿”的生活什么樣
        英國與歐盟正式啟動(dòng)“離婚”程序程序
        微信
        小波變換在PCB缺陷檢測(cè)中的應(yīng)用
        創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
        微信
        老妇肥熟凸凹丰满刺激| 亚洲第一网站免费视频| 久久久久亚洲av成人片| 亚洲五月天综合| 亚洲精品国产品国语在线app| 最近中文字幕一区二区三区| 看女人毛茸茸下面视频| 亚洲日韩一区精品射精| 男女男在线精品网站免费观看| 亚洲综合久久1区2区3区| 久久精见国产亚洲av高清热 | 玩弄丰满奶水的女邻居| 国产目拍亚洲精品一区二区| 中日韩字幕中文字幕一区| 亚洲av老熟女一区二区三区 | 一级片久久| av男人操美女一区二区三区| 色佬精品免费在线视频| 久久国内精品自在自线图片| 亚洲精品国产一二三无码AV| 亚洲国产av午夜福利精品一区| 国产精品久久久天天影视| 亚洲av无码精品色午夜在线观看| 国产成人美女AV| 白色月光免费观看完整版| 亚洲夜夜性无码| 国产第19页精品| 日本一区二区视频免费观看| 国产午夜视频一区二区三区| 国产亚洲精品久久777777| 久久国产成人亚洲精品影院老金| 成人性生交大片免费看激情玛丽莎| 深夜放纵内射少妇| 老妇肥熟凸凹丰满刺激| 在线不卡中文字幕福利| 国产变态av一区二区三区调教 | 日韩成人精品一区二区三区| 大陆老熟女自拍自偷露脸| 亚洲av无码av制服另类专区| 欧美亚洲韩国国产综合五月天| 国产高清在线精品一区二区三区|