彭 磊,周 春,胡 鋒,田 曉 陽,王 海 波
(1.中鐵七局集團廣州工程有限公司,廣東 廣州 510760; 2.中山大學 航空航天學院,廣東 深圳 518107)
隧道(隧洞)作為一種隱蔽式的建筑,具有復雜的建設環境,如圍巖構造、溫度變化以及地下水的影響,大量隧道建設面臨進度慢、安全性低等問題。在進行隧道開挖時,需要按照設計要求將隧道內的土石方挖掉,形成一個斷面,該斷面即為隧道掌子面。隧道掌子面素描是一項重要且復雜的任務,通過掌子面素描可以判定隧道圍巖級別,為隧道開挖支護等提供作業依據。準確高效的掌子面素描工作可以有效解決隧道建設進度慢以及安全性低等問題。因此,實現隧道掌子面節理的科學檢測對隧道建設具有重要意義。
目前,傳統的隧道掌子面節理檢測方式以人工觀察描繪為主。該方法不僅效率低且主觀影響顯著,在實際工作過程中經常出現與實際情況不相符的現象。隨著科學技術的快速發展,計算機圖像處理方法率先應用在露天巖體地質信息的識別當中。范留明[1]、胡剛[2]等采用數字圖像處理方法(邊緣檢測、閾值分割、hough變換等)識別巖體表觀裂隙,并封裝為軟件供檢測人員使用,缺點是處理過程復雜,需要人工調教,智能化程度并不高。此外數字圖像處理方法在隧道掌子面節理識別方面的應用也涌現出來[3],如葉英[4]、冷彪[5]、羅佳[6]等基于此處理隧道掌子面圖像,提取出節理目標,達到替換地質素描圖的目的。李術才[7]、李鵬云[8]等直接借助結構面處理軟件SIR6.0、OpenCV平臺對隧道掌子面圖片節理信息進行提取。考慮到隧道環境條件比較惡劣,拍攝掌子面圖像質量容易受到粉塵的影響,周春霖等[9]借助紅外攝影技術獲取清晰的隧道掌子面照片,接著利用數字圖像處理技術對圖片進行去噪、均衡化以及閾值分割處理,以直線段標識節理目標。以上基于數字圖像處理技術的隧道掌子面節理提取方法雖然借助計算機技術實現了節理的識別與分割,但適用條件較為苛刻,顯著依賴應用場景的簡單性,即現場光照均勻充足且節理目標較為明顯。此外,數字圖像處理技術存在多種閾值分割算法,往往需要切換調整不同算法對比挑選出最佳的分割結果,增加了該方法現場應用的難度。同時該技術分割的節理目標是一個整體,不能直接使用,還需進行復雜的后處理工作。故亟需開發一種環境適應性更強、魯棒性更好的技術手段,能夠適應隧道內復雜的光線環境,實現節理目標的像素級分割。隨著人工智能的快速發展,傳統的土木工程行業引入了眾多智能識別算法[10-11],實現了工程任務的智能化發展。
計算機視覺領域主要包含4種圖像處理任務,即圖像分類(Image Classification)、語義分割(Semantic Segmentation)、目標檢測(Object Detection)以及實例分割(Instance Segmentation)。圖像分類僅能表示圖片的類別,無法確定掌子面圖片中具體的節理信息;語義分割可以實現圖片中所有節理的分割,但是無法區分個體,被分割的節理屬于一個整體;目標檢測能夠檢測出不同個體的節理,但無法實現分割;實例分割則在目標檢測的基礎之上,可實現對不同節理目標的分割。在隧道現場實際應用過程中,檢測結果將用于計算節理組數以及節理間距等參數,即隧道掌子面節理智能檢測任務需要將每一條節理目標單獨檢測出來并實現分割,故本文將采用實例分割算法而非語義分割算法檢測并分割隧道掌子面節理目標。
現有識別掌子面節理的數字圖像處理方法存在調教復雜的問題,雖然避免了人工描繪的主觀影響,但是仍需人工處理調教,導致識別檢測過程并不智能,存在一定的局限性。本文針對傳統數字圖像方法存在的局限,提出一種實例分割算法——Mask R-CNN,實現掌子面節理的智能檢測與分割,避免了人工描繪的主觀性以及現有數字圖像處理方法的局限性。
本文采用實例分割算法(Mask R-CNN)對隧道掌子面節理進行智能識別與分割,Mask R-CNN算法網絡框架如圖1所示[12]。包含主干網絡、區域建議網絡(RPN:Region Proposal Network)、RoIAlign調節、結果預測等部分。

