基於全景圖像CNN的隧道病害自動識別裝置的製作方法
2023-06-12 07:45:31
本發明涉及全方位視覺傳感器、模式識別、人工智慧、應用數學、數字圖像處理以及計算機視覺技術在隧道病害的檢測方面的應用,尤其涉及一種基於全景圖像CNN的隧道病害自動識別裝置。
背景技術:
為解決人口流動與就業點相對集中給交通、環境等帶來的壓力,滿足國家環境和局勢變化需求,修建各種各樣的隧道及地下工程(如城市地鐵、公路隧道、鐵路隧道、水下隧道、市政管道、地下能源洞庫等)成為必然趨勢。
截止2014年,全國公路隧道為12404座,1075.67萬延米。其中,特長隧道626座,合計276.62萬延米;長隧道2623座,合計447.54萬延米。如何運營好、管理好數以萬計的公路隧道,為國民經濟和社會發展發揮更大的作用,是當前研究的熱點問題之一。
隧道的滲水和裂縫是隧道工程中的兩大主要病害。在隧道建設初期,由於部分隧道建設的資金少、周期短,導致了許多隧道在建成時沒有及時進行支護,形成了「裸洞隧道」。這些隧道在建成多年後,由於沒有襯砌的保護,隨著時間的推移,在地質地形條件、氣候條件和設計、施工、運營過程中的各種因素影響下,在長期的使用過程中,出現了各種各樣的不同程度的裂縫及滲水情況,嚴重影響到我國鐵路的行車安全和人民群眾生命財產安全。
隧道的健康監測可分為兩個階段:施工階段和運營階段。在隧道的運營過程中,隧道的安全問題主要受到以下幾個方面的影響:一是運營過程中長期振動荷載引起的道床整體沉降;二是由於大多數長大隧道處於複雜的地質條件中,車輛荷載引起的線路沿軸線方向的不均勻沉降;最後就是隧道周邊建築物和地質條件變化等影響。而這些影響會造成隧道輪廓的開裂,變形,漏水甚至脫落等一系列安全問題。
隧道運輸運行管理過程中,由於我國處於高速建設期,重建輕管,缺少長期有效的在線監測和檢測數據,導致隧道的運行狀況不清楚。目前我國對隧道安全監測基本上還停留在人工排查的水平上。
中國發明專利申請號為201110281700.9本發明公開了一種基於機器視覺技術的隧道病害快速調查系統及調查方法,裝置安置在調查承載車上,包括:機器視覺子系統,用CCD攝像機獲取待調查對象圖像數據;雷射測距子系統,用雷射測距法測量機器視覺子系統採集的圖像的成像距離;光電測速子系統,用於提供採集圖像在隧道中的對應坐標;控制子系統,控制雷射測距及光電測速子系統,將該兩子系統獲得數據傳至數據處理子系統,觸發機器視覺子系統採集圖像傳至數據處理子系統;數據處理子系統,根據控制子系統傳來的數據處理機器視覺子系統獲取的圖像;電源子系統,為各子系統提供電壓。該案採用多個CCD攝像機採集隧道內壁圖像,除了增加了設備成本以外,還帶來了多攝像機的標定、圖像數據的配準、協調控制等眾多問題,同時在近距離拍攝隧道內壁時獲取的圖像有較大變形影響著測量精度,另外數據處理子系統要同時處理多幅隧道內壁圖像需要在調查承載車上配置性能很高的計算機。
中國發明專利申請號為201410275604.7公開了一種隧道病害的識別方法以及多圖像識別方法。利用線陣CCD以及圖像融合技術,高速獲取隧道表面的數字圖像並存儲。再利用數字圖像處理算法對已知隧道病害進行特徵分類建模,建立特徵資料庫,進行病害特徵匹配與病害識別。該案採用多個CCD線陣攝像機採集隧道內壁圖像,因此也存在著中國發明專利申請號為201110281700.9同樣的問題。
申請號為201410791514.3的中國專利申請公開了一種公路隧道病害集成檢測車,該檢測車通過集成線陣相機、紅外相機和雷達三種檢測裝備實現對襯砌裂縫、滲漏水和空洞三種病害的同時檢測,其檢測車具有檢測效率高、非接觸性和安全性高等。
申請號為201521140003.1的中國專利申請公開了一種隧道病害檢測系統,包括機械臂和安裝在機械臂上的病害探測裝置,機械臂能夠託舉病害探測裝置在隧道內移動,以檢測隧道病害。此系統能有效解決一些檢測設備需要人工託舉其天線進行檢測,特別是對於無線檢測系統中一些天線(例如探地雷達),由於其重量較大,導致施工人員手動託舉負載過大的問題。但是仍然無法解決隧道病害檢測的自動化水平低的問題。
申請號為201510418537.4的中國專利申請公開了一種隧道裂縫快速檢測裝置,它包括運載工具、設置在運載工具內的電腦和主控機以及探測模塊、安裝在運載工具的滾輪上的裡程記數器,探測模塊包括照相機、雷射斷面掃描器、紅外成像儀、慣性導航器和燈光頻閃器,主控機的各個通信端通過對應的電纜分別連接照相機、雷射斷面掃描器、紅外成像儀、慣性導航器、燈光頻閃器和裡程記數器的通信端,主控機數據通信端連接電腦的數據通信端。但最終需要將獲取得到隧道三維結構圖、隧道三維成像圖、隧道頂部紅外溫度圖以及運載工具路線圖進行肉眼識別來判斷待測隧道的待測區域是否存在襯砌裂縫、襯砌滲水、漏水、剝落、脫空、襯砌形變進行檢測等病害。這種方式智能化水平較低,容易受檢測人員的主觀經驗影響,導致耗費較大人力資源。
綜上所述,針對隧道病害檢測的內容,目前尚存在著如下若干個棘手的問題:1)如何全方位高效高保真的獲取隧道病害數據;2)如何對隧道病害圖像進行自動檢測識別。
技術實現要素:
針對目前隧道襯砌病害檢測過程中快速方便獲取隧道內壁全景圖像難和自動檢測識別各種病害難等問題等不足,本發明提供一種基於全景圖像CNN的隧道病害自動識別裝置,在檢測裝置上能有效提高隧道病害的視覺識別的自動化和智能化水平、能保證在較好的檢測識別精度基礎上有實時檢測識別能力、能較好解決隧道內壁識別的複雜性和推廣性的矛盾、具有較佳的普適性。在隧道的維護、竣工驗收方面提供了有效的技術支撐。
要實現上述發明內容,必須要解決幾個核心問題:(1)設計一種快速獲取隧道內壁全景圖像的全景視覺傳感器;(2)通過數字圖像處理技術對隧道全景圖像進行處理,提取出疑似病害區域;(3)實現一種含有對隧道病害圖像進行分類功能的卷積神經網絡;(4)實現一批可以用於卷積神經網絡(CNN)訓練用的隧道病害圖像樣本數據。
本發明解決其技術問題所採用的技術方案是:
一種基於全景視覺CNN的隧道病害自動識別裝置,包括:隧道檢測車和遠程計算機;
所述的隧道檢測車上配置有主動式全景視覺傳感器、RFID讀取器、測距輪、無線接發送單元、控制器和工控機,所述的主動式全景視覺傳感器安裝在所述的隧道檢測車的前方中央,所述的RFID讀取器讀取配置在隧道內壁上安置的RFID信息,所述的隧道檢測車的底部安裝一個測距輪,所述的控制器讀取測距輪中光電編碼器的脈衝當量並估算所述的隧道檢測車的行走距離Zi;所述的控制器讀取主動式全景視覺傳感器所獲取的隧道全斷面全景圖像並以所述的隧道檢測車的行走距離Zi和現在時刻為文件名保存在所述的控制器的存儲單元中;當所述的隧道檢測車達到下一個站點時,所述的控制器通過所述的無線接發送單元將所述的控制器的存儲單元中的隧道全斷面全景圖像發送給所述的站級通信系統;
所述的主動式全景視覺傳感器包括全方位視覺傳感器和投射照明光源;所述的全方位視覺傳感器與所述的投射照明光源進行同軸固定連接,安裝在所述的隧道檢測車的前方中央位置;
所述全方位視覺傳感器包括雙曲面鏡面、上蓋、透明半圓形外罩、下固定座、攝像單元固定座、攝像單元、連接單元和上罩;所述的雙曲面鏡面固定在所述的上蓋上,所述的連接單元將所述的下固定座和透明半圓形外罩連接成一體,所述的透明半圓形外罩與所述的上蓋以及所述的上罩固定在一起,所述的攝像單元固定在所述的攝像單元固定座上,所述的攝像單元固定座固定在所述的下固定座上,所述的全方位視覺傳感器中的所述的攝像單元的輸出通過千兆網數據接口與所述的控制器連接;
所述的照明光源設計上採用了直接照明法,包括光源上蓋、圓錐形鏡面、透明外罩、底座和24顆LED。24顆LED均勻分布固定在底座外圓側對隧道內壁進行照明,圓錐形鏡面的軸心線與光源上蓋軸心線一致,透明外罩將嵌入24顆LED和固定圓錐形鏡面的光源上蓋集成為投射照明光源;
所述的遠程計算機作為伺服器採用Linux系統。所述的隧道檢測車行進過程中,工控機每隔時間T採集隧道內壁全景圖像,時間T是由隧道檢測車的行進速度V以及全景視覺垂直成像範圍F來決定的。全景圖像採集間隔時間用公式(1)計算得到,
T=0.8×F/V (1)
式中,T為ODVS的採樣間隔,V為隧道檢測車的行進速度,F為全景視覺垂直成像範圍。
工控機通過無線接發送單元將攜帶著隧道空間位置信息的展開的隧道內壁全景圖像發送給遠程計算機,所述遠程計算機包括用於隧道病害自動識別的CNN模塊。
工控機中的圖像處理主要包括:隧道斷面全景圖像數據讀取單元和隧道橫斷面全景圖像展開單元;遠程計算機中的圖像處理主要包括:隧道疑似病害圖像預處理單元和隧道疑似病害圖像提取單元。
隧道斷面全景圖像數據讀取單元每隔時間T通過ODVS來獲取隧道內壁的一幀全景圖像。接著,隧道橫斷面全景圖像展開單元全景圖像進行展開處理,展開處理後的全景圖像用隧道檢測車的行走距離Zi為文件名保存。
全景柱狀展開是以全景圖像中心坐標為原點建立平面坐標系O(0,0),X軸水平向右,Y軸豎直向上;選取合適的內徑為r1、外徑為r2,展開半徑為R=(r1+r2)/2,方位角為θ=tan-1(y/x);全景柱狀展開圖以坐標原點O*(0,0)、X*軸、Y*軸為平面坐標系,將全景圖像坐標系下點(r,0)作為全景柱狀展開圖坐標原點O*(0,0),以方位角θ順時針方向展開建立全景柱狀展開圖;建立全景柱狀展開圖像中任意一點象素坐標P*(x*,y*)與全景圖像中的象素坐標P(x,y)的對應關係,其計算公式為:
x=y/(tan(360x*/π(r1+r2))) (2)
y=(y*+r1)cosθ (3)
式中:x*,y*為全景柱狀展開圖的坐標,x,y為全景圖像的坐標,R為全景圖像展開區域的外徑,r為全景圖像展開區域的內徑,θ為全景圖像坐標的方位角。
模擬隧道內壁柱狀展開圖用隧道檢測車的行走距離zi為文件名保存,請求伺服器來讀取該圖像文件。
遠程計算機得到從隧道檢測車發送過來的讀取請求後,讀取暫時存儲在工控機內的展開全景圖像,遞交給隧道疑似病害圖像預處理單元進行圖像預處理。其主要工作是對隧道柱狀展開圖像進行增強,包括灰度校正和圖像平滑,這項工作的主要作用是提高圖像質量,為後續隧道疑似病害檢測識別進一步處理做好準備。
在圖像預處理方面,本發明採用一種自適應的圖像直方圖均衡處理方法,自適應的直方圖均衡考慮了圖像的位置信息,該方法根據圖像像素點的局部統計特徵對像素灰度值進行函數變換,變換函數有像素點周圍某個大小的子圖像的直方圖確定。
在圖像平滑方面,本文採用圖像的自適應wiener濾波方法,wiener濾波將均方誤差的數學期望取極小估值作為其最優標準。
隧道疑似病害的提取包括:圖像分割以及圖像的形態學處理等,針對隧道疑似病害圖像選擇合適的方法;這裡首先採用Otsu法對隧道疑似病害圖像進行二值分割,然後對隧道疑似病害二值圖像的數學形態學處理;在數學形態學處理中採用先進行開運算再進行閉運算。
開運算是利用同一結構元素對象對同一目標圖像依次進行腐蝕運算和膨脹運算,計算方法如公式(4)所示:
式中,A是隧道疑似病害的原始圖像,B是結構元素圖像。
閉運算是指對同一目標圖像先進行膨脹運算後進行腐蝕運算,計算方法如公式(5)所示:
式中,A是隧道疑似病害原始圖像,B是結構元素圖像。
提取出疑似病害之後就需要通過卷積神經網絡(convolutional neural network,CNN)對疑似病害進行識別分類。
基於卷積神經網絡的隧道病害自動識別方法,包括訓練階段和測試階段;在訓練階段,將訓練樣本輸入卷積神經網絡,獲得卷積神經網絡的連接權值和偏置值;在測試階段,讀入隧道病害圖像,對隧道病害圖像採用數字圖像處理技術進行預處理,提取出感興趣區域,然後將感興趣區域圖像尺寸進行歸一化處理後作為卷積神經網絡的輸入。
卷積神經網絡的結構為6層,包括依次連接的輸入層,C1層,S2層,C3層,S4層和輸出層。其中C1層和C3層為卷積層,S2層和S4層為下採樣層,輸入層為大小為28*28像素的圖像,輸出層包括4個一維向量,分別表示4類隧道病害:(1)裂紋;(2)裂縫;(3)襯砌脫落;(4)滲漏水。
有關隧道識別CNN框架的詳細描述如下:
(1)輸入。輸入圖像為圖像預處理得到的28*28的灰度疑似病害圖像。
(2)C1層。C1層為卷積層,用於提取圖像特徵。卷積核的大小影響著神經元感受野的大小,當卷積核較小時,無法提取有效的局部特徵,當卷積核較大時,又無法描述過於複雜的信息。對於28*28的輸入圖像,一般選用5*5的卷積核就能夠達到較好的效果,得到24*24的特徵圖。每個卷積核用於提取某一類特徵,這裡採用6個卷積核對同一圖像進行卷積,得到6張不同的特徵圖。卷積核中各參數通過隨機初始化設置在-1到1之間,一般地,隨機初始化的卷積核有較好的邊緣提取效果。
(3)S1層。S1層為降採樣層。它將C1層輸出的特徵圖進行縮小。主要是將鄰域內的像素求和成一個像素,然後通過W加權,再增加偏置b,最後通過sigmoid激活函數,這樣就可以將C1層中得到的特徵提取圖映射為縮小後的特徵映射圖。一般縮放因子為2就能夠達到較好的效果。
(4)C2層。C2層為卷積層,用於提取圖像特徵,與C1層相似。C1層是將1張原圖通過6個卷積核獲得6張特徵提取圖。而C2層則是將6張輸入的特徵映射圖,通過隨機組合得到12張特徵圖,然後通過不同的卷積核映射得到12張特徵提取圖。這是因為不完全的連接可以將原圖像中某一區域的不同特徵融合,破壞了網絡的對稱性。
(5)S2層。S2層為降採樣層,與S1層基本相同。
(6)輸出層。輸出層是與S2層的全連接。S2層有12*4*4=192個神經元,每一個神經元都與輸出的一個神經元相連,輸出層暫時設定為4類,即4個神經元,總共有192*4=768個連接,這裡可以將S2看作一個192維的線性向量,而S2到輸出層的映射相當於使用該向量進行分類,這個分類器共有768個參數來對4種病害類別進行分類,因此具有很強的描述能力。
卷積神經網絡的訓練需要大量數據。本發明採用的隧道病害圖像主要是通過檢索網絡上的隧道病害圖像得到,數據量偏少。通過真實拍攝獲取得到部分模擬隧道病害圖像,作為初始的訓練樣本。為了增加數據量,通過對病害區域進行下述操作:
(1)平移:水平或垂直平移,步長為0.2倍的病害區域大小。
(2)縮放:對病害區域大小乘以比例因子[0.8,1.2]。
(3)旋轉:對病害區域進行60度以下的旋轉。
(4)翻轉:對病害區域進行上下、左右翻轉。
(5)亮度調整:對病害區域進行整體亮度調整。
(6)對比度調整:對病害區域進行灰度線性或非線性拉伸。
對於每個種子圖像,隨機選取K個變換,然後將這些變換應用到每個種子圖像上,形成新的訓練樣本。
卷積神經網絡的性能對於學習速率的選擇非常敏感,學習速率過大,算法可能振蕩而導致不穩定;學習速率過小,則收斂速率慢,訓練時間長。因此採用自適應調整學習速率。
卷積神經網絡的訓練過程如圖4所示,主要包括4步,這4步被分為兩個階段:
第一階段,向前傳播階段:
(1)從樣本集中取一個樣本(X,Yp),將X輸入網絡;
(2)計算相應的實際輸出Op。
在此階段,信息從輸入層經過逐級的變換,傳送到輸出層。這個過程也是網絡在完成訓練後正常運行時執行的過程。在此過程中,網絡執行的是計算(實際上就是輸入與每層的權值矩陣相點乘,得到最後的輸出結果):
Op=Fn(…(F2(F1(XpW(1))W(2))…)W(n))(2)
在計算過程中,都是用Sigmoid作為激活函數。
第二階段,向後傳播階段:
(1)計算實際輸出Op與相應的理想輸出Yp的差;
(2)按極小化誤差的方法反向傳播調整權矩陣。
向後傳播階段也是卷積神經網絡中最複雜的地方,基本思想是跟反向傳播算法(BP算法)一樣,都是通過最小化殘差來調整權重和偏置,但是卷積神經網絡的網絡結構並不像反向傳播算法那樣單一,對不同的結構處理方式也不一樣,而且因為權重共享,使得計算殘差變得更加困難。所述的反向傳播算法是一種計算偏導數的有效方法,它的基本原理是:利用前向傳播最後輸出的結果來計算誤差的偏導數,再用這個偏導數和前面的各層進行加權求和,如此一層一層的向後傳下去,直到輸入層(不計算輸入層),最後利用每個節點求出的偏導數來更新權重。
其中,為了便於理解,後面我們用「殘差」這個詞來表示誤差的偏導數。
其中,輸出層到S4層的殘差=-(輸出值-樣本值)*激活函數的導數,隱藏層的殘差=(右層每個節點的殘差加權求和)*激活函數。
其中,殘差全部計算好後,就可以更新權重了:
(1)輸入層:權重增加=輸入值*右層對應節點的殘差*學習率
(2)隱藏層:權重增加=當前節點的Sigmoid*右層對應節點的殘差*學習率
(3)偏移值的權重增加=右層對應節點的殘差*學習率
其中,隱藏層表示除輸入層、輸出層以外的其他各層。學習率是一個預先設置好的參數,用於控制每次更新的幅度。此後,對全部數據都反覆進行這樣的計算,直到輸出的誤差達到一個很小的值為止。
在卷積神經網絡中,輸出層的殘差是輸出值與樣本值的差值,而中間各層的殘差來源於下一層的殘差的加權和。輸出層的殘差計算如下:
其中,(第nl層表示輸出層)為輸出層的殘差,yi表示輸出值,表示前向傳播中輸出層的輸入值,表示激活函數的導數。
下一層為採樣層的卷積層的殘差的計算可以對採樣層的殘差與一個2×2的全1矩陣進行克羅內克積進行擴充,因為從卷積神經網絡的結構圖看出,採樣層的map大小是卷積層的但這兩層的map個數是一樣的,卷積層的某個map中的4個單元與採樣層對應map的一個單元關聯,擴充之後使得採樣層的殘差的維度與上一層的輸出map的維度一致。
下一層為卷積層的採樣層的殘差的計算比較麻煩一點,因為採樣層到卷積層直接的連接是有權重和偏置參數的,因此不像卷積層到採樣層那樣簡單。當採樣層L的下一層是卷積層(L+1),並假設我們已經計算出L+1層的殘差,再假設L層第j個map Mj與L+1層的M2j關聯,按照反向傳播算法的原理,L層的殘差Dj是L+1層殘差D2j的加權和,M2j與Mj的關聯關係採用將卷積核矩陣進行180度旋轉,使之一一對應。
殘差計算出來後,就是更新權重和偏置參數。
在完成卷積神經網絡的訓練後,便進入了測試階段,測試階段用來測試所使用的卷積神經網絡用於對隧道病害檢測識別的精度和速度是否可靠。其過程為:讀取檢測圖像,然後將這些圖像輸入訓練好的卷積神經網絡中進行測試,利用卷積神經網絡進行分類,分類的結果為上述的4類隧道病害,進而可以獲取誤差率。
採用上述技術方案帶來的有益效果:
(1)提供了一種高性價比的、能快速獲取全景圖像的全方位視覺傳感器;實現了對隧道病害檢測中「採集-識別-判定」全過程的自動運行,真正實現了隧道病害檢測的自動化;
(2)本發明採用卷積神經網絡作為隧道病害檢測的分類器,由於卷積神經網絡權值共享的網絡結構,降低了網絡結構的複雜度,減少了權值的數量,所以由它進行分類的速度快,另外,使用帶有疑似缺陷樣本進行訓練,讓卷積神經網絡自動學習4類樣本複雜的類條件密度,避免了人為假設類條件密度函數所帶來的問題,提高了檢測精度;
(3)本發明在測試過程中將測試樣本進行分批處理,加快了測試的速度,減少了測試時間;
(4)提供了一種自動化、智能化的隧道病害檢測的手段,極大的降低了隧道病害檢測人員的工作負荷,提高了檢測效率;
(5)本發明採用卷積神經網絡和分批處理的測試方法,提高了隧道病害檢測的精度和速度,非常適用於鐵路隧道和地鐵隧道運營部門的維護和檢修,因此具有巨大前景。
附圖說明
圖1為隧道內壁進行全景檢測示意圖,1為隧道內壁,2為全景成像範圍;
圖2為ODVS的結構圖;
圖3為模擬隧道內壁全景圖及柱狀展開圖,(a)為全景圖,(b)為柱狀展開圖;
圖4為隧道內壁中疑似病害的提取;
圖5為卷積神經網絡結構圖;
圖6為病害種子圖像及變換後得到的圖像,其中,(a)為病害種子圖像,(b)為裂縫隨機組合變換圖像。
具體實施方式
以下將結合附圖,對本發明的技術方案進行詳細說明。
參照圖1~圖6,一種基於全景視覺CNN的隧道病害自動識別裝置,包括隧道檢測車和遠程計算機。圖1為ODVS對隧道內壁進行全景視覺檢測的示意圖。圖中的灰色區域是ODVS獲取隧道內壁360°全方位圖像的部分。
所述的隧道檢測車上配置有主動式全景視覺傳感器、RFID讀取器、測距輪、無線接發送單元、控制器和工控機,所述的主動式全景視覺傳感器安裝在所述的隧道檢測車的前方中央,所述的RFID讀取器讀取配置在隧道內壁上安置的RFID信息,所述的隧道檢測車的底部安裝一個測距輪,所述的控制器讀取測距輪中光電編碼器的脈衝當量並估算所述的隧道檢測車的行走距離Zi;所述的控制器讀取主動式全景視覺傳感器所獲取的隧道全斷面全景圖像並以所述的隧道檢測車的行走距離Zi和現在時刻為文件名保存在所述的控制器的存儲單元中;當所述的隧道檢測車達到下一個站點時,所述的控制器通過所述的無線接發送單元將所述的控制器的存儲單元中的隧道全斷面全景圖像發送給所述的站級通信系統;
所述的主動式全景視覺傳感器,其硬體主要包括:全方位視覺傳感器、投射照明光源;所述的全方位視覺傳感器與所述的投射照明光源進行同軸固定連接;
所述的全方位視覺傳感器包括雙曲面鏡面、上蓋、透明半圓形外罩、下固定座、攝像單元固定座、攝像單元、連接單元和上罩;所述的雙曲面鏡面固定在所述的上蓋上,所述的連接單元將所述的下固定座和透明半圓形外罩連接成一體,所述的透明半圓形外罩與所述的上蓋以及所述的上罩固定在一起,所述的攝像單元固定在所述的攝像單元固定座上,所述的攝像單元固定座固定在所述的下固定座上,所述的全方位視覺傳感器中的所述的攝像單元的輸出通過千兆網數據接口與所述的控制器連接;
所述的ODVS安裝在隧道檢測車的前方中央位置,如圖1所示,隧道檢測車在行進過程中不斷地快速獲取隧道內壁的全景圖像。圖2是ODVS的結構圖
所述的照明光源設計上採用了直接照明法,包括光源上蓋、圓錐形鏡面、透明外罩、底座和24顆LED。24顆LED均勻分布固定在底座外圓側對隧道內壁進行照明,圓錐形鏡面的軸心線與光源上蓋軸心線一致,透明外罩將嵌入24顆LED和固定圓錐形鏡面的光源上蓋集成為投射照明光源。
所述的遠程計算機作為伺服器採用Linux系統。所述的隧道檢測車行進過程中,工控機每隔時間T採集隧道內壁全景圖像,時間T是由隧道檢測車的行進速度V以及全景視覺垂直成像範圍F來決定的。全景圖像採集間隔時間用公式(1)計算得到,
T=0.8×F/V (1)
式中,T為ODVS的採樣間隔,V為隧道檢測車的行進速度,F為全景視覺垂直成像範圍。
工控機通過無線接發送單元將攜帶著隧道空間位置信息的展開的隧道內壁全景圖像發送給遠程計算機。
工控機中的圖像處理主要包括:隧道斷面全景圖像數據讀取單元和隧道橫斷面全景圖像展開單元;遠程計算機中的圖像處理主要包括:隧道疑似病害圖像預處理單元和隧道疑似病害圖像提取單元。
隧道斷面全景圖像數據讀取單元每隔時間T通過ODVS來獲取隧道內壁的一幀全景圖像。接著,隧道橫斷面全景圖像展開單元全景圖像進行展開處理,展開處理後的全景圖像用隧道檢測車的行走距離zi為文件名保存。
全景柱狀展開是以全景圖像中心坐標為原點建立平面坐標系O(0,0),X軸水平向右,Y軸豎直向上;選取合適的內徑為r1、外徑為r2,展開半徑為R=(r1+r2)/2,方位角為θ=tan-1(y/x);全景柱狀展開圖以坐標原點O*(0,0)、X*軸、Y*軸為平面坐標系,將全景圖像坐標系下點(r,0)作為全景柱狀展開圖坐標原點O*(0,0),以方位角θ順時針方向展開建立全景柱狀展開圖;建立全景柱狀展開圖像中任意一點象素坐標P*(x*,y*)與全景圖像中的象素坐標P(x,y)的對應關係,其計算公式為:
x=y/(tan(360x*/π(r1+r2))) (2)
y=(y*+r1)cosθ (3)
式中:x*,y*為全景柱狀展開圖的坐標,x,y為全景圖像的坐標,R為全景圖像展開區域的外徑,r為全景圖像展開區域的內徑,θ為全景圖像坐標的方位角。
圖3(a)為ODVS拍攝的模擬隧道內壁全景圖,圖3(b)為模擬隧道內壁柱狀展開圖。模擬隧道內壁柱狀展開圖用隧道檢測車的行走距離zi為文件名保存,請求伺服器來讀取該圖像文件。
遠程計算機得到從隧道檢測車發送過來的讀取請求後,讀取暫時存儲在工控機內的展開全景圖像,遞交給隧道疑似病害圖像預處理單元進行圖像預處理。其主要工作是對隧道柱狀展開圖像進行增強,包括灰度校正和圖像平滑,這項工作的主要作用是提高圖像質量,為後續隧道疑似病害檢測識別進一步處理做好準備。
在圖像預處理方面,本發明採用一種自適應的圖像直方圖均衡處理方法,自適應的直方圖均衡考慮了圖像的位置信息,該方法根據圖像像素點的局部統計特徵對像素灰度值進行函數變換,變換函數有像素點周圍某個大小的子圖像的直方圖確定。
在圖像平滑方面,本發明採用圖像的自適應wiener濾波方法,wiener濾波將均方誤差的數學期望取極小估值作為其最優標準。
隧道疑似病害的提取包括:圖像分割以及圖像的形態學處理等,針對隧道疑似病害圖像選擇合適的方法;這裡首先採用Otsu法對隧道疑似病害圖像進行二值分割,然後對隧道疑似病害二值圖像的數學形態學處理;在數學形態學處理中採用先進行開運算再進行閉運算。
開運算是利用同一結構元素對象對同一目標圖像依次進行腐蝕運算和膨脹運算,計算方法如公式(4)所示:
式中,A是隧道疑似病害的原始圖像,B是結構元素圖像。
閉運算是指對同一目標圖像先進行膨脹運算後進行腐蝕運算,計算方法如公式(5)所示:
式中,A是隧道疑似病害原始圖像,B是結構元素圖像。
圖4為隧道內壁中疑似病害的提取,提取出疑似病害之後就需要通過卷積神經網絡對疑似病害進行識別分類。
基於卷積神經網絡的隧道病害自動識別方法,包括訓練階段和測試階段;在訓練階段,將訓練樣本輸入卷積神經網絡,獲得卷積神經網絡的連接權值和偏置值;在測試階段,讀入隧道病害圖像,對隧道病害圖像採用數字圖像處理技術進行預處理,提取出感興趣區域,然後將感興趣區域圖像尺寸進行歸一化處理後作為卷積神經網絡的輸入。
在本實施例中,卷積神經網絡的結構為6層,包括依次連接的輸入層,C1層,S2層,C3層,S4層和輸出層。其中C1層和C3層為卷積層,S2層和S4層為下採樣層,輸入層為大小為28*28像素的圖像,輸出層包括4個一維向量,分別表示4類隧道病害:(1)裂紋;(2)裂縫;(3)襯砌脫落;(4)滲漏水。圖5為本發明採用的卷積神經網絡結構圖。
有關隧道識別CNN框架的詳細描述如下:
(1)輸入。輸入圖像為圖像預處理得到的28*28的灰度疑似病害圖像。
(2)C1層。C1層為卷積層,用於提取圖像特徵。卷積核的大小影響著神經元感受野的大小,當卷積核較小時,無法提取有效的局部特徵,當卷積核較大時,又無法描述過於複雜的信息。對於28*28的輸入圖像,一般選用5*5的卷積核就能夠達到較好的效果,得到24*24的特徵圖。每個卷積核用於提取某一類特徵,這裡採用6個卷積核對同一圖像進行卷積,得到6張不同的特徵圖。卷積核中各參數通過隨機初始化設置在-1到1之間,一般地,隨機初始化的卷積核有較好的邊緣提取效果。
(3)S1層。S1層為降採樣層。它將C1層輸出的特徵圖進行縮小。主要是將鄰域內的像素求和成一個像素,然後通過W加權,再增加偏置b,最後通過sigmoid激活函數,這樣就可以將C1層中得到的特徵提取圖映射為縮小後的特徵映射圖。一般縮放因子為2就能夠達到較好的效果。
(4)C2層。C2層為卷積層,用於提取圖像特徵,與C1層相似。C1層是將1張原圖通過6個卷積核獲得6張特徵提取圖。而C2層則是將6張輸入的特徵映射圖,通過隨機組合得到12張特徵圖,然後通過不同的卷積核映射得到12張特徵提取圖。這是因為不完全的連接可以將原圖像中某一區域的不同特徵融合,破壞了網絡的對稱性。
(5)S2層。S2層為降採樣層,與S1層基本相同。
(6)輸出層。輸出層是與S2層的全連接。S2層有12*4*4=192個神經元,每一個神經元都與輸出的一個神經元相連,輸出層暫時設定為4類,即4個神經元,總共有192*4=768個連接,這裡可以將S2看作一個192維的線性向量,而S2到輸出層的映射相當於使用該向量進行分類,這個分類器共有768個參數來對4種病害類別進行分類,因此具有很強的描述能力。
卷積神經網絡的訓練需要大量數據。本發明採用的隧道病害圖像主要是通過檢索網絡上的隧道病害圖像得到,數據量偏少。通過真實拍攝獲取得到部分模擬隧道病害圖像,作為初始的訓練樣本。為了增加數據量,通過對病害區域進行下述操作:
(1)平移:水平或垂直平移,步長為0.2倍的病害區域大小。
(2)縮放:對病害區域大小乘以比例因子[0.8,1.2]。
(3)旋轉:對病害區域進行60度以下的旋轉。
(4)翻轉:對病害區域進行上下、左右翻轉。
(5)亮度調整:對病害區域進行整體亮度調整。
(6)對比度調整:對病害區域進行灰度線性或非線性拉伸。
對於每個種子圖像,隨機選取K個變換,然後將這些變換應用到每個種子圖像上,形成新的訓練樣本。然後將這些樣本輸入卷積神經網絡中進行訓練,獲得卷積神經網絡的連接權值和偏置值。
圖6(a)為種子圖像,分別對應裂紋、裂縫、襯砌脫落和滲漏水等4種類型隧道病害。圖6(b)為對圖6(a)中的裂縫進行隨機組合變換得到的圖像。
卷積神經網絡的性能對於學習速率的選擇非常敏感,學習速率過大,算法可能振蕩而導致不穩定;學習速率過小,則收斂速率慢,訓練時間長。因此採用自適應調整學習速率。
卷積神經網絡的訓練過程如圖4所示,主要包括4步,這4步被分為兩個階段:
第一階段,向前傳播階段:
(1)從樣本集中取一個樣本(X,Yp),將X輸入網絡;
(2)計算相應的實際輸出Op。
在此階段,信息從輸入層經過逐級的變換,傳送到輸出層。這個過程也是網絡在完成訓練後正常運行時執行的過程。在此過程中,網絡執行的是計算(實際上就是輸入與每層的權值矩陣相點乘,得到最後的輸出結果):
Op=Fn(…(F2(F1(XpW(1))W(2))…)W(n)) (2)
在計算過程中,都是用Sigmoid作為激活函數。
第二階段,向後傳播階段:
(1)計算實際輸出Op與相應的理想輸出Yp的差;
(2)按極小化誤差的方法反向傳播調整權矩陣。
向後傳播階段也是卷積神經網絡中最複雜的地方,基本思想是跟反向傳播算法(BP算法)一樣,都是通過最小化殘差來調整權重和偏置,但是卷積神經網絡的網絡結構並不像反向傳播算法那樣單一,對不同的結構處理方式也不一樣,而且因為權重共享,使得計算殘差變得更加困難。所述的反向傳播算法是一種計算偏導數的有效方法,它的基本原理是:利用前向傳播最後輸出的結果來計算誤差的偏導數,再用這個偏導數和前面的各層進行加權求和,如此一層一層的向後傳下去,直到輸入層(不計算輸入層),最後利用每個節點求出的偏導數來更新權重。
其中,為了便於理解,後面我們用「殘差」這個詞來表示誤差的偏導數。
其中,輸出層到S4層的殘差=-(輸出值-樣本值)*激活函數的導數,隱藏層的殘差=(右層每個節點的殘差加權求和)*激活函數。
其中,殘差全部計算好後,就可以更新權重了:
(1)輸入層:權重增加=輸入值*右層對應節點的殘差*學習率
(2)隱藏層:權重增加=當前節點的Sigmoid*右層對應節點的殘差*學習率
(3)偏移值的權重增加=右層對應節點的殘差*學習率
其中,隱藏層表示除輸入層、輸出層以外的其他各層。學習率是一個預先設置好的參數,用於控制每次更新的幅度。此後,對全部數據都反覆進行這樣的計算,直到輸出的誤差達到一個很小的值為止。
在卷積神經網絡中,輸出層的殘差是輸出值與樣本值的差值,而中間各層的殘差來源於下一層的殘差的加權和。輸出層的殘差計算如下:
其中,(第nl層表示輸出層)為輸出層的殘差,yi表示輸出值,表示前向傳播中輸出層的輸入值,表示激活函數的導數。
下一層為採樣層的卷積層的殘差的計算可以對採樣層的殘差與一個2×2的全1矩陣進行克羅內克積進行擴充,因為從卷積神經網絡的結構圖看出,採樣層的map大小是卷積層的但這兩層的map個數是一樣的,卷積層的某個map中的4個單元與採樣層對應map的一個單元關聯,擴充之後使得採樣層的殘差的維度與上一層的輸出map的維度一致。
下一層為卷積層的採樣層的殘差的計算比較麻煩一點,因為採樣層到卷積層直接的連接是有權重和偏置參數的,因此不像卷積層到採樣層那樣簡單。當採樣層L的下一層是卷積層(L+1),並假設我們已經計算出L+1層的殘差,再假設L層第j個map Mj與L+1層的M2j關聯,按照反向傳播算法的原理,L層的殘差Dj是L+1層殘差D2j的加權和,M2j與Mj的關聯關係採用將卷積核矩陣進行180度旋轉,使之一一對應。
殘差計算出來後,就是更新權重和偏置參數。
在完成卷積神經網絡的訓練後,便進入了測試階段,測試階段用來測試所使用的卷積神經網絡用於對隧道病害檢測識別的精度和速度是否可靠。其過程為:讀取檢測圖像,然後將這些圖像輸入訓練好的卷積神經網絡中進行測試,利用卷積神經網絡進行分類,分類的結果為上述的4類隧道病害,進而可以獲取誤差率。