吳培德 李波,2 姚為,2 李鑫 程立,2
1.中南民族大學計算機科學學院;2.國家民委信息物理融合智能計算重點實驗室
城市地下管道是城市的重要基礎設施,對地下管道的定期檢測是一項重要工作,關系到城市的正常運行。文章針對目前地下管道缺陷檢測中的問題,提出了一種DeformMobileViT 分類模型,將可變形卷積網絡與MobileViT 結合,并基于遷移學習訓練建模,從管道設備獲取的地下管道圖像樣本中,判別出可能存在各類缺陷的樣本。實驗結果表明,本文提出的模型F1normal 分數達到94.15%。本文工作可以有效降低人工檢測的工作量,并提高檢測精度,具有良好的應用價值。
隨著城市化發展,地下管道負荷越來越大,不僅容易出現管道開裂、變形、腐蝕、有沉積物等缺陷,而且容易造成城市內澇,道路坍塌等事故,對其進行缺陷檢測非常重要。地下管道缺陷一般需要由專業人員來辨別。然而,人工判斷過程需要大量專業檢查人員和時間,并且直接到地下管道中檢測非常不安全[1]。目前有很多學者已經在基于深度學習的地下管道缺陷檢測領域做了很多相關工作,也取得了許多成果。例如,在2019 年,Hassan 等人提出基于對AlexNet 進行變換學習的模型,該模型能夠識別6 種主要的裂紋類型[2]。Xie 等人使用了兩級分層的深度CNN 模型,在多個基準數據集上獲得了超過94%的分類準確率[3]。2021 年,奧爾堡大學(AAU)在地下管道缺陷的研究中基于數據集SewerML[4],使用12 種來自多標簽分類和地下管道自動檢測領域的模型進行了評估,使用Xie 的兩級模型方法在其他模型上實驗得到自己的基準算法,F2CIW 得分為55.11%,F1normal 分數為91.8%[4]。目前的研究中,只有Xie 的研究中有地下管道異常樣本判別,且是作為第一階段網絡的工作,并通過凍結卷積層的參數和微調全連接層來實現第一階段學習到的參數轉移到多分類模型中。
在地下管道異常缺陷檢測研究中,目前傳統卷積神經網絡模型是提取圖像特征最主要的方法,但是卷積神經網絡的卷積核大小是固定的,這使得它只能局部地提取圖像特征,需要通過多層疊加才能獲取更高級別的特征信息,然而這也容易導致梯度消失和梯度爆炸問題。使用殘差連接優化的網絡,雖然能一定程度上優化這個問題,但是網絡越深需要的資源就越多,不便于部署于移動設備中。
本文是基于上述問題對MobileViT 模型進行研究,在本文研究中,將地下管道的各種異常缺陷統稱為缺陷樣本,本研究將存在缺陷的樣本檢測出后,交由專業人員進行進一步復核,目前不對具體的缺陷類型進行判別。
可變形卷積(Deformable Convolution)[5]即卷積位置可以進行變形。與傳統卷積不同,傳統卷積只對N×N個網格進行卷積,這種方式可能會忽略掉一些重要的特征。相比之下,可變形卷積可以更加準確地提取所需的特征,因為它不受矩形框的限制。在滑動采樣時,一般會在卷積核上均勻采樣一些點,并根據學習到的偏移量來計算采樣點在輸入特征圖上的位置。具體地,可以將輸入特征圖上的每個像素看作一個坐標點,然后在卷積核上均勻采樣一些點,再通過學習到的偏移量將這些采樣點映射到輸入特征圖上。這樣,在進行卷積操作時,每個采樣點就可以根據自己的位置對應到輸入特征圖上的不同像素,從而實現可變形卷積的自適應形狀采樣[5]。
需要注意的是,由于采樣點的位置是通過學習得到的,因此在可變形卷積的訓練過程中,需要額外學習偏移量參數。這些參數的學習可以通過反向傳播算法來進行,從而使采樣點能夠自適應地學習到最優的位置,以便更好地適應輸入特征圖的變化。
MobileViT 模型的主要構成是MobileNetV2 模塊和MobileViT 模塊,其中MobileViT 模塊可以被看作是一種將卷積操作和Transformer 相結合的特征提取模塊。MobileViT 模塊主要由局部特征提取模塊、全局特征提取模塊以及特征融合模塊三部分組成,通過多個Transformer的堆疊,從輸入圖像中提取全局和局部特征。
MV2 模塊的核心部分是借鑒了逆殘差(Inverted Residuals)的思想,包括一個擴展層、深度可分離卷積層和線性投影層。該模塊的設計旨在提高神經網絡的非線性表達能力,并通過減少計算量和參數數量來實現更好的性能。
為了分辨出圖像中管道缺陷輪廓像素,本文提出的DeformMobileViT 在MobileViT 網絡中加入可變形卷積層,DeformMobileViT 結構如圖1 所示。
圖1 DeformMobileViT 模型結構,圖中紅色虛線框中為本文加入的可變形卷積層Fig.1 DeformMobileViT model structure, in which the deformable convolution layer added in this paper is shown in the red dotted box
可變形卷積層(Deformable Convolution)[5]通過引入偏移量,增大感受野,同時使感受野可以適應不同尺寸、形狀的管道缺陷輪廓,使模型實現更好的分類效果。將MobileViT 網絡的第1 階段和最后階段的卷積調整為可變形卷積,而中間階段保留為標準卷積層,以減小引入可變形卷積帶來的網絡參數量的增加對網絡負荷的影響。
因為淺的網絡層寬度與高度較大,有一個比較大的視野才能更全面地提取缺陷的特征,并且提取到的信息會一直前向傳播,所以第一層網絡可以提取到更好的特征很重要;最后一層卷積輸出進行全局池化后進行全連接輸出Logits,也有著十分重要的作用,于是本文將MobileViT 模型中第一塊和分類器前的卷積網絡替換為可變形卷積。中間階段保留為標準卷積層,是為了減小引入可變形卷積層增加的網絡參數量對網絡的負荷所產生的影響。這樣的設計可以在保持較小的計算代價的同時,進一步提高網絡的性能。
本文基于公開數據集SewerML 進行實驗。
數據集Sewer-ML 中有超過130 萬張地下管道圖片,本章選擇13004 樣本作為研究對象,按照訓練集、驗證集、測試集劃分進行訓練、驗證及測試,其比例接近7:1.5:1.5,如表1 所示。
表1 數據集劃分Tab.1 Data set partitioning
為提高模型的泛化性,一般要對訓練數據做增強處理。本文通過將圖像大小調整為224×224,以50%的概率水平翻轉,將亮度、對比度、飽和度和色調抖動為原始值的±10%,使用訓練分割通道平均值和標準偏差對數據進行歸一化,并對訓練數據進行預處理。
在本研究中,我們使用了基于GPU 的服務器作為實驗環境,并在服務器上安裝了Pytorch 深度學習框架。Python是我們主要采用的編程語言。處理器為Intel (R) Xeon(R)CPU E5-2630 v4@2.20GHz,GPU 為NVIDIA Tesla P40 24GB。模型訓練參數設置Epochs 為50,BatchSize為32,優化器選擇SDG,損失函數使用Focal loss 函數。
FLOPs 表示模型計算量,精確度相同情況下,一般計算量越小越好,更小的計算量代表消耗更少的計算資源。Param 表示模型參數總量,參數一般也是越小越好;精度使用F1score、Accaury(準確率)及AP 進行評價。
如表2 所示,可以看出與傳統的CNN 神經網絡相比,將CNN 與Transformer 結合的MobileViT 網絡具有明顯的優勢。在通用數據集上進行預訓練之后,該網絡在更輕量化的情況下比一般的CNN 網絡具有更高的準確率。Hasson2019 使用的是AlexNet 網絡,鑒于當時的硬件資源限制,其結構復雜、參數很龐大,達到217M,精度相較后面提出的ResNet 網絡系列和DenseNet 較低,精確度僅達到78.76%,F1normal 有82.19%[6]。
表2 缺陷分類實驗結果對比Tab.2 Comparison of experimental results of defect classification
Xie 等人使用的兩級分層的深度CNN 模型,準確度有85.14%。MobileViT 參數量僅有7.52M,計算量指標FLOPs 也僅有0.71G,相比卷積網絡模型相對輕量。
MobileViT 將參數轉移學習后,精確度、F1 及AP值分別提升了3.22%、2.89%和3.42%。MobileViT 引入兩個卷積網絡后,構建為DeformMobileViT 模型,計算量指標FLOPs 增加了0.02G 也就是20M,參數量增加了1.19M。遷移學習后的DeformMobileViT 模型相比遷移學習后的MobileViT 模型精確率和F1 得分均提高了2.7%和3.57%,最后精確度達到91.44%,F1 值達到94.15%,AP為90.72%。
本文將輕量、準確率高的模型MobileViT,與可變形卷積網絡結合,設計的DeformMobileViT 分類模型,能更加準確地提取特征,從而在分類表現上有顯著提升。相比于原始模型,DeformMobileViT 在準確率上提升了2.7%,F1normal 分數提升了3.57%。