牛鵬濤,曹 毅,張恩朝,漆 洋
(1. 成都理工大學地球科學學院,四川 成都 610059; 2. 河南工業職業技術學院,河南 南陽 473009;3. 中國石油化工股份有限公司西北油田分公司,新疆 烏魯木齊 830011; 4. 河海大學地球科學與工程學院,江蘇 南京 210024; 5. 河南交通職業技術學院,河南 鄭州 450000)
隨著5G、人工智能和大數據技術的不斷發展,智慧公路、自動駕駛等新模式、新產業正在加快交通運輸領域的發展變革,逐漸成為研究的熱點。包含各類指示箭頭和分道線的公路標線是高精地圖中道路幾何、語義信息的重要載體。含有準確公路標線信息的高精地圖相較傳統的二維導航地圖具有精度更高、信息更豐富的特點,其通過與L3級及以上自動駕駛車輛CAN總線中的多源傳感器相融合, 在高精度車輛定位、輔助道路感知和路線決策分析的過程中發揮著不可替代的作用[1]。高效、準確地獲取公路標線信息是制作并發布高精地圖,進而促使自動駕駛技術更加成熟的關鍵。
隨著測繪新技術的發展,能夠快速、精確地獲取道路場景全景影像和激光回波信息的車載移動測量系統(vehicle mobile measuring systems,VMMS)為大范圍公路標線的識別提取提供了新的數據源,已成為公路信息采集、更新的重要方式。圍繞VMMS的公路標線信息提取工作,國內外學者提供了各種解決方案[2-7]。文獻[2]將VMMS系統獲取的道路點云投影成強度特征圖像,然后根據公路標線的幾何特征提取標線邊緣,再融合原始點云得到道路標線點云。文獻[7]引入了基于掃描距離和入射角引起的點云強度、密度校正,進一步提高了標線提取的精度。VMMS系統用于公路標線提取的前期研究主要集中在激光點云強度值方法和點云語義分割等方法,以最大限度提高標線提取的幾何精度。
在實際工作中,由于激光點云密度對道路磨損等特征比較敏感,且受掃描視角限制,道路行人、車輛、植被等的遮擋還會造成VMMS采集過程中經常出現標線信息不完整現象,進而無法完整建模[8]。本文提出一種融合車載LiDAR點云和全景影像互補的公路標線提取辦法,通過利用機器視覺和數字圖像處理技術,對VMMS中采集的全景影像進行分析處理,補充點云缺失區域的道路標線信息,以期實現對激光點云數據的修復、填補和增強處理。
使用的數據是由Trimble 公司最新發布的MX50 移動測繪系統采集的,該系統集成了1套內置的Applanix IN-FusionTM慣導系統,320 kHz和960 kHz雙激光掃描儀,1套車載里程計,1套集成6個500萬像素COMS鏡頭的全景球形相機等傳感器[3]。球形相機可采集360°×180°視場范圍90%全景影像,激光掃描儀可實時獲取高精度、高密度的三維點云,慣導系統提供定位定姿數據輔助完成車輛軌跡解算和不同傳感器之間的坐標轉換,該套VMMS系統如圖1所示。

圖1 Trimble MX50 移動測繪系統
可以看出,MX50系統的激光掃描儀和球形相機視角不重合,因此對于移動過程中激光掃描信息缺失的現象,全景相機系統可基于掃描車前后多次曝光的影像數據予以重現并彌補[9]。本文基于此提出利用全景影像進行激光點云數據缺失區域的公路標線提取方法。
2.1.1 點云強度增強
LiDAR點云反射強度受車速、距離、標線材質及標線磨損程度等因素的影響[10],反射強度變化較大,不利于后期數據處理。要實現既增強標線和路面點云的差異度,又使標線點云的強度值保持基本一致,需要完成距離、材質、磨損因素的校正。由于激光反射強度值與反射距離的平方不完全呈線性反比關系,僅使用比值法會導致部分區域的過校正。針對以上問題,本文使用三次多項式函數模型f(R)進行點云強度校正,校正激光點掃描距離對反射強度的影響模型公式為
f(R)=η0+η1R+η2R2+η3R3
(1)
式中,η0、η1、η2、η3為模型參數[11],通過提取地面點云,將各種磨損程度分類后的道路標線點云在Matlab中采用最小二乘法求算參數。為避免產生過校正,本文還設置了校正增量閾值δ,該閾值表示矯正后點云強度增量應當小于原始點云最大強度Rmax與最小強度Rmin差值的1/2,公式為
(2)
2.1.2 地面點云濾波
由于采集的激光LiDAR點云中包含了大量的非路面點云,需先結合點云的高程值利用濾波方法提取地面點云。參考文獻[7]的3×3點陣z值濾波算法,在Trimble Business Center軟件進行高程z值探測。首先設置高程參數Zg=0.3 m,選取高程小于Zg的點云構成點集P。取點集P中任一點為起算點后再分別選取相鄰的8個點構成3×3點陣。設定基本點高程為Z0,其他點高程值為Z1,Z2,…,Z8,則該點陣高程值卷積結果為:∑Z=|z1+z2+…z8-8z0|/8。當∑Z設定閾值Zsum=0.03 m時,保留并標記該點陣中的所有點,最后依次遍歷P中的所有點后即實現了地面點云的簡單濾波,保留標記好的點云以進入下一步處理。
2.1.3 點云轉換為特征圖像
LiDAR點云往往數量龐大,為提高處理效率,可以先將三維離散點云分塊建立索引并投影成二維強度特征圖像,既可以提高數據處理索引速度,又可以最大限度地減少信息損失。點云分塊索引主要是沿車輛軌跡根據公路幾何形狀的變化設定。由于《公路路線設計規范》中規定標準車道寬度為3.5 m,結合車道數和激光掃描儀點頻設置最大分塊寬度,本文設置為25 m,以盡可能覆蓋整個路面;對于直線型道路,分塊的長度固定為50 m。對于曲線路段,分塊長度設置為27.3 m為宜,根據道路標記實例的最大尺寸,各分塊沿行車軌跡方向設置3 m的重疊區[12],分塊索引詳細如圖2所示。

