郭洪雨,陳寶林,王 宇,傅金陽,祝志恒,李世東
(1.浙江省交通規(guī)劃設(shè)計研究院有限公司, 浙江 杭州 310013;2.中南大學 土木工程學院, 湖南 長沙 410075;3.浙江清華長三角研究院, 浙江 嘉興 314006)
鉆爆法是現(xiàn)代山嶺隧道的主要施工方法之一,光面爆破技術(shù)由于能很好地控制隧道成形質(zhì)量以及成形后的穩(wěn)定性而被廣泛應(yīng)用。通常情況下,受爆破參數(shù)以及地質(zhì)空間變異性的影響,在隧道爆破后需評估隧道的成形質(zhì)量及圍巖地質(zhì)信息,以及時調(diào)整下一階段的爆破參數(shù),保證爆破效果與施工安全。然而,隧道爆破參數(shù)的選取極其依賴工程人員的主觀經(jīng)驗,受爆破參數(shù)設(shè)計不當導(dǎo)致的隧道嚴重超欠挖和安全事故等時有發(fā)生[1]。
隧道掌子面炮眼殘留率以及硐壁炮孔留痕率能一定程度上反映圍巖的超欠挖情況與巖性差異,是評估爆破質(zhì)量的重要指標之一,也是爆破參數(shù)選擇的重要依據(jù)[2]。目前,爆破后的炮孔留痕主要通過人工識別或數(shù)字攝影留檔的方式粗略地統(tǒng)計評估,其識別效率與準確率較低。
隨著計算機技術(shù)的發(fā)展,基于數(shù)字圖像處理技術(shù)的檢測方法開始應(yīng)用于傳統(tǒng)工程領(lǐng)域中[3]。郭強等[4]利用攝影測量方法研究巖體破碎區(qū)域的分布規(guī)律,基于大津閾值法實現(xiàn)圖像二值化,并輔助人工進行巖體破碎區(qū)域的劃分;冷彪等[5]、李鵬云等[6]基于Canny算子與Hough直線變換算法識別隧道圍巖表面的巖層和節(jié)理線條。陳愛云等[7]基于三維點云影像信息識別危巖體結(jié)構(gòu)面產(chǎn)狀,并基于此評價危巖體穩(wěn)定性。但是,傳統(tǒng)數(shù)字圖像處理方法的表現(xiàn)嚴重依賴于先驗知識與參數(shù)設(shè)定,因此往往只能針對特定條件下的工程場景發(fā)揮作用,魯棒性較低。
基于深度學習的視覺檢測方法,由于其自動化的參數(shù)學習能力,有效克服了傳統(tǒng)圖像處理方法泛化能力差的缺陷,能夠適應(yīng)復(fù)雜多變的工程應(yīng)用場景。例如,黃宏偉等[8]基于FCN神經(jīng)網(wǎng)絡(luò)識別盾構(gòu)隧道內(nèi)的滲漏水病害,并通過對照實驗表明該深度學習方法優(yōu)于傳統(tǒng)的大津閾值法、區(qū)域生長法與分水嶺算法;Cha等[9]基于深度學習方法檢測混凝土表面的裂縫缺陷;Liu等[10]基于深度層次特征學習架構(gòu)實現(xiàn)裂縫分割,結(jié)果說明深度學習技術(shù)能夠高精度檢測裂縫病害;柳厚祥等[11]基于AlexNet網(wǎng)絡(luò)識別隧道圍巖節(jié)理特征;張萬志[12]研究了基于Faster R-CNN的巖質(zhì)隧道掌子面炮孔識別技術(shù),用于輔助光面爆破的參數(shù)優(yōu)化。
然而,硐壁炮孔留痕的檢測受巖體紋理、爆破后的不規(guī)則斷口、洞內(nèi)灰塵與不均勻光照等因素的干擾,檢測難度高,目前尚無相關(guān)研究成果。針對上述技術(shù)難點,本文提出一種基于ResUNet[13]深度網(wǎng)絡(luò)的圍巖炮孔留痕檢測方法,該方法能夠高效、高精度評估隧道光面爆破后的炮孔留痕率,提升隧道施工質(zhì)量檢查效率。
(1) 檢測難點。由于巖體的各向異性以及爆破效果的不可控性,巖質(zhì)隧道爆破后會在硐壁上殘留一些半炮孔痕跡,這些炮孔痕跡在圖像上呈現(xiàn)為斷續(xù)的線狀目標。經(jīng)過對圍巖圖像的分析,炮孔留痕檢測存在如下技術(shù)難點:
① 炮孔痕跡具有不連續(xù)性,識別算法容易將單條炮孔痕跡識別為兩個目標。
② 炮孔留痕在圍巖背景紋理中不明顯、邊界模糊。
③ 圖像中存在一些相似的線狀目標,如巖石斷口、結(jié)構(gòu)面和節(jié)理,使用傳統(tǒng)數(shù)字圖像處理技術(shù)會導(dǎo)致結(jié)果中的假正例偏多。
④ 隧道施工現(xiàn)場光照條件差,灰塵等干擾因素眾多。
(2) 技術(shù)路線。針對上述技術(shù)難點,本文提出了基于ResUNet[13]神經(jīng)網(wǎng)絡(luò)的炮孔留痕檢測算法,算法分為分割和定位兩個階段,如圖1所示。首先,在隧道爆破出渣后,采集開挖面硐壁圍巖圖像,利用Labelme軟件人工標注炮孔留痕位置,并構(gòu)建訓(xùn)練數(shù)據(jù)集;其次,使用訓(xùn)練集多次訓(xùn)練與驗證ResUNet網(wǎng)絡(luò),反復(fù)試驗網(wǎng)絡(luò)超參數(shù),最后保存精度最高的神經(jīng)網(wǎng)絡(luò)模型;最后,運用模型對測試圖像進行推理,獲得炮孔留痕的二值圖像;最后基于二值圖像各連通域的幾何信息篩選目標,獲得炮孔留痕的精確空間定位。
圖1 基于ResUNet的圍巖圖像炮孔留痕檢測流程
ResUNet[13]深度卷積神經(jīng)網(wǎng)絡(luò)是檢測算法的核心環(huán)節(jié)。如圖2所示,神經(jīng)網(wǎng)絡(luò)輸入圍巖RGB圖像,輸出標示著炮孔留痕位置的二值圖像。ResUNet神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)同時結(jié)合了U-Net[14]的“編碼器-解碼器”設(shè)計與殘差模塊設(shè)計[15],因此可以適應(yīng)特定環(huán)境下的炮孔留痕檢測。
(1) 編解碼器結(jié)構(gòu)。編解碼器結(jié)構(gòu),也稱為U形結(jié)構(gòu)[14],是用于圖像語義分割任務(wù)的特殊神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。如圖2所示,ResUNet網(wǎng)絡(luò)左側(cè)的“編碼器”與右側(cè)的“解碼器”共同構(gòu)成了一個對稱結(jié)構(gòu)。其中,“編碼器”由一系列級聯(lián)的3×3卷積層構(gòu)成,對輸入圖像進行下采樣處理,并逐層提取圖像中的高級特征,輸出小尺寸的特征張量。隨后,右側(cè)的“解碼器”部分對特征張量進行多次上采樣處理,最終獲得與原圖像相同尺寸的二值圖像,此圖像即為檢測結(jié)果[14]。與此同時,在編解碼器之間存在多條捷徑連接,使得網(wǎng)絡(luò)中處于不同深度的特征信息得以融合,以提高神經(jīng)網(wǎng)絡(luò)的多尺度識別精度[14]。
圖2 ResUNet網(wǎng)絡(luò)結(jié)構(gòu)[13]
(2) 殘差模塊。ResUNet中的殘差模塊設(shè)計如圖3所示,通過不同深度層之間的殘差連接,而不是連續(xù)的長連接,避免了在深度網(wǎng)絡(luò)帶來的梯度彌散問題,減小了神經(jīng)網(wǎng)絡(luò)的參數(shù)總量,并加快訓(xùn)練收斂的速度[15]。
圖3 ResUNet中的殘差模塊,其中BN操作表示批量歸一化操作
如圖,在ResUNet網(wǎng)絡(luò)中,一個殘差模塊被定義為本體映射和殘差映射的和:
yl=F(xl)+xl
(1)
其中:yl表示該殘差塊的輸出;xl表示殘差塊輸入。根據(jù)神經(jīng)網(wǎng)絡(luò)反向傳播運算的鏈式法則,在ResUNet中,神經(jīng)元的求導(dǎo)結(jié)果為:
(2)
其中,Loss表示損失函數(shù)。而在常規(guī)神經(jīng)網(wǎng)絡(luò)中,神經(jīng)元的求導(dǎo)結(jié)果為:
(3)
其中:Wi表示每一層的神經(jīng)元權(quán)重。通過比較式(2)與式(3)可知,ResUNet中的神經(jīng)元的求導(dǎo)結(jié)果不會因為累乘Wi而出現(xiàn)彌散或爆炸,保證網(wǎng)絡(luò)收斂速度[15]。
(3) 損失函數(shù)。損失函數(shù)是深度神經(jīng)網(wǎng)絡(luò)優(yōu)化過程中的目標函數(shù),通常至少包含一個指標,用于表征模型預(yù)測結(jié)果與真值間的差異程度。這樣,神經(jīng)網(wǎng)絡(luò)在訓(xùn)練迭代中可以漸進式地優(yōu)化模型參數(shù),使得輸出結(jié)果不斷逼近真值,達到準確識別目標的目的。
根據(jù)實驗需求,神經(jīng)網(wǎng)絡(luò)模型的損失函數(shù)被設(shè)計為交叉熵Lcre與Dice系數(shù)損失函數(shù)Ldice[16]的帶權(quán)和:
Loss=λ·Lcre+(1-λ)Ldice
(4)
其中:λ表示權(quán)值,在實驗中取值為0.5。交叉熵Lcre在二分類任務(wù)中定義為:
(5)
其中:yi表示樣本i的標簽值;pi表示樣本i預(yù)測結(jié)果為正例的概率。
另一方面,由于炮孔痕跡在圖像中的面積占比極小,約為3%左右,與巖體背景的面積占比(約97%)相差懸殊,會引起嚴重的樣本不平衡問題,影響模型收斂效果。因此,在損失函數(shù)中引入了Dice系數(shù)損失Ldice[16],該指標度量了真正例與正例和假反例兩者之和的比值:
(6)
其中:T表示訓(xùn)練樣本中真正例、假正例的集合;P表示訓(xùn)練樣本中假反例、真正例的集合。
由于圍巖圖像中的干擾物眾多,分割結(jié)果存在一定的誤檢。為了準確統(tǒng)計炮孔留痕數(shù)量及位置,本文借助OpenCV圖像處理庫獲得疑似對象的面積與最小外界矩形,并基于上述信息篩選對象。
首先,基于二值圖像閉運算連接斷開的炮孔痕跡,本實驗選擇50×50的矩形核作為結(jié)構(gòu)元素。在閉運算操作完成后根據(jù)面積大小篩選炮孔痕跡目標。令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時,標記該連通域為炮孔痕跡。 為了驗證算法的應(yīng)用優(yōu)勢,本文除了測試神經(jīng)網(wǎng)絡(luò)在訓(xùn)練圖像上的預(yù)測精度外,還設(shè)計了一套基于傳統(tǒng)數(shù)字圖像處理技術(shù)的炮孔痕跡檢測算法作為對照。 在預(yù)處理階段,該算法首先對圖像進行對比度增強處理。隨后,基于鄰差直方圖閾值分割法[17]分割圖像,該算法引入了指標S(x,y)用于衡量某個特定像素點與其領(lǐng)域像素點的差異程度: S(x,y)=∑pj(x,y)∈W(x,y) (11) 其中:p(x,y)表示中心像素點;W(x,y)表示八領(lǐng)域pj(x,y)的集合。那么,對于灰度為i的所有像素點的集合M(i),定義: A(i)=∑p(x,y)∈M(i)S(x,y) (12) 因此最佳灰度閾值T可以表示為: T=argmaxiA(i) (13) 在后處理環(huán)節(jié)的算法流程與前文所述相同。 (1) 圖像采集與標注。本實驗的數(shù)據(jù)集包含105張大小為6 000×4 000像素的24位RGB圖像,圖像采集地點為杭州第二繞城高速六弓山隧道與文泰高速文成段金垟隧道,兩者均為在建的特長隧道。在隧道爆破、排險、出渣后,技術(shù)人員進入隧道,檢查開挖后的地質(zhì)狀況,并手持數(shù)碼相機(佳能EOS80D)盡可能垂直于硐壁表面拍攝圍巖圖像。 隨后,使用深度學習標注工具Labelme人工完成數(shù)據(jù)標注,利用直線段元素沿炮孔留痕的對稱軸標注,如圖4所示。在標注過程中不考慮留痕的實際寬度,并將線寬統(tǒng)一設(shè)置為10像素。最后,按照1∶9的比例將數(shù)據(jù)集分割為測試集與訓(xùn)練集。 (2) 數(shù)據(jù)增強。為了擴充訓(xùn)練集大小,防止神經(jīng)網(wǎng)絡(luò)模型的過擬合效應(yīng)。本文首先以0.50、0.75、1.25的倍率分別對數(shù)據(jù)集進行金字塔縮放,隨后以512×512的滑動窗口在原始圖像上隨機截取圖像塊。最后采用隨機亮度、對比度、飽和度變化以及鏡像操作再次擴充數(shù)據(jù)規(guī)模。 經(jīng)過多種數(shù)據(jù)增強處理,最終獲得了約20 000張大小為512×512的訓(xùn)練圖像,如圖4所示,在最終的訓(xùn)練集中存在炮孔痕跡的圖像占比約為47.3%。 圖4 滑動窗口法與數(shù)據(jù)標注示意 本文基于Tensorflow深度學習框架開發(fā)ResUNet卷積神經(jīng)網(wǎng)絡(luò),使用Adam優(yōu)化器作為參數(shù)優(yōu)化算法,學習率為10-4。訓(xùn)練過程采用小批量隨機梯度下降策略,每次迭代時的批量數(shù)為16,共經(jīng)歷了100 000輪迭代,此時網(wǎng)絡(luò)的損失函數(shù)逐漸穩(wěn)定,網(wǎng)絡(luò)模型趨于收斂,訓(xùn)練結(jié)束。 整個訓(xùn)練過程耗時約為10 h,最終網(wǎng)絡(luò)模型在測試集上的像素精度為99.19%,這表明圖像中約99%的面積都實現(xiàn)了正確的檢測。 本文選用兩項指標,像素精度(PA)與均交并比(mIoU)用于衡量算法識別精度。如表1所示,在11張圍巖圖像測試用例中,傳統(tǒng)閾值分割法的平均PA為91.82%,平均mIoU為60.84%,這說明傳統(tǒng)閾值分割法的檢測結(jié)果中存在大量假正例與假反例,會嚴重干擾炮孔留痕率計算的準確性。同時,本文提出的ResUNet法的平均PA為99.23%,平均mIoU為87.74%,在兩項精度指標上均大幅優(yōu)于傳統(tǒng)閾值分割法,能夠為圍巖炮孔留痕率計算提供可靠依據(jù)。 根據(jù)圍巖圖像中干擾因素的類別,我們將11張測試圖像分為三類,以比較算法的魯棒性表現(xiàn),具體如表1所示。其中,第一類圖像為巖體表面陰影干擾;第二類圖像為巖體節(jié)理裂隙干擾;第三類圖像為成像質(zhì)量差、炮孔痕跡不明顯等問題。 如圖5所示,在第一類圖像中,由于爆破后的巖體表面形狀極為不規(guī)則,加之現(xiàn)場光照條件不理想,在圖像中形成很多索條狀陰影,這些陰影的顏色、形狀與炮孔痕跡極為類似。而傳統(tǒng)閾值分割法只依賴于亮度區(qū)分對象,因此在輸出結(jié)果中包含約三分之一的假正例,如圖5(c)所示。在ResUNet法的輸出結(jié)果中,除少量炮孔痕跡不連續(xù)外,大部分對象的檢測結(jié)果均正確,能夠滿足炮孔痕跡個數(shù)統(tǒng)計與炮孔留痕率計算的要求,如圖5(d)所示。 表1 傳統(tǒng)數(shù)字圖像處理法與本文方法對比 圖5 第一類圖像(#2) 如圖6所示,在第二類圍巖圖像中,巖體表面的節(jié)理裂隙等目標物的顏色與形狀同樣與炮孔痕跡極為類似。在這一條件下,傳統(tǒng)閾值分割法的結(jié)果中包含約三分之一的假正例,這些假正例無法被后處理算法篩除,給后續(xù)炮孔留痕率計算帶來困難。圖6(d)為本文ResUNet法的檢測結(jié)果,與人工標注的標準結(jié)果基本吻合。 在第三類圖像(見圖7)中,受現(xiàn)場客觀條件的制約,圖像成像模糊,且炮孔留痕不明顯,個別痕跡的顏色與巖體背景幾乎沒有差異。在這一情況下,傳統(tǒng)閾值分割算法直接失效,如圖7(c)所示。而ResUNet法的結(jié)果基本正確,特別是在識別淺色炮孔痕跡方面,具有優(yōu)越的魯棒性。 圖6 第二類圖像(#7) 圖7 第三類圖像(#9) 從以上三類圍巖圖像識別結(jié)果可以看出,傳統(tǒng)閾值分割算法根據(jù)圖像的灰度特性識別目標具有一定的局限性,例如無法分辨陰影、節(jié)理裂隙等干擾因素,使得檢測結(jié)果中假正例偏多,而且無法通過后處理算法篩除,嚴重影響算法的識別精度。另一方面,受圍巖表面紋理的影響,閾值分割法所獲得的連通域邊緣更為粗糙,不利于統(tǒng)計炮孔留痕面積與長度信息。 基于深度學習理論開發(fā)的ResUNet算法,由多層堆疊的卷積層組成。經(jīng)過反復(fù)迭代訓(xùn)練,網(wǎng)絡(luò)中的卷積層能自動提取并學習圖像中的高級圖形特征,例如邊緣、紋理、形態(tài)等,因而能夠排除陰影、節(jié)理裂隙等目標物的干擾,使得算法具有較強的泛化能力和魯棒性,能夠顯著降低錯檢率。 為了高效、高精度評估隧道光面爆破后的炮孔留痕率,提升隧道施工質(zhì)量檢查效率,本文在分析隧道圍巖圖像識別技術(shù)難點的基礎(chǔ)上,基于深度學習理論開展了隧道圍巖炮孔留痕識別研究,并從識別精度、魯棒性兩方面與傳統(tǒng)閾值分割算法進行對比分析,取得主要結(jié)論如下: (1) 圍巖紋理干擾、光照不均衡、圍巖節(jié)理裂隙干擾、炮孔留痕不明顯是影響識別精度的主要因素。傳統(tǒng)的閾值分割算法只依賴于圖像灰度信息,無法分辨上述干擾因素,導(dǎo)致結(jié)果中存在大量假正例,嚴重影響識別精度。 (2) 基于ResUNet網(wǎng)絡(luò)的炮孔痕跡識別算法以人工標記結(jié)果為基準,能夠自適應(yīng)地訓(xùn)練和優(yōu)化模型參數(shù)并提取高級圖像特征,因此能夠排除陰影、節(jié)理裂隙等與炮孔留痕相近的干擾因素,在魯棒性上優(yōu)于傳統(tǒng)算法。 (3) 在圖像識別精度方面,本文方法的像素精度為99.23%,均交并比為87.74%,大大優(yōu)于傳統(tǒng)閾值分割法,能夠滿足工程上識別圍巖炮孔留痕率的需要。同時,本文的研究成果也為未來綜合量化評估隧道圍巖爆破質(zhì)量,實現(xiàn)精細化爆破參數(shù)控制奠定了技術(shù)基礎(chǔ)。2 對比實驗
2.1 實驗設(shè)計
2.2 數(shù)據(jù)集構(gòu)建
2.3 網(wǎng)絡(luò)訓(xùn)練
3 實驗結(jié)果與分析
3.1 識別精度對比
3.2 魯棒性對比
4 結(jié) 論