崔善堯,賈述斌,黃勁松
圖像與激光點云融合的實時目標定位算法
崔善堯,賈述斌,黃勁松
(武漢大學 測繪學院,武漢 430079)
針對單一傳感器在自動駕駛實時目標定位中的局限性,提出一種基于圖像與激光點云融合的實時目標定位算法:對圖像進行目標檢測,得到目標在圖像坐標系中的區域;然后將激光點云投影到圖像坐標系中,使用基于密度的帶有噪聲的空間聚類(DBSCAN)算法對目標區域內的少量點云進行聚類以提取目標真實點云,降低計算量的同時獲取目標準確的位置信息。實驗結果表明,該算法可以有效提升在遮擋情況下目標定位的準確性;并通過在嵌入式平臺上進行部署,驗證了該算法在算力受限的平臺上也具有較好的實時性。
自動駕駛;圖像檢測;點云聚類;數據融合;實時目標定位
環境感知是自動駕駛車輛實現自主行駛的基礎和前提[1]。提高車輛感知附近目標的實時性和準確性,不僅可以提高車輛的自動駕駛能力,也對自動駕駛安全具有重要意義[2]。因此,如何對車輛周圍目標進行及時、精準的定位具有重要的研究價值。
目標定位首先要對目標進行檢測,已有大量學者針對圖像目標檢測算法進行了研究,目前的主流方法是基于深度學習的算法,主要包括只看一次(you only look once,YOLO)系列[3-6]、單次多視窗檢測(single shot multibox detector,SSD)[7]、區域卷積神經網絡(region-based convolutional neural network,R-CNN)系列[8-10]、特征金字塔網絡(feature pyramid networks,FPN)[11]等。這些圖像目標檢測算法雖然可以較好地獲取目標方位,但受限于圖像無法提供深度信息,難以準確判定目標的距離。
激光雷達可以獲取目標準確的空間位置,因此對于自動駕駛具有重要的應用價值。基于激光點云的目標檢測算法也是一直以來的研究熱點,其可分為傳統算法和基于深度學習的算法。傳統算法一般先進行地面點云濾除、濾波等操作,然后對點云進行空間聚類,從而確定各目標的位置。傳統算法受聚類方法、點云數量的影響,難以保證較好的檢測效果和實時性。基于深度學習的算法有采用單階段網絡的體素網絡(voxel network,VoxelNet)[12]、點云柱狀特征網絡[13]、點云圖神經網絡(point-based graph neural network,Point-GNN)[14]等,以及采用雙階段檢測的點云體素區域卷積神經網絡(point voxel region-based convolutional neural network,PV-RCNN)[15]、體素區域卷積神經網絡(voxel-based region-based convolutional neural network,Voxel R-CNN)[16]等算法。相較于單階段,雙階段的檢測精度更高,但速度較慢。同時,基于深度學習的點云目標檢測對計算資源的需求較高,在算力受限的平臺上實時性較差。
結合相機可準確獲取目標方位和激光雷達能準確獲取目標空間位置的特點,眾多學者對基于圖像和點云數據融合的目標檢測算法進行了研究。文獻[17]先對點云進行聚類得到目標感興趣區域,然后將其投影到圖像坐標系下,再使用卷積神經網絡對感興趣區域內的目標進行檢測,提升了檢測速度。文獻[18]分別對點云和圖像數據進行目標檢測,然后通過決策級融合獲取目標的位置、類別等信息,但是目標被遮擋時距離準確度不高。文獻[19]先對圖像中目標進行識別,然后將圖像檢測框與點云進行快速配準,降低了圖像漏檢的概率。文獻[20]先用參數自適應的基于密度的帶有噪聲的空間聚類(density-based spatial clustering of applications with noise,DBSCAN)算法對點云進行聚類,然后融合深度學習圖像檢測的結果,以去除聚類結果中的冗余目標。該算法雖然具有較高的精度和魯棒性,但是處理的點云數量較多,融合時會剔除較多的點云聚類結果,消耗了計算資源。這些方法一定程度上提高了目標的檢測率,但是在算力受限的平臺上難以保證較好的實時性。
針對以上單一傳感器在實時目標定位中難以準確獲取目標距離、算力要求高,多傳感器融合在算力受限的平臺上實時性難以保證的不足,本文提出了一種基于圖像與激光點云融合的實時目標定位算法。該算法將圖像的檢測結果和激光點云進行融合,從而剔除目標區域外的點云以降低數據量,并使用DBSCAN算法對目標區域內的點云進行聚類,以提取目標的真實點云,實現對目標的定位。
本文設計的圖像與激光點云融合的實時目標定位算法流程如圖1所示,主要包括數據融合和目標定位2個部分。首先采集激光點云和圖像數據,并對其進行數據同步;再將去畸變后的圖像使用YOLOv4進行目標檢測,得到多個目標在圖像坐標系中的位置、類別等信息;然后利用相機與激光雷達間的外參,將點云投影到圖像平面上,并剔除圖像中目標區域外的點云,完成點云與圖像之間的數據融合;最后對圖像目標區域內的少量點云進行聚類,提取目標的真實點云,從而獲取目標準確的空間位置和距離,完成目標定位工作。
圖1 算法流程
1.2.1 時間同步
在相機和激光雷達構成的多傳感器系統中,由于各傳感器的時鐘基準不一致,需要對傳感器間進行硬件時間同步,以保證各傳感器工作在同一時間基準下;又由于各傳感器的曝光頻率不一致,需要對各傳感器數據進行軟件時間同步,以保證各傳感器對同一環境事件的感知數據都擁有相同的時間戳,從而保證圖像和點云數據的正確融合。
本文選用了車規級千兆多媒體串行鏈路(gigabit multimedia serial links,GMSL)相機和非重復掃描式激光雷達作為實驗用傳感器。GMSL相機支持觸發式曝光,通過記錄相機觸發時間并對數據傳輸延遲進行修正,可獲取圖像的真實時間戳,該時間基準由上位機提供;激光雷達通過精確時間協議(precision time protocol,PTP)進行硬件時間同步,其時間基準由上位機提供。至此,相機和激光雷達便工作在了同一時間基準下,然后可對其數據進行軟件時間同步。本文采用時間索引的方式,即對每一幀激光點云數據尋找與其采樣時刻最近的圖像數據,從而完成圖像和點云數據間的軟件時間同步。
1.2.2 空間同步
圖2 坐標系空間轉換關系
基于深度學習的圖像目標檢測算法是目前的主流方法,其主要可分為2類,一類是單階段算法,通過端到端的網絡直接獲取目標位置和類別,常見有YOLO系列[3-6]等;另一類是雙階段算法,先產生一系列的目標候選區域,再對候選區域進行分類,常見有R-CNN系列[8-10]等。雖然雙階段的檢測精度高于單階段,但是對計算資源需求較高,檢測速度較慢,實時性差于單階段。本文考慮到在算力受限的平臺上進行實時目標檢測與定位的需求,選用YOLOv4[6]作為圖像的目標檢測算法,并在部署時采用統一計算設備架構(compute unified device architecture,CUDA)[22]和深度學習推導優化器(TensorRT)[23]對算法中的神經網絡推導進行加速,以提高目標檢測的實時性。
圖像目標檢測完成后,得到個目標在圖像中的區域為
圖3為數據融合后的效果。可以看出,圖像目標檢測只能提供目標的大致區域,目標邊框內存在一定背景,且目標易受遮擋影響,會存在目標邊框內一部分點云不屬于目標的情況,進而影響目標定位的準確性,因此需要對這些點云進行判別并提取出目標真實點云。
圖3 點云和圖像融合效果
綜合上述策略,即可提取目標真實點云數據,然后取點云聚類中心作為目標的空間位置,從而實現對目標的精準定位。
圖4為本文所用實驗平臺,相機采用森云智能車規級GMSL相機,分辨率為1280×720個像素,激光雷達采用大疆覽沃Mid-70非重復掃描式激光雷達,嵌入式計算平臺采用米文動力Apex Xavier。平臺上安裝Ubuntu18.04操作系統,并使用機器人操作系統(robot operating system,ROS)作為本文算法的運行平臺。
圖4 實驗平臺
為驗證本算法的有效性,在校園多個場景下進行實時目標定位實驗。經統計,一共采集了4659張圖像,圖像成功檢測目標23095次,算法成功定位目標22563次,定位成功率為97.7%。圖5為不同場景下的目標定位效果,其中點表示目標點云,叉表示被剔除的點云,目標邊框上標明了目標類別和距離信息。
圖5 不同場景下的目標定位效果
從圖5可以看出:在場景1中,大部分的地面點以及前車被后車遮擋部分的點被有效剔除;在場景2中,樹上的點被有效剔除;在場景3中,摩托車背景的點被有效剔除;在場景4中,非貨車上的點被有效剔除。說明了本算法在目標受其他物體遮擋、目標區域存在一定背景點云時,能有效分辨目標的真實點云,剔除非目標的點云,提高了目標定位的準確性。
為評價本文目標定位算法的定位精度,在校園場景下采集圖像和點云數據,并使用語義分割編輯軟件(semantic segmentation editor,SSE)對點云中的車輛和行人進行手工標注,從而獲取目標的位置信息作為真值。數據集中共標注了150幀數據。圖6所示為所標注的點云數據。
圖6 點云數據標注
表1 不同距離下對行車和車輛定位的方位角和距離的平均誤差
實驗發現,隨著距離的增加,目標在圖像中所占面積減少,目標上的點云密度和數量在降低,對應非目標點的數量也在降低,因此目標定位的方位角誤差呈減小趨勢。同時受該激光雷達自身測距精度影響,在距離小于5 m時,測距平均誤差較大。較大體積的目標易受其他物體遮擋,導致一部分目標自身點云缺失,影響整體的定位精度;因此本算法對行人的定位效果一定程度上優于對車輛的定位效果。
為驗證本算法的實時性,分別在嵌入式平臺上和高性能筆記本上對算法進行部署和測試。2個平臺的硬件參數如表2所示。可以看出,嵌入式平臺的處理器和顯卡均大幅弱于高性能筆記本。
表2 測試平臺硬件參數
對本算法分別使用中央處理器(central processing unit, CPU)、使用CPU/CUDA組合加速、使用CPU/CUDA/TensorRT組合加速,部署在嵌入式平臺和高性能筆記本上,統計每幀數據的平均耗時,結果如表3所示。可以看出,盡管本算法在高性能筆記本上的表現優于嵌入式平臺,但是功耗巨大,不適合自動駕駛場景下使用。對算法進行加速后,在嵌入式平臺上能達到36.7毫秒/幀的性能,理論上可達到27幀/秒的目標定位能力,說明本算法在算力受限的平臺上也能實時地運行。
表3 在不同平臺上算法采用不同加速的每幀平均耗時
在嵌入式平臺上分別部署本文算法和文獻[20]中的算法進行對比實驗,其中深度學習網絡推導部分均使用CUDA/TensorRT組合加速。利用2.2節中標注的數據,統計文獻[20]中算法的目標定位精度和處理每幀數據的平均耗時,并與本文算法進行對比,結果如表4所示。可以看出,本文算法的方位角平均誤差為1.36°,略優于文獻[20]的1.39°,距離平均誤差為5.8 cm,與文獻[20]的5.7 cm相當。在實時性表現上,本文算法每幀平均耗時比文獻[20]減少了70.9%,這主要得益于本算法在融合圖像目標區域和點云的過程中,剔除了大量的非目標冗余點云,大幅降低了計算量,從而提高了算法的處理效率,證明了本算法在低算力平臺上保證目標定位精度的同時,也可具備更好的實時性。
表4 算法定位誤差和每幀平均耗時
本文設計了一種基于圖像與激光點云融合的實時目標定位算法,通過對圖像進行目標檢測獲取目標所在區域,然后將點云投影到圖像平面并剔除目標區域外的點云以降低數據量,再通過DBSCAN算法對點云進行聚類,從而提取目標真實點云以實現目標精準定位。實驗結果表明,該算法對不同距離下目標的定位誤差較小,且在目標之間出現遮擋時,能有效提高目標定位的準確性。同時,該算法在算力受限的低功耗嵌入式平臺上每秒可以處理27幀數據,具備較強的實時性,適合在自動駕駛感知中使用。但本算法在目標距離較遠且點云較為稀疏時容易無法定位目標。未來可對融合方法進行優化,以更好地在該情況下進行目標定位。
[1] 甄先通, 黃堅, 王亮, 等. 自動駕駛汽車環境感知[M]. 北京: 清華大學出版社, 2020: 1-5.
[2] WANG Z, WU Y, NIU Q. Multi-sensor fusion in automated driving: a survey[EB/OL].[2022-05-06]. https://ieeexplore.ieee.org/abstract/document/8943388.
[3] REDMON J, DIVVALA S, GIRSHICK R, et al. You only look once: unified, real-time object detection[EB/OL]. [2022-05-06]. http://pjreddie.com/media/files/papers/yolo.pdf.
[4] REDMON J, FARHADI A. Yolo9000: better, faster, stronger[EB/OL].[2022-05-06]. https://arxiv.org/pdf/1612. 08242.
[5] REDMON J, FARHADI A. Yolov3: an incremental improvement[EB/OL]. (2018-04-08)[2022-05-06]. https://pjreddie.com/media/files/papers/YOLOv3.pdf.
[6] BOCHKOVSKIY A, WANG C Y, LIAO H Y M. Yolov4: optimal speed and accuracy of object detection[EB/OL]. (2020-04-23)[2022-05-06]. https://arxiv.org/pdf/2004.10934.
[7] LIU W, ANGUELOV D, ERHAN D, et al. Ssd: single shot multibox detector[EB/OL]. [2022-05-06]. https://link.springer.com/content/pdf/10.1007/978-3-319-46448-0.pdf.
[8] GIRSHICK R, DONAHUE J, DARRELL T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[EB/OL]. [2022-05-06]. https://ieeexplore.ieee.org/document/6909475.
[9] GIRSHICK R. Fast r-cnn[EB/OL]. [2022-05-06]. http://arxiv.org/pdf/1504.08083.pdf.
[10] REN S, HE K, GIRSHICK R, et al. Faster r-cnn: towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2017, 39(6):1137-1149.
[11] LIN T Y, DOLLáR P, GIRSHICK R, et al. Feature pyramid networks for object detection[EB/OL]. [2022-05-06]. https://arxiv.org/pdf/1612.03144v2.
[12] ZHOU Y, TUZEL O. Voxelnet: end-to-end learning for point cloud based 3d object detection[EB/OL]. [2022-05-06]. https://arxiv.org/pdf/1711.06396.
[13] LANG A H, VORA S, CAESAR H, et al. Pointpillars: fast encoders for object detection from point clouds[EB/OL]. (2019-05-07)[2022-05-06]. https://arxiv.org/pdf/1812.05784.
[14] SHI W, RAJKUMAR R. Point-gnn: graph neural network for 3d object detection in a point cloud[EB/OL]. [2022-05-06]. https://arxiv.org/pdf/2003.01251.
[15] SHI S, GUO C, JIANG L, et al. Pv-rcnn: point-voxel feature set abstraction for 3d object detection[EB/OL]. (2021-04-09)[2022-05-06]. https://arxiv.org/pdf/1912.13192.
[16] DENG J, SHI S, LI P, et al. Voxel r-cnn: towards high performance voxel-based 3d object detection[EB/OL]. (2020-12-31)[2022-05-06]. https://arxiv.org/pdf/2012.15712.
[17] ZHAO X, SUN P, XU Z, et al. Fusion of 3D lidar and camera data for object detection in autonomous vehicle applications[J]. IEEE Sensors Journal, 2020, 20(9): 4901-4913.
[18] 李研芳, 黃影平. 基于激光雷達和相機融合的目標檢測[J]. 電子測量技術, 2021, 44(5): 112-117.
[19] 胡遠志, 劉俊生, 何佳, 等. 基于激光雷達點云與圖像融合的車輛目標檢測方法[J]. 汽車安全與節能學報, 2019, 10(4): 451-458.
[20] 宮銘錢, 冀杰, 種一帆, 等. 基于激光雷達和視覺信息融合的車輛識別與跟蹤[J]. 汽車技術, 2020(11): 8-15.
[21] ZHANG Z. A flexible new technique for camera calibration[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000, 22(11): 1330-1334.
[22] CHENG J, GROSSMAN M, MCKERCHER T. Professional CUDA c programming[M]. [S.l.]: John Wiley & Sons, 2014:23-65.
[23] VANHOLDER H. Efficient inference with tensorrt[EB/OL].[2022-05-06]. https://on-demand.gputechconf.com/gtc-eu/2017/presentation/23425-han-vanholder-efficient-inference-with-tensorrt.pdf.
Real-time target positioning algorithm based on image and laser point cloud fusion
CUI Shanyao,JIA Shubin,HUANG Jingsong
(School of Geodesy and Geomatics, Wuhan University, Wuhan 430079, China)
Aiming at the limitations of the single sensor in real-time target localization in autonomous driving, the paper proposed a real-time target localization algorithm based on fusion of images and laser point clouds: the target detection on the image was performed to obtain the area of the target in the image coordinate system; and the density-based spatial clustering of applications with noise (DBSCAN) algorithm was used to cluster a small number of point clouds in the target area to extract the real target points; then the accurate location of the target was obtained while reducing the amount of computation. Experimental results showed that the proposed algorithm could effectively improve the accuracy of target positioning in the case of occlusion; and through deploying it on the embedded platform, it could be verified that the algorithm would have good real-time performance even on limited computing resource.
autonomous driving; image detection; point cloud clustering; data fusion; real-time target localization
P228
A
2095-4999(2023)02-0099-07
崔善堯, 賈述斌, 黃勁松. 圖像與激光點云融合的實時目標定位算法[J].導航定位學報, 2023, 11(2): 99-105.(CUI Shanyao, JIA Shubin, HUANG Jingsong. Real-time target positioning algorithm based on image and laser point cloud fusion[J]. Journal of Navigation and Positioning, 2023, 11(2): 99-105.)DOI:10.16547/j.cnki.10-1096.20230211.
2022-05-28
崔善堯(1997—),男,江蘇淮安人,碩士研究生,研究方向為自動駕駛多源傳感器融合。