圖2 點云分塊索引
在轉換特征圖像過程中,設定目標圖像整體像素大小為N。點云分塊后投影到S行T列相應大小的網格中,公式為
(3)
式中,Xmin、Xmax、Ymin、Ymax分別表示點云沿掃描車行進軌跡方向和其法線方向上的最大值和最小值[13]。由于公路路標上涂有反光材料,公路標線與路面的激光返回強度值差別較大,因此將每個網格內的掃描點強度加權換算后作為該網格的灰度值,再通過將灰度值歸一化至[0,255],得到強度特征圖像格網P。
上述格網P的特征值FP在計算過程中需要對投影到該格網內的若干個激光點中心距離與高程因素分配權重。其中,中心距離權重與該點到中心點的距離成反比;高程權重與掃描點的高程值成正比。第(i,j)個激光點的權值計算公式為
(4)
式中,WD、WH分別為該激光點的中心距離權值和高程權值;Dij為該激光點與格網中心點的平面距離;N為格網的邊長;Zij為該激光點的高程值;Zmax、Zmin分別為格網內所有激光點的最大高程值和最小高程值;W為該激光點的總權值;α、β分別為平面與高程的權值系數,且兩者的和為1。最終該格網的像素值為Fp,計算公式為
(5)
式中,Wn表示改格網中第n個激光點的強度總權值;In表示該激光點的強度特征值。
圖3(a)為點云編輯器內顯示的點云效果;圖3(b)為轉換為強度特征圖后的效果,雖然在標線邊緣區域有鋸齒狀的噪聲,但仍然較好地傳達了點云的幾何、位置信息[2]。

圖3 點云和強度特征圖對比
2.2.1 特征邊緣提取
由于道路標線和其相鄰路面在特征圖像上具有不同的灰度值表現,因此可以使用Sobel算子和最大熵計算法對強度特征圖像進行卷積,獲取公路標線與路面的梯度圖后計算合理閾值[14],進而獲取標線幾何邊緣線。標線邊緣內的像素也一并標記為一個連通區域,一條邊緣線圍合成一個封閉區域。
2.2.2 噪聲剔除

2.2.3 標線提取
公路標線具有一定的幾何規則和設置規律,可根據標線與周圍對象的拓撲位置關系進行語義判斷。本文改進了文獻[6]提出的深度圖注意力網絡模型(GAT_SCNet)。改進后的模型首先自適應學習前面提取出的道路標線邊緣特征;其次將試驗需要提取的8類常見公路標線的幾何、語義和拓撲關系進行圖結構重采樣;然后利用多頭注意力模塊建立公路標線與鄰域圖結構中節點和邊的特征聚合機制,且根據鄰域信息更新圖結構節點特征;最后經多層感知機(multi-layer perceptron,MLP)對不斷更新的圖結構節點特征完成學習,實現精細化公路標線提取和分類[8]。
2.2.4 標線缺失區域判斷
針對LiDAR點云采集過程中的缺失區域,采用密度聚類算法DBSCAN(density-based spatial clustering of applications with noise)對點云數據進行聚類并提取聚簇[5],檢測出三維空間集合中的任意形狀點云。刪除LiDAR點云中密度分布不均的遮擋車輛等目標,連同地面被遮擋區域形成的點云空洞一起被判定并標記,點云中汽車遮擋區域和地面點云缺失區域如圖4所示。

