岳坤明,周大偉
(200093 上海市 上海理工大學 機械工程學院)
近年來,隨著激光雷達探測技術的不斷發展,其在工程測量領域得到了更為廣泛的應用,基于激光雷達探測技術高效率、高精準度、遠距離、大范圍以及強抗干擾性的獨特優勢[1],在電力線巡檢、文物古跡保護、地形測量[2]、礦區勘探[3]、無人駕駛、逆向工程等多領域發揮著重要作用。
目前在利用激光雷達探測技術測體積的研究方面,孔德明等[4]利用激光掃描儀對列車車廂載貨體進行測量,通過滿載-空載車廂點云獲得載貨點云,進而通過構建Delaunay 三角網利用投影法[5]計算運載煤堆的體積;朱慶等[6]通過Lidar 點云對船舶運載砂石體積的測量,通過改進點云粗配準方法,并通過構建高程數字模型(DEM)[7],利用滿載-空載高程差對船載砂石體積進行測算;胡燕威等[8]通過激光雷達對教室體積的測量,主要通過隱式曲面重建算法構建三維點云的mesh 網格模型,利用網格模型測算體積。
利用激光雷達對貨車載貨體積進行測算,由于掃描場景較為復雜,面臨以下問題,(1)如何架設激光雷達快速獲取整車的點云數據;(2)激光掃描整車及地面的大面積點云,如何快速地對車廂內貨物的點云進行自動提取;(3)如何快速對車廂點云進行自動矯正;(4)如何對體積計算進行優化,提高計算結果的精準度。通過分析并解決以上問題,旨在提高對貨車載貨體積的自動化、精準化測量。
在研究貨車車廂貨物體積測算方案中,選用高精度的三維激光雷達作為測量原件。在進行測量時,當發射的激光束照射到被檢測物表面,通過激光接收系統進行接收,激光內部的計時電路計算發射激光以及接收激光的時間差,通過式(1)計算得到激光雷達與被測物之間的距離 。
每個激光雷達都有一個自身的坐標系,接收反射回來的激光束包含檢測物在當前坐標系的方位信息,通過距離以及方位信息得到被檢測物的位置坐標。激光雷達探測原理如圖1 所示。

圖1 激光探測技術原理圖Fig.1 Schematic diagram of laser detection technology
通過分析激光探測的原理,進而根據式(2)輸出被檢測物在激光雷達坐標系的三維點云數據。
式中:α——激光在XY 平面投影之間的夾角;β——為XY 面投影邊與Y 軸之間夾角。
基于三維點云數據求不規則物理模型體積的計算方法主要分為4 種:(1)凸包法[9]:主要適用于凸包模型,采用正投影法求取體積,對于非凸包模型計算體積誤差較大;(2)切片法[10]:主要將物理模型沿某一坐標系進行切片,計算每一片的面積,通過積分求取模型的體積,計算的精度與切片的厚薄密切相關;(3)模型重建法:通過使用三角片面的方法構建物理模型,計算的精度受點云密度、構建的三角面片數量以及點精度影響較大,容易產生孔洞;(4)投影法:通過對點云進行三角剖分,根據投影點和對應點之間構建五面體,累加五面體的體積即為模型的體積,體積計算精度與三角剖分質量密切相關。
采用第4 種投影法對貨車貨物進行體積計算,首先利用目標區域的自動提取獲得貨物點云,進而對貨物點云進行構建Delaunay 三角網,然后將目標區域處的三角網向車廂底部進行投影,貨物的體積由大量投影得到的五面體組成,投影得到的集合體如圖2 所示。

圖2 投影集合體示意圖Fig.2 Schematic diagram of projection assembly
本文采用的是Livox Mid-70 激光探測傳感器,該傳感器是以高性價比、安全可靠、寬視場、小盲區的獨特優勢,被廣泛應用于機器人、無人駕駛等眾多領域。該款激光探測傳感器最小測量距離為0.05 m,最大為260 m,詳細參數如表1 所示。

表1 Livox Mid-70 詳細參數表Tab.1 Detailed parameters of Livox Mid-70
通過架設6 臺激光探測傳感器進行多站點的數據掃描,以獲得全車的點云數據,因此要求對激光的位置以及傾角進行合理布置。布置激光的原則如下:(1)激光安裝在視野開闊的位置,減少視野中其他物體的干擾。(2)根據車輛的大小范圍確定激光設置的方位,確保可以對多種尺寸的車輛進行掃描。(3)激光安裝在穩定的桁架上,保證儀器的安全以及數據采集的穩定性。
由于架設場地的限制,安裝激光雷達支架的長為18 m,寬為5.2 m,高為5.8 m,livox Mid-70的視場范圍是70.4°的圓錐區域,利用MATLAB 對安裝的傾角以及方位進行模擬仿真,以確保對長達16 m 的掛車也可以進行全車的點云采集。激光雷達安裝仿真模擬示意圖如圖3 所示。

