甄 珍 趙志鵬
(1、南京信息工程大學,江蘇 南京210044 2、合肥工業大學,安徽 合肥230009)
城市管網就像城市的“血管”,是城市設施的基礎,與生活息息相關。當管道出現堵塞、破裂,不但會造成局部地區的內澇,還會污染周邊環境,所以對地下管網進行檢測具有重要的意義。目前國內外排水管道檢測方法主要有管道CCTV、管道QV 等,不同的檢測技術雖然各有優勢[1],但是這些技術都需工作人員對管道是否有缺陷進行人工判斷[2],具有主觀性較強、耗時費力等缺點,導致管道缺陷檢測的準確率不高。因此迫切需要使用更智能的計算機代替人工對該領域的缺陷進行分類,來提高排水管道檢測的效率和準確率。本文使用VGG16 卷積神經網絡模型,對城市地下管網的圖像進行分類,識別有缺陷的圖像。該深度學習方法實現了對排水管道缺陷和完好兩類圖像的自動分類,加快了排水管道缺陷檢測的智能化進程。
神經網絡是一種模仿人腦神經系統的算法,包括輸入單元、隱藏單元和輸出單元[3],它模仿的是大腦神經系統中神經元之間傳遞和處理信息的一種方式。每個單元包含大量的節點,節點與節點之間有一個權重,每個節點都有一個激勵函數。
而卷積神經網絡(Convolutional Neural Networks,CNN)是一種帶有前向結構的人工神經網絡。一般CNN 分為輸入層、中間層和輸出層,通常情況下輸入層用于接收圖像,由卷積層構成。中間層包含卷積層、全連接層和池化層,其中卷積層用來提取圖片的特征,全連接層用來接收所有特征,池化層是為了壓縮圖像的特征,既能保存主要的特征又能降低網絡計算的復雜度。輸出層一般由全連接層構成,用于生成一個分類器,對輸出值進行分類。近年來,CNN 的準確率已通過ImageNet[4]之類的大規模圖像數據集進行測試,該圖像數據集包含超過10000 萬張圖像。新的CNN 如Alexnet[5]、VGG、GoogLeNet[6]和ResNet[7]在圖像分類方面表現的越來越好。并且在人臉識別[8]、車牌識別[9]、手寫字識別[10]等方面取得不錯成績。deepID2+模型在人臉識別領域的識別率達到了99.47%,遠遠超越人眼識別能力[11]。在本文中,通過CNN 來提取排水管道的特征,用所提取特征給出圖像分類的概率,其訓練過程如圖1 所示。

圖1 CNN 的訓練過程
自從深度學習普及以來,出現越來越多的網絡模型用于分類,1994 年誕生了最早的卷積神經網絡LeNet,之后又先后出現了AlexNet、Overfeat、VGG、網絡網模型(Network in network;NIN)、GoogLeNet 以及衍生的Inception 進化結構、殘差網絡ResNet 等,這些網絡的分類精度逐漸提高,錯誤率也逐漸的控制在了很低的范圍內。考慮到網絡模型對排水管道圖像分類任務的適用性,本文主要使用VGG16 模型,由13 層卷積層和3 層全連接層組成,該網絡結構如圖2 所示。首先輸入大小為224×224×3 的彩色圖像,其中3 代表通道數,224 代表圖像的長和寬均為224。實線立方體部分為卷積層,初始卷積核的大小為3×3×3,步幅stride 的大小為1,有效填充padding 的大小為1。虛線立方體部分為池化層,池化層pooling 采用2×2 的最大池化數max pooling 的方式。模型首先經歷兩次64 個卷積核的卷積處理,接著進行一次最大池化層max pooling,然后又經歷兩次128 個卷積核的卷積處理,并進行一次最大池化層max pooling,再經歷三次256 個卷積核的卷積處理之后,采用一次最大池化層max pooling,最后再重復經歷兩次三個512 個卷積核的卷積處理,并且進行一次最大池化層max pooling。以上部分完成之后,是三次全連接層,其中箭頭圖形部分為全連接層,節點個數分別為4096、4096 和2,最后輸出為每個類別的概率。每層卷積層進行卷積后都采用修正線性單元(ReLU)作為激活函數,VGG16 是公認的具有良好生成能力的CNN。

圖2 VGG16 模型結構
實驗對地下排水管道圖像進行分類,采用的數據集來源于南京市的地下管網檢測項目,運用CCTV 檢測手段現場采集視頻,將拍攝的視頻截取為一幀一幀的圖片,如圖3 所示,最后對圖片進行篩選分類。本文用到的數據集包括完好和缺陷兩類管道圖片,完好類圖片有1700 幅,缺陷類圖片有4000 幅,圖片格式為jpg 格式。由于不均衡數據會導致網絡在訓練過程中出現過擬合或欠擬合現象,因此為了得到較好的排水管道缺陷識別效果,本文采用將圖片進行旋轉、平移角度、改變方向等操作,增加完好類圖片數量至4000 幅,有效地解決了不均衡數據造成實驗性能差的問題。除此之外,統一將每一幅圖像的尺寸大小都轉換為為224×224 的RGB 圖像,并且全部歸一化。

圖3 管道內部情況的例子
對于VGG16 模型而言,訓練集樣本數量越多、數據集越均衡,測試準確率越高。本文將樣本擴充前與樣本擴充后的實驗準確率進行了對比,擴充前樣本數量為5700,擴充后的樣本數量為8000 張,為了充分訓練網絡并測試網絡的準確性,將每個類中70%的原始數據作為訓練集訓練VGG16 網絡,15%作為驗證集,將余下的15%作為測試集測試網絡性能。分別在這兩個數據集上采用了VGG16 模型對其訓練,對訓練后的模型再進行測試驗證。在VGG16 模型中加入了EarlyStopping,學習率的取值為0.0001,batch_size 為16,其中batch_size 為一次迭代更新參數的樣本量。擴充前和擴充后的樣本訓練集在實驗模型上的擬合均接近了100%,擴充前的樣本在實驗模型上的測試準確率為84.7%,AUC 為0.856;經過翻轉、順時針旋轉90 度后的樣本在實驗模型上的測試準確率為94.3%,AUC 為0.931,如表1所示。其中AUC 是衡量分類模型的一種性能指標,取值在0 到1 之間,當AUC 大于0.85 時,說明預測模型的效果很好。由此可見,適當的擴充訓練樣本數量及使用均衡樣本有利于提高網絡的泛化能力,模型的精度明顯高于工作人員肉眼識別的精度,證明VGG16 模型對識別地下管道缺陷十分有效。

表1 樣本擴充前后對比實驗
本文提出了一種基于VGG16 卷積神經網絡的地下管道缺陷圖像分類方法,主要用機器代替人工解決傳統檢測方法速度慢、精確度低的問題。通過不斷地測試及調解模型參數,發現卷積神經網絡對樣本的依賴性較大,樣本數量較大且均衡的情況下,能夠得到更加精確的分類結果。可見在利用CNN 解決分類問題時,選取合適的數據集顯得異常重要。擴充后的均衡樣本在實驗模型上的精確率達到94.3%,遠遠超過人眼的分類精度。在未來的工作中,將獲得數量更多、種類更廣的排水管道缺陷圖像,進一步提升模型的泛化能力。