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

?

基于改進顯著圖的高效裂紋檢測算法

2021-03-23 03:44:42韓振奇徐浩煜祝永新
計算機工程與應用 2021年6期
關鍵詞:像素點裂紋像素

王 翀,韓振奇 ,徐浩煜,祝永新,徐 勝,陳 夏

1.中國科學院 上海高等研究院,上海 201210

2.中國科學院大學,北京 100049

3.聯想集團研究院 上海分院,上海 201210

4.上海微小衛(wèi)星工程中心,上海 201210

裂紋檢測是指從一幅圖像中定位出裂紋所在區(qū)域。在實際應用中,相較于簡單地判斷圖像中有無裂紋,定位出裂紋所在區(qū)域具有更重要的意義。通過定位出裂紋所在區(qū)域,能夠對設備的健康狀況進行評估,從而對事故的發(fā)生進行預警。裂紋檢測技術在建筑、橋梁、航空、汽車、工業(yè)設備等領域都具有廣泛的應用價值。

圖像處理技術是裂紋檢測的主要方法之一,中外許多學者使用圖像處理的方法進行裂紋檢測[1-6]。2003年,Qader等[1]比較了快速哈爾變換(FHT)、快速傅里葉變換(FFT)、Sober邊緣檢測和Canny邊緣檢測對裂紋的檢測效果,驗證了這幾種算法中快速哈爾變換效果最好。但是該算法只能夠檢測出圖像中明顯的裂紋,很容易漏檢不明顯的裂紋。2011年,賈超等[2]提出基于小波多尺度積的邊緣檢測方法進行裂紋檢測,一定程度上解決了噪聲和壞邊的問題,提升了檢測的效果。2014年,徐歡等[3]提出一種基于改進Canny算子的裂縫檢測技術,通過結合形態(tài)學濾波進一步提高了裂紋檢測的精度。但是該算法仍然無法很好地區(qū)分裂紋和其他的邊緣特征。2015 年,Yeum 等[4]提出了一種滑動窗口加分類的方法。該算法結合11 種類型通道的圖像邊緣特征,產生一個強分類器,對窗口區(qū)域的特征進行判斷,能夠很好地區(qū)分近似裂紋的特征。然而基于邊緣檢測的方法容易受到亮度變化、顏色失真等噪聲的影響。2016 年,Cha 等[5]基于總變異去噪技術減少圖像中的噪聲,并增強圖像的邊緣可檢測性,一定程度上避免了環(huán)境噪聲的影響。但是由于實際拍攝時圖像數據差異很大,該類方法在實際應用中仍然受到一定的限制。

基于深度學習方法雖然存在數據標注過困難、檢測速度慢等問題,但與圖像處理方法相比往往具有更好的檢測效果。2017年,Cha等[7]提出使用滑動窗口方法,以卷積神經網絡作為分類器,進行網格級別的裂紋檢測。該算法的窗口大小為256×256像素,要求輸入的圖像必須具有非常大的像素,且由于每個窗口圖像都要輸入神經網絡進行裂紋非裂紋的分類,檢測速度非常慢。Chen等[8]提出卷積神經網絡和樸素貝葉斯結合的方法,同樣使用滑動窗口進行網格級裂紋檢測。該算法的窗口大小為120×120 像素,將窗口區(qū)域圖像輸入卷積神經網絡中,分類為裂紋和非裂紋。在該方法中,使用樸素貝葉斯方法剔除被預測為裂紋的非裂紋區(qū)域,對檢測的準確率有一定程度的提升。為了進行更加細粒度的檢測,2018年,Dung 等[9-10]提出使用全卷積網絡(FCN)進行裂紋檢測。該方法與之前的方法相比檢測的速度有較大的提升,且具有像素級別的檢測效果。但該方法對于細裂紋和接近邊界區(qū)域裂紋的檢測效果并不好,且需要對圖像中的裂紋進行像素級類別標注,該過程需要耗費大量的時間。2019年,Zou等[11]結合SegNet的卷積-反卷積結構,提出了DeepCrack裂紋檢測網絡,利用多尺度的裂紋特征進行檢測。該方法具有較好的檢測效果,但是同樣需要進行像素級標注,且由于其網絡結構比較復雜,檢測速度相對較慢。

本文針對現有裂紋檢測方法數據標注困難、訓練時間久、檢測速度慢的問題,設計了一種高效裂紋檢測算法。主要貢獻有以下幾點:

(1)提出了一種基于改進顯著圖的弱監(jiān)督裂紋檢測算法,僅需對分類任務進行訓練,便可實現像素級裂紋檢測。解決了現有像素級裂紋檢測算法數據標注困難的問題。

(2)針對目標問題設計了CrackNet 特征提取網絡。該網絡與主流網絡相比具有更佳的裂紋特征提取性能;且占用內存較小,對設備的要求較低。