圖1 Mask R-CNN算法網絡框架
ResNet101與FPN(特征金字塔網絡)是主干網絡的主要組成部分。其中,ResNet101主要由Conv block與Identity block兩個模塊組成,分別負責卷積運算與加深網絡的任務,用于提取掌子面圖片的特征信息。基于圖片的像素數據,運算輸出多個不同大小的特征圖,這些特征圖像素點可理解為用于表征原始圖片像素特征的次級像素,包含了原始圖像的特征信息,表示為C2~C5(因C1特征圖感受野較小,語義信息較少,無法很好地捕捉圖像中的物體結構和特征,故將其舍棄,不進一步處理),便于檢測不同大小的目標物。本文結合掌子面圖像的尺寸大小,對特征圖的尺寸設計做了針對性改進,以適應掌子面圖像節理識別任務。
FPN可以將不同層級的特征信息融合成多尺度、多語義級別的特征金字塔(見圖2)。通過“latlayer”操作,從高分辨率的特征圖上采樣,使其與較低分辨率的特征圖具有相同的空間尺度,然后將它們相加,從而得到融合后的特征圖。在Mask R-CNN中,FPN的輸出特征圖為P2、P3、P4、P5和P6有效特征層,用于檢測不同尺度的物體。

圖2 FPN網絡框架
RPN是一種輕量級的神經網絡,它以滑動窗口的方式掃描輸入圖像并找到含有目標的區域,這些掃描的區域稱為anchors,為大小不同的方框[13]。本文針對隧道掌子面節理識別這一特殊任務,通過掌子面標注文件統計現有掌子面圖像中的節理尺寸信息,分析節理標注框的大小以及長寬比,對anchors的大小及長寬比例設計進行了針對性的改進,以適應掌子面節理的形狀。
計算每個anchor與標注框之間的交并比(兩框交集面積與并集面積之比),即IOU(Intersection Over Union)。通過IOU與設定閾值的大小關系確定該anchor的類別,當IOU>閾值時,anchor為正類,反之則為負類。在訓練算法時RPN階段存在兩個訓練任務,即anchors的分類訓練與框位置回歸訓練,其訓練誤差LR表示為
LR=LRc+LRr
(1)
式中:LRc表示anchors的分類訓練誤差函數,LRr表示anchors框回歸訓練誤差函數,用式(2)~(3)表示:
(2)
(3)
式中:i表示anchors的序號;pi表示序號為i的anchor被預測為正類的概率;pi*表示序號為i的anchor真實標簽值,anchor為正樣本時,pi*=1,anchor為負樣本時,pi*=0;si為一向量,含序號為i的anchor框中心坐標、寬和高等4個元素;si*表示含有標注框相應元素的四維向量;NRc、NRr表示RPN階段分類與回歸訓練的批次數據量;λ為超參數;lRc為交叉熵損失函數,回歸損失函數lRr的表達式為
(4)
式中,R表達式為
(5)

(6)

式中:x,y,w,h分別表示方框的中心坐標、寬和高;x,xa,x*分別對應于預測框、anchor框與真實框(y,w,h同理)。
訓練完成之后,RPN可以預測anchor的類別(正類或負類)并對框的位置進行初步調整。改進后的區域建議網絡(RPN)實現了掌子面特征圖像中可能包含節理區域的提取,生成建議框,作為下一階段的輸入。
RoI(Region of interest),即RPN階段輸出的建議框。由于RPN階段生成的anchor框大小不一,且通過位置調整模型進行了微調,需采用RoIAlign統一RoI的尺寸,便于分類。相比于Faster R-CNN算法中采用的RoIPool模塊[14],本文算法所采用的RoIAlign基于雙線性插值取值解決了像素錯位的問題,優化了建議框尺寸調節,保留了更多原始信息(見圖3)。

