高新聞,李帥青,金邦洋
(1.上海大學 機電工程與自動化學院,上海 200444;2.上海大學 上海城建(集團)公司建筑產業(yè)化研究中心,上海 201400)
地鐵是緩解城市交通擁擠的主要方式之一。然而,由于老化、熱膨脹、人為損壞、地形變換等影響,地鐵隧道的表面和內部結構受到破壞。這些分裂和細長的缺陷通常被稱為裂縫。
裂縫作為常見的隧道病害類型,會破壞襯砌結構的剛度和承載能力,而且有概率發(fā)展成裂縫通道腐蝕鋼結構,導致結構的進一步受損,造成惡性循環(huán),嚴重影響隧道的正常運營和耐久性[20]。人工檢測作為隧道裂縫檢測的通常手段,漏檢嚴重,這種方法主觀且低效。此外,隧道的不良照明條件使檢查員很難從遠處看到裂縫。因此,開發(fā)自動裂縫檢測和分類方法是解決上述問題的更優(yōu)選擇。
通過機器人搭載的高清相機自動觸發(fā)拍攝采集隧道襯砌圖像[1-5],多方位的相機陣列保證了隧道圖像采集的完整性,針對采集的圖像數(shù)據(jù)利用圖像處理技術自動識別檢測裂縫的位置、長度、寬度及面積等信息。利用圖像處理技術、裂縫量化、變化檢測、神經網絡和三維可視化模型來可視化缺陷[9]。通過自動化的檢測手段將人從乏味、枯燥的勞動密集型工作中解脫出來。
裂縫檢測算法[8],大致可以分為圖像獲取、預處理、圖像處理、裂縫檢測、參數(shù)評判幾個步驟。張文宇等人[7]利用傳統(tǒng)的分割算法對裂縫圖像進行處理,獲得了接近90%的準確度,但是直接對整張圖像進行裂縫提取容易將噪聲信息包含在內,導致精度降低。
隨著深度學習在圖像領域的快速發(fā)展,許多有效的分類網絡被提出,如AlexNet[10]、VGGNet[11]、GoogleNet[12]等,利用神經網絡對裂縫分類后處理能夠有效提高檢測的準確性[13-15]。Sattar Dorafshan等人通過AlexNet對混凝土裂縫圖像進行分類后檢測,減少了背景信息干擾,但是在隧道復雜環(huán)境下,AlexNet分類效果受環(huán)境影響較大,影響后續(xù)裂縫檢測。黃高、劉壯等人[16]設計的DenseNet網絡結構在公開數(shù)據(jù)集ImageNet上取得了非常高的識別率和檢測效果,然而目前該網絡應用于隧道裂縫分類還比較少。
基于深度學習的語義分割算法在大樣本集的數(shù)據(jù)集上有較好的效果,黃宏偉等人[3]利用FCN語義分割算法對隧道圖像進行處理,直接獲取裂縫的語義信息。但是FCN分割的結果往往不夠精細,圖像過于模糊或平滑,沒有分割出目標圖像的細節(jié),同時裂縫細長交錯的形態(tài)在語義分割標簽的制作過程中消耗的時間成倍增加,人力成本相對較高。另一方面,隧道中裂縫屬于較為嚴重的病害,在裂縫早期階段就需要及時發(fā)現(xiàn)處理,與傳統(tǒng)方法相比,細長裂縫圖像的分割處理是深度卷積神經網絡的弱點[6]。
另外,裂縫檢測除了計算機視覺方法,還有利用激光點云信息[17]、紅外信息[18]等進行檢測,相對視覺方法可以忽略一部分光照不均的影響,但是數(shù)據(jù)處理量較大,成本相對較高,故不在本文考慮范圍之內。
有別于其他類型的檢測,隧道裂縫檢測對于裂縫的檢測率有更高的要求。對于潛在的高危害裂縫,檢測算法必須保證不放過任何一個可能。只有這樣才能實現(xiàn)隧道的安全。為此,本文提出基于DenseNet分類的隧道裂縫檢測,以應對復雜隧道環(huán)境,并通過多維分類器在分割基礎上進一步去除背景噪聲,以期達到檢測的魯棒性。
本文所提出的檢測算法如圖1所示,主要可以分為3個部分:1)將自動巡檢車采集隧道視頻按照管片位置進行裁剪獲取原始隧道圖像,通過畸變校正,去噪等預處理操作獲得較為清晰的圖像;2)將預處理后的圖像切分,通過深度學習分類算法進行裂縫辨別;3)將分類判別為裂縫的圖像區(qū)域通過濾波、光照均衡化、分割、去噪、區(qū)域選取等操作完成裂縫快速檢測。