圖3 多站式激光雷達布設圖Fig.3 Layout of multi-station lidar
通過激光雷達掃描獲取到全車的點云數據,獲取到的點云數據較為密集,并且存在噪點及離散點等缺陷,嚴重影響體積計算的準確度,因此需對獲取的點云進行一系列預處理,提高點云后續處理的效率,同時減小體積計算誤差。
通過激光雷達的多站點掃描獲取全車點云數據,需對各站點的點云進行配準,各站點的數據通過坐標系的轉換到單一坐標系下,方便對點云進行后續的處理。坐標系通過旋轉平移矩陣進行空間變換,旋轉平移矩陣由3×3 的旋轉矩陣以及3×1 的平移矩陣組成,坐標系轉換示意圖如圖4 所示。

圖4 激光雷達實物及坐標系轉換示意圖Fig.4 Schematic diagram of physical object and coordinate system conversion of lidar
將激光雷達自身的坐標系O-XYZ 進行空間坐標系變換,變換之后的坐標系為O-XYZ 的水平坐標系。激光安裝的角度位置已確定激光自身坐標系,根據激光自身坐標系以及目標坐標系,可以獲得旋轉平移矩陣,用作精配準的輸入。
通過激光的安裝位置可以確定旋轉平移矩陣,但是由于人工安裝時有較小的安裝誤差,在進行點云拼接時出現點云團疊加或間隙的現象,現利用ICP 算法對點云的坐標系轉換進行修正,確保多站掃描的點云實現精確銜接,提高體積計算的準確性。ICP 算法的核心思想為最近鄰迭代算法,算法的主要步驟如下:
(1)確定目標函數。對于兩個點云中的Np對對應點,求取對應點之間的歐氏距離的最小平方和,即求取的最小值。
(2)尋找對應點。通過設定距離閾值,由安裝時獲得的旋轉平移矩陣的初值去計算2 個點云之間存在的距離,若計算的距離小于設定的距離閾值,則兩者為對應點對。
(3)對旋轉平移矩陣進行優化。通過最小二乘法求解最優的旋轉平移矩陣。優化得到新的R、T,最鄰近點也會發生改變,這時利用迭代的思想返回第2 步進行計算。當R、T 或目標函數的變化量小于設定的閾值時,則將最終的旋轉平移矩陣進行輸出,終止迭代。
坐標系的空間轉換主要是對激光自身坐標系測到的點云進行旋轉平移,通過精配準迭代出的旋轉矩陣R 與平移矩陣T,利用點云坐標變換公式(3)求得點云變換后的新坐標。
式中:Pt,Ps——一對對應點;R——3×3 的矩陣;T——3×1 的平移向量。
采集過程中由于自身硬件以及外界環境影響,采集的點云包含噪點以及離散點,在這里統一稱為冗余點,冗余點對點云計算體積產生很大影響,因此要去除冗余點。通過采用統計濾波,對冗余點進行過濾。
由于激光雷達采集到的點云的密度較大,對點云做處理時占用內存較大,處理效率低,因此采用體素柵格降采樣的方法進行精簡數據,在減少數據量的同時,盡可能保留原數據的明顯特征。體素濾波器是通過對輸入的點云創建三維體素柵格(微小的空間三維立方體),在微小的體素柵格中通過求取每個體素中所有點的重心,以該重心的坐標代表體素內的其他點,以此來達到數據精簡的目的。
在對貨車載貨體積的測量中,主要根據車廂內貨物的點云進行體積測量,由于多站點的激光掃描獲取的是全車的點云數據,因此要設計出針對于貨車車廂內貨物的自動提取算法,以此提高體積測算效率。對目標區域的自動提取主要包括以下步驟:
(1)對大面積點云進行分割,獲取整車的點云。在建立的坐標系下,通過過濾獲得整車的點云,整車點云可視化如圖5(a)所示。
(2)去除車頭的點云,采用歐式聚類算法的點云分割,首先從車的高度1.5 m 高度處進行分割,分割之后形成兩部分不連續的點云,根據點云之間的歐式距離確定點云的分類。設定的閾值小于車頭與車廂之間點云的歐式距離,利用歐式聚類算法分類,占比大的點云類別是車廂點云,則另一部分就是車頭點云,將車頭點云過濾,如圖5(b)所示。

圖5 點云預處理后可視化Fig.5 Visualization after point cloud preprocessing
(3)車廂點云坐標矯正,由于車輛點云采集時停放位置存在角度差別,為方便下一步對點云進行車廂的分割,需要進行車廂點云坐標矯正。利用主成分分析法(PCA),對點云進行主方向的確定,根據主方向與設定的坐標軸之間的夾角,對車廂點云進行旋轉,得到矯正坐標后的車廂點云可視化,如圖5(c)所示。
(4)獲取車廂內貨物點云,校正后的車廂點云對車廂進行過濾,通過遍歷貨物點云,找到貨物點云的邊界,將邊界過濾,最終得到貨物點云可視化,如圖5(d)所示。
點云的前期預處理階段可以獲取到車廂內貨物的點云,但采集到的點云數據存在少量的孔洞,對貨物體積的計算有著一定的影響,因此要對貨物點云進行插補。貨物點云已進行過體素柵格降采樣,通過設定3×3的柵格數據來預測中間柵格的數據,通過遍歷所有柵格的數據,對于沒有數據的柵格的取其周圍3×3 點的平均值代替,實現缺失值插補。點云含有孔洞可視化如圖6 所示。