實驗表明,基于改進顯著圖的高效裂紋檢測算法只需標注圖像類別,大大減少了數據標注時間;訓練時間僅有23 min,更方便進行模型迭代;在自制數據集上達到52%的平均精度,能夠從復雜背景中檢測出裂紋;且具有105 幀/s的檢測速度,是一種高效裂紋檢測算法。

1 算法

基于改進顯著圖的高效裂紋檢測算法主要由兩個部分組成:(1)特征學習部分,該部分主要是訓練一個高效裂紋特征提取網絡。即構建一個高效卷積神經網絡,并使用標記好類別的數據對該網絡進行訓練,使該網絡能夠有效地提取出圖像中的裂紋特征;(2)裂紋檢測部分,該部分主要是基于改進的顯著圖實現裂紋檢測。通過上一步訓練好的網絡提取圖像中的裂紋特征,并根據這些特征計算出包含裂紋位置信息的顯著圖,從而實現裂紋檢測功能。該方法的整體架構如圖1所示。

1.1 CrackNet卷積神經網絡

近年來,卷積神經網絡的結構不斷改進,這些網絡在大規(guī)模競賽取得了越來越好的成績,但是由于復雜的網絡訓練較為困難,樣本不足時容易過擬合,在小樣本任務中,復雜網絡不一定適合。本文針對裂紋問題,設計了CrackNet卷積神經網絡,以提取出更有效的裂紋特征,供檢測階段使用。

圖1 方法結構圖

圖2 CrackNet網絡結構

CrackNet擁有七個卷積層和三個全連接層,其中三個卷積層后連接了最大池化層。網絡的輸入大小為224×224×3,經過圖像預處理,原始圖像被歸一化到該固定尺寸輸入到網絡中,經過各層神經網絡,分類為裂紋或非裂紋。網絡的具體結構如圖2所示。

該卷積神經網絡使用交叉熵損失函數,具體定義如下:

其中,N表示樣本個數,j表示圖像類別(j為0表示有裂紋,j為1 表示無裂紋)。pij表示第i張圖像真實類別為j的概率(真實類別為j時pij=1,否則pij=0),Sij表示第i張圖像類別為j的預測概率。λ表示 l2 正則化系數,w表示網絡參數。

為了減小參數量,借鑒了文獻[12]中提出的結構,先進行1×1的卷積,再進行3×3的卷積。通過該結構一方面實現了跨通道的交互和信息整合,增加了模型的非線性表達能力;另一方面壓縮了通道數,進行了數據降維,加快了計算速度。

為了使網絡更加高效,借鑒文獻[13]中提出的方法對網絡進行了裁剪。在裁剪時考慮每一層對于裁剪的敏感程度,通過單獨裁剪每一層,查看其裁剪后的準確率。對于裁剪較敏感的層,使用更小的裁剪力度,或者跳過這些層不進行裁剪。

最終的模型占用內存大小僅為89 MB,同時具有比主流卷積神經網絡更佳的效果。具體的實驗對比將在1.3節(jié)中詳細闡述。

1.2 基于改進顯著圖的高效裂紋檢測

1.2.1 顯著圖的計算

Simonyan 等人在文獻[14]中提出將顯著圖用于深度學習可視化,通過計算最終的類別得分對原圖的梯度,可得到原圖中每個像素點對于最終結果的影響。

具體地,給定一張圖像I,圖像的類別C和卷積神經網絡對于該類別的得分SC。

假定圖像I與最終的類別得分SC存在的是線性關系:

很容易得發(fā)現w代表了圖像中像素點對最終類別得分的影響。

在實際問題中,圖像與最終的類別得分當然不是簡單的線性關系。但是一定存在函數關系使Sc=Fc(I)。由此可得圖像中像素點I(x,y)對于結果的影響為:

因此,通過公式(3)計算原圖中各個像素點對分類結果的影響,將其繪制成顯著圖,即可形象地表現出原圖中關鍵特征的位置。具體的效果如圖3所示。

圖3 文獻[12]中提出的顯著圖

1.2.2 基于改進顯著圖的高效裂紋檢測

使用來自多種場景的裂紋圖像訓練卷積神經網絡,通過對大量不同場景進行學習,使卷積神經網絡學習到裂紋的特征,消除背景的影響。

此時卷積神經網絡能夠提取出裂紋的特征,并根據這些特征判斷圖像的類別。

通過在訓練好的卷積網絡各層后加入端點,保存此處的特征。在輸出類別得分時同時對端點處數值進行輸出,從而得到隱藏層特征圖Mi。

由于原圖I和第i個卷積層提取的特征圖Mi之間存在復雜的非線性關系Mi=Fi(I)。由公式(3)可知,通過