圖4 點云缺失區域示意圖
2.3.1 最優匹配影像對選擇
VMMS系統獲取的全景影像可為遮擋區域提供數據補充。由于全景影像對同一目標會產生多角度不同視角的影像,因此需要尋找最佳匹配影像。該過程分為兩步:①將全景影像坐標系統與點云坐標系統融合;②影像坐標轉換后,再檢索點云空洞、缺失區域在影像上是否被遮擋。如仍存在遮擋問題,可用圖像熵對影像直接剔除。
2.3.2 密集匹配生成三維點云
全景影像整體形變較大,尤其是上下方的視差較大,且地面紋理重復性強,直接進行密集匹配以生成三維點云的難度較大。因實際密集匹配僅需地面部分數據,故使用基于局部仿射變換的全景影像密集匹配方法,僅搜索點云缺失區域一定閾值范圍內的全景影像,其局部形變可簡單按照仿射變換方式處理并進行影像糾正。影響密集匹配精度的關鍵是種子點的選取,為避免誤差傳播,首先采用計算效率高的FAST(featuresfrom accelerated segment test)算子[16]提取種子點,然后利用尺度不變特征變換(scale-invariant feature transform,SIFT)算子[17]根據描述特征計算同名點。密集匹配點的區域增長采用零均值歸一化積相關算法(zeronor-malized cross correlation,ZNCC)以同名種子點為基礎進行相似性測度,在視差值小于閾值的情況下,利用八鄰域連通性準則對誤差最小的種子點優先匹配增長,生成三維點云,將其參與標線進行進一步提取[18]。
為進一步對標線進行精細矢量化,在已經提取的公路標線基礎上,建立了各種標線類型的模板庫,具體標線模板如圖5所示。

圖5 部分標線模板設置
通過計算模板匹配系數S(R,M)確定待測標線R和標準模板M1之間的關系。該系數通過歸一化形狀互相關(normalized cross correlation,NCC)算法進行計算,將S(R,M)最大值對應的模板記作M2,所有M2即為箭頭類標線的矢量化結果。對實分道線使用GVF Snake模型每隔一定長度取標線點云中的點進行連線即可得到分道線中心線。相關匹配微調模型為
(6)
式中,ΔX、ΔY、ΔZ為標線間中心點坐標差;η為待測標線R與標準模板M1沿公路主方向上夾角[9]。將標準模板坐標M1(XM1,YM1,ZM1)結合待測標線的空間位置進行微量旋轉平移,再將模板邊界點和提取出的標線邊界上的特征點(X′M1,Y′M1,Z′M1)對比匹配無誤后進行連接,得到各類箭頭標線矢量圖。
為驗證本文方法的有效性,2021年12月使用Trimble MX50移動測量系統在鄭州市某城市快速路采集的數據。道路總長4 km,VMMS作業時速保持為50 km/h,相鄰掃描線之間的間距為7.5 cm,激光點的強度值分布范圍為30 000~50 000。測試的路面主要有虛、實兩種分道線和直行、左/右轉、直行右轉、直行左轉及直行左轉掉頭等8種箭頭地標。道路標線提取的SCGA-Net 網絡基于Python 3.8.1構建,在NVIDIA GeForce GTX 1080環境中調用庫Tensorflow,CUDA10.0, cuDNN7.4.2等完成。
傳統的基于LiDAR點云提取道路標線矢量數據往往采用人機交互的方式進行。針對常規無遮擋路面,運用SCGA-Net網絡實現地面標線的自動提取,提高了工作效率,標線提取效果要素特征完整,邊界形狀規則,精度符合標準,如圖6所示。

圖6 提取后的點云密度與道路地標矢量
通過全景影像提取的方式對被其他目標干擾區域的地面標線予以補充,減少了人工干預工作量,進一步提升了工作效率。具體顯示效果如圖7所示,可以看到提取效果較為理想,接近人工提取結果。

圖7 排除干擾的道路地標矢量
使用表征標線提取的完整程度的完整率(CPT)和表征正確性的正確率(CRT)兩個指標評估提取結果,計算方法為
(7)
式中,Np為本文試驗中提取出正確標線的數量;Nt為VMMS系統采集過程中實際標線數量;Ne為試驗提取出各類標線數量之和[7]。由于試驗路段中各類箭頭標志數量不多,8類箭頭標志均作為箭頭標線表示,統計結果見表1。

表1 道路標線提取結果統計
本文研究了基于Trimble MX50的VMMS系統LiDAR點云和全景影像的公路標志提取與矢量化問題。實現了針對8類不同地面標志采用兩種數據、兩種方法相結合的方式對其進行提取和矢量化標記。綜合試驗表明,該方法不僅對地面標線提取具有良好的抗磨損性能,在城市場景數據集中,取得了令人滿意的效果。同時還實現了基于全景影像的公路標志提取融合,可在較低人工干預的情況下有效地解決因遮擋造成的道路點云缺失問題。提高了工作效率,便于在道路資源盤點、智慧交通、自動駕駛和道路高精地圖生產等領域中使用。但由于該方法較為繁復,暫未實現有效集成,且對地面標線文字信息還無法高精度識別,本文算法有待進一步改進以提高識別精度。