北京交通大學計算機與信息技術學院 茍悅宬 鄧志堅 黃成梁 周圍
三維點云數據作為空間信息數字化的重要表現應用日益廣泛。隨著無人駕駛技術的不斷發展,三維點云的采集、處理、可視化等應用技術和研究越來越多。該研究基于無人駕駛領域,對三維點云數據采集、處理、可視化的過程、行業應用和研究進展進行了調研和歸納,理清整體脈絡;進而利用無人駕駛實體車輛進行校園三維點云數據采集和高精度地圖的制作;最后對三維點云的應用及高精度地圖的發展前景提出了展望。
點云是一種常見的3D形狀的表達方式,我們可以通過點云來表示一個物體或者一個場景。通過不同角度觀察,得到點云。我們通過人眼可以分辨出點云所代表的物體的類別、猜測物體可能蘊含的功能以及通過不完整的點集來還原出物體本來的形狀。
三維點云模型因具有良好的形狀表達能力,在機器人、自動駕駛、場景重建等領域有著廣泛的應用[1],此外還在建筑物三維建模、文物保護、地質災害監測、土木工程、設施維修、軍事農業等領域起到了很大的作用[2]。
無人駕駛領域的三維點云數據主要與高精度地圖結合緊密。高精度地圖是無人駕駛領域的剛需,在整個無人駕駛領域中不可或缺,高精度地圖可以幫助汽車預先感知路面復雜信息,比如說路面的坡度、曲率、航向,結合智能路徑規劃,從而使汽車對路面狀況做出正確響應。高精地圖是指高精度、精細化的地圖,與普通電子地圖相比,其不僅有準確的坐標, 還能準確的描繪道路形狀、車道線等[3]。正是因為高精度道路導航地圖豐富的信息含量,使得它具有龐大的數據量,而傳統的集中式大數據處理模式無法滿足它的計算需求。
目前的高精度地圖,在封閉園區內使用的居多。國內的研究主要由清華大學、吉林大學領銜,成立了中國自動駕駛地圖工作組。2015年起,各大互聯網企業紛紛投身到無人車的研究中來,開始推動這一行業走向高潮[4]。
國外許多傳統地圖廠商,如Here、TomTom等,也投入對高精度地圖的研發和生產當中[5]。國外高校對于高精度地圖也有許多研究。比如斯坦福大學專門研究高精度地圖的項目Civil Maps。
作為自動駕駛產業鏈中重要的一環,高精度地圖的作用十分關鍵。高精度地圖可為自動駕駛汽車提供精準的定位、輔助環境感知,并幫助實現決策規劃,提高自動駕駛安全性。自動駕駛提供完備的周邊環境信息,為定位和路徑規劃提供重要依據。
隨著無人駕駛技術的不斷發展,其對環境感知的要求也越來越高,在這種背景下,高精度地圖就顯得愈發重要。使用高精度地圖配合傳感器是目前自動駕駛應對復雜交通環境最有效的方案[6]。
就目前看來,高精度地圖只是做了初步研究,與真正實現無人駕駛還是有很長的距離。本研究基于無人駕駛實體車采集校園真實點云數據,由于點云數據標準和軟件繁多,本研究基于開源軟件進行數據處理和制作,反復測試整理,以期為案例稀缺的校園點云地圖應用提供案例。
三維點云數據處理過程如圖1所示。