圖1 檢測算法結構圖
盾構隧道檢測系統(tǒng)由激光傳感器、云臺、相機陣列、磁條導航、避障模塊、RFID路標、裝置底盤等組成。
如圖2所示,隧道視頻由履帶式自動巡檢車視頻陣列采集模塊采集,采集模塊由3個高清運動相機陣列組成。相機自帶的光學防抖技術以及底部云臺可以減少由于巡檢車車身晃動造成的畫面抖動。巡檢車底部安置高功率光源,保證在隧道光線不足處對照明提供補充,保證采集畫面的純凈度,但受限于數(shù)量及實際工作條件限制,采集的視頻畫面不可避免地存在陰影和昏暗的角落。激光距離傳感器用于測量表面和相機之間的距離,為計算裂縫病害實際物理參數(shù)(面積、長度)提供依據(jù)。

圖2 盾構隧道檢測系統(tǒng)
巡檢車在隧道行進途中對周圍的圖像進行采集后,先依據(jù)視場長度進行幀率提取,接著對采集視頻圖像進行畸變矯正與降噪,最后把處理后的圖像輸入進本文檢測算法之中。
如圖3所示,將原始圖像均勻切分,獲得子圖像。對子圖像進行裂縫與非裂縫分類標注,建立初始隧道裂縫數(shù)據(jù)集。

圖3 裂縫分類
DenseNet結構主要由密集連接塊(DenseBlock)和過渡層(Transition,卷積+池化)組成。DenseNet將圖像低層的特征圖以適當?shù)姆绞接成涞礁邔拥木W絡中,互相連接所有的層,每個層都會接受其前面所有層作為其額外的輸入,這可以實現(xiàn)特征重用,使得模型更加簡潔,更易提升效率。由于密集連接方式,DenseNet提升了梯度的反向傳播,使得網絡更容易訓練。
如圖4所示,裂縫檢測包括以下流程:

圖4 快速檢測
1)圖像濾波處理。獲取的原始圖像由于受到混凝土及環(huán)境因素等影響,往往存在較多的噪聲信息。比如襯砌表面常見的砂石、坑洼麻點等噪聲,如果不做處理會導致檢測結果帶有大量干擾,增加了檢測的難度,同時圍繞在裂縫周圍的噪聲破壞裂縫圖像形態(tài)降低了檢測的精度。預先利用圖像濾波去除噪聲可以減少上述問題。
2)將RGB圖像轉化為灰度圖像。圖像的R、G、B顏色分量分別映射到R、G、B立方體的對角線上。
3)光照均衡化。由于隧道光照條件惡劣,只有引入外部照明才能滿足圖像采集要求,但同時也會造成光照不均勻進而影響后續(xù)圖像分割效果。特別是過曝,會導致裂縫區(qū)域與背景信息層次不清,裂縫提取困難。為解決光照不均勻的問題,本文通過底帽變換,閉運算減去原圖的結果得到背景相對均勻的圖像。如圖5所示,觀察裂縫圖像的灰度三維圖,可以看到,光照均衡化后,裂縫區(qū)域被凸顯出來。

圖5 光照均衡化

(1)
兩個區(qū)域的平均灰度為u0和u1,整幅圖像的平均灰度為u,計算類間方差區(qū)域間的方差為:
σ2(T)=P0(T) (u(T)-u0(T))2+
P1(T) (u(T)-u1(T))2
(2)
取分割的兩個區(qū)域的最大方差以確定是兩個區(qū)域的最佳分離狀態(tài)。
5)消除孤立點或孤立塊。由于隧道內部的環(huán)境光、襯砌表面缺損、雜物附著以及軟件算法修正等影響,圖像分割可能會出現(xiàn)孤立點或孤立塊噪聲。采用形態(tài)區(qū)域開運算,可以去除這些噪聲。公式如下:
E= (FΘS) ?S
(3)
6)區(qū)域選取。利用Sobel邊緣檢測方法選取裂縫區(qū)域,作為后續(xù)多維分類器操作輸入。
在預處理中的開操作后,多數(shù)的錯誤識別被移除。但是,一些較大區(qū)域的非裂紋部分仍然存在。雖然,當閾值足夠大時,能夠移除這些部分區(qū)域。但是,過大的閾值會移除裂縫中不連續(xù)的一部分,降低檢測率。提取它們的數(shù)值特征可以用于裂縫劃分。采用的數(shù)值特征有周長面積比律、相對大小和長寬比。選取這些多維度特征進行分類,將圖像閉合區(qū)域分為裂縫與非裂縫兩類,剔除非裂縫區(qū)域保留余下部分,獲得較為精準的裂縫識別圖像。
3.3.1 周長面積比律。
對于平面規(guī)則圖形或者光滑圍線,其周長和面積有如下關系:
(4)
其中:A是平面區(qū)域面積,P為邊界長度。比值:
(5)
α的值和圖形形狀有關系,和大小無關。即對相似的圖形來說,α是一常數(shù)。
裂縫可以歸為分形結構,具備自相似性,遵從分形規(guī)律。因此,通過分析隧道裂縫分形規(guī)律,提取裂縫面積-周長特征可以更為有效的篩選裂縫。
3.3.2 相對大小
對于處理后的裂縫閉合區(qū)域,通過計算區(qū)域內像素數(shù)目與圖像尺寸的比值獲得閉合區(qū)域相對大小。噪聲對象的像素數(shù)總是小于裂縫的像素數(shù)。考慮到圖片裁剪,縮放等因素產生的影響,選取相對大小作為特征。
(6)
其中:Σa為閉合區(qū)域像素數(shù)目,w為圖像寬度,h為圖像高度。
3.3.3 長寬比
裂縫具有細長連續(xù)的特征,通過裂縫最小外接矩形獲取裂縫閉合區(qū)域長寬比特征,通過篩選符合細長特征的區(qū)域可以過濾掉一部分噪聲。
在實際應用中,分類器的設計有較多的限制,時間成本及分類效果都要顧忌到。提取裂縫樣本的上文特征輸入One-Class SVM,訓練單分類的分類器用來檢測異常閉合區(qū)域,剔除非裂縫點。
本次實驗平臺采用的操作系統(tǒng)為Ubuntu16.04,編程語言Python,內存32 GB,GPU為NVIDIAGeForce 1070,在Keras深度學習框架下進行實驗。分類數(shù)據(jù)集分為兩部分,一部分來自SDNET2018[19],另一部分為本文數(shù)據(jù)集。我們按照訓練集、驗證機、測試集8∶1∶1的比例分別進行隨機劃分,在遷移學習模式下實驗。
本文準確率計算公式為:

