周振建, 陳 饋, 高會中, 褚長海, 張合沛, 任穎瑩
(1. 盾構(gòu)及掘進技術(shù)國家重點實驗室, 河南 鄭州 450001; 2. 中鐵隧道局集團有限公司, 廣東 廣州 511458)
全斷面隧道掘進機在高鐵、地鐵、水利工程等建設領(lǐng)域中應用廣泛。目前,我國的全斷面隧道掘進機施工還處于人工經(jīng)驗控制階段,掘進操作依賴于主司機的個人經(jīng)驗。為提高施工安全及質(zhì)量,避免人為失誤,借助神經(jīng)網(wǎng)絡、隨機森林、K-means等機器學習算法來實現(xiàn)全斷面隧道掘進機智能化施工已成為新的趨勢。機器學習算法需要足夠數(shù)量的機器數(shù)據(jù)和環(huán)境數(shù)據(jù),機器數(shù)據(jù)可通過全斷面隧道掘進機的傳感器采集,實現(xiàn)自動傳輸、自動收集儲存; 而環(huán)境數(shù)據(jù)(主要為地質(zhì)數(shù)據(jù))尚需人工處理,不僅效率低,而且數(shù)據(jù)密度低、錯誤率高、數(shù)據(jù)不全面。如何取得滿足要求的地質(zhì)數(shù)據(jù),是全斷面隧道掘進機智能化施工技術(shù)研究所面臨的一個問題。
地質(zhì)數(shù)據(jù)種類繁多、形式多樣,具有多元(源)、異構(gòu)、時空性、相關(guān)性、隨機性、模糊性和非線性等特征,地質(zhì)數(shù)據(jù)形式又包括文檔、圖片、表格等[1],都是離散數(shù)據(jù),在精度、分辨率、數(shù)量、質(zhì)量等方面存在較大差異[2],需要采用適合且有效的方法來處理,以此來獲得具有較高使用價值的地質(zhì)數(shù)據(jù)[3]。國內(nèi)外學者結(jié)合各自領(lǐng)域,對地質(zhì)數(shù)據(jù)的處理分析進行了大量的研究。吳志春等[4]運用等高線數(shù)據(jù)構(gòu)建數(shù)字模型,通過約束及離散光滑插值技術(shù)實現(xiàn)了地表地質(zhì)數(shù)據(jù)和地下地質(zhì)數(shù)據(jù)的融合;唐丙寅等[5]提出了一種基于鉆孔的點—線—面—體快速遞進三維地質(zhì)建模方法,再利用BSP矢量剪切技術(shù),形成三維地質(zhì)模型; 陳宇龍等[6]利用地質(zhì)信息數(shù)據(jù)庫系統(tǒng),開發(fā)了鉆孔柱狀圖的自動成圖系統(tǒng); 陳蜀等[7]在Excel 中運用VBA進行編程,實現(xiàn)海量地質(zhì)數(shù)據(jù)的提取與處理,提高了數(shù)據(jù)處理的效率與質(zhì)量; 王大志等[8]基于AutoCAD的二次開發(fā)技術(shù),以測量數(shù)據(jù)和地質(zhì)鉆孔數(shù)據(jù)為基礎,建立工程地質(zhì)三維模型,不僅能真實反映地質(zhì)環(huán)境,還能提高設計工作效率。但目前地質(zhì)數(shù)據(jù)處理分析技術(shù)大多以地質(zhì)研究及工程設計為目的,對于工程施工技術(shù)研究所需地質(zhì)數(shù)據(jù)的處理分析技術(shù)較少。本文提出一種將多源地質(zhì)信息進行數(shù)據(jù)化轉(zhuǎn)換的方法,采用VBA(visual basic for applications)編程操作AutoCAD、Microsoft Excel以及SQLite數(shù)據(jù)庫[9],實現(xiàn)地質(zhì)信息的高效準確數(shù)據(jù)化轉(zhuǎn)換,解決現(xiàn)有地質(zhì)勘察報告中圖、表、文字描述等地質(zhì)信息無法直接被機器學習算法辨識的問題。使用該方法轉(zhuǎn)換后的數(shù)據(jù)化地質(zhì)信息,不僅可應用于全斷面隧道掘進機行業(yè)的技術(shù)研究和工程施工,也可應用于樁基工程、資源勘察、礦藏開采工程中的技術(shù)研究,如鉆頭磨損率、開挖效率、開采效率、能效比等,還可應用于地下工程沉降機制等研究,同時也可為地下工程實現(xiàn)智能化、無人化施工提供基礎數(shù)據(jù)。
多源地質(zhì)信息的數(shù)據(jù)化轉(zhuǎn)換方法主要分為5個步驟: 1)地質(zhì)縱斷面矢量圖形處理,保留地層分界線,去除多余圖元,封閉地層區(qū)域; 2)地層區(qū)域填充,將各地層區(qū)域按指定顏色的填充圖案填充; 3)繪制參考線,以全斷面隧道掘進機的實際工況,繪制地層識別的定位參考線; 4)地層識別,以參考線為定位基礎,采用VBA矢量圖形識別技術(shù)辨識地質(zhì)縱斷面圖中隧道穿越的各地層; 5)多源地質(zhì)信息融合,將多源地質(zhì)信息與對應地層進行融合,實現(xiàn)多源地質(zhì)信息的數(shù)據(jù)化轉(zhuǎn)換。
對巖土勘察報告中的CAD地質(zhì)縱斷面矢量圖進行處理是地質(zhì)信息數(shù)據(jù)化轉(zhuǎn)換的基礎。地質(zhì)縱斷面圖包括地質(zhì)柱狀圖及其中各地層的填充圖案、地層推測分界線、地質(zhì)填充圖案圖例、地層代號字符、隧道輪廓線等,除地層分界線和地層編號之外的其他圖元需要清除或隱藏。
地質(zhì)縱斷面矢量圖如圖1所示,圖中的大部分區(qū)域為空白,計算機程序無法直接從這些空白區(qū)域獲取相關(guān)的地質(zhì)信息,需要對這些區(qū)域賦予信息。為不同地層的封閉區(qū)域填充不同顏色的Solid圖案,是一種簡單而有效的方法。
確保填充區(qū)域完全封閉是進行Solide圖案填充的必要條件。多數(shù)情況下,地質(zhì)縱斷面圖中地層區(qū)域并沒有完全封閉,線段間存在一定的間隙,如圖2所示。對于此類情況,以線段X坐標較大的端點(如圖3中線段A1A2中的端點A1)為基點,在給定的范圍內(nèi)(如圖3中的黑色虛線框)選擇其周圍鄰近的線段,并根據(jù)實際給定一個閥值(該閥值應比實際測量的線段間隙稍大),當某線段一端點與基點的距離小于閥值且不為0時(如圖3中,點A1分別與點A3、A5、A7),將該端點移動至基點,使端點相近的線段首尾相接(如圖3中的虛線),同時對移動過的端點進行標記,不再參與后續(xù)的計算,以此減少計算量,提高效率。
圖1 地質(zhì)縱斷面矢量圖(單位: m)
Fig. 1 Vector map of geological longitudinal section (unit: m)
圖2 地層分界線節(jié)點放大圖(單位: m)
圖3 地層分界線節(jié)點連接示意圖
另一種情況是基點與相鄰線段鄰近(即基點到相鄰線段的最小距離小于閥值且不為0),但與線段的兩端點都相距較遠(如圖4基點N與線段QP),此類情況需要將線段延長至相鄰線段上。
將基點移至兩鄰近線段所在直線的交點以連接地層分界線。對于交點的計算,由于已知兩線段的兩端點坐標,通常情況下聯(lián)立兩線段的兩點式方程進行求解得到兩線段所在直線的交點,但是當兩線段的斜率相近時,由于求解過程中的除數(shù)過小,而使計算結(jié)果會有較大的偏差。采用直線的參數(shù)方程進行求解可避免此問題,以圖4中線段PQ和NM為例,過程如下。
圖4 基點與線段臨近示意圖
線段PQ、NM所在直線相交,則有參數(shù)方程[10-11]:
λ×(Q-P)+μ×(N-M)=N-P。
(1)
式中:λ為線段PQ所在直線參數(shù)方程的參數(shù);μ為線段NM所在直線參數(shù)方程的參數(shù)。
式(1)的增廣矩陣[11]可寫為
(2)
式中:A11=Qx-Px;A12=Nx-Mx;A13=Nx-Px;A21=Qy-Py;A22=Ny-My;A23=Ny-Py。
當A11
(3)
(4)
(5)
將μ代入線段NM所在直線的參數(shù)方程,可求得交點J的坐標。
通過程序遍歷各基點進行對應的計算操作,可將地質(zhì)縱斷面圖的所有地層區(qū)域完全封閉。
為每個封閉的地層區(qū)域分配相應的地層編號及顏色,作為地層識別的標簽,并建立一個地層編號與顏色的映射數(shù)據(jù)倉庫,是對地層區(qū)域進行Solid圖案填充的基礎。
本文采用VBA中的SendCommand方法,向AutoCAD發(fā)送命令來進行圖案填充,其代碼為: ThisDrawing.SendCommand "-H" & vbCr & "P" & vbCr & "Solid" & vbCr & Points & vbCr & "co" & vbCr & "t" & vbCr & RGBData & vbCr & "a" & vbCr & "s" & vbCr & "o" & vbCr & vbCr & vbCr。以地層編號圖塊的插入點作為圖案填充的內(nèi)部拾取點,即命令中的Points。填充完成后的效果如圖5所示。
圖5 圖案填充效果
為了給地質(zhì)信息轉(zhuǎn)換提供位置基準,在地質(zhì)縱斷面圖中沿隧道中心線每間隔1 m(間隔可依據(jù)襯砌管片環(huán)寬等實際需要調(diào)整)繪制地質(zhì)轉(zhuǎn)換參考線。參考線應與隧道中心線垂直,因地質(zhì)縱斷面圖的縱坐標比例被放大,在隧道變坡點位置可能會出現(xiàn)參考線相互交叉的情況,如圖6所示參考線1與參考線2相交于上部。
參考線出現(xiàn)相互交叉的問題是在繪制隧道中心線的變坡點時未添加豎曲線造成的,可根據(jù)地質(zhì)縱斷面圖中的豎曲線要素(見圖7)結(jié)合文獻[12-14] 提供的方法自行計算豎曲線的標高。
圖6 參考線相互交叉
圖7 豎曲線要素
根據(jù)計算得到的線數(shù)據(jù)繪制豎曲線。將帶豎曲線的軌面標高線偏移至隧道中心,使用AutoCAD的ArrayPath命令以定數(shù)等分的方式陣列參考線即可,如圖8所示。
圖8 正確參考線
選擇全部參考線進行批量識別整條隧道的地質(zhì)信息,被選擇的參考線在選擇集中的排序是混亂的,需根據(jù)全斷面隧道掘進機的掘進方向進行重排。如掘進方向是從右向左,那么以參考線屬性中StartPoint的X坐標由大到小進行排序;反之,則由小到大進行排序。
參考線排序需將各參考線對象句柄及屬性中StartPoint的X坐標寫入SQLite,再根據(jù)排序的需要,使用Sql語句Select * form TableName Order by X ASC/DESC即可返回排序后的參考線句柄,使用HandleToObject方法分別取得參考線對象,即可按順序進行操作。
地層識別是采用VBA矢量圖形識別技術(shù),獲取各地層區(qū)域填充圖案的顏色,從而取得對應的地層信息。
地質(zhì)信息識別如圖9所示。參考線與各地層分界線的交點之間為同一種地層,通過取得該地層的填充圖案顏色,根據(jù)顏色與地層一一對應的關(guān)系,也就確定了地層,再融合巖土勘察報告中的相關(guān)信息,即可得到詳細的數(shù)據(jù)化地質(zhì)信息。
(a) (b)
圖9 地質(zhì)信息識別示意圖
Fig. 9 Sketch of geological identification
5.2.1 地層分界點識別
以圖9(a)為例說明如何識別在參考線處地層之間的分界點。首先將參考線的起點S和終點E分別沿掘進方向偏移一個微小的距離(通常取0.1 mm)后,得到點S′和點E′。采用VBA的Select By Polygon方法,以四邊形SS′E′E為選擇多邊形,使用ac Selection Set Crossing Polygon選擇模式,通過選擇過濾器只選擇線型對象,即得到所有與參考線相交的地層分界線選擇集。
使用VBA的IntersectWith方法計算參考線與地層分界線選擇集中每個對象的交點,即可得到各地層在參考線處的分界點。由于在AutoCAD中,點是以一個包含X、Y、Z坐標的1×3的數(shù)組來表示的,而當?shù)貙臃纸缇€是LwPolyline或Polyline且與參考線多次相交時,得到的交點將會是一個1×3n的數(shù)組。圖9(a)中黃色Polylinea、b與紅色參考線SE相交于G、H點,所得結(jié)果為一個1×6的數(shù)組,需要按點X、Y、Z坐標對應的3個元素拆分為2組1×3的點坐標數(shù)組。
5.2.2 地層代號識別
由于參考線為非水平直線段,同一參考線處的地層分界點(包括參考線的2個端點S、E)Y坐標值一定不同,因此將地層分界點按照Y坐標由大到小進行排序,那么每2個相鄰的地層分界點(包括參考線2個端點S、E)之間為同一種地層。取得兩地層分界點間的填充圖案顏色,通過顏色與地層的映射關(guān)系,即可識別出相應地層的代號。
本文采用VBA的SelectAtPoint方法來取得兩地層分界點之間的填充圖案對象,該方法需要指定一個基點B(如圖9(a)所示,點B為參考線起點S與地層分界點F之間的基點),如果點B處有其他圖元位于填充圖案之上,則無法取得填充圖案對象。B點坐標計算方法如下。
1)點B處無其他圖元覆蓋填充圖案時:
(6)
(7)
2)點B處有其他圖元覆蓋填充圖案時,使點B在高為0.8×ΔY、寬為0.8×Wn、距離點S為0.1×ΔY、距離參考線SE為0.1×Wn,如圖9(a) 所示紅色半透明區(qū)域內(nèi)移動,且X、Y軸方向每次移動的距離分別為0.1×Wn和0.1×ΔY,點B的坐標可用矩陣表示為:
(8)
Wn=min(|Snx-Sn+1x|,|Enx-En+1x|),n=1、2、…。
(9)
式(9)中當參考線(SE)n為最后一條時,不再需要地質(zhì)識別,式(9)始終正確。
ΔY=|Sny-Fny|。
(10)
式(8—10)中:Wn為第n條參考線與第n+1條參考線之間的最小距離;Snx為沿掘進方向第n條參考線的起點X坐標;Sn+1x為沿掘進方向第n+1條參考線的起點X坐標;Sny為沿掘進方向第n條參考線的起點Y坐標;Enx為沿掘進方向第n條參考線的終點X坐標;En+1x為沿掘進方向第n+1條參考線的終點X坐標; ΔY為同一參考線上兩相鄰地層分界點Y軸距離;Bx為指定基點B的X坐標;By為指定基點B的Y坐標;Fnx為沿掘進方向第n條參考線地層分界點F的X坐標;Fny為沿掘進方向第n條參考線地層分界點F的Y坐標。
5.2.3 地層比例計算
地層在縱向呈層狀分布,變化較大,在水平方向的變化較為平緩。因此,沿隧道橫斷面水平方向的地層可視為無變化,地層橫斷面如圖10所示。地層比例以各地層的面積比來確定。
圖10 隧道地層橫斷面示意圖
由圖10可知,隧道橫斷面各地層形狀主要由弓形和鼓形組成。根據(jù)弓形和鼓形面積計算公式依次計算出各地層面積,最后將識別出的地層代號、地層比例以及對應的位置標記(管片環(huán)號或里程)輸出到Excel中形成地質(zhì)數(shù)據(jù)基礎表。
根據(jù)需要,提取隧道巖土工程勘察報告中各地層相關(guān)數(shù)據(jù),包括地層代號、巖土名稱、塑性、密實度、天然重度、滲透系數(shù)、標貫值等,并將諸如巖石完整性的“完整”、“較完整”等定性描述轉(zhuǎn)換為定量描述(即完整性系數(shù))。
根據(jù)地質(zhì)數(shù)據(jù)基礎表中的地層代號,在地層信息數(shù)據(jù)表搜索對應的數(shù)據(jù),并以文獻[15]中的方法將數(shù)據(jù)寫入地質(zhì)數(shù)據(jù)基礎表,使巖土勘察報告中的圖示信息、文字描述、數(shù)字等多源地質(zhì)信息進行融合,最終生成隧道穿越地層的數(shù)據(jù)化地質(zhì)信息表,機器學習算法程序可直接從該表中讀取數(shù)據(jù)進行計算。
以廣東某隧道為例進行地質(zhì)數(shù)據(jù)化轉(zhuǎn)換測試。對地質(zhì)縱斷面矢量圖中多余圖元進行清除,將各地層封閉區(qū)域填充為相應顏色的Solid圖案,并繪制參考線。處理完成的地質(zhì)縱斷面矢量圖如圖11所示。
圖11 處理完成的地質(zhì)縱斷面矢量圖
Fig. 11 Processing completed geological longitudinal section vector map
提取巖土勘察報告中的地質(zhì)數(shù)據(jù),形成結(jié)構(gòu)化地層數(shù)據(jù)表,見表1。
表1 地層數(shù)據(jù)表(部分)
通過程序識別地質(zhì)縱斷面矢量圖中的各地層,將數(shù)據(jù)輸出,形成地質(zhì)數(shù)據(jù)基礎表后,與地層數(shù)據(jù)表融合,形成新的數(shù)據(jù)化地質(zhì)信息表,見表2。測試共產(chǎn)生記錄5 837條,用時1 min 50 s,無任何錯誤,其效率和準確性是人工無法相比的。實現(xiàn)地質(zhì)信息數(shù)據(jù)化轉(zhuǎn)換的部分程序界面如圖12所示。
表2 數(shù)據(jù)化地質(zhì)信息表(部分)
圖12 程序界面(部分)
1)從全斷面隧道掘進機智能施工技術(shù)研究的需求出發(fā),分析了隧道巖土勘察報告的內(nèi)容,對CAD的自動操作二次開發(fā)進行了一定程度的研究,提出地質(zhì)縱斷面矢量圖的處理和自動識別,重組和構(gòu)造結(jié)構(gòu)化數(shù)據(jù),獲得細致、準確的數(shù)據(jù)化地質(zhì)信息的方法,并詳細闡述了思路,對類似地質(zhì)信息處理具有一定的借鑒意義。
2)采用圖案填充對地質(zhì)縱斷面矢量圖間斷信息進行補充,是一種提高地質(zhì)信息數(shù)據(jù)密度簡單有效的手段。
3)二維的地質(zhì)縱斷面矢量圖不能有效地反映地質(zhì)在隧道橫向上的變化,在將來的研究中,可結(jié)合地質(zhì)鉆孔平面位置與地質(zhì)柱狀圖,采用地質(zhì)三維建模技術(shù)和三維矢量切割技術(shù)進行處理,可提高數(shù)據(jù)化地質(zhì)信息在橫向上的準確性。