圖6 貨物點云孔洞示意圖Fig.6 Schematic diagram of cargo point cloud holes
三角剖分在圖形和數值分析領域具有重要意義,Delaunay 三角剖分更是一種被廣泛引用的三角剖分技術。剖分出來的三角形滿足最大最小角以及空外接圓兩大準則。主要表現形式是構建的三角形的外接圓上無其他點集,同時,相鄰的三角形構成的四邊形的對角線互換后,三角形的最小內角不會增大。Delaunay 三角剖分可以使得剖分的三角形更相似于正三角形,并具有唯一性,避免構建出不規則的狹長三角形。
對于構建Delaunay 三角網,采用的是逐點插入法,通過對貨物點云構建超級三角形,將每個點向三角形中插入,通過計算三角形的圓心以及半徑確定點是否在外接圓的右側。在右側為Delaunay 三角形,在外接圓外側不確定,在外接圓內側不為Delaunay 三角形。貨物點云構建Delaunay 三角網示意圖如圖7 所示。

圖7 貨物點云三角剖分圖Fig.7 Triangulation of cargo point cloud
通過構建Delaunay 三角網向車廂地面進行投影,得到大量的五面體集合。五面體主要為似三棱柱,這里棱對其利用“割補”的方法進行體積計算。割補原理圖如圖8 所示。

圖8 似三棱柱分割示意圖Fig.8 Schematic diagram of quasi triangular prism segmentation
假設構建的三角網的三個頂點A、B、C。B 點的高度處于AC 兩點之間,使用過B 點的水平面對上底面進行分割,分割面與AC 邊的交點為G,與AA1 棱的交點為E 點,C 點在分割平面上的對應點為F 點。最終通過平面的分割,可以獲得2 個三棱錐以及1 個直三棱柱。
似三棱柱的體積:
目標點云的體積:
式中:Vi——第i 集合體的體積。
通過計算投影得到的集合體的體積進行累加,最后求得貨物的體積V總。
在對體積測算的方案設計中,設定不同的體素柵格大小對體積測算有著一定的影響。柵格設定較小,不能做到數據精簡,無法提升測算效率;柵格設定較大,導致精簡后的點云較為稀疏,貨物表面的特征丟失,計算的體積誤差較大。
通過對同一車輛貨物點云進行不同大小柵格處理,分析體積計算的時間以及體積計算結果,結果如表2 所示。

表2 不同柵格下車廂貨物點云處理信息Tab.2 Cargo point cloud processing information under different grids
體積計算時間隨著柵格的增大,耗時不斷減小,減小的幅度不斷降低。體積計算誤差與柵格大小沒有絕對的比例關系,通過測試,當柵格0.05 m 時,體積計算誤差最小,為0.145%,結合計算時間以及體積計算相對誤差綜合考慮,最終選取柵格大小為0.05 m。不同柵格的車廂點云可視化如圖9 所示。

圖9 不同柵格下的車廂貨物點云可視化Fig.9 Visualization of freight point cloud under different grids
在對貨車載貨體積計算時只需提取貨物的點云,通過設計的目標區域自動提取算法,對貨物區域的點云進行分割提取。車廂內貨物點云的提取的準確性對體積的計算尤為重要,通過設計實驗驗證車廂點云的自動提取以及貨物體積測量的準確性。在設計的掃描區域下,安排多輛空車進行掃描,通過掃描的點云計算車廂的長、寬、高以及車廂容積。同時通過對多輛貨車載貨的體積進行計算,分別測得貨物的體積,將點云測算的數據與實際數據進行誤差分析,計算方法為:
將點云測得的數據與實際數據進行誤差分析,車廂的長、寬、高以及車廂容積相對誤差如圖10所示,體積計算相對誤差如圖11 所示。

圖10 車廂長寬高及容積相對誤差圖Fig.10 Relative error diagram of length,width,height and volume of carriage

圖11 體積計算誤差分析圖Fig.11 Analysis of volume calculation error
本文采用激光探測技術對貨車載貨體積測量的方案,為工程測量提供新方法、新思路。通過對激光測體積方案進行研究分析,設計出貨車載貨體積的測量方案,利用投影法對貨物體積進行測算。分析體素柵格大小對體積計算的影響,進一步優化體積計算的準確性。通過利用該測量方案對多輛空車的長寬高及容積進行測量,長寬高相對誤差不高于1.5%,容積相對誤差不高于2.5%。通過實際測量多輛貨車載貨體積,測量值與真實值之間相對誤差低于3%,滿足絕大部分工程測量需求。