圖1 三維點云數據處理過程Fig.1 3D point cloud data processing
1.1.1 采集設備
高精度地圖的數據采集主要有兩種形式:其一是激光雷達和攝像頭配合GPS,其二是攝像頭和GPS配合計算距離算法。也就是需要一些傳感器來采集數據。
激光雷達主要用來采集點云數據,因為激光雷達可以精確的反應出位置信息,所以激光雷達可以知道路面的寬度,紅綠燈的高度,以及一些其他的信息。可裝載于無人車、遙控機、普通汽車等載體上,主要使用Velodyne的新款VLP-16傳感器[7]。攝像頭主要是來采集一些路面的標志、車道線等,因為圖像的像素信息更多,而位置信息不太精確,所以采用攝像頭來識別車道線,路面的一些標志等。此外還有GNSS(全球導航衛星系統)可以記錄車輛的位置信息,IMU(慣性測量單元)可以用來捕獲車輛的角度和加速度信息,并校正車輛的位置和角度。
實驗中將激光雷達等工具搭載在百度Apollo等無人車上使用。
1.1.2 操作系統與相關軟件
Linux在點云處理的方面要比其他操作系統更為成熟,相關的pcl環境配置簡便快捷。并且Linux擁有相對較少的系統資源占用,安裝便捷,且所有組件的源代碼都是自由的,這里選用Linux作為主要使用的操作系統。
Robot Operating System (ROS)是一個得到廣泛應用的機器人系統的軟件框架,它包含了一系列的軟件庫和工具用于構建機器人應用[8]。Rviz是ROS中一款三維可視化平臺,能夠實現對外部信息的圖形化顯示。
此外還有Cloud Compare、BCAL LiDAR Tools等一些軟件可以實現點云數據可視化處理。
1.1.3 開源數據
關于三維點云數據的開源數據有很多,比如悉尼城市目標數據集、斯坦福大學的3D掃描存儲庫、ASL數據集等。國內在此方面的發展比較薄弱,還需要進行相關開源點云數據方面的發展。
1.2.1 數據的濾波處理
管理點云數據常見的方式是使用PCL,PCL(Point Cloud Library)是一個大型跨平臺開源C++編程庫。點云文件PCD(Point Cloud Data)是PCL中的數據存儲類型。
實際中,由于點云數據密度不規則、離群點或噪聲數據等原因,需要對點云數據進行濾波處理。常見的濾波方法見表1。
1.2.2 泊松分布的濾波處理
傳統雙邊濾波存在一個很大的問題即:兩個高斯核函數的參數σs(空間相似性的高斯標準差)和σr(灰度相似性的高斯核標準差)必須根據經驗來選取,其工作量很大,且必須調整兩個參數,不具有一定的適應性。這里嘗試用不同的分布函數來實現權值的分配,這里嘗試使用泊松分布[10]。
由泊松分布的分布函數應用到圖像中,使用中心像素點(i,j)的灰度值作為泊松分布參數λ,p(i,j)(x=k)為對應像素點(i,j)對應的泊松分布函數,由泊松分布的性質可知,分布函數會隨著灰度值k的變化而改變,并且灰度值達到一定值時近似于高斯分布,因此具有一定的自適應性[10]。
1.2.3 數據格式及轉換
一般以.bag文件或以.pcap文件的方式記錄數據,可以對記錄下的數據進行各種優化處理與回放演示。關于點云顯示的直接文件是.pcd文件,這里對于這三種文件的格式和轉換作一些說明,為后面實驗中的方案選擇作一個指導。
由表2可見,Linux下這些三維點云處理過程中常用的數據格式的轉換是非常方便的,其他操作系統也有很多轉換方法,但都不如Linux的實用性強。

表2 數據格式及轉換Tab.2 Data format and conversion
一個標準的高清地圖創建系統包括兩個核心組件:3D點云拼接和語義特征提取。3D點云拼接通常采用基于圖的SLAM進行分層細化,其中的關鍵組件是位姿圖,可以對LiDAR位姿之間的關系進行建模[12]。語義特征提取包含機器學習和人工監督的迭代過程。
最終輸出包括一個點云地圖,它是一個密集的3D點云。其中點云是某個坐標系下的點的數據集。點包含了豐富的信息,包括三維坐標X,Y,Z、顏色、分類值、強度值、時間等,不一一列舉[13]。
所用的主要數據格式為.bag文件與.pcd文件。
.bag文件是用于存儲ROS相關文件格式信息的數據袋,.bag擴展名因此而得名。.bag文件在ROS中起著重要作用,并且ROS編寫了各種工具來允許存儲,處理,分析和可視化它們。
BAG文件格式如下:
#ROSBAG V2.0