(7)
其中:TP(True Positive)表示正確分類的正樣本數(shù),TN(True Negative)表示表示正確分類的負樣本數(shù),F(xiàn)P(False Positive)表示錯誤預測為正例的負樣本數(shù),FN(False Negative)表示錯誤預測為負例的正樣本數(shù)。
如表1所示,在SDNET2018數(shù)據(jù)集上,DenseNet算法在2 epoch(4 000迭代)后就達到了99.95%的準確率,相比AlexNet在10 epoch后92.90%的準確率,DenseNet更加高效。隧道裂縫相對于其他混凝土裂縫來說,存在滲漏水、蛛網、管線以及更復雜的光照環(huán)境的干擾。在實際工程中,檢測更加困難。可以看到在本文數(shù)據(jù)集中,DenseNet在5epoch后的準確率為95.83%,相對SDNET2018數(shù)據(jù)集測試有一定程度的下降,但是4.17%處于可接受范圍內,但是AlexNet網絡層數(shù)相對較淺,應對復雜環(huán)境下各種干擾因素能力相對更差。

表1 分類算法對比
圖6中的(a)為原始圖像,圖(b)為Sattar Dorafshan等人[13]提到的效果表現(xiàn)較好的LoG檢測算法,圖(c)為本文使用的檢測算法。可以看到,在光照均勻,背景無干擾,畫面純凈度較高的情況下,LoG以及本文算法都能很好地檢測出裂縫區(qū)域。但是LoG算法檢測裂縫邊緣周圍部分非裂縫區(qū)域被錯誤的劃分。在實際隧道環(huán)境中,裂縫區(qū)域往往伴隨著滲漏水,灰塵,等噪聲的干擾,采集的圖像畫面明暗不均衡,純凈度較低,如圖7所示,對比LoG及本文算法可以發(fā)現(xiàn),LoG算法有較多的不連續(xù)現(xiàn)象,同時,存在較多的錯檢,而本文算法能夠將大部分的裂縫區(qū)域識別出來,并且不連續(xù)及錯檢較少[21]。

圖6 圖像對比圖

圖7 圖像對比圖
如圖8所示,圖(b)為直接利用本文分割算法對原圖處理結果,圖(c)為結合DenseNet深度學習分類網絡后處理結果。通過前置的分類,原圖中無關的背景信息,襯砌表面麻點、水痕、灰塵等干擾因素被屏蔽,大大提高了后續(xù)處理的準確性。

圖8 檢測對比圖
本文提出了一種基于深度學習的裂縫檢測算法。傳統(tǒng)算法大多只關注于直接對裂縫圖片的檢測,本文通過卷積網絡對圖像裂縫區(qū)域進行篩選后檢測,排除了背景無關信息的干擾,并通過提取識別出的裂縫區(qū)域多維特征進一步的對其分類,過濾掉誤識別的裂縫區(qū)域,從而獲取精確地裂縫信息為裂縫的病害程度分析提供依據(jù)。本文選取混凝土裂縫數(shù)據(jù)集及隧道裂縫數(shù)據(jù)集,通過實驗對比AlexNet及DenseNet網絡,驗證了DenseNet在隧道裂縫分類上的準確性。
本文提出的裂縫檢測框架具有分類效果較優(yōu)、數(shù)據(jù)獲取簡單、成本較低等優(yōu)勢。但仍存在一些可改進方向:1)通過加入反饋環(huán)路,使裂縫檢測方法參數(shù)能夠根據(jù)最終檢測結果調整檢測方法;2)SVM分類器的分類依據(jù)直接影響過濾效果,今后可以通過增加分類維度及更有效的分類依據(jù)改進分類器效果。