同樣可以求出原圖中各個像素點對特征圖Mi的影響。本研究中Mi取最后一層卷積(Conv7)特征。

具體的,存在特征圖Mi和原圖I。由1.2.1小節(jié)可知,原圖中像素點I(x,y)對特征圖中特征Mi,(u,v)的影響程度w(x,y,u,v)可表示為兩者的梯度關系,即:

則原圖中該像素點I(x,y)對Conv7 層特征圖的影響程度可表示為特征圖中所有特征對像素點I(x,y)的梯度之和,即

通過以上方法計算原圖中每個像素點對裂紋特征圖Mi的影響程度。

之后根據各個像素點對裂紋特征圖的影響程度計算裂紋的位置。

具體的,如果某像素點處的w(x,y)接近于0,代表其對裂紋特征圖幾乎沒有影響,對應的為背景區(qū)域。

而w(x,y)的絕對值越大,代表該像素點對裂紋特征圖的影響較大,對應的為裂紋區(qū)域。

由此通過判斷w(x,y)的數值,計算圖像每個像素點是否屬于裂紋區(qū)域:

其中,w(x,y)可通過公式(6)得出,σ取接近于0 的數值。ci代表圖像中的像素點。

將篩選出的裂紋像素點處的w(x,y)線性變換到0~255 的范圍,便可得到如圖4(b)所示的裂紋顯著圖,該顯著圖與原圖具有相同的大小。圖中白色區(qū)域即為裂紋所在位置。

圖4 裂紋顯著圖

基于改進顯著圖的裂紋檢測依賴于卷積神經網絡提取的裂紋特征。如果使用低層特征,非裂紋信息沒有得到有效地過濾,顯著圖中會包含較多的噪聲;而如果使用全連接層特征,一些不明顯的裂紋會被忽略掉,同樣影響檢測的效果。由于卷積層主要進行局部特征的提取,全連接層進行全局特征的整合,使用最后一層卷積(Conv7)特征,既對無關特征進行了有效的過濾,又避免了一些裂紋特征被忽略,因此具有較為清晰完整的結果。

為了做進一步驗證,在圖5中以可視化的形式對比了基于Conv6、Conv7、FC8層特征的裂紋顯著圖。實驗結果表明基于最后一層卷積(Conv7)特征的顯著圖與基于Conv6特征的顯著圖相比具有更少的噪聲;與基于FC8特征的顯著圖相比檢測結果更加完整。

圖5 基于不同層特征的裂紋顯著圖

1.2.3 后處理

通過上述過程,得到了初步的裂紋檢測結果,且像素點的亮度代表對于裂紋特征的影響程度。因此,設定一定的閾值t進行圖像二值化,可以篩選掉圖像中影響不大的像素點,并使影響較為顯著的像素點更加明顯。實驗中將t設置為12。

此時的裂紋位置以零散點的形式進行顯示,為了表示出裂紋所在區(qū)域,通過核大小為3×3的膨脹操作將這些點連接成區(qū)域,并在之后進行同樣核大小的腐蝕操作防止區(qū)域擴大。

處理后的檢測結果如圖6(c)所示。圖6(d)中GT代表ground truth,是裂紋所在的真實區(qū)域,是為了驗證方法有效性所進行的像素級標注。

圖6 最終的裂紋檢測結果

2 實驗

2.1 數據集

本文實驗中使用的是自制裂紋數據集,數據集中圖像一部分由合作方提供,一部分由作者從真實環(huán)景下采集。數據集中圖像包含道路、橋梁、墻體和工業(yè)設備等多種場景,背景較為復雜,裂紋種類多樣。

其中,23.5%的圖像處于簡單場景,背景較為單調,裂紋和非裂紋的對比較為明顯;55.5%的圖像處于復雜場景,圖像中有強烈的明暗對比干擾、其他邊緣信息的干擾或者斑點污漬的干擾;其余21%的圖像中背景雜亂,存在近似裂紋的邊緣特征。因此檢測該數據集中的裂紋是一項難度較大的任務。數據集中部分圖像如圖7所示。

圖7 數據集中的部分裂紋圖像

數據集中共包含1 600 張圖像,其中800 張裂紋,800張非裂紋,所有圖像的原始大小為224×224像素,均為RGB 彩色圖像。實驗中將其劃分為兩個獨立的子集,1 200張作為訓練集,400張作為測試集,每個集合中裂紋和非裂紋圖像各占一半;并對測試集中的200張裂紋圖像進行了像素級標注,用作檢測階段的測試,標注圖像如圖6(d)所示。通過對比檢測結果與標注的裂紋位置,評估檢測的性能。數據的分布信息如表1所示。

表1 裂紋數據集分布信息

2.2 實驗配置

