牛鵬濤,曹 毅,張恩朝,漆 洋
(1. 成都理工大學(xué)地球科學(xué)學(xué)院,四川 成都 610059; 2. 河南工業(yè)職業(yè)技術(shù)學(xué)院,河南 南陽 473009;3. 中國石油化工股份有限公司西北油田分公司,新疆 烏魯木齊 830011; 4. 河海大學(xué)地球科學(xué)與工程學(xué)院,江蘇 南京 210024; 5. 河南交通職業(yè)技術(shù)學(xué)院,河南 鄭州 450000)
隨著5G、人工智能和大數(shù)據(jù)技術(shù)的不斷發(fā)展,智慧公路、自動駕駛等新模式、新產(chǎn)業(yè)正在加快交通運(yùn)輸領(lǐng)域的發(fā)展變革,逐漸成為研究的熱點(diǎn)。包含各類指示箭頭和分道線的公路標(biāo)線是高精地圖中道路幾何、語義信息的重要載體。含有準(zhǔn)確公路標(biāo)線信息的高精地圖相較傳統(tǒng)的二維導(dǎo)航地圖具有精度更高、信息更豐富的特點(diǎn),其通過與L3級及以上自動駕駛車輛CAN總線中的多源傳感器相融合, 在高精度車輛定位、輔助道路感知和路線決策分析的過程中發(fā)揮著不可替代的作用[1]。高效、準(zhǔn)確地獲取公路標(biāo)線信息是制作并發(fā)布高精地圖,進(jìn)而促使自動駕駛技術(shù)更加成熟的關(guān)鍵。
隨著測繪新技術(shù)的發(fā)展,能夠快速、精確地獲取道路場景全景影像和激光回波信息的車載移動測量系統(tǒng)(vehicle mobile measuring systems,VMMS)為大范圍公路標(biāo)線的識別提取提供了新的數(shù)據(jù)源,已成為公路信息采集、更新的重要方式。圍繞VMMS的公路標(biāo)線信息提取工作,國內(nèi)外學(xué)者提供了各種解決方案[2-7]。文獻(xiàn)[2]將VMMS系統(tǒng)獲取的道路點(diǎn)云投影成強(qiáng)度特征圖像,然后根據(jù)公路標(biāo)線的幾何特征提取標(biāo)線邊緣,再融合原始點(diǎn)云得到道路標(biāo)線點(diǎn)云。文獻(xiàn)[7]引入了基于掃描距離和入射角引起的點(diǎn)云強(qiáng)度、密度校正,進(jìn)一步提高了標(biāo)線提取的精度。VMMS系統(tǒng)用于公路標(biāo)線提取的前期研究主要集中在激光點(diǎn)云強(qiáng)度值方法和點(diǎn)云語義分割等方法,以最大限度提高標(biāo)線提取的幾何精度。
在實(shí)際工作中,由于激光點(diǎn)云密度對道路磨損等特征比較敏感,且受掃描視角限制,道路行人、車輛、植被等的遮擋還會造成VMMS采集過程中經(jīng)常出現(xiàn)標(biāo)線信息不完整現(xiàn)象,進(jìn)而無法完整建模[8]。本文提出一種融合車載LiDAR點(diǎn)云和全景影像互補(bǔ)的公路標(biāo)線提取辦法,通過利用機(jī)器視覺和數(shù)字圖像處理技術(shù),對VMMS中采集的全景影像進(jìn)行分析處理,補(bǔ)充點(diǎn)云缺失區(qū)域的道路標(biāo)線信息,以期實(shí)現(xiàn)對激光點(diǎn)云數(shù)據(jù)的修復(fù)、填補(bǔ)和增強(qiáng)處理。
使用的數(shù)據(jù)是由Trimble 公司最新發(fā)布的MX50 移動測繪系統(tǒng)采集的,該系統(tǒng)集成了1套內(nèi)置的Applanix IN-FusionTM慣導(dǎo)系統(tǒng),320 kHz和960 kHz雙激光掃描儀,1套車載里程計(jì),1套集成6個500萬像素COMS鏡頭的全景球形相機(jī)等傳感器[3]。球形相機(jī)可采集360°×180°視場范圍90%全景影像,激光掃描儀可實(shí)時獲取高精度、高密度的三維點(diǎn)云,慣導(dǎo)系統(tǒng)提供定位定姿數(shù)據(jù)輔助完成車輛軌跡解算和不同傳感器之間的坐標(biāo)轉(zhuǎn)換,該套VMMS系統(tǒng)如圖1所示。
圖1 Trimble MX50 移動測繪系統(tǒng)
可以看出,MX50系統(tǒng)的激光掃描儀和球形相機(jī)視角不重合,因此對于移動過程中激光掃描信息缺失的現(xiàn)象,全景相機(jī)系統(tǒng)可基于掃描車前后多次曝光的影像數(shù)據(jù)予以重現(xiàn)并彌補(bǔ)[9]。本文基于此提出利用全景影像進(jìn)行激光點(diǎn)云數(shù)據(jù)缺失區(qū)域的公路標(biāo)線提取方法。
2.1.1 點(diǎn)云強(qiáng)度增強(qiáng)
LiDAR點(diǎn)云反射強(qiáng)度受車速、距離、標(biāo)線材質(zhì)及標(biāo)線磨損程度等因素的影響[10],反射強(qiáng)度變化較大,不利于后期數(shù)據(jù)處理。要實(shí)現(xiàn)既增強(qiáng)標(biāo)線和路面點(diǎn)云的差異度,又使標(biāo)線點(diǎn)云的強(qiáng)度值保持基本一致,需要完成距離、材質(zhì)、磨損因素的校正。由于激光反射強(qiáng)度值與反射距離的平方不完全呈線性反比關(guān)系,僅使用比值法會導(dǎo)致部分區(qū)域的過校正。針對以上問題,本文使用三次多項(xiàng)式函數(shù)模型f(R)進(jìn)行點(diǎn)云強(qiáng)度校正,校正激光點(diǎn)掃描距離對反射強(qiáng)度的影響模型公式為
f(R)=η0+η1R+η2R2+η3R3
(1)
式中,η0、η1、η2、η3為模型參數(shù)[11],通過提取地面點(diǎn)云,將各種磨損程度分類后的道路標(biāo)線點(diǎn)云在Matlab中采用最小二乘法求算參數(shù)。為避免產(chǎn)生過校正,本文還設(shè)置了校正增量閾值δ,該閾值表示矯正后點(diǎn)云強(qiáng)度增量應(yīng)當(dāng)小于原始點(diǎn)云最大強(qiáng)度Rmax與最小強(qiáng)度Rmin差值的1/2,公式為
(2)
2.1.2 地面點(diǎn)云濾波
由于采集的激光LiDAR點(diǎn)云中包含了大量的非路面點(diǎn)云,需先結(jié)合點(diǎn)云的高程值利用濾波方法提取地面點(diǎn)云。參考文獻(xiàn)[7]的3×3點(diǎn)陣z值濾波算法,在Trimble Business Center軟件進(jìn)行高程z值探測。首先設(shè)置高程參數(shù)Zg=0.3 m,選取高程小于Zg的點(diǎn)云構(gòu)成點(diǎn)集P。取點(diǎn)集P中任一點(diǎn)為起算點(diǎn)后再分別選取相鄰的8個點(diǎn)構(gòu)成3×3點(diǎn)陣。設(shè)定基本點(diǎn)高程為Z0,其他點(diǎn)高程值為Z1,Z2,…,Z8,則該點(diǎn)陣高程值卷積結(jié)果為:∑Z=|z1+z2+…z8-8z0|/8。當(dāng)∑Z設(shè)定閾值Zsum=0.03 m時,保留并標(biāo)記該點(diǎn)陣中的所有點(diǎn),最后依次遍歷P中的所有點(diǎn)后即實(shí)現(xiàn)了地面點(diǎn)云的簡單濾波,保留標(biāo)記好的點(diǎn)云以進(jìn)入下一步處理。
2.1.3 點(diǎn)云轉(zhuǎn)換為特征圖像
LiDAR點(diǎn)云往往數(shù)量龐大,為提高處理效率,可以先將三維離散點(diǎn)云分塊建立索引并投影成二維強(qiáng)度特征圖像,既可以提高數(shù)據(jù)處理索引速度,又可以最大限度地減少信息損失。點(diǎn)云分塊索引主要是沿車輛軌跡根據(jù)公路幾何形狀的變化設(shè)定。由于《公路路線設(shè)計(jì)規(guī)范》中規(guī)定標(biāo)準(zhǔn)車道寬度為3.5 m,結(jié)合車道數(shù)和激光掃描儀點(diǎn)頻設(shè)置最大分塊寬度,本文設(shè)置為25 m,以盡可能覆蓋整個路面;對于直線型道路,分塊的長度固定為50 m。對于曲線路段,分塊長度設(shè)置為27.3 m為宜,根據(jù)道路標(biāo)記實(shí)例的最大尺寸,各分塊沿行車軌跡方向設(shè)置3 m的重疊區(qū)[12],分塊索引詳細(xì)如圖2所示。
圖2 點(diǎn)云分塊索引
在轉(zhuǎn)換特征圖像過程中,設(shè)定目標(biāo)圖像整體像素大小為N。點(diǎn)云分塊后投影到S行T列相應(yīng)大小的網(wǎng)格中,公式為
(3)
式中,Xmin、Xmax、Ymin、Ymax分別表示點(diǎn)云沿掃描車行進(jìn)軌跡方向和其法線方向上的最大值和最小值[13]。由于公路路標(biāo)上涂有反光材料,公路標(biāo)線與路面的激光返回強(qiáng)度值差別較大,因此將每個網(wǎng)格內(nèi)的掃描點(diǎn)強(qiáng)度加權(quán)換算后作為該網(wǎng)格的灰度值,再通過將灰度值歸一化至[0,255],得到強(qiáng)度特征圖像格網(wǎng)P。
上述格網(wǎng)P的特征值FP在計(jì)算過程中需要對投影到該格網(wǎng)內(nèi)的若干個激光點(diǎn)中心距離與高程因素分配權(quán)重。其中,中心距離權(quán)重與該點(diǎn)到中心點(diǎn)的距離成反比;高程權(quán)重與掃描點(diǎn)的高程值成正比。第(i,j)個激光點(diǎn)的權(quán)值計(jì)算公式為
(4)
式中,WD、WH分別為該激光點(diǎn)的中心距離權(quán)值和高程權(quán)值;Dij為該激光點(diǎn)與格網(wǎng)中心點(diǎn)的平面距離;N為格網(wǎng)的邊長;Zij為該激光點(diǎn)的高程值;Zmax、Zmin分別為格網(wǎng)內(nèi)所有激光點(diǎn)的最大高程值和最小高程值;W為該激光點(diǎn)的總權(quán)值;α、β分別為平面與高程的權(quán)值系數(shù),且兩者的和為1。最終該格網(wǎng)的像素值為Fp,計(jì)算公式為
(5)
式中,Wn表示改格網(wǎng)中第n個激光點(diǎn)的強(qiáng)度總權(quán)值;In表示該激光點(diǎn)的強(qiáng)度特征值。
圖3(a)為點(diǎn)云編輯器內(nèi)顯示的點(diǎn)云效果;圖3(b)為轉(zhuǎn)換為強(qiáng)度特征圖后的效果,雖然在標(biāo)線邊緣區(qū)域有鋸齒狀的噪聲,但仍然較好地傳達(dá)了點(diǎn)云的幾何、位置信息[2]。
圖3 點(diǎn)云和強(qiáng)度特征圖對比
2.2.1 特征邊緣提取
由于道路標(biāo)線和其相鄰路面在特征圖像上具有不同的灰度值表現(xiàn),因此可以使用Sobel算子和最大熵計(jì)算法對強(qiáng)度特征圖像進(jìn)行卷積,獲取公路標(biāo)線與路面的梯度圖后計(jì)算合理閾值[14],進(jìn)而獲取標(biāo)線幾何邊緣線。標(biāo)線邊緣內(nèi)的像素也一并標(biāo)記為一個連通區(qū)域,一條邊緣線圍合成一個封閉區(qū)域。
2.2.2 噪聲剔除
2.2.3 標(biāo)線提取
公路標(biāo)線具有一定的幾何規(guī)則和設(shè)置規(guī)律,可根據(jù)標(biāo)線與周圍對象的拓?fù)湮恢藐P(guān)系進(jìn)行語義判斷。本文改進(jìn)了文獻(xiàn)[6]提出的深度圖注意力網(wǎng)絡(luò)模型(GAT_SCNet)。改進(jìn)后的模型首先自適應(yīng)學(xué)習(xí)前面提取出的道路標(biāo)線邊緣特征;其次將試驗(yàn)需要提取的8類常見公路標(biāo)線的幾何、語義和拓?fù)潢P(guān)系進(jìn)行圖結(jié)構(gòu)重采樣;然后利用多頭注意力模塊建立公路標(biāo)線與鄰域圖結(jié)構(gòu)中節(jié)點(diǎn)和邊的特征聚合機(jī)制,且根據(jù)鄰域信息更新圖結(jié)構(gòu)節(jié)點(diǎn)特征;最后經(jīng)多層感知機(jī)(multi-layer perceptron,MLP)對不斷更新的圖結(jié)構(gòu)節(jié)點(diǎn)特征完成學(xué)習(xí),實(shí)現(xiàn)精細(xì)化公路標(biāo)線提取和分類[8]。
2.2.4 標(biāo)線缺失區(qū)域判斷
針對LiDAR點(diǎn)云采集過程中的缺失區(qū)域,采用密度聚類算法DBSCAN(density-based spatial clustering of applications with noise)對點(diǎn)云數(shù)據(jù)進(jìn)行聚類并提取聚簇[5],檢測出三維空間集合中的任意形狀點(diǎn)云。刪除LiDAR點(diǎn)云中密度分布不均的遮擋車輛等目標(biāo),連同地面被遮擋區(qū)域形成的點(diǎn)云空洞一起被判定并標(biāo)記,點(diǎn)云中汽車遮擋區(qū)域和地面點(diǎn)云缺失區(qū)域如圖4所示。
圖4 點(diǎn)云缺失區(qū)域示意圖
2.3.1 最優(yōu)匹配影像對選擇
VMMS系統(tǒng)獲取的全景影像可為遮擋區(qū)域提供數(shù)據(jù)補(bǔ)充。由于全景影像對同一目標(biāo)會產(chǎn)生多角度不同視角的影像,因此需要尋找最佳匹配影像。該過程分為兩步:①將全景影像坐標(biāo)系統(tǒng)與點(diǎn)云坐標(biāo)系統(tǒng)融合;②影像坐標(biāo)轉(zhuǎn)換后,再檢索點(diǎn)云空洞、缺失區(qū)域在影像上是否被遮擋。如仍存在遮擋問題,可用圖像熵對影像直接剔除。
2.3.2 密集匹配生成三維點(diǎn)云
全景影像整體形變較大,尤其是上下方的視差較大,且地面紋理重復(fù)性強(qiáng),直接進(jìn)行密集匹配以生成三維點(diǎn)云的難度較大。因?qū)嶋H密集匹配僅需地面部分?jǐn)?shù)據(jù),故使用基于局部仿射變換的全景影像密集匹配方法,僅搜索點(diǎn)云缺失區(qū)域一定閾值范圍內(nèi)的全景影像,其局部形變可簡單按照仿射變換方式處理并進(jìn)行影像糾正。影響密集匹配精度的關(guān)鍵是種子點(diǎn)的選取,為避免誤差傳播,首先采用計(jì)算效率高的FAST(featuresfrom accelerated segment test)算子[16]提取種子點(diǎn),然后利用尺度不變特征變換(scale-invariant feature transform,SIFT)算子[17]根據(jù)描述特征計(jì)算同名點(diǎn)。密集匹配點(diǎn)的區(qū)域增長采用零均值歸一化積相關(guān)算法(zeronor-malized cross correlation,ZNCC)以同名種子點(diǎn)為基礎(chǔ)進(jìn)行相似性測度,在視差值小于閾值的情況下,利用八鄰域連通性準(zhǔn)則對誤差最小的種子點(diǎn)優(yōu)先匹配增長,生成三維點(diǎn)云,將其參與標(biāo)線進(jìn)行進(jìn)一步提取[18]。
為進(jìn)一步對標(biāo)線進(jìn)行精細(xì)矢量化,在已經(jīng)提取的公路標(biāo)線基礎(chǔ)上,建立了各種標(biāo)線類型的模板庫,具體標(biāo)線模板如圖5所示。
圖5 部分標(biāo)線模板設(shè)置
通過計(jì)算模板匹配系數(shù)S(R,M)確定待測標(biāo)線R和標(biāo)準(zhǔn)模板M1之間的關(guān)系。該系數(shù)通過歸一化形狀互相關(guān)(normalized cross correlation,NCC)算法進(jìn)行計(jì)算,將S(R,M)最大值對應(yīng)的模板記作M2,所有M2即為箭頭類標(biāo)線的矢量化結(jié)果。對實(shí)分道線使用GVF Snake模型每隔一定長度取標(biāo)線點(diǎn)云中的點(diǎn)進(jìn)行連線即可得到分道線中心線。相關(guān)匹配微調(diào)模型為
(6)
式中,ΔX、ΔY、ΔZ為標(biāo)線間中心點(diǎn)坐標(biāo)差;η為待測標(biāo)線R與標(biāo)準(zhǔn)模板M1沿公路主方向上夾角[9]。將標(biāo)準(zhǔn)模板坐標(biāo)M1(XM1,YM1,ZM1)結(jié)合待測標(biāo)線的空間位置進(jìn)行微量旋轉(zhuǎn)平移,再將模板邊界點(diǎn)和提取出的標(biāo)線邊界上的特征點(diǎn)(X′M1,Y′M1,Z′M1)對比匹配無誤后進(jìn)行連接,得到各類箭頭標(biāo)線矢量圖。
為驗(yàn)證本文方法的有效性,2021年12月使用Trimble MX50移動測量系統(tǒng)在鄭州市某城市快速路采集的數(shù)據(jù)。道路總長4 km,VMMS作業(yè)時速保持為50 km/h,相鄰掃描線之間的間距為7.5 cm,激光點(diǎn)的強(qiáng)度值分布范圍為30 000~50 000。測試的路面主要有虛、實(shí)兩種分道線和直行、左/右轉(zhuǎn)、直行右轉(zhuǎn)、直行左轉(zhuǎn)及直行左轉(zhuǎn)掉頭等8種箭頭地標(biāo)。道路標(biāo)線提取的SCGA-Net 網(wǎng)絡(luò)基于Python 3.8.1構(gòu)建,在NVIDIA GeForce GTX 1080環(huán)境中調(diào)用庫Tensorflow,CUDA10.0, cuDNN7.4.2等完成。
傳統(tǒng)的基于LiDAR點(diǎn)云提取道路標(biāo)線矢量數(shù)據(jù)往往采用人機(jī)交互的方式進(jìn)行。針對常規(guī)無遮擋路面,運(yùn)用SCGA-Net網(wǎng)絡(luò)實(shí)現(xiàn)地面標(biāo)線的自動提取,提高了工作效率,標(biāo)線提取效果要素特征完整,邊界形狀規(guī)則,精度符合標(biāo)準(zhǔn),如圖6所示。
圖6 提取后的點(diǎn)云密度與道路地標(biāo)矢量
通過全景影像提取的方式對被其他目標(biāo)干擾區(qū)域的地面標(biāo)線予以補(bǔ)充,減少了人工干預(yù)工作量,進(jìn)一步提升了工作效率。具體顯示效果如圖7所示,可以看到提取效果較為理想,接近人工提取結(jié)果。
圖7 排除干擾的道路地標(biāo)矢量
使用表征標(biāo)線提取的完整程度的完整率(CPT)和表征正確性的正確率(CRT)兩個指標(biāo)評估提取結(jié)果,計(jì)算方法為
(7)
式中,Np為本文試驗(yàn)中提取出正確標(biāo)線的數(shù)量;Nt為VMMS系統(tǒng)采集過程中實(shí)際標(biāo)線數(shù)量;Ne為試驗(yàn)提取出各類標(biāo)線數(shù)量之和[7]。由于試驗(yàn)路段中各類箭頭標(biāo)志數(shù)量不多,8類箭頭標(biāo)志均作為箭頭標(biāo)線表示,統(tǒng)計(jì)結(jié)果見表1。
表1 道路標(biāo)線提取結(jié)果統(tǒng)計(jì)
本文研究了基于Trimble MX50的VMMS系統(tǒng)LiDAR點(diǎn)云和全景影像的公路標(biāo)志提取與矢量化問題。實(shí)現(xiàn)了針對8類不同地面標(biāo)志采用兩種數(shù)據(jù)、兩種方法相結(jié)合的方式對其進(jìn)行提取和矢量化標(biāo)記。綜合試驗(yàn)表明,該方法不僅對地面標(biāo)線提取具有良好的抗磨損性能,在城市場景數(shù)據(jù)集中,取得了令人滿意的效果。同時還實(shí)現(xiàn)了基于全景影像的公路標(biāo)志提取融合,可在較低人工干預(yù)的情況下有效地解決因遮擋造成的道路點(diǎn)云缺失問題。提高了工作效率,便于在道路資源盤點(diǎn)、智慧交通、自動駕駛和道路高精地圖生產(chǎn)等領(lǐng)域中使用。但由于該方法較為繁復(fù),暫未實(shí)現(xiàn)有效集成,且對地面標(biāo)線文字信息還無法高精度識別,本文算法有待進(jìn)一步改進(jìn)以提高識別精度。