徐藝文, 王維, 王魯杰, 陳穎, 郭春生, 李家平
(1. 上海勘察設計研究院(集團)股份有限公司;2. 上海地鐵監護管理有限公司)
隨著經濟社會的發展,城市軌道交通需求增長,運營里程不斷增長。截至2020年末,內地城市軌道交通的總運營里程達7978.2km[1]。城市軌道交通多采用地下隧道建設方式,由于建設條件、運營環境等復雜因素影響,管片襯砌結構在運營期間會出現多種病害,如:滲漏水、裂縫、掉塊、管片錯臺等[2]。傳統的病害檢測以人工為主,通過人眼或簡單儀器檢測,判定效果依賴于檢測人員的經驗與主觀判斷,檢測效率與可靠性均無法滿足軌道交通發展的需求[3]。基于相機拍攝或三維激光掃描的隧道病害檢測是發展的技術方向,目前已有國內外的許多學者對此進行了研究。2017年加拿大Cha 等[4]采用深度卷積神經網絡對混凝土裂縫的識別進行了研究,在檢測中結合滑動窗口可以檢測任意大小的圖像,并驗證了深度學習在混凝土裂縫識別上的優勢。2017年黃宏偉等[5]基于全卷積網絡進行盾構隧道滲漏水病害圖像識別。2018年薛亞東等[6]建立隧道襯砌特征圖像分類系統,在現有的CNN模型GoogLeNet基礎上進行改進,獲得了準確率超過95%的網絡模型。2020年薛亞東[7]就裂縫及滲漏水病害的特殊性,基于FastRCNN,采用數據統計分析及K-means 聚類算法分析其幾何特征,結合病害特征優化VGG-16 網絡模型,進一步提高病害識別的精度。以上這些研究表明深度學習方法較傳統圖像方法在隧道病害檢測具備精度高和魯棒性強的特點。然而,這些研究大多采用相機的照片建立深度學習數據集。本文基于自主研制的快速移動式隧道三維掃描檢測系統,采集隧道襯砌的掃描影像,在上海軌道交通運營線路中選取了病害較多的區間,通過人工標注建立了具備一定規模的滲漏水病害樣本庫,基于圖像分割的全卷積神經網絡模型訓練并識別隧道內滲漏水病害。
深度學習其數學本質是在一個有限數量的真實樣本中尋求待求依賴關系的映射的學習方法。為了實現深度學習在隧道三維激光掃描影像識別中的應用,首先需要建立一個具備一定規模的隧道三維激光掃描影像人工標注數據集。不同于其他圖像識別任務存在大量公開數據集如圖像分類分割的ImageNet[8],隧道病害檢測領域目前尚沒有一個公開的病害數據集。
本文通過隧道移動三維激光掃描技術,進行隧道襯砌表面點云采集,通過圓柱投影將點云投影生成隧道區間的三維掃描灰度影像。在上海軌道交通部分運營線路上,采集了34 幅區間掃描影像,通過開源標注工具Labelme 標注出其病害位置和輪廓,其統計信息如表1,示例如圖1。

表1 隧道區間影像滲漏水病害統計表

圖1 隧道區間三維掃描影像標注示例

圖 2 滲漏水病害樣本集示例(左側為原圖,右側為標簽圖)
圖像分割數據集的建立:由于一幅隧道區間影像數據量通常非常大,而計算機內存和顯存有限,無法直接用整個區間影像作為樣本來訓練深度學習模型。另一方面區間影像上人工標注的信息為病害多邊形的頂點坐標,還需要將病害的矢量信息柵格化作為樣本的標簽(label)來訓練圖像分割的深度學習模型。本文在標注的區間影像按384×384的尺寸滑框切割作為深度學習模型的原圖輸入及根據標注多邊形生成一個對應的標簽圖(見圖2)。表1 中標注區間影像處理成了一個包含34624 張的384×384 影像及對應標簽,其中26825張影像只有背景,沒有包含滲漏水病害對象,這樣極其不均勻地分割樣本可能導致模型訓練容易偏向學習背景的特征而不是滲漏水病害的特征,因此在不包含滲漏水病害的圖片按10%的概率隨機選取了2561 張和包含滲漏水病害的7799張影像組成滲漏水病害數據集,并將所有的圖像按8:1:1 的比例分成訓練集、測試集和驗證集,如表2。

表2 訓練測試數據集構建情況
在7799張包含滲漏水對象在影像中,滲漏水對象的像素比較稀疏,大部分影像的滲漏水對象像素對象很少(見圖3)。其中5179影像中滲漏水對象的像素占比不超過5%,2199張像素占比不超過1%,只有不到40 張影像滲漏水病害占比大于50%。從每張影像的像素分布來說,滲漏水的像素和背景的像素分布也是極其不均勻的。