圖3 RoIAlign與RoIPool對比
以上采用了RoIAlign模塊對RoI的尺寸調節進行改進,有效防止了特征信息的丟失,有助于實現隧道掌子面節理目標的精細化識別分割。
Mask R-CNN網絡最后會對調整后的RoI進行以下處理:① 具體分類,針對掌子面數據集,就會給出RoI的具體標簽,即“節理”,不同于RPN階段的二分類(正類、負類);② 預測框位置精調,在RPN階段微調的基礎之上,進一步對預測框的位置和長寬進行調整,使得預測框和目標更加貼合;③ 生成掩碼,識別出預測框內屬于目標物體的像素,并標記形成掩碼。
該階段訓練過程設置誤差函數LRoI為
LRoI=LRoIc+LRoIr+Lmask
(7)
式中:mask掩碼損失函數為平均二元交叉熵損失函數,LRoIc分類損失函數lRoIc表示為
lRoIc=-ln(pu)
(8)
式中:pu表示預測為u類別的概率。
式(7)中LRoIr分類損失函數lRoIr表示為
lRoIr=λ[μ≥1]lRr
(9)
式中:[u≥1]表示u≥1時,值為1,否則為0。
綜上所述,RPN階段與結果預測階段共設置5個誤差函數,合計為
L=LRc+LRr+(LRoIc+LRoIr+Lmask)
(10)
上文所述特征金字塔網絡(FPN)雖然實現了特征融合,增強了主干網絡提取特征的能力,但從下到上的計算路徑過長(整體包含101層網絡),不利于特征信息傳導,尤其是復雜隧道環境下多樣的節理目標特征的傳輸。為此本文引入PANet(Path Aggregation,路徑聚合網絡)解決特征信息路徑傳輸問題[15]。
圖4展示了路徑聚合網絡結構。紅色虛線表示原FPN的傳輸路徑,自下而上傳輸特征需要經過多層網絡結構。而改進的聚合路徑方法(綠色虛線)則在較低的層次上使用精確的定位信號來增強整個特征層次結構,縮短了較低層次與最上層特征之間的信息路徑,減少了信息損失。

圖4 Path Aggregation網絡結構
鑒于上述PANet的優勢,本文將其引入FPN之中設計出了PA-FPN網絡,以此改進Mask R-CNN網絡,以增強隧道掌子面節理智能識別模型的識別分割性能。
掌子面數據集是一種包含大量隧道施工現場掌子面圖片的集合。掌子面圖片來源于國內數座公路礦山法施工的隧道,經過挑選剩余共計400張原始圖像,統一調整像素為2 048×2 048 pixel,部分圖像見圖5。從圖中可以見到本文所搜集的掌子面圖像數據具有豐富的環境條件(不同角度、不同照明、臺車干擾以及陰影等),提高了隧道掌子面智能識別算法的魯棒性。
對于一個基于深度學習的實例分割模型,400張圖像數據還不能滿足需求,因此本文采用翻轉、裁剪以及亮度調整等方式對原始圖像進行了數據增強(見圖6),擴大數據量至800張,按照一般數據集劃分準則[13],掌子面數據集中的訓練集、驗證集以及測試集分別包含560,160和80張圖片。
掌子面圖像識別任務不同于傳統的圖像分類,實例分割算法需要在每張圖片中標記目標物體制作標簽,因此完成單張圖片的標注工作需要約10 min,保證了掌子面節理數據集的質量。本文采用Labelme標注軟件對掌子面節理進行標注。圖7(a)中的點線為人工標注節理的多邊形輪廓。每張圖片標注完成之后生成包含節理位置和名稱信息的JSON文件,這些文件經過內置代碼轉換為coco數據集格式,生成可訓練的二值化標簽圖像(見圖7(b))。

