郭洪雨,陳寶林,王 宇,傅金陽,祝志恒,李世東
(1.浙江省交通規劃設計研究院有限公司, 浙江 杭州 310013;2.中南大學 土木工程學院, 湖南 長沙 410075;3.浙江清華長三角研究院, 浙江 嘉興 314006)
鉆爆法是現代山嶺隧道的主要施工方法之一,光面爆破技術由于能很好地控制隧道成形質量以及成形后的穩定性而被廣泛應用。通常情況下,受爆破參數以及地質空間變異性的影響,在隧道爆破后需評估隧道的成形質量及圍巖地質信息,以及時調整下一階段的爆破參數,保證爆破效果與施工安全。然而,隧道爆破參數的選取極其依賴工程人員的主觀經驗,受爆破參數設計不當導致的隧道嚴重超欠挖和安全事故等時有發生[1]。
隧道掌子面炮眼殘留率以及硐壁炮孔留痕率能一定程度上反映圍巖的超欠挖情況與巖性差異,是評估爆破質量的重要指標之一,也是爆破參數選擇的重要依據[2]。目前,爆破后的炮孔留痕主要通過人工識別或數字攝影留檔的方式粗略地統計評估,其識別效率與準確率較低。
隨著計算機技術的發展,基于數字圖像處理技術的檢測方法開始應用于傳統工程領域中[3]。郭強等[4]利用攝影測量方法研究巖體破碎區域的分布規律,基于大津閾值法實現圖像二值化,并輔助人工進行巖體破碎區域的劃分;冷彪等[5]、李鵬云等[6]基于Canny算子與Hough直線變換算法識別隧道圍巖表面的巖層和節理線條。陳愛云等[7]基于三維點云影像信息識別危巖體結構面產狀,并基于此評價危巖體穩定性。但是,傳統數字圖像處理方法的表現嚴重依賴于先驗知識與參數設定,因此往往只能針對特定條件下的工程場景發揮作用,魯棒性較低。
基于深度學習的視覺檢測方法,由于其自動化的參數學習能力,有效克服了傳統圖像處理方法泛化能力差的缺陷,能夠適應復雜多變的工程應用場景。例如,黃宏偉等[8]基于FCN神經網絡識別盾構隧道內的滲漏水病害,并通過對照實驗表明該深度學習方法優于傳統的大津閾值法、區域生長法與分水嶺算法;Cha等[9]基于深度學習方法檢測混凝土表面的裂縫缺陷;Liu等[10]基于深度層次特征學習架構實現裂縫分割,結果說明深度學習技術能夠高精度檢測裂縫病害;柳厚祥等[11]基于AlexNet網絡識別隧道圍巖節理特征;張萬志[12]研究了基于Faster R-CNN的巖質隧道掌子面炮孔識別技術,用于輔助光面爆破的參數優化。
然而,硐壁炮孔留痕的檢測受巖體紋理、爆破后的不規則斷口、洞內灰塵與不均勻光照等因素的干擾,檢測難度高,目前尚無相關研究成果。針對上述技術難點,本文提出一種基于ResUNet[13]深度網絡的圍巖炮孔留痕檢測方法,該方法能夠高效、高精度評估隧道光面爆破后的炮孔留痕率,提升隧道施工質量檢查效率。
(1) 檢測難點。由于巖體的各向異性以及爆破效果的不可控性,巖質隧道爆破后會在硐壁上殘留一些半炮孔痕跡,這些炮孔痕跡在圖像上呈現為斷續的線狀目標。經過對圍巖圖像的分析,炮孔留痕檢測存在如下技術難點:
① 炮孔痕跡具有不連續性,識別算法容易將單條炮孔痕跡識別為兩個目標。
② 炮孔留痕在圍巖背景紋理中不明顯、邊界模糊。
③ 圖像中存在一些相似的線狀目標,如巖石斷口、結構面和節理,使用傳統數字圖像處理技術會導致結果中的假正例偏多。
④ 隧道施工現場光照條件差,灰塵等干擾因素眾多。
(2) 技術路線。針對上述技術難點,本文提出了基于ResUNet[13]神經網絡的炮孔留痕檢測算法,算法分為分割和定位兩個階段,如圖1所示。首先,在隧道爆破出渣后,采集開挖面硐壁圍巖圖像,利用Labelme軟件人工標注炮孔留痕位置,并構建訓練數據集;其次,使用訓練集多次訓練與驗證ResUNet網絡,反復試驗網絡超參數,最后保存精度最高的神經網絡模型;最后,運用模型對測試圖像進行推理,獲得炮孔留痕的二值圖像;最后基于二值圖像各連通域的幾何信息篩選目標,獲得炮孔留痕的精確空間定位。