每條記錄的格式如下:

記錄的數據格式見表3。

表3 記錄的數據格式Tab.3 Record data format
每條記錄的標頭包含一系列name=value的字段,如下

標頭記錄的數據格式見表4。

表4 標頭記錄的數據格式Tab.4 Data format of header record
點云顯示的直接文件是.pcd文件,支持由PCL庫引進n維點類型機制處理過程中的某些擴展,是一種較為通用的點云數據處理類型,其格式見圖2所示。

圖2 .pcd格式說明Fig.2 .pcd format description
2.2.1 繪制方案
總體流程見圖3。

圖3 地圖繪制流程Fig.3 Map drawing process
我們繪制地圖時有以下三種方案。
(1)使用了linux系統下的ROS。通過Rviz平臺讀取事先采集的.bag數據包,呈現點云化的校園場景。
(2)使用與VLP-16激光雷達相配套的可視化軟件VeloView,顯示錄制好的.pcap數據包。
(3)使用開源軟件Cloud Compare讀取.pcd數據包實現可視化。
2.2.2 實際展示
校園一角(俯視圖)見圖4。

圖4 繪制地圖(俯視圖)Fig.4 Mapping (top view)
校園一角(主視圖)見圖5。

圖5 繪制地圖(主視圖)Fig.5 Mapping (main view)
目前為止,我國在無人駕駛領域還處于研發的初級階段,2015年政府才將自動駕駛技術納入國家頂層規劃中,各種關于封閉園區內與封閉園區外的實驗實例數量很少。
本次北京交通大學園區內點云地圖的掃描、繪制實驗為當今我國封閉園區內無人駕駛的實例作了補充,并研究了常用的三維點云采集方法、數據格式及其轉換,為無人駕駛領域的數據處理提出了優化方法,并對通用的點云數據采集、處理流程做了總結。
引用
[1] 張溯,楊軍.利用空間結構信息的三維點云模型分類[J].小型微型計算機系統,2021,42(4):779-784.
[2] 張亞,山鋒,王濤.三維激光掃描技術點云數據采集與配準研究[J].地理空間信息,2021,19(3):24-27+6.
[3] 陳宗娟,孫二鑫,李丹丹,等.高精地圖現狀分析與實現方案研究[J].電腦知識與技術,2018,14(22):270-272.
[4] 常昊.無人駕駛汽車現狀的分析和意見建議[J].內燃機與配件,2018(9):240.
[5] 李鑫慧,郭蓬,戎輝,等.高精度地圖技術研究現狀及其應用[J].汽車電器,2019(6):1-3.
[6] 潘霞,張慶余,朱強.高精度地圖在自動駕駛領域的作用及意義解析[J].時代汽車,2019(4):49-50+53.
[7] 許毅,郭際明,方孟元,等.基于VLP-16激光雷達的360°全站式激光掃描儀設計與實現[J].測繪通報,2016(S2):186-189.
[8] 金志熙,王宏遠,勾尤旭,等.基于ROS目標跟蹤移動機器人設計與實驗[J].電腦知識與技術,2021,17(2):1-3.
[9] 石野,王曉凱,劉慧鋒.基于局部濾波模板的雙邊濾波算法研究[J].測試技術學報,2021,35(1):49-53.
[10] 楊贊偉,鄭亮亮,曲宏松,等.聯合均值濾波與泊松核雙邊濾波降噪算法研究[J].計算機仿真,2020,37(9):460-463+468.
[11] 洪霄.基于激光雷達的3D點云目標識別[D].哈爾濱:哈爾濱工程大學,2020.
[12] 譚毅瀅,魏拾其,宋健洪,等.地基LiDAR技術在活動斷層三維場景建模中的關鍵技術與應用[J].中山大學學報(自然科學版),2021,60(3):78-87.
[13] 焦宏偉,秦石喬,胡春生,等.一種脈沖激光雷達與攝像機標定方法的研究[J].中國激光,2011,38(1):221-225.