圖7 圖片標注方法
本文提出的隧道掌子面節理智能識別分割方法分為兩個步驟:首先通過訓練集、驗證集數據訓練掌子面節理智能識別分割模型;接著用測試集數據檢驗評估模型的性能,并與原Mask R-CNN算法以及其他實例分割算法進行對比。
智能識別分割算法采用python編程語言編寫完成,在Windows系統Pytorch1.8.0平臺下實現,運行內存為32G,GPU顯存24G。
機器學習任務的評估指標多種多樣,針對實例分割任務,通常采用混淆矩陣、準確率等指標評估其性能。
3.1.1混淆矩陣
在深度學習實例分割任務中,混淆矩陣針對單張測試圖片,計算智能分割模型給出的預測框與所有真實框的IOU(與1.2節RPN階段的計算相似),以列方向為預測框、行方向為真實框形成矩陣[13]。通常情況下,設置的IOU閾值為50%,當IOU>50%時,認為預測框檢測出了目標,若預測框給出的類別與真實框一致,表示分類正確;若預測框給出的類別與真實框不同,則分類錯誤。混淆矩陣可以直觀感受智能分割模型的檢測效果。
3.1.2準確率、召回率、平均準確率
準確率(P)、召回率(R)以及平均準確率(AP)是分類任務中經常使用的評估指標,表達式為
(11)
(12)
(13)
式中:TP表示檢測測試集圖像的預測框為正類、真實框也為正類的預測框數量,即檢測正確的數量;FP表示檢測測試集圖像的預測框為正類而真實框為負類的數量,即檢測錯誤的數量;FN表示檢測測試集圖像的真實框未被檢測出的數量,即漏檢的數量。f(R)表示R與P之間的關系函數,通過檢測數據獲得。
針對本文所建立的智能識別分割模型,首先取單張測試圖片計算IOU得出混淆矩陣,混淆矩陣的列方向預測框按其分類置信度大小從高到低排列[13],依次設置各分類置信度為分類閾值計算對應的準確率P與召回率R,繪制P-R折線圖,即可計算AP值。
此外,單張測試圖像的AP值并不能準確反映智能識別分割模型的性能,故計算整個測試集圖片的AP值的均值作為整體的評估指標,即mAP。
深度學習算法的參數分為兩種:① 模型內部的權重參數,可以隨著訓練進度不斷改進;② 超參數,它并非訓練得出,而是預先設定好的參數,用來調整訓練效果。所以得到一套優秀的智能識別分割模型需要反復調整超參數。
本文最終設置的學習率(指在訓練神經網絡時,用于控制權重更新步長的一個超參數)為0.001;圖片尺寸超參數指深度學習網絡中設定的訓練尺寸,它會影響模型的性能和訓練速度,為了保證網絡的質量,訓練尺寸設定為1 024×1 024,共訓練100個epoch(一個epoch表示訓練數據集中所有樣本被訓練完一次的過程)。
智能識別分割算法的訓練過程會生成訓練日志文件,包含訓練誤差與驗證誤差數據,如圖8所示。在訓練100次之后,訓練誤差與驗證誤差都趨于平緩,表示訓練模型達到了收斂。最后訓練誤差與驗證誤差分別為0.17%與0.21%,相差不大,表示智能識別分割模型未出現過擬合現象,具有較強的魯棒性。

圖8 訓練誤差與驗證誤差曲線
利用測試集圖片對智能識別分割模型的性能進行評估,部分檢測圖像如圖9所示。在不同的環境條件下,掌子面節理智能識別與分割模型仍然能夠檢測出大部分節理目標,且無需人工調整干預,實現了真正意義上的智能化,從檢測結果來看,圖片的拍攝光照越充足、環境越簡單(不存在臺架等干擾)則識別效果越好。
由此可見基于深度學習算法Mask R-CNN的掌子面節理智能識別分割模型表現非常優異,檢測圖片中的檢測框對節理進行了準確定位,并且用掩碼分割出屬于節理的像素區域,實現了高效精細化的隧道掌子面智能識別。
不可否認的是,就圖9所展示的典型的檢測結果而言,本文算法還有很多需要改進的地方:① 存在部分肉眼可見的節理目標沒有被模型檢測出來的現象;② 分割節理目標的掩碼普遍寬于節理本身;③ 對面狀節理目標的識別準確率不高,較為粗糙。對此,進一步擴充數據集、優化標注質量將是解決以上問題的關鍵。
此外,為準確判定智能識別分割模型的性能,隨機選擇測試集中的圖片進行精細化評估。首先通過智能識別分割模型檢測測試集中的一張圖片,接著計算預測框與真實框之間的IOU值,生成混淆矩陣(見圖10)。第4個預測框與所有真實框之間的IOU均小于50%,存在誤檢情況,此外第2、10個真實框與所有預測框之間的IOU均小于50%,存在漏檢情況。總體而言,本文算法檢測出了大部分的節理目標,足以滿足工程需求。但仍需針對圖片中節理的檢測細節問題,在進一步的研究工作中完善隧道掌子面節理檢測與分割數據集的質量。