圖1 基于ResUNet的圍巖圖像炮孔留痕檢測流程
ResUNet[13]深度卷積神經網絡是檢測算法的核心環節。如圖2所示,神經網絡輸入圍巖RGB圖像,輸出標示著炮孔留痕位置的二值圖像。ResUNet神經網絡的結構同時結合了U-Net[14]的“編碼器-解碼器”設計與殘差模塊設計[15],因此可以適應特定環境下的炮孔留痕檢測。
(1) 編解碼器結構。編解碼器結構,也稱為U形結構[14],是用于圖像語義分割任務的特殊神經網絡結構。如圖2所示,ResUNet網絡左側的“編碼器”與右側的“解碼器”共同構成了一個對稱結構。其中,“編碼器”由一系列級聯的3×3卷積層構成,對輸入圖像進行下采樣處理,并逐層提取圖像中的高級特征,輸出小尺寸的特征張量。隨后,右側的“解碼器”部分對特征張量進行多次上采樣處理,最終獲得與原圖像相同尺寸的二值圖像,此圖像即為檢測結果[14]。與此同時,在編解碼器之間存在多條捷徑連接,使得網絡中處于不同深度的特征信息得以融合,以提高神經網絡的多尺度識別精度[14]。

圖2 ResUNet網絡結構[13]
(2) 殘差模塊。ResUNet中的殘差模塊設計如圖3所示,通過不同深度層之間的殘差連接,而不是連續的長連接,避免了在深度網絡帶來的梯度彌散問題,減小了神經網絡的參數總量,并加快訓練收斂的速度[15]。

