彭 磊,周 春,胡 鋒,田 曉 陽,王 海 波
(1.中鐵七局集團廣州工程有限公司,廣東 廣州 510760; 2.中山大學 航空航天學院,廣東 深圳 518107)
隧道(隧洞)作為一種隱蔽式的建筑,具有復雜的建設(shè)環(huán)境,如圍巖構(gòu)造、溫度變化以及地下水的影響,大量隧道建設(shè)面臨進度慢、安全性低等問題。在進行隧道開挖時,需要按照設(shè)計要求將隧道內(nèi)的土石方挖掉,形成一個斷面,該斷面即為隧道掌子面。隧道掌子面素描是一項重要且復雜的任務,通過掌子面素描可以判定隧道圍巖級別,為隧道開挖支護等提供作業(yè)依據(jù)。準確高效的掌子面素描工作可以有效解決隧道建設(shè)進度慢以及安全性低等問題。因此,實現(xiàn)隧道掌子面節(jié)理的科學檢測對隧道建設(shè)具有重要意義。
目前,傳統(tǒng)的隧道掌子面節(jié)理檢測方式以人工觀察描繪為主。該方法不僅效率低且主觀影響顯著,在實際工作過程中經(jīng)常出現(xiàn)與實際情況不相符的現(xiàn)象。隨著科學技術(shù)的快速發(fā)展,計算機圖像處理方法率先應用在露天巖體地質(zhì)信息的識別當中。范留明[1]、胡剛[2]等采用數(shù)字圖像處理方法(邊緣檢測、閾值分割、hough變換等)識別巖體表觀裂隙,并封裝為軟件供檢測人員使用,缺點是處理過程復雜,需要人工調(diào)教,智能化程度并不高。此外數(shù)字圖像處理方法在隧道掌子面節(jié)理識別方面的應用也涌現(xiàn)出來[3],如葉英[4]、冷彪[5]、羅佳[6]等基于此處理隧道掌子面圖像,提取出節(jié)理目標,達到替換地質(zhì)素描圖的目的。李術(shù)才[7]、李鵬云[8]等直接借助結(jié)構(gòu)面處理軟件SIR6.0、OpenCV平臺對隧道掌子面圖片節(jié)理信息進行提取。考慮到隧道環(huán)境條件比較惡劣,拍攝掌子面圖像質(zhì)量容易受到粉塵的影響,周春霖等[9]借助紅外攝影技術(shù)獲取清晰的隧道掌子面照片,接著利用數(shù)字圖像處理技術(shù)對圖片進行去噪、均衡化以及閾值分割處理,以直線段標識節(jié)理目標。以上基于數(shù)字圖像處理技術(shù)的隧道掌子面節(jié)理提取方法雖然借助計算機技術(shù)實現(xiàn)了節(jié)理的識別與分割,但適用條件較為苛刻,顯著依賴應用場景的簡單性,即現(xiàn)場光照均勻充足且節(jié)理目標較為明顯。此外,數(shù)字圖像處理技術(shù)存在多種閾值分割算法,往往需要切換調(diào)整不同算法對比挑選出最佳的分割結(jié)果,增加了該方法現(xiàn)場應用的難度。同時該技術(shù)分割的節(jié)理目標是一個整體,不能直接使用,還需進行復雜的后處理工作。故亟需開發(fā)一種環(huán)境適應性更強、魯棒性更好的技術(shù)手段,能夠適應隧道內(nèi)復雜的光線環(huán)境,實現(xiàn)節(jié)理目標的像素級分割。隨著人工智能的快速發(fā)展,傳統(tǒng)的土木工程行業(yè)引入了眾多智能識別算法[10-11],實現(xiàn)了工程任務的智能化發(fā)展。
計算機視覺領(lǐng)域主要包含4種圖像處理任務,即圖像分類(Image Classification)、語義分割(Semantic Segmentation)、目標檢測(Object Detection)以及實例分割(Instance Segmentation)。圖像分類僅能表示圖片的類別,無法確定掌子面圖片中具體的節(jié)理信息;語義分割可以實現(xiàn)圖片中所有節(jié)理的分割,但是無法區(qū)分個體,被分割的節(jié)理屬于一個整體;目標檢測能夠檢測出不同個體的節(jié)理,但無法實現(xiàn)分割;實例分割則在目標檢測的基礎(chǔ)之上,可實現(xiàn)對不同節(jié)理目標的分割。在隧道現(xiàn)場實際應用過程中,檢測結(jié)果將用于計算節(jié)理組數(shù)以及節(jié)理間距等參數(shù),即隧道掌子面節(jié)理智能檢測任務需要將每一條節(jié)理目標單獨檢測出來并實現(xiàn)分割,故本文將采用實例分割算法而非語義分割算法檢測并分割隧道掌子面節(jié)理目標。
現(xiàn)有識別掌子面節(jié)理的數(shù)字圖像處理方法存在調(diào)教復雜的問題,雖然避免了人工描繪的主觀影響,但是仍需人工處理調(diào)教,導致識別檢測過程并不智能,存在一定的局限性。本文針對傳統(tǒng)數(shù)字圖像方法存在的局限,提出一種實例分割算法——Mask R-CNN,實現(xiàn)掌子面節(jié)理的智能檢測與分割,避免了人工描繪的主觀性以及現(xiàn)有數(shù)字圖像處理方法的局限性。
本文采用實例分割算法(Mask R-CNN)對隧道掌子面節(jié)理進行智能識別與分割,Mask R-CNN算法網(wǎng)絡框架如圖1所示[12]。包含主干網(wǎng)絡、區(qū)域建議網(wǎng)絡(RPN:Region Proposal Network)、RoIAlign調(diào)節(jié)、結(jié)果預測等部分。
圖1 Mask R-CNN算法網(wǎng)絡框架
ResNet101與FPN(特征金字塔網(wǎng)絡)是主干網(wǎng)絡的主要組成部分。其中,ResNet101主要由Conv block與Identity block兩個模塊組成,分別負責卷積運算與加深網(wǎng)絡的任務,用于提取掌子面圖片的特征信息。基于圖片的像素數(shù)據(jù),運算輸出多個不同大小的特征圖,這些特征圖像素點可理解為用于表征原始圖片像素特征的次級像素,包含了原始圖像的特征信息,表示為C2~C5(因C1特征圖感受野較小,語義信息較少,無法很好地捕捉圖像中的物體結(jié)構(gòu)和特征,故將其舍棄,不進一步處理),便于檢測不同大小的目標物。本文結(jié)合掌子面圖像的尺寸大小,對特征圖的尺寸設(shè)計做了針對性改進,以適應掌子面圖像節(jié)理識別任務。
FPN可以將不同層級的特征信息融合成多尺度、多語義級別的特征金字塔(見圖2)。通過“l(fā)atlayer”操作,從高分辨率的特征圖上采樣,使其與較低分辨率的特征圖具有相同的空間尺度,然后將它們相加,從而得到融合后的特征圖。在Mask R-CNN中,FPN的輸出特征圖為P2、P3、P4、P5和P6有效特征層,用于檢測不同尺度的物體。
圖2 FPN網(wǎng)絡框架
RPN是一種輕量級的神經(jīng)網(wǎng)絡,它以滑動窗口的方式掃描輸入圖像并找到含有目標的區(qū)域,這些掃描的區(qū)域稱為anchors,為大小不同的方框[13]。本文針對隧道掌子面節(jié)理識別這一特殊任務,通過掌子面標注文件統(tǒng)計現(xiàn)有掌子面圖像中的節(jié)理尺寸信息,分析節(jié)理標注框的大小以及長寬比,對anchors的大小及長寬比例設(shè)計進行了針對性的改進,以適應掌子面節(jié)理的形狀。
計算每個anchor與標注框之間的交并比(兩框交集面積與并集面積之比),即IOU(Intersection Over Union)。通過IOU與設(shè)定閾值的大小關(guān)系確定該anchor的類別,當IOU>閾值時,anchor為正類,反之則為負類。在訓練算法時RPN階段存在兩個訓練任務,即anchors的分類訓練與框位置回歸訓練,其訓練誤差LR表示為
LR=LRc+LRr
(1)
式中:LRc表示anchors的分類訓練誤差函數(shù),LRr表示anchors框回歸訓練誤差函數(shù),用式(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階段分類與回歸訓練的批次數(shù)據(jù)量;λ為超參數(shù);lRc為交叉熵損失函數(shù),回歸損失函數(shù)lRr的表達式為
(4)
式中,R表達式為
(5)
(6)
式中:x,y,w,h分別表示方框的中心坐標、寬和高;x,xa,x*分別對應于預測框、anchor框與真實框(y,w,h同理)。
訓練完成之后,RPN可以預測anchor的類別(正類或負類)并對框的位置進行初步調(diào)整。改進后的區(qū)域建議網(wǎng)絡(RPN)實現(xiàn)了掌子面特征圖像中可能包含節(jié)理區(qū)域的提取,生成建議框,作為下一階段的輸入。
RoI(Region of interest),即RPN階段輸出的建議框。由于RPN階段生成的anchor框大小不一,且通過位置調(diào)整模型進行了微調(diào),需采用RoIAlign統(tǒng)一RoI的尺寸,便于分類。相比于Faster R-CNN算法中采用的RoIPool模塊[14],本文算法所采用的RoIAlign基于雙線性插值取值解決了像素錯位的問題,優(yōu)化了建議框尺寸調(diào)節(jié),保留了更多原始信息(見圖3)。
圖3 RoIAlign與RoIPool對比
以上采用了RoIAlign模塊對RoI的尺寸調(diào)節(jié)進行改進,有效防止了特征信息的丟失,有助于實現(xiàn)隧道掌子面節(jié)理目標的精細化識別分割。
Mask R-CNN網(wǎng)絡最后會對調(diào)整后的RoI進行以下處理:① 具體分類,針對掌子面數(shù)據(jù)集,就會給出RoI的具體標簽,即“節(jié)理”,不同于RPN階段的二分類(正類、負類);② 預測框位置精調(diào),在RPN階段微調(diào)的基礎(chǔ)之上,進一步對預測框的位置和長寬進行調(diào)整,使得預測框和目標更加貼合;③ 生成掩碼,識別出預測框內(nèi)屬于目標物體的像素,并標記形成掩碼。
該階段訓練過程設(shè)置誤差函數(shù)LRoI為
LRoI=LRoIc+LRoIr+Lmask
(7)
式中:mask掩碼損失函數(shù)為平均二元交叉熵損失函數(shù),LRoIc分類損失函數(shù)lRoIc表示為
lRoIc=-ln(pu)
(8)
式中:pu表示預測為u類別的概率。
式(7)中LRoIr分類損失函數(shù)lRoIr表示為
lRoIr=λ[μ≥1]lRr
(9)
式中:[u≥1]表示u≥1時,值為1,否則為0。
綜上所述,RPN階段與結(jié)果預測階段共設(shè)置5個誤差函數(shù),合計為
L=LRc+LRr+(LRoIc+LRoIr+Lmask)
(10)
上文所述特征金字塔網(wǎng)絡(FPN)雖然實現(xiàn)了特征融合,增強了主干網(wǎng)絡提取特征的能力,但從下到上的計算路徑過長(整體包含101層網(wǎng)絡),不利于特征信息傳導,尤其是復雜隧道環(huán)境下多樣的節(jié)理目標特征的傳輸。為此本文引入PANet(Path Aggregation,路徑聚合網(wǎng)絡)解決特征信息路徑傳輸問題[15]。
圖4展示了路徑聚合網(wǎng)絡結(jié)構(gòu)。紅色虛線表示原FPN的傳輸路徑,自下而上傳輸特征需要經(jīng)過多層網(wǎng)絡結(jié)構(gòu)。而改進的聚合路徑方法(綠色虛線)則在較低的層次上使用精確的定位信號來增強整個特征層次結(jié)構(gòu),縮短了較低層次與最上層特征之間的信息路徑,減少了信息損失。
圖4 Path Aggregation網(wǎng)絡結(jié)構(gòu)
鑒于上述PANet的優(yōu)勢,本文將其引入FPN之中設(shè)計出了PA-FPN網(wǎng)絡,以此改進Mask R-CNN網(wǎng)絡,以增強隧道掌子面節(jié)理智能識別模型的識別分割性能。
掌子面數(shù)據(jù)集是一種包含大量隧道施工現(xiàn)場掌子面圖片的集合。掌子面圖片來源于國內(nèi)數(shù)座公路礦山法施工的隧道,經(jīng)過挑選剩余共計400張原始圖像,統(tǒng)一調(diào)整像素為2 048×2 048 pixel,部分圖像見圖5。從圖中可以見到本文所搜集的掌子面圖像數(shù)據(jù)具有豐富的環(huán)境條件(不同角度、不同照明、臺車干擾以及陰影等),提高了隧道掌子面智能識別算法的魯棒性。
對于一個基于深度學習的實例分割模型,400張圖像數(shù)據(jù)還不能滿足需求,因此本文采用翻轉(zhuǎn)、裁剪以及亮度調(diào)整等方式對原始圖像進行了數(shù)據(jù)增強(見圖6),擴大數(shù)據(jù)量至800張,按照一般數(shù)據(jù)集劃分準則[13],掌子面數(shù)據(jù)集中的訓練集、驗證集以及測試集分別包含560,160和80張圖片。
掌子面圖像識別任務不同于傳統(tǒng)的圖像分類,實例分割算法需要在每張圖片中標記目標物體制作標簽,因此完成單張圖片的標注工作需要約10 min,保證了掌子面節(jié)理數(shù)據(jù)集的質(zhì)量。本文采用Labelme標注軟件對掌子面節(jié)理進行標注。圖7(a)中的點線為人工標注節(jié)理的多邊形輪廓。每張圖片標注完成之后生成包含節(jié)理位置和名稱信息的JSON文件,這些文件經(jīng)過內(nèi)置代碼轉(zhuǎn)換為coco數(shù)據(jù)集格式,生成可訓練的二值化標簽圖像(見圖7(b))。
圖7 圖片標注方法
本文提出的隧道掌子面節(jié)理智能識別分割方法分為兩個步驟:首先通過訓練集、驗證集數(shù)據(jù)訓練掌子面節(jié)理智能識別分割模型;接著用測試集數(shù)據(jù)檢驗評估模型的性能,并與原Mask R-CNN算法以及其他實例分割算法進行對比。
智能識別分割算法采用python編程語言編寫完成,在Windows系統(tǒng)Pytorch1.8.0平臺下實現(xiàn),運行內(nèi)存為32G,GPU顯存24G。
機器學習任務的評估指標多種多樣,針對實例分割任務,通常采用混淆矩陣、準確率等指標評估其性能。
3.1.1混淆矩陣
在深度學習實例分割任務中,混淆矩陣針對單張測試圖片,計算智能分割模型給出的預測框與所有真實框的IOU(與1.2節(jié)RPN階段的計算相似),以列方向為預測框、行方向為真實框形成矩陣[13]。通常情況下,設(shè)置的IOU閾值為50%,當IOU>50%時,認為預測框檢測出了目標,若預測框給出的類別與真實框一致,表示分類正確;若預測框給出的類別與真實框不同,則分類錯誤?;煜仃嚳梢灾庇^感受智能分割模型的檢測效果。
3.1.2準確率、召回率、平均準確率
準確率(P)、召回率(R)以及平均準確率(AP)是分類任務中經(jīng)常使用的評估指標,表達式為
(11)
(12)
(13)
式中:TP表示檢測測試集圖像的預測框為正類、真實框也為正類的預測框數(shù)量,即檢測正確的數(shù)量;FP表示檢測測試集圖像的預測框為正類而真實框為負類的數(shù)量,即檢測錯誤的數(shù)量;FN表示檢測測試集圖像的真實框未被檢測出的數(shù)量,即漏檢的數(shù)量。f(R)表示R與P之間的關(guān)系函數(shù),通過檢測數(shù)據(jù)獲得。
針對本文所建立的智能識別分割模型,首先取單張測試圖片計算IOU得出混淆矩陣,混淆矩陣的列方向預測框按其分類置信度大小從高到低排列[13],依次設(shè)置各分類置信度為分類閾值計算對應的準確率P與召回率R,繪制P-R折線圖,即可計算AP值。
此外,單張測試圖像的AP值并不能準確反映智能識別分割模型的性能,故計算整個測試集圖片的AP值的均值作為整體的評估指標,即mAP。
深度學習算法的參數(shù)分為兩種:① 模型內(nèi)部的權(quán)重參數(shù),可以隨著訓練進度不斷改進;② 超參數(shù),它并非訓練得出,而是預先設(shè)定好的參數(shù),用來調(diào)整訓練效果。所以得到一套優(yōu)秀的智能識別分割模型需要反復調(diào)整超參數(shù)。
本文最終設(shè)置的學習率(指在訓練神經(jīng)網(wǎng)絡時,用于控制權(quán)重更新步長的一個超參數(shù))為0.001;圖片尺寸超參數(shù)指深度學習網(wǎng)絡中設(shè)定的訓練尺寸,它會影響模型的性能和訓練速度,為了保證網(wǎng)絡的質(zhì)量,訓練尺寸設(shè)定為1 024×1 024,共訓練100個epoch(一個epoch表示訓練數(shù)據(jù)集中所有樣本被訓練完一次的過程)。
智能識別分割算法的訓練過程會生成訓練日志文件,包含訓練誤差與驗證誤差數(shù)據(jù),如圖8所示。在訓練100次之后,訓練誤差與驗證誤差都趨于平緩,表示訓練模型達到了收斂。最后訓練誤差與驗證誤差分別為0.17%與0.21%,相差不大,表示智能識別分割模型未出現(xiàn)過擬合現(xiàn)象,具有較強的魯棒性。
圖8 訓練誤差與驗證誤差曲線
利用測試集圖片對智能識別分割模型的性能進行評估,部分檢測圖像如圖9所示。在不同的環(huán)境條件下,掌子面節(jié)理智能識別與分割模型仍然能夠檢測出大部分節(jié)理目標,且無需人工調(diào)整干預,實現(xiàn)了真正意義上的智能化,從檢測結(jié)果來看,圖片的拍攝光照越充足、環(huán)境越簡單(不存在臺架等干擾)則識別效果越好。
由此可見基于深度學習算法Mask R-CNN的掌子面節(jié)理智能識別分割模型表現(xiàn)非常優(yōu)異,檢測圖片中的檢測框?qū)?jié)理進行了準確定位,并且用掩碼分割出屬于節(jié)理的像素區(qū)域,實現(xiàn)了高效精細化的隧道掌子面智能識別。
不可否認的是,就圖9所展示的典型的檢測結(jié)果而言,本文算法還有很多需要改進的地方:① 存在部分肉眼可見的節(jié)理目標沒有被模型檢測出來的現(xiàn)象;② 分割節(jié)理目標的掩碼普遍寬于節(jié)理本身;③ 對面狀節(jié)理目標的識別準確率不高,較為粗糙。對此,進一步擴充數(shù)據(jù)集、優(yōu)化標注質(zhì)量將是解決以上問題的關(guān)鍵。
此外,為準確判定智能識別分割模型的性能,隨機選擇測試集中的圖片進行精細化評估。首先通過智能識別分割模型檢測測試集中的一張圖片,接著計算預測框與真實框之間的IOU值,生成混淆矩陣(見圖10)。第4個預測框與所有真實框之間的IOU均小于50%,存在誤檢情況,此外第2、10個真實框與所有預測框之間的IOU均小于50%,存在漏檢情況??傮w而言,本文算法檢測出了大部分的節(jié)理目標,足以滿足工程需求。但仍需針對圖片中節(jié)理的檢測細節(jié)問題,在進一步的研究工作中完善隧道掌子面節(jié)理檢測與分割數(shù)據(jù)集的質(zhì)量。
圖10 檢測測試集圖片的混淆矩陣
根據(jù)3.1.2節(jié)內(nèi)容計算準確率和召回率,得到P-R折線圖,如圖11所示。計算得到AP值為75.0%。接著設(shè)置迭代算法依次計算測試集內(nèi)80張圖片的測試AP值,取均值得到檢測框mAP值為58.0%。分割mAP值的計算與檢測框mAP計算規(guī)則相似,將像素IOU替換檢測框IOU即可。經(jīng)計算,分割mAP值為49.2%。
為使本文改進算法的有效性更加有說服力,開展了本文算法、原Mask R-CNN算法以及其他流行的實例分割算法的對比試驗,表1展示了各算法的mAP值及其代表性識別結(jié)果。
表1 不同算法的mAP值及其代表性識別結(jié)果
由表1可知,本文算法相較于傳統(tǒng)的Mask R-CNN算法在識別結(jié)果中表現(xiàn)更優(yōu)。本文算法對節(jié)理分割精確,而Mask R-CNN算法出現(xiàn)了分割不徹底、掩碼過寬的問題。此外,檢測框與分割mAP值(58.0%,49.2%)均較高,表明本文引入的PANet改進了原算法的性能,能更加勝任隧道掌子面的節(jié)理檢測與分割任務。
此外,本文引入了Cascade R-CNN[16]、Yolact[17]和Mask Scoring R-CNN[18]3種較為流行的實例分割算法與本文算法進行對比,其檢測結(jié)果見表1。其中Cascade R-CNN與Mask Scoring R-CNN的檢測框與分割mAP值分別為(49.5%,38.8%)與(50.2%,41.1%),較傳統(tǒng)的Mask R-CNN算法均有所提升。且兩種算法的識別分割結(jié)果更加精確,但相對于本文算法存在過度分割和分割不足的問題。而Yolact算法檢測框與分割mAP值均最低,在隧道掌子面節(jié)理檢測中性能最差(見表1中的識別結(jié)果),難以勝任復雜環(huán)境下的智能檢測任務。但值得一提的是,該算法檢測速率很快,在相對簡單的應用場景及簡單的目標檢測任務中有廣闊的應用前景。綜上,本文算法性能優(yōu)于傳統(tǒng)的Mask R-CNN算法與多種當前流行的實例分割算法,驗證了本文算法在隧道掌子面節(jié)理檢測分割任務中的有效性與優(yōu)越性。
本文以Mask R-CNN智能識別算法為基礎(chǔ),采用ResNet101作為提取特征的主干網(wǎng)絡,引入路徑聚合網(wǎng)絡改進FPN對特征信息的融合能力,提出了一種基于深度學習的隧道掌子面節(jié)理智能識別分割算法,實現(xiàn)了復雜現(xiàn)場環(huán)境下多類型隧道掌子面節(jié)理的智能、快速、高精度檢測,主要結(jié)論如下:
(1) 在數(shù)據(jù)集方面,本文建立了基于800張隧道掌子面圖像的數(shù)據(jù)集,采用多邊形方式對節(jié)理目標進行標注,包含了豐富的圖像信息、多邊形輪廓信息以及標簽信息。
(2) 根據(jù)掌子面節(jié)理識別分割任務的特殊性對算法做出了針對性改進,引入路徑聚合網(wǎng)絡改進了FPN對特征信息的融合能力。該算法能夠檢測出隧道掌子面照片中的節(jié)理信息,通過檢測框定位節(jié)理的位置,通過掩碼分割屬于節(jié)理的像素。同時該算法抗干擾能力強,能夠適用于復雜隧道環(huán)境下的掌子面節(jié)理智能檢測分割。
(3) 基于測試集中80張樣本圖片,采用混淆矩陣、準確率和召回率等指標對智能識別分割模型各項性能進行了評估,計算得出檢測框與分割mAP值分別為58.0%,49.2%,相較于Mask R-CNN算法與多種當前流行的實例分割算法表現(xiàn)非常優(yōu)異,表明本文算法在隧道掌子面節(jié)理檢測分割任務中的有效性與優(yōu)越性。
(4) 數(shù)據(jù)驅(qū)動的機器學習方法依賴有效、豐富的現(xiàn)場數(shù)據(jù)。盡管本文建立的隧道掌子面節(jié)理檢測方法對隧道掌子面節(jié)理目標的檢測效果良好,但仍然存在部分分割掩碼較寬的現(xiàn)象,這些問題有待通過提升數(shù)據(jù)集的質(zhì)與量來解決。
此外,本文提出的智能識別分割模型可直接用于復雜環(huán)境下的鐵路、公路隧道掌子面節(jié)理檢測任務中。結(jié)合硬件開發(fā),可形成無人機、機器人等智能識別設(shè)備,解決傳統(tǒng)素描方法存在的主觀性、時效低等問題,為隧道建設(shè)的智能化發(fā)展提供技術(shù)和理論支持。