吳俊豪,李 琛,王 蓉,劉文黎,周星宇
(華中科技大學 土木工程與力學學院,湖北 武漢 430074)
排水管道作為城市的生命線工程,關系著城市防澇[1]、水體黑臭整治[2]、城市水循環(huán)[3]等重要領域的健康安全運轉(zhuǎn)。然而,目前由于管道的階段化建設,周邊施工誘發(fā)管道遷移,管道老化、破損、變形等病害的影響,導致管道信息不全面、不完備、不準確,從而給管網(wǎng)的運維管理帶來不便。因此,如何準確高效地探明城市既有地下排水管網(wǎng)情況,對城市的管網(wǎng)維護有著重大意義。當前,排水管網(wǎng)的現(xiàn)代檢測方式有CCTV檢測[4]、探地雷達檢測[5]、激光檢測[6]、聲吶檢測[7]等。其中,聲吶檢測[8]因為可以實現(xiàn)水下檢測和高穩(wěn)定性的特點,在城市排水管道探測中得到了廣泛應用。但是,由于檢測設備自身振動、管道內(nèi)水流混聲等因素的影響,在管道檢測中利用聲吶技術生成的點云數(shù)據(jù)中往往會不可避免地存在噪聲點,如何高效精確地去除這些噪聲點,是利用聲吶技術進行管道檢測面臨的一大難點。
國內(nèi)外學者一直關注點云去噪技術的發(fā)展,如Ester等提出了基于密度的噪音聚類方法[9],但在進行聚類優(yōu)化時,需要主觀輸入部分關鍵變量;2014年,Rodriguez A和Laio A在《Science》上提出聚類中心的特征是密度高于其臨近代理值,并且與密度較高的點的距離相對較大[10];張玉存等提出基于曲率約束的點云分割去噪方法,通過曲率約束來保持模型特征[11];程一峰和劉增力采用稀疏貝葉斯學習對圖像信號進行預處理,結合Bartlett檢驗法裁剪掉噪聲原子[12];章曼等提出了一種基于自適應可達距離的密度峰值聚類算法(ARD-DPC),利用非參數(shù)核密度估計方法計算點局部密度,避免了截斷距離的主觀選取[13]。總體來說,目前的研究主要聚焦于從數(shù)理方面改進噪聲聚類優(yōu)化算法,缺少結合實際工程背景和聲吶點云特點,給出適用于特定領域,如聚焦城市排水管道的點云去噪聚類優(yōu)化方法等方面的研究。
為了更精準地去除基于聲吶技術生成的排水管道點云模型中的噪聲點,同時有效保留管道內(nèi)壁和淤積線的點云特征,本文提出將密度聚類優(yōu)化算法(density clustering optimization algorithm, DBSCAN)和類圓外切線斜率擬合相結合的方式進行點云去噪。首先針對管壁環(huán)狀的特征,確定合適的全局鄰域半徑和Min Pts個數(shù),通過密度聚類優(yōu)化算法識別核心對象和密度相連點,有效排除噪聲對象,得到去噪后的管道內(nèi)壁掃描點和淤泥掃描點;其次,在處理后的點云數(shù)據(jù)基礎上,采用類圓外切線斜率擬合的方式,提高管道內(nèi)部特征點云數(shù)據(jù)擬合的效率和識別精度,得到精確的管道內(nèi)壁和淤積淤泥擬合曲線;最后以武漢市某排水管道為工程案例,分析了DBSCAN密度算法和斜率擬合方法的應用效果。
聲吶檢測過程中,由于排水管道內(nèi)水流混聲和聲吶檢測設備自身的振動等多因素的影響,導致聲吶點云掃描結果噪聲嚴重、邊緣惡化,不易識別出管道內(nèi)壁和淤泥淤積線。因此,為提高聲吶掃描數(shù)據(jù)處理的效率和準確度,首先需要在現(xiàn)有聲吶檢測技術基礎上,通過對掃描點云結果的去噪優(yōu)化,在保留管道內(nèi)壁特征同時,去除噪音點,得到優(yōu)化后的點云數(shù)據(jù);其次,通過類圓截面擬合算法,擬合出排水管道的內(nèi)壁曲線;最后,結合管壁和點云掃描特征,得到淤泥淤積曲線。
DBSCAN算法作為一種經(jīng)典密度算法,基于點云密度對數(shù)據(jù)進行處理,避免了需要人工設定聚類簇的數(shù)量,可以在有噪聲的數(shù)據(jù)庫中有效識別任意形狀的簇。其算法的核心步驟在于尋找核心點,通過將尋找到的相鄰核心點連成一片,從而得到所需要的簇。
為理解DBSCAN算法,有幾個基本定義[14]:
(1) 鄰域(Eps):指在數(shù)據(jù)集范圍內(nèi),以每個數(shù)據(jù)點為圓心所形成的半徑為ε的圓圈區(qū)域,對于任意數(shù)據(jù)點xi落于圓圈范圍內(nèi),則稱xi屬于該Eps。
(2) 密度值:落在數(shù)據(jù)集內(nèi)任意數(shù)據(jù)點xi既定半徑ε鄰域范圍內(nèi)的數(shù)據(jù)點個數(shù)稱為該點的密度值。其中,可以人為選定密度閾值(MinPts)作為核心點判別標準,如果數(shù)據(jù)點xi密度大于等于密度閾值,則判定該點為核心點。
(3) 邊緣點:當數(shù)據(jù)點密度小于密度閾值,但位于核心點鄰域范圍內(nèi)時,則稱該點為邊緣點。
(4) 噪聲點:若數(shù)據(jù)點密度小于密度閾值,且該點不處于任意核心點鄰域范圍內(nèi)時,記該點為噪聲點。
(5) 直接密度可達:對于核心點x1和任意數(shù)據(jù)點x2,數(shù)據(jù)點x2位于核心點x1鄰域范圍內(nèi),則稱點x1和點x2直接密度可達。
(6) 密度可達:對于數(shù)據(jù)集內(nèi)數(shù)據(jù)點x1,x2,…,xn,其中n≥2,滿足xi到xi+1直接密度可達,則稱數(shù)據(jù)點x1,x2,…,xn密度可達,顯然,數(shù)據(jù)點x1,x2,…,xn-1都必須是核心點。
(7) 密度相連:如果數(shù)據(jù)集內(nèi)存在數(shù)據(jù)點xx到數(shù)據(jù)點xy和xz都是密度可達的,則稱數(shù)據(jù)點xy和xz密度相連,可以看出,該性質(zhì)具有對稱性,既點xy和xz密度相連等價于點xz和xy密度相連。
DBSCAN算法的詳細流程如圖1所示。
圖1 DBSCAN算法流程Fig.1 DBSCAN algorithm process
在算法的實際應用過程中,通過設定鄰域(Eps)和密度閾值(MinPts),尋找出數(shù)據(jù)集中的核心點,選定任意核心點xi為起點,通過將直接密度可達的核心點連接起來,同時將邊緣點連接至最近的核心點上,直至所有密度相連的點都連接起來,形成所需要的簇,實現(xiàn)聚類,同時識別噪聲點。
在性質(zhì)上,同一個簇內(nèi)的點必定是密度相連的,且簇內(nèi)點的任意密度可達點必定屬于該簇。
由微分定義可知,當平面內(nèi)兩點之間相距距離極近時,斜率與微分近似相等。因此,對于圓截面來說,可以將圓面上點的切線斜率近似等價于該點的微分。
(x-a)2+(y-b)2=r2
(1)
(2)
圖2 標準圓面上點切線斜率變化趨勢Fig.2 The slope change of the outer tangent of a standard circle
其中,式(1)為圓的標準方程,式(2)為圓的斜率方程,根據(jù)圓的切線斜率方程性質(zhì)可以知道,當設定圓心為原點時,圓上點切線斜率變化與圓的半徑無關,且圓斜率呈連續(xù)變化趨勢,如圖2所示。因此,通過計算相臨近點云之間的斜率變化趨勢是否與圓斜率變化趨勢相匹配,可以篩選出位于圓截面上的掃描點云點。
為表述方便,定義正圓面上點與圓心連線和y軸夾角、橢圓面上點與原點連線同y軸夾角統(tǒng)稱為圓心偏向角。
由圖3可以看出,當為正圓面時,圓上一點A切線的斜率k與圓心偏向角tanθ1數(shù)值相等,而根據(jù)兩條相互平行線之間內(nèi)錯角相等原理,tanθ1的值可由對應兩條邊的長度比值得到,即有如下等式:
(3)
圖3 圓外切線計算原理圖Fig.3 The calculation principle of the outer tangent to the circle
針對橢圓面,由于橢圓上一點的切線斜率與該點和原點之間連線斜率乘積為定值,即:
(4)
(5)
其中,式(4)為橢圓標準方程,式(5)為橢圓面上一點的切線斜率與該點和原點之間連線斜率的乘積定值計算公式,顯然橢圓上一點的切線斜率與該點和原點之間連線斜率成反比例關系,即與圓心偏向角斜率呈線性關系。當需要擬合的截面為橢圓時,同一象限內(nèi)相鄰點云點的斜率變化僅與橢圓長短軸相關,具有連續(xù)變化趨勢。在實際應用中,通過迭代確定橢圓長短軸長度范圍,可以得到較好的擬合效果。
結合圖2和圖3可知,當以x軸為起始線逆時針選點進行斜率計算時,位于圓面上的點云點之間斜率變化趨勢符合tanθ曲線。在實際應用場景中,雖然不能確定管道圓心的坐標,但通過選取點云的均值中心點作為假設圓心O1,其第一和第二象限上的逆時針相鄰點云點間斜率仍呈單調(diào)遞增趨勢。選定假設圓心,計算固定角度θ范圍內(nèi)點云之間的最小斜率,minkθn>minkθ2>minkθ1>tanθi,通過增大θi的值,最終能篩選出合適的擬合圓截面。
當然,為減少計算量,根據(jù)圓切線斜率連續(xù)變化性質(zhì),且圓上相鄰兩點之間的歐氏距離必定最小,可以選擇位于同一鄰域內(nèi)的直接密度可達點之間進行斜率計算。在已知兩點坐標的情況下,通過代入斜率計算公式,算出兩點之間的斜率,再代入圓切線斜率變化方程進行迭代計算。圖4為圓外切線斜率擬合流程圖。
圖4 圓外切線斜率擬合流程圖Fig.4 The process of fitting the slope of the tangent to the circle
本文研究對象為排水管道,其標準制式為圓柱體,因此,對排水管道內(nèi)壁進行擬合時需要得到的聚類簇可以視作圓面。
根據(jù)最小二乘法和中垂線定理推論可知,至少3點能夠確定一個圓面,當圓面上的確定點越多,擬合效果越好。為保證排水管道內(nèi)壁的擬合效果,需要盡可能準確地找到位于管道內(nèi)壁同一截面上的點。因此,通過采用DBSCAN密度算法,對聲吶掃描得到的點云數(shù)據(jù)進行聚類優(yōu)化,去除原始點云數(shù)據(jù)中的噪聲點。之后,在去噪處理初篩后的數(shù)據(jù)基礎上,利用圓面外切線斜率擬合的方式,盡可能找出更多圓面上的點,得出最終的類圓擬合曲線。此外,由于管道內(nèi)部存在淤泥,在實際數(shù)據(jù)處理過程中還需要識別出淤積線。
DBSCAN算法在計算過程中需要自主設定鄰域半徑和密度閾值(MinPts)。為得到最優(yōu)的計算結果,通過計算數(shù)據(jù)點之間的歐式距離,由大到小排序并繪制曲線,選擇曲線上臨近中段部分梯度最大點的歐式距離作為鄰域半徑。因為由梯度定義可知,該點兩側的點云歐式距離變化幅度最大,選定該點數(shù)值能兼顧去噪效率和精確度。在確定了鄰域半徑的基礎上,試運行程序得到每個數(shù)據(jù)點的密度值,將全部密度值的算術平均值作為密度閾值(MinPts)。
(6)
Pi為數(shù)據(jù)點i的密度值。在數(shù)據(jù)去噪結果基礎上,通過圓外切線斜率擬合方式,確定排水管道內(nèi)壁截面上的點,之后,通過類圓曲線進行光順處理。
具體流程如下:(1) 多次試驗確定密度算法的鄰域半徑和密度閾值(MinPts);(2) 基于密度算法,去除截面點云數(shù)據(jù)中的噪聲點,得到排水管道內(nèi)壁數(shù)據(jù)核心點和淤積曲線數(shù)據(jù)核心點;(3) 通過圓外切線斜率擬合算法,在全部核心點的基礎上識別出管道壁上的核心點;(4) 設定半徑線性變化的圓截面去網(wǎng)羅數(shù)據(jù)點,所包含數(shù)據(jù)點最多的圓面即為最終擬合管道內(nèi)壁;(5) 在得到排水管道內(nèi)壁截面的基礎上,針對DBSCAN算法所發(fā)現(xiàn)的非噪聲點,其中單獨聚類且斜率變化相對平緩的數(shù)據(jù)集點即為擬合出來的淤積線。
為驗證算法的實用性,本文以武漢市某排水管道為工程案例,進行實地探測。由于本文主要探究聲吶點云去噪和排水管道內(nèi)部情況截面擬合問題,管道本身的連接性質(zhì)并非顯著影響因素,為簡化實地檢測過程,故選取直線布置的城市支干管道作為試驗場地,相鄰管道的設計直徑保持一致。
管道的空間布局和井口布置如圖5所示,在實地測量過程,通過搭載有HLD-S1型號聲吶機器人進行管道掃描,共得到98萬個點云數(shù)據(jù)。
圖5 武漢市某排水管道布置示意圖Fig.5 Schematic diagram of a drainage pipeline layout in Wuhan
圖6(a)為其中一個截面聲吶掃描點的原始數(shù)據(jù)二維呈現(xiàn)??梢钥闯?,初始掃描點云圖除了管道壁和淤積線以外,還存在有大量噪音點,影響管道內(nèi)壁和淤積線的最終擬合效果。
圖6 聲吶掃描點截面數(shù)據(jù)Fig.6 Sectional data of sonar scanning points
由于噪聲的發(fā)生具有瞬時性[15],有理由相信,當多次掃描同一截面時,反復出現(xiàn)的信號點即為管壁點或者淤積點。所以,為減少數(shù)據(jù)處理量,通過聲吶自帶的信號值強度檢測,可以初步篩選出描述管道內(nèi)部特征的點云點。
將初篩后的聲吶掃描點二維坐標數(shù)據(jù)代入設定好初始鄰域半徑(ε0=0.04)和密度閾值(MinPts0=10)的DBSCAN算法,可以有效識別出點云中密度值符合要求的核心點,刪除掉噪聲點后,根據(jù)剩余全部點云點的均值中心點劃分出4個象限的排水管道內(nèi)壁和淤泥點云二維呈現(xiàn)如圖6(b)所示。
根據(jù)圓外切線斜率擬合算法,固定角度為10°,可以將全部點云數(shù)據(jù)劃分為36個部分,如圖7(a),其中每個部分范圍內(nèi)求取臨近角度兩兩核心點之間的斜率,可以得到范圍內(nèi)核心點的斜率值。
根據(jù)計算得到的斜率結果,以對應角度作為橫坐標,斜率取值作為縱坐標,可以繪制出每個核心點在坐標軸范圍內(nèi)的空間位置,通過與標準圓的斜率變化進行比較,可以篩選出位于圓面上的點。由于存在斜率值過大的離散核心點,為更好地比較效果,圖7(b)將y軸值范圍限制在[-20,20]之間。
圖7 斜率擬合算法過程示意圖Fig.7 Schematic diagram of the slope fitting algorithm process
結合圓外切線斜率擬合原理篩選后得到的圓面上核心點,用圓的極坐標方程去擬合相關點,根據(jù)最小二乘法原理,圓方程需滿足盡可能多的核心點位于圓面上。如圖8,通過迭代計算得出圓極坐標相關參數(shù)值,從而繪制出擬合圓截面,
x=x0+ρcosθ
(7)
y=y0+ρsinθ
(8)
圖8 排水管道壁擬合示意圖Fig.8 Fitting diagram of the inner wall
圖9為光順處理過后的最終結果,從圖中可以明顯看出管道內(nèi)壁輪廓和淤泥的淤積曲線,相較于圖6(a),已經(jīng)完全處理了聲吶掃描過程中形成的噪音點,并且通過圓外切線斜率擬合的形式,在保留原始掃描管道內(nèi)壁特征的同時,得到了管道的內(nèi)壁截面和淤積曲線圖,驗證了文中方法的實用性。
圖9 管道內(nèi)壁和淤積擬合曲線Fig.9 Fitting curve of pipeline inner wall and siltation
為驗證文中方法的精度可靠性,需要對擬合圓心C和半徑R進行估計[16]。由于管道空間位置的不變性,本文僅就半徑擬合值進行對比分析。通過對比另外3種常見聚類算法聚類得到的半徑擬合結果,如表1所示。
表1 常見聚類算法聚類結果指標對比Tab.1 Comparison of common clustering algorithm result indicators m
(9)
(10)
(11)
(12)
本文以武漢市某排水管道為例進行分析,考慮管道內(nèi)水流混聲、檢測設備自身振動等多因素影響,基于現(xiàn)場聲吶掃描采集的98萬個點云坐標進行數(shù)據(jù)去噪和管道特征提取。在采用密度聚類優(yōu)化算法進行點云數(shù)據(jù)初篩的基礎上,提出圓外切線斜率擬合算法,相較于單一聚類算法能夠更有效識別出排水管道內(nèi)壁界限和淤積線,所得結論如下:
(1) 本文所提方法在保留管道原始特征的同時,去除了點云數(shù)據(jù)中所包含的大量噪聲點,并得出最終的排水管道內(nèi)壁界限和淤泥淤積擬合曲線。
(2) 通過分段圓外切線斜率擬合方式,可以有效識別出排水管道內(nèi)壁特征,避免多元擬合所帶來的管壁局部信息缺失問題。
(3) 試驗結果表明,相比于用原始數(shù)據(jù)直接進行密度擬合,本文提出的方法有效提高了擬合的精度,擬合結果更加穩(wěn)定。
由于聲吶在掃描過程中不能保證呈直線運動,如何實現(xiàn)變化圓心點的管道內(nèi)壁掃描截面拼接,從而得到整段排水管道的三維模型,將是下一步的研究重點。