圖3 ResUNet中的殘差模塊,其中BN操作表示批量歸一化操作
如圖,在ResUNet網絡中,一個殘差模塊被定義為本體映射和殘差映射的和:
yl=F(xl)+xl
(1)
其中:yl表示該殘差塊的輸出;xl表示殘差塊輸入。根據神經網絡反向傳播運算的鏈式法則,在ResUNet中,神經元的求導結果為:
(2)
其中,Loss表示損失函數。而在常規神經網絡中,神經元的求導結果為:
(3)
其中:Wi表示每一層的神經元權重。通過比較式(2)與式(3)可知,ResUNet中的神經元的求導結果不會因為累乘Wi而出現彌散或爆炸,保證網絡收斂速度[15]。
(3) 損失函數。損失函數是深度神經網絡優化過程中的目標函數,通常至少包含一個指標,用于表征模型預測結果與真值間的差異程度。這樣,神經網絡在訓練迭代中可以漸進式地優化模型參數,使得輸出結果不斷逼近真值,達到準確識別目標的目的。
根據實驗需求,神經網絡模型的損失函數被設計為交叉熵Lcre與Dice系數損失函數Ldice[16]的帶權和:
Loss=λ·Lcre+(1-λ)Ldice
(4)
其中:λ表示權值,在實驗中取值為0.5。交叉熵Lcre在二分類任務中定義為:
(5)
其中:yi表示樣本i的標簽值;pi表示樣本i預測結果為正例的概率。
另一方面,由于炮孔痕跡在圖像中的面積占比極小,約為3%左右,與巖體背景的面積占比(約97%)相差懸殊,會引起嚴重的樣本不平衡問題,影響模型收斂效果。因此,在損失函數中引入了Dice系數損失Ldice[16],該指標度量了真正例與正例和假反例兩者之和的比值:
(6)
其中:T表示訓練樣本中真正例、假正例的集合;P表示訓練樣本中假反例、真正例的集合。
由于圍巖圖像中的干擾物眾多,分割結果存在一定的誤檢。為了準確統計炮孔留痕數量及位置,本文借助OpenCV圖像處理庫獲得疑似對象的面積與最小外界矩形,并基于上述信息篩選對象。
首先,基于二值圖像閉運算連接斷開的炮孔痕跡,本實驗選擇50×50的矩形核作為結構元素。在閉運算操作完成后根據面積大小篩選炮孔痕跡目標。令St為面積閾值,Si為二值圖像第i個連通域的像素面積,當Si 最后,令P(xi,j,yi,j)(其中,j=0,1,2,3)為二值圖像第i個連通域的最小外接矩形頂點坐標,則該最小外接矩形的邊長Li、Li′分別為: (7) (8) 若Li Li=max(Li,Li′) (9) 同時,定義矩形的長寬比Di: Di=max(Li,Li′)/min(Li,Li′) (10) 當Di>DT=3時,標記該連通域為炮孔痕跡。 為了驗證算法的應用優勢,本文除了測試神經網絡在訓練圖像上的預測精度外,還設計了一套基于傳統數字圖像處理技術的炮孔痕跡檢測算法作為對照。 在預處理階段,該算法首先對圖像進行對比度增強處理。隨后,基于鄰差直方圖閾值分割法[17]分割圖像,該算法引入了指標S(x,y)用于衡量某個特定像素點與其領域像素點的差異程度: S(x,y)=∑pj(x,y)∈W(x,y) (11) 其中:p(x,y)表示中心像素點;W(x,y)表示八領域pj(x,y)的集合。那么,對于灰度為i的所有像素點的集合M(i),定義: A(i)=∑p(x,y)∈M(i)S(x,y) (12) 因此最佳灰度閾值T可以表示為: T=argmaxiA(i) (13) 在后處理環節的算法流程與前文所述相同。 (1) 圖像采集與標注。本實驗的數據集包含105張大小為6 000×4 000像素的24位RGB圖像,圖像采集地點為杭州第二繞城高速六弓山隧道與文泰高速文成段金垟隧道,兩者均為在建的特長隧道。在隧道爆破、排險、出渣后,技術人員進入隧道,檢查開挖后的地質狀況,并手持數碼相機(佳能EOS80D)盡可能垂直于硐壁表面拍攝圍巖圖像。 隨后,使用深度學習標注工具Labelme人工完成數據標注,利用直線段元素沿炮孔留痕的對稱軸標注,如圖4所示。在標注過程中不考慮留痕的實際寬度,并將線寬統一設置為10像素。最后,按照1∶9的比例將數據集分割為測試集與訓練集。 (2) 數據增強。為了擴充訓練集大小,防止神經網絡模型的過擬合效應。本文首先以0.50、0.75、1.25的倍率分別對數據集進行金字塔縮放,隨后以512×512的滑動窗口在原始圖像上隨機截取圖像塊。最后采用隨機亮度、對比度、飽和度變化以及鏡像操作再次擴充數據規模。 經過多種數據增強處理,最終獲得了約20 000張大小為512×512的訓練圖像,如圖4所示,在最終的訓練集中存在炮孔痕跡的圖像占比約為47.3%。 圖4 滑動窗口法與數據標注示意 本文基于Tensorflow深度學習框架開發ResUNet卷積神經網絡,使用Adam優化器作為參數優化算法,學習率為10-4。訓練過程采用小批量隨機梯度下降策略,每次迭代時的批量數為16,共經歷了100 000輪迭代,此時網絡的損失函數逐漸穩定,網絡模型趨于收斂,訓練結束。 整個訓練過程耗時約為10 h,最終網絡模型在測試集上的像素精度為99.19%,這表明圖像中約99%的面積都實現了正確的檢測。 本文選用兩項指標,像素精度(PA)與均交并比(mIoU)用于衡量算法識別精度。如表1所示,在11張圍巖圖像測試用例中,傳統閾值分割法的平均PA為91.82%,平均mIoU為60.84%,這說明傳統閾值分割法的檢測結果中存在大量假正例與假反例,會嚴重干擾炮孔留痕率計算的準確性。同時,本文提出的ResUNet法的平均PA為99.23%,平均mIoU為87.74%,在兩項精度指標上均大幅優于傳統閾值分割法,能夠為圍巖炮孔留痕率計算提供可靠依據。 根據圍巖圖像中干擾因素的類別,我們將11張測試圖像分為三類,以比較算法的魯棒性表現,具體如表1所示。其中,第一類圖像為巖體表面陰影干擾;第二類圖像為巖體節理裂隙干擾;第三類圖像為成像質量差、炮孔痕跡不明顯等問題。 如圖5所示,在第一類圖像中,由于爆破后的巖體表面形狀極為不規則,加之現場光照條件不理想,在圖像中形成很多索條狀陰影,這些陰影的顏色、形狀與炮孔痕跡極為類似。而傳統閾值分割法只依賴于亮度區分對象,因此在輸出結果中包含約三分之一的假正例,如圖5(c)所示。在ResUNet法的輸出結果中,除少量炮孔痕跡不連續外,大部分對象的檢測結果均正確,能夠滿足炮孔痕跡個數統計與炮孔留痕率計算的要求,如圖5(d)所示。 表1 傳統數字圖像處理法與本文方法對比 圖5 第一類圖像(#2) 如圖6所示,在第二類圍巖圖像中,巖體表面的節理裂隙等目標物的顏色與形狀同樣與炮孔痕跡極為類似。在這一條件下,傳統閾值分割法的結果中包含約三分之一的假正例,這些假正例無法被后處理算法篩除,給后續炮孔留痕率計算帶來困難。圖6(d)為本文ResUNet法的檢測結果,與人工標注的標準結果基本吻合。 在第三類圖像(見圖7)中,受現場客觀條件的制約,圖像成像模糊,且炮孔留痕不明顯,個別痕跡的顏色與巖體背景幾乎沒有差異。在這一情況下,傳統閾值分割算法直接失效,如圖7(c)所示。而ResUNet法的結果基本正確,特別是在識別淺色炮孔痕跡方面,具有優越的魯棒性。 圖6 第二類圖像(#7) 圖7 第三類圖像(#9) 從以上三類圍巖圖像識別結果可以看出,傳統閾值分割算法根據圖像的灰度特性識別目標具有一定的局限性,例如無法分辨陰影、節理裂隙等干擾因素,使得檢測結果中假正例偏多,而且無法通過后處理算法篩除,嚴重影響算法的識別精度。另一方面,受圍巖表面紋理的影響,閾值分割法所獲得的連通域邊緣更為粗糙,不利于統計炮孔留痕面積與長度信息。 基于深度學習理論開發的ResUNet算法,由多層堆疊的卷積層組成。經過反復迭代訓練,網絡中的卷積層能自動提取并學習圖像中的高級圖形特征,例如邊緣、紋理、形態等,因而能夠排除陰影、節理裂隙等目標物的干擾,使得算法具有較強的泛化能力和魯棒性,能夠顯著降低錯檢率。 為了高效、高精度評估隧道光面爆破后的炮孔留痕率,提升隧道施工質量檢查效率,本文在分析隧道圍巖圖像識別技術難點的基礎上,基于深度學習理論開展了隧道圍巖炮孔留痕識別研究,并從識別精度、魯棒性兩方面與傳統閾值分割算法進行對比分析,取得主要結論如下: (1) 圍巖紋理干擾、光照不均衡、圍巖節理裂隙干擾、炮孔留痕不明顯是影響識別精度的主要因素。傳統的閾值分割算法只依賴于圖像灰度信息,無法分辨上述干擾因素,導致結果中存在大量假正例,嚴重影響識別精度。 (2) 基于ResUNet網絡的炮孔痕跡識別算法以人工標記結果為基準,能夠自適應地訓練和優化模型參數并提取高級圖像特征,因此能夠排除陰影、節理裂隙等與炮孔留痕相近的干擾因素,在魯棒性上優于傳統算法。 (3) 在圖像識別精度方面,本文方法的像素精度為99.23%,均交并比為87.74%,大大優于傳統閾值分割法,能夠滿足工程上識別圍巖炮孔留痕率的需要。同時,本文的研究成果也為未來綜合量化評估隧道圍巖爆破質量,實現精細化爆破參數控制奠定了技術基礎。2 對比實驗
2.1 實驗設計
2.2 數據集構建

2.3 網絡訓練
3 實驗結果與分析
3.1 識別精度對比
3.2 魯棒性對比




4 結 論