周沫 張春城 何超



摘要:針對單一傳感器在自動駕駛車輛環(huán)境感知系統(tǒng)中易受環(huán)境干擾的問題,通過融合激光雷達點云數(shù)據(jù)和相機圖像數(shù)據(jù),提出一種強魯棒性的目標(biāo)檢測方法。首先,通過YOLOv4和Pointpillars分別實現(xiàn)相機的2D目標(biāo)檢測和激光雷達的3D目標(biāo)檢測;然后將點云從3D投影到2D笛卡爾坐標(biāo)下并計算相機幀下的3D邊框;進而將相機幀中的3D邊界框轉(zhuǎn)換為圖像上的2D邊框;最后,計算在同一圖像上顯示的相機和激光雷達檢測框的IOU指標(biāo)后進行邊框融合并修正融合后的目標(biāo)置信度,最終輸出目標(biāo)的融合框、類別和距離信息。在KITTI數(shù)據(jù)集上的實驗結(jié)果表明,相較單一傳感器的目標(biāo)檢測方法,所提出的方法通過點云和圖像數(shù)據(jù)的優(yōu)勢互補提高了目標(biāo)檢測的精度。
關(guān)鍵詞:點云圖像;后期融合;置信度修正;目標(biāo)檢測
中圖分類號:U472.9;TP391.4? 收稿日期:2023-11-20
DOI:10.19999/j.cnki.1004-0226.2024.02.019
1 前言
由于自動駕駛車輛環(huán)境感知系統(tǒng)中傳感器本身硬件性能的局限性,基于單一傳感器的目標(biāo)檢測技術(shù)有很大的局限性,多傳感器融合目標(biāo)檢測技術(shù)可以實現(xiàn)不同傳感器間的優(yōu)勢互補,因此近年來多傳感器融合技術(shù)受到了廣泛的關(guān)注。傳感器融合可以分為前期、中期和后期融合[1]。前融合即數(shù)據(jù)級融合,直接融合不同傳感器的原始數(shù)據(jù),具有較高的準(zhǔn)確性,但不易將不同維度的數(shù)據(jù)統(tǒng)一,數(shù)據(jù)處理量大,實時性較低。中期融合即特征級融合,對不同數(shù)據(jù)分別提取原始特征,再融合多個特征,根據(jù)目標(biāo)已有特征對融合特征進行匹配,獲得目標(biāo)的信息。后融合即結(jié)果級融合,分別在不同的原始數(shù)據(jù)下檢測得到在該數(shù)據(jù)類型下的目標(biāo)包絡(luò)框、類別、位置等信息,然后對目標(biāo)的包絡(luò)框等信息進行融合。后融合的方法具有較高的魯棒性且不受傳感器類別的影響。
國內(nèi)外學(xué)者近年來對傳感器融合技術(shù)已經(jīng)有了一定的研究。陳俊英等[2]通過使用VoxelNet和ResNet的深度特征學(xué)習(xí)方法得到點云特征和圖像特征后,基于互注意力模塊挖掘模態(tài)間的互補信息,得到融合特征后使用區(qū)域提案網(wǎng)絡(luò)和多任務(wù)學(xué)習(xí)網(wǎng)絡(luò)實現(xiàn)了特征級融合3D目標(biāo)檢測及定位,但該方法數(shù)據(jù)處理量大,實時性難以保證。
張青春等[3]提出了一種基于直線與平面擬合的算法,完成了相機與激光雷達的融合,更好地完成了機器人的環(huán)境識別任務(wù)。該方法使用的是單線激光雷達,檢測精確度仍有待提升。
WEI等[4]提出一種減少激光雷達假陽性檢測的融合方法,利用在相機圖像上放置信標(biāo)通過神經(jīng)網(wǎng)絡(luò)實現(xiàn)相機到LiDAR的投影,信標(biāo)能夠提高激光雷達檢測目標(biāo)的能力從而實現(xiàn)避免假陽性的檢測,該方法有效提升目標(biāo)位置的檢測性和信息標(biāo)記能力。
鄭少武等[5]提出了一種基于激光點云與圖像信息融合的交通環(huán)境車輛檢測算法,通過對圖像和點云原始數(shù)據(jù)分別進行目標(biāo)檢測與跟蹤,利用匈牙利算法對檢測結(jié)果進行最優(yōu)匹配,并結(jié)合點云到圖像的投影對未匹配的圖像檢測框進行進一步篩選,最終對融合列表進行分類后擇優(yōu)輸出。
張堡瑞等[6]針對水面這種特殊環(huán)境及激光雷達在水面介質(zhì)中的點云反射特點,提出點云與圖像融合的方法來解決水面漂浮物檢測問題。有效消除水面漂浮物倒影或水面波紋造成的誤識別情況,彌補了相機檢測對光照依賴的短板,但該方法僅適用于特定場景,有一定的局限性。
CHAVEZ-GARCIA[7]采用兩次聚類算法聚類點云數(shù)據(jù),并采用快速Adaboost分類器基于Haar-like特征識別車輛目標(biāo)。
陳毅等[8]首先將點云數(shù)據(jù)前向投影形成二維深度圖,并通過深度補全方法將深度圖的分辨率提高至與圖像分辨率一致,然后使用YOLOv3算法分別檢測彩色圖和深度圖中的車輛目標(biāo),最后根據(jù)改進的D-S證據(jù)理論對檢測結(jié)果進行特征級融合,但對較小目標(biāo)的識別效果有待提高。
常昕[9]提出了一種基于激光雷達和相機的信息融合的目標(biāo)檢測及追蹤算法。利用激光點云數(shù)據(jù)聚類方法對可通行區(qū)域的障礙物進行檢測,并投影到圖片上,確定跟蹤目標(biāo)后在粒子濾波的算法基礎(chǔ)上,利用顏色信息追蹤目標(biāo),采用激光雷達的目標(biāo)檢測結(jié)果對目標(biāo)追蹤結(jié)果進行修正,減小了光照、遮擋、背景干擾等因素的影響,提高目標(biāo)追蹤效果。
針對以上問題,在環(huán)境感知系統(tǒng)中保證實時性的前提下,為了提高目標(biāo)檢測精度、降低誤檢率,本文提出一種通用的基于激光點云與圖像信息后融合的目標(biāo)檢測方法,選取性能優(yōu)異的目標(biāo)檢測算法作為基礎(chǔ)網(wǎng)絡(luò),充分利用點云空間坐標(biāo)與圖像像素坐標(biāo)的相互轉(zhuǎn)換關(guān)系,實現(xiàn)三維目標(biāo)與二維目標(biāo)的最優(yōu)匹配,輸出可靠的融合結(jié)果。
2 融合方法概述
僅使用相機對道路目標(biāo)進行檢測,易受到光照條件等因素影響,且無法獲得目標(biāo)的距離位置信息;僅使用激光雷達傳感器進行目標(biāo)檢測,受激光雷達自身線束及探測距離影響較大。為此,本文提出一種相機和激光雷達融合的目標(biāo)檢測方法,整個系統(tǒng)流程如圖1所示。
傳感器的融合采用后融合(late fusion)的方法。首先分別將圖像和點云數(shù)據(jù)送入YOLOv4和Pointpillars網(wǎng)絡(luò)中,得到目標(biāo)的邊界框、類別和置信度;然后將點云坐標(biāo)轉(zhuǎn)換為笛卡爾坐標(biāo),并計算相機幀下的3D邊框;進而將相機幀中的3D邊界框投影到圖像上并繪制激光雷達在圖像上的2D邊框;最后,計算在同一圖像上顯示的相機和激光雷達檢測框的IOU指標(biāo),對符合閾值的框進行融合并修正目標(biāo)置信度,最終輸出目標(biāo)融合框、類別和距離信息。
3 基于相機的目標(biāo)檢測
YOLOv4算法是從YOLOv3發(fā)展而來的,YOLOv4在與EfficientDet[10]網(wǎng)絡(luò)性能相當(dāng)?shù)那闆r下,推理速度是EfficientDet的2倍左右,比上一代YOLOv3算法的平均精度AP和FPS分別提高了10%和12%。YOLOv4的網(wǎng)絡(luò)結(jié)構(gòu)如圖2,該算法由主干特征提取網(wǎng)絡(luò)CSPDarknet53、特征金字塔SPPNet和檢測結(jié)構(gòu)YOLO-Head構(gòu)成如圖2所示。主干網(wǎng)絡(luò)CSPDarknet53在YOLOv3主干網(wǎng)絡(luò)Darknet53基礎(chǔ)上,借鑒了CSPNet的思想,在減少參數(shù)計算量的同時保證了準(zhǔn)確率。YOLOv4算法在特征金字塔模塊中采用了SPPNet結(jié)構(gòu),進一步提高了算法的特征提取能力,而YOLO Head特征層則繼續(xù)使用YOLOv3的結(jié)構(gòu)。
本文使用KITTI數(shù)據(jù)集中圖片對神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練,通過YOLOv4網(wǎng)絡(luò)識別得到目標(biāo)邊框和置信度如圖3所示。該網(wǎng)絡(luò)能夠在豐富的圖像信息中準(zhǔn)確地識別到車輛和行人目標(biāo)。
4 基于激光雷達的目標(biāo)檢測
激光雷達部分的目標(biāo)檢測采用Pointpillars算法,使用全新的編碼器來學(xué)習(xí)點云柱上面的特征,來預(yù)測點云數(shù)據(jù)中目標(biāo)的三維邊界框。Pointpillars保留了VoxelNet的基本框架,主要由特征提取層、二維卷積層和檢測輸出層組成,如圖4所示。特征提取層對點云數(shù)據(jù)進行柱狀編碼,并提取柱狀體特征;二維卷積層對特征進行多尺度捕獲;最后通過SSD(Single Shot Detector)檢測輸出目標(biāo)。
該方法有幾個優(yōu)點。a.通過學(xué)習(xí)特征而不是依賴固定的編碼器,PointPillars可以利用點云表示的全部信息。b.通過對柱而不是體素進行操作,不需要手動調(diào)整。c.柱子是高效的,因為所有關(guān)鍵操作都可以公式化為2D卷積,在GPU上計算非常高效,檢測在圖像上的可視化結(jié)果如圖5所示。
5 后融合方法
本文從結(jié)果的層面對相機激光雷達的檢測結(jié)果進行融合,相機和激光雷達分別通過深度學(xué)習(xí)網(wǎng)絡(luò)得到目標(biāo)在圖像數(shù)據(jù)和點云數(shù)據(jù)中的檢測框。然后需要進行時間和空間同步將激光雷達的三維檢測框投影到圖像上,對同一幀圖片中的不同傳感器檢測框利用交并比進行篩選,最終輸出融合結(jié)果。
5.1 時空匹配
時間同步因相機和激光雷達的采樣頻率不同,正常情況相機的采樣頻率為30 Hz,激光雷達的采樣頻率為10~20 Hz。相機完成3幀圖像的采集,激光雷達才可以完成1幀的點云數(shù)據(jù)采集,所以同一時刻下相機和激光雷達的數(shù)據(jù)會出現(xiàn)不對應(yīng)的現(xiàn)象,影響融合檢測結(jié)果,所以需要進行時間同步。本文利用ROS平臺的時間同步函數(shù),以激光雷達時間為基準(zhǔn),選擇與該時刻最近的相機數(shù)據(jù)保留為對應(yīng)的圖像幀。
空間同步即相機和激光雷達聯(lián)合標(biāo)定過程,激光雷達坐標(biāo)系的點云數(shù)據(jù)投影到相機二維坐標(biāo)系下需要求取相機外部參數(shù)。相機坐標(biāo)系到像素坐標(biāo)系的轉(zhuǎn)換需要求取相機的內(nèi)部參數(shù)。設(shè)空間一點P在激光雷達坐標(biāo)系為[XL,YL,ZL],在相機坐標(biāo)系坐標(biāo)為[XC,Yc,Zc],在圖像坐標(biāo)系下為[xp,yp],在像素坐標(biāo)系坐標(biāo)為[u,v]。
激光雷達轉(zhuǎn)換為像素坐標(biāo)系的關(guān)系表示為:
[ZCuv1=1dx0u001dyv0001f000f0001? ? 000RCL? tCL01XLYLZL1]? ?(1)
式中,[RCL? tCL01]為相機外參矩陣;f為相機焦距;[dx]、[dy]為x、y軸的像素轉(zhuǎn)換單位;[u0]、[v0]為投影屏幕中心相對于光軸出現(xiàn)的偏移。則激光雷達三維坐標(biāo)系下的點[XL,YL,ZL]轉(zhuǎn)換為像素坐標(biāo)下點[u,v]的問題,轉(zhuǎn)化為求取相機內(nèi)外參數(shù)的過程。
本文通過Autoware內(nèi)部的標(biāo)定工具進行標(biāo)定,標(biāo)定過程通過手眼選取圖像和點云的對應(yīng)關(guān)系如圖6所示。
5.2 邊框融合
在完成傳感器的時空同步后,融合激光雷達點云檢測結(jié)果與相機檢測結(jié)果。如圖7所示,相機和激光雷達檢測框顯示在同一幀圖片上,紅色為激光雷達檢測投影框,黃色為相機檢測目標(biāo)框。接著對激光雷達檢測的投影邊界框和相機檢測的邊界框通過IOU進行關(guān)聯(lián)匹配,當(dāng)重疊面積大于等于設(shè)定的閾值0.5時,會被認(rèn)為匹配成功,輸出融合激光雷達的距離信息與相機傳感器的類別信息;當(dāng)重疊面積小于設(shè)定的閾值0.5時,只輸出相機檢測到的目標(biāo)信息。
由于在使用深度學(xué)習(xí)網(wǎng)絡(luò)對圖像和點云數(shù)據(jù)的目標(biāo)進行檢測時,設(shè)置的置信度概率閾值會過濾掉一部分置信度不高的目標(biāo)。但在實際實驗過程中,一部分被識別出的目標(biāo)會因為設(shè)置的置信度閾值而被濾除,所以本文采用sigmoid函數(shù)對檢測到的目標(biāo)進行置信度修正,其公式如下:
[P2=sigmoid(P1+C)]? ? ? ? ? ? ? ? ? ? ? ?(2)
[P2=eP1+C1+eP1+C]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(3)
式中,[P1]為圖像識別目標(biāo)輸出的目標(biāo)置信度;[P2]為融合后修正的目標(biāo)置信度;[C]為調(diào)整系數(shù)。
6 實驗結(jié)果分析
為了驗證本文融合目標(biāo)檢測算法的有效性,在公開的自動駕駛數(shù)據(jù)集KITTI上進行主要實驗探究。KITTI數(shù)據(jù)集是目前國際上最大的自動駕駛場景下的計算機視覺算法評測數(shù)據(jù)集。該數(shù)據(jù)集用于評測立體圖像、光流、視覺測距、3D物體檢測和3D跟蹤等計算機視覺技術(shù)在車載環(huán)境下的性能。KITTI包含市區(qū)、鄉(xiāng)村和高速公路等場景采集的真實圖像數(shù)據(jù),每張圖像中最多達15輛車和30個行人,還有各種程度的遮擋與截斷。
在訓(xùn)練模型時,采用KITTI數(shù)據(jù)集中的3D目標(biāo)檢測數(shù)據(jù)集。因此,本文將KITTI數(shù)據(jù)集中7 481幀圖像和點云對應(yīng)數(shù)據(jù)按照8∶1∶1的比例隨機劃分訓(xùn)練集、測試集和驗證集。本文主要對轎車和行人進行研究。圖8為在KITTI數(shù)據(jù)集中測試的可視化結(jié)果,紅色框為融合后的目標(biāo)檢測框,標(biāo)簽分別為目標(biāo)的類別和距離信息。
為定量分析融合算法的性能,分別在KITTI中將融合算法分別與單一的YOLOv4檢測方法和單一Pointpillars方法進行對比,由表1中可以看出,融合算法識別目標(biāo)的平均準(zhǔn)確率分別較YOLOv4和Pointpillars提高了2.76%和17.90%。
7 結(jié)語
本文提出了一種基于相機與激光雷達決策級融合的道路行人、車輛目標(biāo)檢測方法。通過YOLOv4和Pointpillars分別得到目標(biāo)在圖像和點云數(shù)據(jù)中的檢測框,然后經(jīng)過時間和空間的同步將不同的目標(biāo)檢測框統(tǒng)一在同一幀圖片上,通過檢測框之間交并比建立關(guān)聯(lián)并進行篩選,最終輸出融合檢測的結(jié)果。在KITTI數(shù)據(jù)集上的實驗結(jié)果證明,本文所提方法相對于單一傳感器的目標(biāo)檢測方法有效提高了對行人和車輛的檢測精度。
參考文獻:
[1]LI S,KANG X,F(xiàn)ANG L,et al.Pixel-level image fusion: a survey of the state of the art[J/OL].?Information Fusion,2017,33:100-112.
[2]陳俊英.互注意力融合圖像和點云數(shù)據(jù)的3D目標(biāo)檢測[J].光學(xué)精密工程,2021(9):2247-2254.
[3]張青春.基于ROS機器人的相機與激光雷達融合技術(shù)研究[J].中國測試,2021(12):120-123.
[4]WEI P,CAGLE L, REZA T,et al.Lidar and camera detection fusion in a real time industrial multi-sensor collision avoidance system[M/OL].arXiv,2018.
[5]鄭少武.基于激光點云與圖像信息融合的交通環(huán)境車輛檢測[J].儀器儀表學(xué)報,2019(12):143-151.
[6]張堡瑞.基于激光雷達與視覺融合的水面漂浮物檢測[J].應(yīng)用激光,2021(3):619-628.
[7]CHAVEZ GARCIA R.?Multiple sensor fusion for detection,classification and tracking of moving objects in driving environments[D].Universite De Gremoble,2014.
[8]陳毅,張帥,汪貴平.基于激光雷達和攝像頭信息融合的車輛檢測算法[J].機械與電子,2020,38(1):52-56.
[9]常昕.基于激光雷達和相機信息融合的目標(biāo)檢測及跟蹤[J].光電工程,2019(7):85-95.
[10]TAN M,PANG R,LE Q V.EfficientDet: scalable and efficient object detection[C]//2020 IEEE/CVF comference on computer vision and pattern recognition,2020:10778-10787.
作者簡介:
周沫,男,1998年生,碩士研究生,研究方向為多傳感器融合目標(biāo)檢測。