崔善堯,賈述斌,黃勁松
圖像與激光點云融合的實時目標(biāo)定位算法
崔善堯,賈述斌,黃勁松
(武漢大學(xué) 測繪學(xué)院,武漢 430079)
針對單一傳感器在自動駕駛實時目標(biāo)定位中的局限性,提出一種基于圖像與激光點云融合的實時目標(biāo)定位算法:對圖像進(jìn)行目標(biāo)檢測,得到目標(biāo)在圖像坐標(biāo)系中的區(qū)域;然后將激光點云投影到圖像坐標(biāo)系中,使用基于密度的帶有噪聲的空間聚類(DBSCAN)算法對目標(biāo)區(qū)域內(nèi)的少量點云進(jìn)行聚類以提取目標(biāo)真實點云,降低計算量的同時獲取目標(biāo)準(zhǔn)確的位置信息。實驗結(jié)果表明,該算法可以有效提升在遮擋情況下目標(biāo)定位的準(zhǔn)確性;并通過在嵌入式平臺上進(jìn)行部署,驗證了該算法在算力受限的平臺上也具有較好的實時性。
自動駕駛;圖像檢測;點云聚類;數(shù)據(jù)融合;實時目標(biāo)定位
環(huán)境感知是自動駕駛車輛實現(xiàn)自主行駛的基礎(chǔ)和前提[1]。提高車輛感知附近目標(biāo)的實時性和準(zhǔn)確性,不僅可以提高車輛的自動駕駛能力,也對自動駕駛安全具有重要意義[2]。因此,如何對車輛周圍目標(biāo)進(jìn)行及時、精準(zhǔn)的定位具有重要的研究價值。
目標(biāo)定位首先要對目標(biāo)進(jìn)行檢測,已有大量學(xué)者針對圖像目標(biāo)檢測算法進(jìn)行了研究,目前的主流方法是基于深度學(xué)習(xí)的算法,主要包括只看一次(you only look once,YOLO)系列[3-6]、單次多視窗檢測(single shot multibox detector,SSD)[7]、區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(region-based convolutional neural network,R-CNN)系列[8-10]、特征金字塔網(wǎng)絡(luò)(feature pyramid networks,F(xiàn)PN)[11]等。這些圖像目標(biāo)檢測算法雖然可以較好地獲取目標(biāo)方位,但受限于圖像無法提供深度信息,難以準(zhǔn)確判定目標(biāo)的距離。
激光雷達(dá)可以獲取目標(biāo)準(zhǔn)確的空間位置,因此對于自動駕駛具有重要的應(yīng)用價值?;诩す恻c云的目標(biāo)檢測算法也是一直以來的研究熱點,其可分為傳統(tǒng)算法和基于深度學(xué)習(xí)的算法。傳統(tǒng)算法一般先進(jìn)行地面點云濾除、濾波等操作,然后對點云進(jìn)行空間聚類,從而確定各目標(biāo)的位置。傳統(tǒng)算法受聚類方法、點云數(shù)量的影響,難以保證較好的檢測效果和實時性?;谏疃葘W(xué)習(xí)的算法有采用單階段網(wǎng)絡(luò)的體素網(wǎng)絡(luò)(voxel network,VoxelNet)[12]、點云柱狀特征網(wǎng)絡(luò)[13]、點云圖神經(jīng)網(wǎng)絡(luò)(point-based graph neural network,Point-GNN)[14]等,以及采用雙階段檢測的點云體素區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(point voxel region-based convolutional neural network,PV-RCNN)[15]、體素區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(voxel-based region-based convolutional neural network,Voxel R-CNN)[16]等算法。相較于單階段,雙階段的檢測精度更高,但速度較慢。同時,基于深度學(xué)習(xí)的點云目標(biāo)檢測對計算資源的需求較高,在算力受限的平臺上實時性較差。
結(jié)合相機可準(zhǔn)確獲取目標(biāo)方位和激光雷達(dá)能準(zhǔn)確獲取目標(biāo)空間位置的特點,眾多學(xué)者對基于圖像和點云數(shù)據(jù)融合的目標(biāo)檢測算法進(jìn)行了研究。文獻(xiàn)[17]先對點云進(jìn)行聚類得到目標(biāo)感興趣區(qū)域,然后將其投影到圖像坐標(biāo)系下,再使用卷積神經(jīng)網(wǎng)絡(luò)對感興趣區(qū)域內(nèi)的目標(biāo)進(jìn)行檢測,提升了檢測速度。文獻(xiàn)[18]分別對點云和圖像數(shù)據(jù)進(jìn)行目標(biāo)檢測,然后通過決策級融合獲取目標(biāo)的位置、類別等信息,但是目標(biāo)被遮擋時距離準(zhǔn)確度不高。文獻(xiàn)[19]先對圖像中目標(biāo)進(jìn)行識別,然后將圖像檢測框與點云進(jìn)行快速配準(zhǔn),降低了圖像漏檢的概率。文獻(xiàn)[20]先用參數(shù)自適應(yīng)的基于密度的帶有噪聲的空間聚類(density-based spatial clustering of applications with noise,DBSCAN)算法對點云進(jìn)行聚類,然后融合深度學(xué)習(xí)圖像檢測的結(jié)果,以去除聚類結(jié)果中的冗余目標(biāo)。該算法雖然具有較高的精度和魯棒性,但是處理的點云數(shù)量較多,融合時會剔除較多的點云聚類結(jié)果,消耗了計算資源。這些方法一定程度上提高了目標(biāo)的檢測率,但是在算力受限的平臺上難以保證較好的實時性。
針對以上單一傳感器在實時目標(biāo)定位中難以準(zhǔn)確獲取目標(biāo)距離、算力要求高,多傳感器融合在算力受限的平臺上實時性難以保證的不足,本文提出了一種基于圖像與激光點云融合的實時目標(biāo)定位算法。該算法將圖像的檢測結(jié)果和激光點云進(jìn)行融合,從而剔除目標(biāo)區(qū)域外的點云以降低數(shù)據(jù)量,并使用DBSCAN算法對目標(biāo)區(qū)域內(nèi)的點云進(jìn)行聚類,以提取目標(biāo)的真實點云,實現(xiàn)對目標(biāo)的定位。
本文設(shè)計的圖像與激光點云融合的實時目標(biāo)定位算法流程如圖1所示,主要包括數(shù)據(jù)融合和目標(biāo)定位2個部分。首先采集激光點云和圖像數(shù)據(jù),并對其進(jìn)行數(shù)據(jù)同步;再將去畸變后的圖像使用YOLOv4進(jìn)行目標(biāo)檢測,得到多個目標(biāo)在圖像坐標(biāo)系中的位置、類別等信息;然后利用相機與激光雷達(dá)間的外參,將點云投影到圖像平面上,并剔除圖像中目標(biāo)區(qū)域外的點云,完成點云與圖像之間的數(shù)據(jù)融合;最后對圖像目標(biāo)區(qū)域內(nèi)的少量點云進(jìn)行聚類,提取目標(biāo)的真實點云,從而獲取目標(biāo)準(zhǔn)確的空間位置和距離,完成目標(biāo)定位工作。
圖1 算法流程
1.2.1 時間同步
在相機和激光雷達(dá)構(gòu)成的多傳感器系統(tǒng)中,由于各傳感器的時鐘基準(zhǔn)不一致,需要對傳感器間進(jìn)行硬件時間同步,以保證各傳感器工作在同一時間基準(zhǔn)下;又由于各傳感器的曝光頻率不一致,需要對各傳感器數(shù)據(jù)進(jìn)行軟件時間同步,以保證各傳感器對同一環(huán)境事件的感知數(shù)據(jù)都擁有相同的時間戳,從而保證圖像和點云數(shù)據(jù)的正確融合。
本文選用了車規(guī)級千兆多媒體串行鏈路(gigabit multimedia serial links,GMSL)相機和非重復(fù)掃描式激光雷達(dá)作為實驗用傳感器。GMSL相機支持觸發(fā)式曝光,通過記錄相機觸發(fā)時間并對數(shù)據(jù)傳輸延遲進(jìn)行修正,可獲取圖像的真實時間戳,該時間基準(zhǔn)由上位機提供;激光雷達(dá)通過精確時間協(xié)議(precision time protocol,PTP)進(jìn)行硬件時間同步,其時間基準(zhǔn)由上位機提供。至此,相機和激光雷達(dá)便工作在了同一時間基準(zhǔn)下,然后可對其數(shù)據(jù)進(jìn)行軟件時間同步。本文采用時間索引的方式,即對每一幀激光點云數(shù)據(jù)尋找與其采樣時刻最近的圖像數(shù)據(jù),從而完成圖像和點云數(shù)據(jù)間的軟件時間同步。
1.2.2 空間同步
圖2 坐標(biāo)系空間轉(zhuǎn)換關(guān)系
基于深度學(xué)習(xí)的圖像目標(biāo)檢測算法是目前的主流方法,其主要可分為2類,一類是單階段算法,通過端到端的網(wǎng)絡(luò)直接獲取目標(biāo)位置和類別,常見有YOLO系列[3-6]等;另一類是雙階段算法,先產(chǎn)生一系列的目標(biāo)候選區(qū)域,再對候選區(qū)域進(jìn)行分類,常見有R-CNN系列[8-10]等。雖然雙階段的檢測精度高于單階段,但是對計算資源需求較高,檢測速度較慢,實時性差于單階段。本文考慮到在算力受限的平臺上進(jìn)行實時目標(biāo)檢測與定位的需求,選用YOLOv4[6]作為圖像的目標(biāo)檢測算法,并在部署時采用統(tǒng)一計算設(shè)備架構(gòu)(compute unified device architecture,CUDA)[22]和深度學(xué)習(xí)推導(dǎo)優(yōu)化器(TensorRT)[23]對算法中的神經(jīng)網(wǎng)絡(luò)推導(dǎo)進(jìn)行加速,以提高目標(biāo)檢測的實時性。
圖像目標(biāo)檢測完成后,得到個目標(biāo)在圖像中的區(qū)域為
圖3為數(shù)據(jù)融合后的效果??梢钥闯?,圖像目標(biāo)檢測只能提供目標(biāo)的大致區(qū)域,目標(biāo)邊框內(nèi)存在一定背景,且目標(biāo)易受遮擋影響,會存在目標(biāo)邊框內(nèi)一部分點云不屬于目標(biāo)的情況,進(jìn)而影響目標(biāo)定位的準(zhǔn)確性,因此需要對這些點云進(jìn)行判別并提取出目標(biāo)真實點云。
圖3 點云和圖像融合效果
綜合上述策略,即可提取目標(biāo)真實點云數(shù)據(jù),然后取點云聚類中心作為目標(biāo)的空間位置,從而實現(xiàn)對目標(biāo)的精準(zhǔn)定位。
圖4為本文所用實驗平臺,相機采用森云智能車規(guī)級GMSL相機,分辨率為1280×720個像素,激光雷達(dá)采用大疆覽沃Mid-70非重復(fù)掃描式激光雷達(dá),嵌入式計算平臺采用米文動力Apex Xavier。平臺上安裝Ubuntu18.04操作系統(tǒng),并使用機器人操作系統(tǒng)(robot operating system,ROS)作為本文算法的運行平臺。
圖4 實驗平臺
為驗證本算法的有效性,在校園多個場景下進(jìn)行實時目標(biāo)定位實驗。經(jīng)統(tǒng)計,一共采集了4659張圖像,圖像成功檢測目標(biāo)23095次,算法成功定位目標(biāo)22563次,定位成功率為97.7%。圖5為不同場景下的目標(biāo)定位效果,其中點表示目標(biāo)點云,叉表示被剔除的點云,目標(biāo)邊框上標(biāo)明了目標(biāo)類別和距離信息。
圖5 不同場景下的目標(biāo)定位效果
從圖5可以看出:在場景1中,大部分的地面點以及前車被后車遮擋部分的點被有效剔除;在場景2中,樹上的點被有效剔除;在場景3中,摩托車背景的點被有效剔除;在場景4中,非貨車上的點被有效剔除。說明了本算法在目標(biāo)受其他物體遮擋、目標(biāo)區(qū)域存在一定背景點云時,能有效分辨目標(biāo)的真實點云,剔除非目標(biāo)的點云,提高了目標(biāo)定位的準(zhǔn)確性。
為評價本文目標(biāo)定位算法的定位精度,在校園場景下采集圖像和點云數(shù)據(jù),并使用語義分割編輯軟件(semantic segmentation editor,SSE)對點云中的車輛和行人進(jìn)行手工標(biāo)注,從而獲取目標(biāo)的位置信息作為真值。數(shù)據(jù)集中共標(biāo)注了150幀數(shù)據(jù)。圖6所示為所標(biāo)注的點云數(shù)據(jù)。
圖6 點云數(shù)據(jù)標(biāo)注
表1 不同距離下對行車和車輛定位的方位角和距離的平均誤差
實驗發(fā)現(xiàn),隨著距離的增加,目標(biāo)在圖像中所占面積減少,目標(biāo)上的點云密度和數(shù)量在降低,對應(yīng)非目標(biāo)點的數(shù)量也在降低,因此目標(biāo)定位的方位角誤差呈減小趨勢。同時受該激光雷達(dá)自身測距精度影響,在距離小于5 m時,測距平均誤差較大。較大體積的目標(biāo)易受其他物體遮擋,導(dǎo)致一部分目標(biāo)自身點云缺失,影響整體的定位精度;因此本算法對行人的定位效果一定程度上優(yōu)于對車輛的定位效果。
為驗證本算法的實時性,分別在嵌入式平臺上和高性能筆記本上對算法進(jìn)行部署和測試。2個平臺的硬件參數(shù)如表2所示??梢钥闯?,嵌入式平臺的處理器和顯卡均大幅弱于高性能筆記本。
表2 測試平臺硬件參數(shù)
對本算法分別使用中央處理器(central processing unit, CPU)、使用CPU/CUDA組合加速、使用CPU/CUDA/TensorRT組合加速,部署在嵌入式平臺和高性能筆記本上,統(tǒng)計每幀數(shù)據(jù)的平均耗時,結(jié)果如表3所示??梢钥闯?,盡管本算法在高性能筆記本上的表現(xiàn)優(yōu)于嵌入式平臺,但是功耗巨大,不適合自動駕駛場景下使用。對算法進(jìn)行加速后,在嵌入式平臺上能達(dá)到36.7毫秒/幀的性能,理論上可達(dá)到27幀/秒的目標(biāo)定位能力,說明本算法在算力受限的平臺上也能實時地運行。
表3 在不同平臺上算法采用不同加速的每幀平均耗時
在嵌入式平臺上分別部署本文算法和文獻(xiàn)[20]中的算法進(jìn)行對比實驗,其中深度學(xué)習(xí)網(wǎng)絡(luò)推導(dǎo)部分均使用CUDA/TensorRT組合加速。利用2.2節(jié)中標(biāo)注的數(shù)據(jù),統(tǒng)計文獻(xiàn)[20]中算法的目標(biāo)定位精度和處理每幀數(shù)據(jù)的平均耗時,并與本文算法進(jìn)行對比,結(jié)果如表4所示。可以看出,本文算法的方位角平均誤差為1.36°,略優(yōu)于文獻(xiàn)[20]的1.39°,距離平均誤差為5.8 cm,與文獻(xiàn)[20]的5.7 cm相當(dāng)。在實時性表現(xiàn)上,本文算法每幀平均耗時比文獻(xiàn)[20]減少了70.9%,這主要得益于本算法在融合圖像目標(biāo)區(qū)域和點云的過程中,剔除了大量的非目標(biāo)冗余點云,大幅降低了計算量,從而提高了算法的處理效率,證明了本算法在低算力平臺上保證目標(biāo)定位精度的同時,也可具備更好的實時性。
表4 算法定位誤差和每幀平均耗時
本文設(shè)計了一種基于圖像與激光點云融合的實時目標(biāo)定位算法,通過對圖像進(jìn)行目標(biāo)檢測獲取目標(biāo)所在區(qū)域,然后將點云投影到圖像平面并剔除目標(biāo)區(qū)域外的點云以降低數(shù)據(jù)量,再通過DBSCAN算法對點云進(jìn)行聚類,從而提取目標(biāo)真實點云以實現(xiàn)目標(biāo)精準(zhǔn)定位。實驗結(jié)果表明,該算法對不同距離下目標(biāo)的定位誤差較小,且在目標(biāo)之間出現(xiàn)遮擋時,能有效提高目標(biāo)定位的準(zhǔn)確性。同時,該算法在算力受限的低功耗嵌入式平臺上每秒可以處理27幀數(shù)據(jù),具備較強的實時性,適合在自動駕駛感知中使用。但本算法在目標(biāo)距離較遠(yuǎn)且點云較為稀疏時容易無法定位目標(biāo)。未來可對融合方法進(jìn)行優(yōu)化,以更好地在該情況下進(jìn)行目標(biāo)定位。
[1] 甄先通, 黃堅, 王亮, 等. 自動駕駛汽車環(huán)境感知[M]. 北京: 清華大學(xué)出版社, 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] 李研芳, 黃影平. 基于激光雷達(dá)和相機融合的目標(biāo)檢測[J]. 電子測量技術(shù), 2021, 44(5): 112-117.
[19] 胡遠(yuǎn)志, 劉俊生, 何佳, 等. 基于激光雷達(dá)點云與圖像融合的車輛目標(biāo)檢測方法[J]. 汽車安全與節(jié)能學(xué)報, 2019, 10(4): 451-458.
[20] 宮銘錢, 冀杰, 種一帆, 等. 基于激光雷達(dá)和視覺信息融合的車輛識別與跟蹤[J]. 汽車技術(shù), 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
崔善堯, 賈述斌, 黃勁松. 圖像與激光點云融合的實時目標(biāo)定位算法[J].導(dǎo)航定位學(xué)報, 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—),男,江蘇淮安人,碩士研究生,研究方向為自動駕駛多源傳感器融合。