圖3 滲漏水對象像素占比分布圖
隨著卷積神經網絡在影像識別領域的進展,針對影像分割任務也提出了許多卷積神經網絡架構。全卷積網絡Fully Convolutional Network(FCN)[9]是應用到影像分割領域第一個卷積神經網絡算法。全卷積網絡基于編碼器(Encoder)-解碼器(Decoder)架構利用圖像分類任務中表現優秀的深度學習模型(如ResNet[12])作為編碼器將高維特征映射到低維度,同時將分類模型最后的全連接層更換為反向卷積層作為解碼器,反向卷積層(Deconvolution layer)將編碼器提取的特征解碼輸出成原圖尺寸相同的掩模,輸出的掩模中每個像素表示原圖同樣位置的像素所屬對象的類別。FCN將卷積神經網絡應用在圖像分割問題上的基本關鍵思路:上采樣(Upsampling)、跳躍連接(Skip-connection)、遷移學習(Transfer Learning)。這些關鍵思路使得FCN在分割精度上較之前圖像分割算法具有巨大的提升,此后影像分割領域許多表現優異的模型架構(U-Net[10]、Deeplabv3[11])都借鑒FCN思路來優化而取得更好的影像分割精度。本文基于前面建立的隧道影像病害樣本集分析比較了FCN,U-net 和Deeplabv3 幾種經典圖像分割模型在隧道病害識別領域中運算速度和識別精度上的區別。
由于滲漏水對象的像素占比極少,選擇圖像分割經典的交叉熵損失函數會導致模型特征學習偏向背景,使得最終模型預測精度低,前景區域可能漏檢或缺失。為了解決圖像分割中待識別對象像素占比不均衡的問題,研究人員相繼提出加權的交叉熵損失函數、Dice Loss損失函數、Sensitivity Specificity損失函數等[14]。本文采用文獻[14]對Dice Loss損失函數的改進版損失函數GDL(Generalized Dice Loss)損失函數作為模型優化的損失函數。
影像分割通常由許多指標來評價算法的分割精度,這些指標中最為常用的是區域交并比(intersection of union-IoU)。其他精度評估指標基本上是這兩個指標的變體[13]。
區域交并比又稱為Jacard 指數,是計算真值集合和預測值集合的交集和并集之比,對于類i的區域交并比計算公式如下:
本文在隧道三維激光掃描影像病害數據集上分別訓練三種圖像分割的深度學習模型FCN,U-net和Deeplabv3(見圖4)。三個模型的編碼器均采用ResNet-50模型,模型初始化參數采用ImageNet上預訓練參數。超參數的設置對于深度學習訓練最重要,本文采用模型如下參數配置:初始學習率(learning rate)均設置為0.0001,學習率衰減策略采用分段衰減,學習率優化方法SGD,權重衰減(weight decay)0.9995,批次大小(batchsize)24 個,最大迭代次數(epoch)100,模型基本訓練信息見表3。

表3 模型訓練信息

圖4 測試效果圖(從左至右分別為原圖,標簽圖,DeepLabv3,U-Net,FCN)
三個模型中,訓練推理最快的是解碼器結構最簡單的FCN,最慢的是解碼器最復雜的Deeplabv3;模型參數最多的是U-Net這主要是因為其解碼器較多的特征拼接結構。是在整個訓練周期內dice損失隨著訓練的推進持續下降,訓練集IOU精度也在提升,從驗證集精度曲線圖(見圖5)可以看到,三種模型基本在15個epoch左右就收斂到最好精度。驗證集最優模型最終測試精度見表3,Deeplabv3 取得了0.782的IOU精度,測試精度最差的為FCN。三個模型在測試集圖片中預測效果如圖4。

圖5 模型訓練
本文利用開源標注工具建立了一個病害識別數據集,以此為基礎,分析比較了幾種經典的圖像分割任務的深度學習模型(FCN,U-net 和Deeplabv3),并分別在驗證集和測試集上進行了驗證實驗得出結論如下:
①現有圖像分割的深度學習模型在病害檢測中均能取得較好的IoU精度,相對于其他對象,如人物建筑等分割任務,滲漏水形態多變,輪廓不分明。
②通過對不同檢測模型計算結果對比分析得出,Deeplabv3 的解碼器結構較輕,參數較U-Net 少,但在滲漏水病害特征學習中表征能力更強。
③本文建立的數據集偏少不足9000張影像,且數據大多為同一款掃描儀采集,模型泛化能力有限。隧道襯砌病害的檢測精度仍有待提高,可以考慮擴充病害數據庫,增加模型的魯棒性及準確度。