圖10 檢測測試集圖片的混淆矩陣
根據3.1.2節內容計算準確率和召回率,得到P-R折線圖,如圖11所示。計算得到AP值為75.0%。接著設置迭代算法依次計算測試集內80張圖片的測試AP值,取均值得到檢測框mAP值為58.0%。分割mAP值的計算與檢測框mAP計算規則相似,將像素IOU替換檢測框IOU即可。經計算,分割mAP值為49.2%。
為使本文改進算法的有效性更加有說服力,開展了本文算法、原Mask R-CNN算法以及其他流行的實例分割算法的對比試驗,表1展示了各算法的mAP值及其代表性識別結果。

表1 不同算法的mAP值及其代表性識別結果
由表1可知,本文算法相較于傳統的Mask R-CNN算法在識別結果中表現更優。本文算法對節理分割精確,而Mask R-CNN算法出現了分割不徹底、掩碼過寬的問題。此外,檢測框與分割mAP值(58.0%,49.2%)均較高,表明本文引入的PANet改進了原算法的性能,能更加勝任隧道掌子面的節理檢測與分割任務。
此外,本文引入了Cascade R-CNN[16]、Yolact[17]和Mask Scoring R-CNN[18]3種較為流行的實例分割算法與本文算法進行對比,其檢測結果見表1。其中Cascade R-CNN與Mask Scoring R-CNN的檢測框與分割mAP值分別為(49.5%,38.8%)與(50.2%,41.1%),較傳統的Mask R-CNN算法均有所提升。且兩種算法的識別分割結果更加精確,但相對于本文算法存在過度分割和分割不足的問題。而Yolact算法檢測框與分割mAP值均最低,在隧道掌子面節理檢測中性能最差(見表1中的識別結果),難以勝任復雜環境下的智能檢測任務。但值得一提的是,該算法檢測速率很快,在相對簡單的應用場景及簡單的目標檢測任務中有廣闊的應用前景。綜上,本文算法性能優于傳統的Mask R-CNN算法與多種當前流行的實例分割算法,驗證了本文算法在隧道掌子面節理檢測分割任務中的有效性與優越性。
本文以Mask R-CNN智能識別算法為基礎,采用ResNet101作為提取特征的主干網絡,引入路徑聚合網絡改進FPN對特征信息的融合能力,提出了一種基于深度學習的隧道掌子面節理智能識別分割算法,實現了復雜現場環境下多類型隧道掌子面節理的智能、快速、高精度檢測,主要結論如下:
(1) 在數據集方面,本文建立了基于800張隧道掌子面圖像的數據集,采用多邊形方式對節理目標進行標注,包含了豐富的圖像信息、多邊形輪廓信息以及標簽信息。
(2) 根據掌子面節理識別分割任務的特殊性對算法做出了針對性改進,引入路徑聚合網絡改進了FPN對特征信息的融合能力。該算法能夠檢測出隧道掌子面照片中的節理信息,通過檢測框定位節理的位置,通過掩碼分割屬于節理的像素。同時該算法抗干擾能力強,能夠適用于復雜隧道環境下的掌子面節理智能檢測分割。
(3) 基于測試集中80張樣本圖片,采用混淆矩陣、準確率和召回率等指標對智能識別分割模型各項性能進行了評估,計算得出檢測框與分割mAP值分別為58.0%,49.2%,相較于Mask R-CNN算法與多種當前流行的實例分割算法表現非常優異,表明本文算法在隧道掌子面節理檢測分割任務中的有效性與優越性。
(4) 數據驅動的機器學習方法依賴有效、豐富的現場數據。盡管本文建立的隧道掌子面節理檢測方法對隧道掌子面節理目標的檢測效果良好,但仍然存在部分分割掩碼較寬的現象,這些問題有待通過提升數據集的質與量來解決。
此外,本文提出的智能識別分割模型可直接用于復雜環境下的鐵路、公路隧道掌子面節理檢測任務中。結合硬件開發,可形成無人機、機器人等智能識別設備,解決傳統素描方法存在的主觀性、時效低等問題,為隧道建設的智能化發展提供技術和理論支持。