實驗在具有兩塊Tesla K80 顯卡的服務器上進行。訓練時使用文獻[15]中提出的Xavier 方法初始化權值,以小批量梯度下降法進行參數更新,批大小設置為16,l2 正則化系數λ被設置為4E-5。在訓練過程中,初始化學習率被設置為0.003,并通過指數衰減的方式下降,每隔兩個時期(epochs)學習率下降為原來的0.98。

訓練過程中經過約45epochs的模型達到收斂,訓練時間約為23 min。訓練過程中損失值的變化如圖8所示。

圖8 訓練過程中的損失值變化

2.3 評價指標

通過分類準確率(Accuracy)可以直觀地對比各種卷積神經網絡的性能。計算方法為:

同時,使用F1 分數(F1)和平均精度(AP)進行檢測算法的性能評估。

F1 分數又稱平衡F 分數,是精確率(Precision)和召回率(Recall)的調和平均值,計算方法為:

AP 也是一種綜合精確率和召回率的評估指標,是召回率曲線上的點對應的精確率的平均值。計算方法為:

其中,r代表不同的召回率(Recall)。

2.4 卷積神經網絡的性能評估

為了測試CrackNet的性能,實驗中在具有400張圖像(200張有裂紋和200張無裂紋)的測試集上直觀地對比各種卷積神經網絡的分類準確率(Accuracy)。在得到充分訓練的情況下,每個網絡在測試集上的實驗結果如表2所示。

表2 卷積神經網絡的性能對比

根據結果可以得知,本文提出的CrackNet具有更高的分類準確率。同時與其他網絡相比占用的內存較小,對設備的要求較低。

2.5 裂紋檢測算法的性能評估

這里根據1.3節(jié)介紹的評價指標測試檢測算法的性能。實驗中將提出的方法與基于改進Canny 算子的裂紋檢測方法[2]進行了對比,以驗證本文算法的有效性。從表3可以看出,本文提出的算法在無需對位置進行標注的前提下,具有52%的平均精度,而基于改進Canny算子的裂紋檢測方法平均精度僅有20.2%。本文提出的算法基于卷積神經網絡提取的特征進行裂紋檢測,與傳統(tǒng)基于邊緣檢測的方法相比,具有更佳的性能。

表3 檢測算法的性能對比

同時,本文提出的算法具有105 幀/s 的檢測速度,能夠達到實時檢測的效果。

另外,從圖6(c)的檢測結果可以看出,本文提出的算法能夠較好地排除近似裂紋邊緣和復雜環(huán)境的干擾,較為完整地檢測出復雜場景中的裂紋。

3 結束語

本文提出了一種無需位置標注的高效裂紋檢測方法,使用卷積神經網絡提取出的特征,計算包含圖像中裂紋位置信息的顯著圖,從而進行裂紋檢測。該方法與以往基于深度學習的檢測算法相比,僅需對分類任務進行訓練便可實現像素級檢測,解決了現有像素級檢測算法數據標注困難的問題;同時訓練時間短、檢測速度快;能夠排除背景的干擾,較為有效地檢測出復雜場景中的裂紋。

該算法為裂紋檢測方法提出了一種新的思路,即卷積神經網絡提取的特征中已經包含了位置信息,可以通過此特征計算裂紋位置,從而進行檢測。優(yōu)化卷積神經網絡或后處理方法能夠進一步提升檢測的效果。

猜你喜歡
像素點裂紋像素
趙運哲作品
藝術家(2023年8期)2023-11-02 02:05:28
像素前線之“幻影”2000
“像素”仙人掌
Epidermal growth factor receptor rs17337023 polymorphism in hypertensive gestational diabetic women: A pilot study
基于canvas的前端數據加密
微裂紋區(qū)對主裂紋擴展的影響
基于逐像素點深度卷積網絡分割模型的上皮和間質組織分割
高像素不是全部
CHIP新電腦(2016年3期)2016-03-10 14:22:03
基于Node-Cell結構的HEVC幀內編碼
電視技術(2014年11期)2014-12-02 02:43:28
預裂紋混凝土拉壓疲勞荷載下裂紋擴展速率
固安县| 陇南市| 开平市| 大同县| 瑞丽市| 正阳县| 泉州市| 出国| 平原县| 新巴尔虎右旗| 台中县| 玛曲县| 仙居县| 乌鲁木齐县| 安化县| 丹寨县| 房产| 广南县| 两当县| 兰州市| 慈溪市| 东明县| 舟山市| 睢宁县| 东乌珠穆沁旗| 山阴县| 鄂尔多斯市| 中超| 政和县| 芷江| 泗水县| 榆社县| 诸城市| 霍林郭勒市| 本溪| 建始县| 大姚县| 巴林左旗| 诸暨市| 利津县| 汕尾市|