張介嵩,黃影平,張 瑞
上海理工大學(xué)光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093
無人駕駛汽車主要采用相機(jī)、激光雷達(dá)實(shí)現(xiàn)車輛、行人、騎行者等目標(biāo)的探測(cè)。這兩類傳感器的數(shù)據(jù)模態(tài)不同,有著各自的優(yōu)勢(shì)和缺陷:激光雷達(dá)不受季節(jié)、光照條件的影響,探測(cè)距離長并且能夠提供準(zhǔn)確的三維位置信息,但雷達(dá)的點(diǎn)云數(shù)據(jù)是稀疏的,難以獲得細(xì)節(jié)豐富的場(chǎng)景信息。相機(jī)能夠提供稠密的紋理與色彩信息,但是被動(dòng)傳感器的特性使其容易受環(huán)境光照變化的影響。單一傳感器難以提供滿意的解決方案,兩種傳感器的融合可以利用多源數(shù)據(jù)的互補(bǔ)優(yōu)勢(shì),彌補(bǔ)各自的缺陷,降低環(huán)境光照條件的影響,提高目標(biāo)探測(cè)的魯棒性和準(zhǔn)確性,而且可以提供準(zhǔn)確的目標(biāo)位置信息。近年來,以卷積神經(jīng)網(wǎng)絡(luò)(CNN)為代表的深度學(xué)習(xí)技術(shù)在基于圖像的目標(biāo)檢測(cè)方面取得巨大成功,也為多模態(tài)數(shù)據(jù)融合提供了一個(gè)非常有效的工具。
本文采用卷積神經(jīng)網(wǎng)絡(luò),研究融合點(diǎn)云與圖像數(shù)據(jù)的實(shí)時(shí)交通場(chǎng)景目標(biāo)檢測(cè)方法,有如下貢獻(xiàn):1) 提出了基于CNN 的特征級(jí)點(diǎn)云與圖像融合框架,設(shè)計(jì)了基于融合特征的目標(biāo)檢測(cè)網(wǎng)絡(luò),提高了不同光照條件下檢測(cè)的魯棒性;2) 采用滑動(dòng)窗處理控制網(wǎng)絡(luò)輸入,平衡檢測(cè)與數(shù)據(jù)采集時(shí)間,有效提升小目標(biāo)的檢測(cè)精度;3) 實(shí)現(xiàn)了對(duì)目標(biāo)的精確檢測(cè)及獲取目標(biāo)深度信息的多任務(wù)網(wǎng)絡(luò);4) 使用KITTI 數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)評(píng)估,與多種檢測(cè)算法的對(duì)比分析表明,本文方法具有檢測(cè)精度和檢測(cè)速度的綜合優(yōu)勢(shì)。
基于CNN 的目標(biāo)檢測(cè)方法可以分為基于圖像、激光雷達(dá)以及數(shù)據(jù)融合的方法。
Girshick 等人[1]借鑒滑動(dòng)窗的思想提出了基于區(qū)域建議的卷積神經(jīng)網(wǎng)絡(luò)(RCNN),成功地將神經(jīng)網(wǎng)絡(luò)由圖像分類遷移到了目標(biāo)檢測(cè)中,大大提高了檢測(cè)精度。然而這種需要在特征圖上選擇性搜索數(shù)千個(gè)候選框的方式也使得其檢測(cè)速度較慢。在此框架下,SPP-Net[2]、Fast R-CNN[3]和Faster R-CNN[4]等通過使用效率更佳的特征提取網(wǎng)絡(luò),優(yōu)化模型結(jié)構(gòu),改進(jìn)后處理方法等方式,力圖提高基于候選區(qū)域的目標(biāo)檢測(cè)速度。Redmon 等人通過將目標(biāo)檢測(cè)視為回歸問題,提出了一種單次檢測(cè)網(wǎng)絡(luò)YOLO[5],直接從圖像中預(yù)測(cè)目標(biāo)框和類別概率,大大提高了檢測(cè)速度。然而檢測(cè)時(shí)固定劃分網(wǎng)格方式,降低了對(duì)小目標(biāo)、彼此靠近目標(biāo)等情況下的檢測(cè)精度。隨著CNN 網(wǎng)絡(luò)的不斷發(fā)展,特征提取的性能也越來越強(qiáng)大,隨后的YOLO9000[6]、SSD[7]和YOLOv3[8]等方法通過使用更優(yōu)的特征提取網(wǎng)絡(luò)以及引入殘差網(wǎng)絡(luò)的思想不斷提高檢測(cè)精度??傊?,基于候選區(qū)域和單次檢測(cè)網(wǎng)絡(luò)在檢測(cè)精度和速度上各有優(yōu)勢(shì),難點(diǎn)在于同時(shí)取得精度和速度的最優(yōu)。
由于相機(jī)對(duì)光線和陰影較為敏感,不能提供準(zhǔn)確和足夠的位置信息,往往會(huì)影響系統(tǒng)的可靠性。相比之下,激光雷達(dá)可以探測(cè)目標(biāo)的距離和三維信息。因此將激光雷達(dá)和深度學(xué)習(xí)相互結(jié)合的方法也獲得了很大的發(fā)展。Qi 等人將原始的激光雷達(dá)產(chǎn)生的點(diǎn)云信息直接作為輸入,提出了端到端的點(diǎn)云處理網(wǎng)絡(luò)PointNet[9]。但是由于對(duì)點(diǎn)云特征全部最大池化為一個(gè)特征,因此忽略了局部特征的表達(dá)導(dǎo)致精度欠佳。隨后,PointNet++[10]提出了集合抽象模塊和特征傳播模塊,改善了對(duì)局部特征的獲取能力。不同于直接對(duì)無序的數(shù)據(jù)做處理,Zhou 等人[11]將激光雷達(dá)點(diǎn)云轉(zhuǎn)換為具備一定規(guī)則分布的體素(Voxel),在點(diǎn)云上建立三維網(wǎng)格來處理LiDAR 點(diǎn)云。然而,這需要大量的計(jì)算來進(jìn)行后續(xù)處理,無法達(dá)到實(shí)時(shí)性的需求。為了提升對(duì)點(diǎn)云的處理速度,Complex-YOLO[12],BirdNet[13]和LMNet[14]等提出多視圖的投影方法將三維激光雷達(dá)點(diǎn)云數(shù)據(jù)投影到一個(gè)或多個(gè)二維平面上,以此視為二維圖像。從轉(zhuǎn)換視圖的角度與前視圖相比,鳥瞰圖(BEV)上的每個(gè)對(duì)象都有較低的遮擋率,因此被廣泛采用。Li 等人提出的VeloFCN[15]將點(diǎn)云數(shù)據(jù)投影到圖像平面坐標(biāo)系,利用完全卷積神經(jīng)網(wǎng)絡(luò)(FCN)從深度數(shù)據(jù)中檢測(cè)車輛,成為當(dāng)時(shí)最快的基于點(diǎn)云的檢測(cè)方法,但缺乏足夠的紋理和色彩信息,檢測(cè)精度較差。
點(diǎn)云數(shù)據(jù)具有精確的幾何信息,但是數(shù)據(jù)非常稀疏。圖像作為高分辨率的數(shù)據(jù),具有豐富的紋理特征,可以逐個(gè)區(qū)分物體。最近越來越多的研究工作利用深度學(xué)習(xí)將點(diǎn)云和圖像進(jìn)行融合,主要分為目標(biāo)級(jí)融合和特征級(jí)融合。1) 目標(biāo)級(jí)融合采用2D 候選區(qū)域與點(diǎn)云的檢測(cè)方法相結(jié)合,比如F-PointNet[16]提出了一種兩階段的三維物體檢測(cè)框架,采用基于圖像的2D 檢測(cè)方法提取候選區(qū)域并以PointNet 處理點(diǎn)云。與之相似的,F(xiàn)PC-CNN[17]采用PC-CNN[18]檢測(cè)2D 包圍框,將點(diǎn)云數(shù)據(jù)投影到圖像平面上,并對(duì)2D 包圍框中的點(diǎn)云投影數(shù)據(jù)進(jìn)行后續(xù)處理。這種方法由于傳感器安裝高度和遮擋不同,基于圖像的候選區(qū)域往往會(huì)由于遺漏導(dǎo)致檢測(cè)精度降低。2) 特征級(jí)融合將3D 點(diǎn)云數(shù)據(jù)提取的深度特征與相應(yīng)圖像區(qū)域相互結(jié)合。例如,MV3D[19]從BEV 生成3D 候選區(qū)域,將其投影到激光雷達(dá)前視圖和RGB 圖像上來獲取三個(gè)視圖上的區(qū)域特征,以此將所有視圖的特征融合。AVOD[20]將3D錨框分別投影到BEV 和RGB 圖像上獲得對(duì)應(yīng)候選區(qū)域的特征圖,將特征圖融合后進(jìn)行目標(biāo)檢測(cè)。
本文方法由兩部分組成,數(shù)據(jù)預(yù)處理和融合檢測(cè)網(wǎng)絡(luò),方法整體框架如圖1 所示。
圖1 方法框圖Fig.1 Framework of the proposed method
首先,將激光雷達(dá)點(diǎn)云投影至圖像平面得到稀疏的深度圖,然后通過深度補(bǔ)全得到密集的深度圖,與相機(jī)得到的RGB 圖像共同作為網(wǎng)絡(luò)輸入。將RGB 圖像與密集深度圖進(jìn)行滑動(dòng)窗處理,得到近似為方形的數(shù)據(jù)切片送入融合目標(biāo)檢測(cè)網(wǎng)絡(luò)。融合檢測(cè)網(wǎng)絡(luò)以EfficientNet[21]作為特征融合網(wǎng)絡(luò),先分別對(duì)圖像和點(diǎn)云深度圖進(jìn)行特征提取,然后將兩組特征圖進(jìn)行級(jí)聯(lián)融合,網(wǎng)絡(luò)檢測(cè)部分對(duì)融合產(chǎn)生的特征圖進(jìn)行塔式多尺度[22]處理,構(gòu)建殘差網(wǎng)絡(luò)對(duì)多尺度特征進(jìn)行目標(biāo)預(yù)測(cè),并通過非極大值抑制(NMS)優(yōu)化提煉,最后輸出包含目標(biāo)類別、位置、置信度和距離的檢測(cè)結(jié)果。
融合檢測(cè)網(wǎng)絡(luò)基于EfficientNet-B2 構(gòu)建,網(wǎng)絡(luò)架構(gòu)如圖2 所示。
圖2 EfficientNet-B2 架構(gòu)圖Fig.2 EfficientNet-B2 architecture diagram
EfficientNet[21]是由Google 的研究人員于2019 年提出的一組深度、寬度和分辨率可變的復(fù)合卷積神經(jīng)網(wǎng)絡(luò)集合。通常卷積神經(jīng)網(wǎng)絡(luò)想提高檢測(cè)精度,通過增加網(wǎng)絡(luò)的深度(depth)、寬度(width)和輸入分辨率(resolution)實(shí)現(xiàn)。但與此同時(shí),網(wǎng)絡(luò)占用的資源和計(jì)算量也會(huì)呈非線性的增長。Google 通過對(duì)深度、寬度和分辨率三個(gè)維度的研究,通過模塊化的思想設(shè)計(jì)網(wǎng)絡(luò)主體,選取合適的復(fù)合系數(shù)構(gòu)建了B0~B7 八種不同參數(shù)量的高效卷積神經(jīng)網(wǎng)絡(luò),相比于ResNet[23]、DenseNet[24]、Inception[25]、GPipe[26]等經(jīng)典的主干網(wǎng)絡(luò),無論在分類精度和運(yùn)算效率上都有顯著提升。本文選取EfficientNet-B2 作為基礎(chǔ)網(wǎng)絡(luò),其具有9.2 M 參數(shù)量,1.0 B 浮點(diǎn)計(jì)算操作,相比于DarkNet-53,參數(shù)量減少77.56%,浮點(diǎn)計(jì)算量減少79.59%。其基本組成單元由5 種Module 構(gòu)成,其中Module1 和Module2 實(shí)現(xiàn)基本的卷積操作和池化功能;Module3 用于跳躍連接不同的Module;Module4 和Module5 用于實(shí)現(xiàn)特征圖的連接,與Module3 共同構(gòu)建殘差網(wǎng)絡(luò)。不同模塊的組合構(gòu)成3 種不同的子模塊,通過級(jí)聯(lián)成為最終的網(wǎng)絡(luò)主體。
融合網(wǎng)絡(luò)利用EfficientNet 的Block1 和Block2 作為特征提取器,分別對(duì)輸入的RGB 圖像和密集深度圖進(jìn)行卷積和下采樣,得到深度和尺度一致的特征圖。通過圖3 所示的融合層進(jìn)行特征圖合并,使用1×1 的卷積核,保持特征圖尺度不變的前提下大幅增加特征的非線性特性,降低特征圖維度實(shí)現(xiàn)跨通道信息交互,充分融合兩種模態(tài)的數(shù)據(jù)特征。將融合后的特征圖送入網(wǎng)絡(luò)后續(xù)的Block 中,對(duì)特征進(jìn)行進(jìn)一步提取和下采樣,最終輸出13×13 的特征圖。網(wǎng)絡(luò)的參數(shù)設(shè)定如表1 所示。
圖3 特征融合層Fig.3 Feature fusion layer
表1 特征提取網(wǎng)絡(luò)參數(shù)Table 1 The parameters of the feature extraction network
檢測(cè)器部分采用特征金字塔網(wǎng)絡(luò)(FPN)結(jié)構(gòu),在32 倍降采樣、16 倍降采樣、8 倍降采樣的三個(gè)特征圖上進(jìn)行多尺度目標(biāo)預(yù)測(cè),讓網(wǎng)絡(luò)同時(shí)學(xué)習(xí)淺層和深層特征,獲得更好的表達(dá)效果,檢測(cè)器結(jié)構(gòu)如圖4 所示。
圖4 目標(biāo)檢測(cè)器結(jié)構(gòu)Fig.4 Structure of the object detector
檢測(cè)器通過神經(jīng)網(wǎng)絡(luò)的回歸實(shí)現(xiàn)目標(biāo)位置、類別和置信度的預(yù)測(cè)。因此,檢測(cè)器的損失函數(shù)主要有三個(gè)部分構(gòu)成:目標(biāo)定位偏移量損失 Lloc(l,g),目標(biāo)分類損失 Lcla(O ,C)以及目標(biāo)置信度損失 Lconf(o,c):
其中:定位偏移量損失采用平方差損失函數(shù)(MSE loss),分類損失采用多分類交叉熵?fù)p失函數(shù)(cross entropy loss);置信度損失采用二值交叉熵?fù)p失函數(shù)(binary cross entropy loss);l 為預(yù)測(cè)矩形框的坐標(biāo),g為真實(shí)值的坐標(biāo),O 為預(yù)測(cè)框中是否存在目標(biāo)的概率;C∈{0,1},0 表示不存在,1 表示存在;oij為第i 個(gè)目標(biāo)框中存在第j 類目標(biāo)的概率,cij∈{0,1},0 表示不存在,1 表示存在;λ1,λ2,λ3為平衡系數(shù)。
3.2.1 點(diǎn)云深度圖的產(chǎn)生與稠密化
坐標(biāo)系標(biāo)定是多傳感器信息融合的首要條件,不同傳感器有著不同的采集頻率和獨(dú)立的坐標(biāo)系,必須統(tǒng)一數(shù)據(jù)采集頻率進(jìn)行時(shí)間配準(zhǔn)才能把不同坐標(biāo)系的數(shù)據(jù)轉(zhuǎn)換到同一坐標(biāo)系,實(shí)現(xiàn)數(shù)據(jù)的融合。激光雷達(dá)數(shù)據(jù)投影到像素坐標(biāo)系的變換流程如圖5 所示。
根據(jù)常昕等人[27]的研究,由激光雷達(dá)坐標(biāo)系到像素坐標(biāo)系的轉(zhuǎn)換關(guān)系為
其中:(u,v)為像素坐標(biāo),(XC,YC,ZC)為相機(jī)坐標(biāo),(XL,YL,ZL)為激光雷達(dá)坐標(biāo),RL-C表示從激光雷達(dá)坐標(biāo)系到相機(jī)坐標(biāo)系的旋轉(zhuǎn)矩陣,TL-C表示從激光雷達(dá)坐標(biāo)系到世界坐標(biāo)系的三維平移向量,u0,v0是相機(jī)的內(nèi)參,f 為相機(jī)焦距。本文相機(jī)內(nèi)參及投影矩陣由實(shí)驗(yàn)使用的KITTI 數(shù)據(jù)集提供,根據(jù)式(2)可計(jì)算出激光點(diǎn)云在圖像平面的坐標(biāo)(u,v),投影結(jié)果如圖6 所示。
激光雷達(dá)到圖像的投影得到的深度圖是稀疏的深度圖,大量的空像素不足以描述物體的特征甚至干擾網(wǎng)絡(luò)的計(jì)算,深度補(bǔ)全任務(wù)的目的是從稀疏的深度圖生成密集的深度預(yù)測(cè)。
該問題可以被表述如下:
其中:I 為圖像,Dsparse為稀疏深度圖,Ddense為密集深度圖。
相比于基于深度學(xué)習(xí)的方法,傳統(tǒng)的圖像處理算法在深度補(bǔ)全上具有更快的處理速度,同時(shí)不需要大量數(shù)據(jù)的訓(xùn)練也能保證較好的效果。
由于KITTI數(shù)據(jù)集中點(diǎn)云數(shù)據(jù)的深度范圍在0~80 m 之間,沒有點(diǎn)云的像素區(qū)域深度值為零。若直接采用膨脹操作會(huì)導(dǎo)致大值覆蓋小值,丟失目標(biāo)邊緣信息。因此在形態(tài)學(xué)處理之前將深度值反轉(zhuǎn):
其中:Dinverted為反轉(zhuǎn)后的深度值,Dinput為輸入的深度值。通過在有效值和空值之間建立了20 m 的緩沖區(qū),保證膨脹操作時(shí)更好地保留對(duì)象的邊緣。本文所使用的深度補(bǔ)全算法流程圖如圖7 所示。
圖5 坐標(biāo)系變換Fig.5 Transformation of coordinates
圖6 點(diǎn)云投影至圖像平面Fig.6 Projection of LiDAR point cloud on the image plane
圖7 深度補(bǔ)全算法流程Fig.7 The formation of the dense depth map
3.2.2 滑動(dòng)窗處理
在將數(shù)據(jù)輸入網(wǎng)絡(luò)之前,需要保證輸入圖像的分辨率與網(wǎng)絡(luò)設(shè)定的參數(shù)一致。然而,目標(biāo)檢測(cè)不同于圖像分類等其他神經(jīng)網(wǎng)絡(luò),待檢測(cè)對(duì)象的紋理、色彩、尺寸都是特征之一。因此不能通過拉伸原圖進(jìn)行分辨率的匹配。通常,網(wǎng)絡(luò)在加載數(shù)據(jù)時(shí)都是以輸入圖像長邊為標(biāo)準(zhǔn)進(jìn)行縮放,對(duì)空余部分進(jìn)行補(bǔ)零,如圖8(a)所示。
這種因長寬比例過大導(dǎo)致在加載數(shù)據(jù)時(shí)的信息丟失,在交通場(chǎng)景數(shù)據(jù)集中尤為明顯。鑒于此,本文考慮使用長寬比例接近1 的滑動(dòng)窗口對(duì)原始圖像進(jìn)行掃描,采用保留重疊的方式對(duì)輸入數(shù)據(jù)進(jìn)行切分,將切分后的滑動(dòng)窗口進(jìn)行填充后再傳入網(wǎng)絡(luò),同時(shí)把所有的滑動(dòng)窗口的結(jié)果重新映射到原始圖像對(duì)應(yīng)的坐標(biāo),經(jīng)過非極大值抑制(NMS)獲得最終檢測(cè)結(jié)果。
實(shí)驗(yàn)在Intel Xeon(R) Silver 4110 CPU@ 2.10 GHz處理器,32 G 內(nèi)存,11 GB NVIDIA GeForce 1080Ti GPU,Ubuntu 20.04 操作系統(tǒng)的計(jì)算機(jī)上運(yùn)行,融合檢測(cè)網(wǎng)絡(luò)基于Pytorch 網(wǎng)絡(luò)框架搭建。
實(shí)驗(yàn)數(shù)據(jù)來自KITTI 的Object Detection Evaluation 2012 數(shù)據(jù)集,包含訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)兩部分。本文選取其中雙目相機(jī)的彩色左視圖,激光雷達(dá)點(diǎn)云,激光雷達(dá)與相機(jī)的標(biāo)定數(shù)據(jù)和訓(xùn)練標(biāo)簽進(jìn)行實(shí)驗(yàn)分析。訓(xùn)練集中包含7481 張訓(xùn)練圖像和51865 個(gè)帶有標(biāo)簽的目標(biāo),標(biāo)簽中目標(biāo)被分為9 類,包括一個(gè)DonCare類。本文將Pedestrian 和Person_sitting 歸為一類Pedestrian;將Car、Truck 和Van 歸為一類Car;Cyclist獨(dú)立作為一類,另外Misc 和Tram 因?yàn)閿?shù)據(jù)太少被舍棄。
KITTI 圖像序列包含三種場(chǎng)景:Easy、Moderate、Hard。Easy 為最小邊框高度大于40 pixels,無遮擋,截?cái)嗖坏?5%的目標(biāo)障礙物;Moderate 為最小邊框高度大于25 pixels,部分遮擋,截?cái)嗖坏?0%的目標(biāo)障礙物;Hard 為最小邊框高度大于25 pixels,多遮擋,截?cái)嗖坏?0%的目標(biāo)障礙物。
實(shí)驗(yàn)結(jié)果采用KITTI 的評(píng)價(jià)方法,如果目標(biāo)的檢測(cè)框與標(biāo)簽的邊框的重疊度(IoU)達(dá)到50%以上,則將該對(duì)象視為已正確檢測(cè)到。選取準(zhǔn)確率(Precission)、召回率(Recall)和平均準(zhǔn)確度(Average precision,AP)作為性能評(píng)價(jià)指標(biāo)。
圖8 數(shù)據(jù)加載方式。(a) 縮放與填充;(b) 滑動(dòng)窗處理Fig.8 Methods of data loading.(a) Resizing and padding;(b) Sliding windows
其中:PT 為真正例(true positive),PF 為假正例(false positive),NF 為假負(fù)例(false negative),P (R) 為不同召回率所對(duì)應(yīng)的準(zhǔn)確率。
實(shí)驗(yàn)主要分為三個(gè)部分:第一,通過對(duì)比使用滑動(dòng)窗前后的實(shí)驗(yàn)結(jié)果,驗(yàn)證滑動(dòng)窗對(duì)小目標(biāo)檢測(cè)效果的改善。第二,通過實(shí)驗(yàn)結(jié)果評(píng)估本文方法在復(fù)雜光照條件下對(duì)障礙物的檢測(cè)能力,驗(yàn)證本文方法的魯棒性。第三,通過實(shí)驗(yàn)結(jié)果比較本文方法和多種目標(biāo)檢測(cè)方法對(duì)交通場(chǎng)景中障礙物的檢測(cè)效果,驗(yàn)證多模態(tài)數(shù)據(jù)融合方法對(duì)目標(biāo)檢測(cè)性能的提升。
網(wǎng)絡(luò)輸入數(shù)據(jù)為相機(jī)采集的RGB 圖像和激光雷達(dá)得到的3D 點(diǎn)云,在數(shù)據(jù)預(yù)處理中,實(shí)現(xiàn)對(duì)激光雷達(dá)點(diǎn)云的圖像平面投影、深度補(bǔ)全、滑動(dòng)窗數(shù)據(jù)拆分工作。
利用KITTI 數(shù)據(jù)集提供的點(diǎn)云和圖像數(shù)據(jù),通過式(2)將雷達(dá)點(diǎn)云投影至圖像平面,得到稀疏的深度圖,結(jié)果如圖9(a)所示。稀疏的深度圖中存在大量的零值,以空洞的形式表現(xiàn)在圖像中。在送入網(wǎng)絡(luò)之前需要進(jìn)行深度補(bǔ)全。深度補(bǔ)全使用基于OpenCV 的形態(tài)學(xué)操作,實(shí)現(xiàn)膨脹、閉運(yùn)算、空值填充、模糊處理,補(bǔ)全結(jié)果如圖9(b)所示,整個(gè)運(yùn)算過程不依賴于神經(jīng)網(wǎng)絡(luò)和RGB 數(shù)據(jù)的引導(dǎo),在CPU 上運(yùn)算耗時(shí)11 ms。
圖9 深度補(bǔ)全前后對(duì)比。(a) 稀疏的深度圖;(b) 密集的深度圖Fig.9 Comparison of depth maps.(a) Sparse depth map;(b) Dense depth map
KITTI 數(shù)據(jù)集的圖像分辨率為1242×375,通過對(duì)Car、Pedestrian、Cyclist 三種類別的標(biāo)簽統(tǒng)計(jì),Car的平均目標(biāo)尺寸為111×66,Pedestrian 的平均目標(biāo)尺寸為43×103,Cyclist 的平均目標(biāo)尺寸為55×76,本文方法單幀數(shù)據(jù)處理時(shí)間為0.017 s,激光雷達(dá)采樣間隔為0.1 s。為匹配網(wǎng)絡(luò)輸入選擇方形滑動(dòng)窗,保證重疊區(qū)域大于最大平均目標(biāo)寬度,總處理時(shí)間小于采樣間隔。因此,實(shí)驗(yàn)采用375×375 的滑動(dòng)窗,滑動(dòng)窗口次數(shù)為4,步長為217,相鄰窗口保留158 個(gè)像素寬度的重疊區(qū)域,減少因滑動(dòng)窗的截?cái)鄬?dǎo)致的漏檢。
采用EfficientNet-B2 的Block1 和Block2 作為特征提取器對(duì)RGB 圖像和點(diǎn)云深度圖提取特征,其結(jié)果與DarkNet-53 的特征提取結(jié)果對(duì)比如圖10 所示。
其中圖10(a)、圖10(c)、圖10(e)分別為場(chǎng)景一、二、三的EfficientNet 融合網(wǎng)絡(luò)特征提取結(jié)果;圖10(b)、圖10(d)、圖10(f)分別為場(chǎng)景一、二、三的DarkNet特征提取結(jié)果。采用Grad-CAM++[28]對(duì)于網(wǎng)絡(luò)特征提取的結(jié)果可視化,通過將特征提取網(wǎng)絡(luò)的最后一個(gè)卷積層的特征圖加權(quán)映射到原始圖像平面,以熱圖的形式表征特征提取的效果。結(jié)果表明,相比于單模態(tài)特征提取方法,融合網(wǎng)絡(luò)對(duì)復(fù)雜光線場(chǎng)景中目標(biāo)所在區(qū)域有更準(zhǔn)確的響應(yīng),如圖10(a),10(e)所示;同時(shí),引入深度信息的融合網(wǎng)絡(luò)對(duì)平面廣告牌上的假目標(biāo)沒有錯(cuò)誤響應(yīng),如圖10(c)所示。
圖10 EfficientNet-B2 與DarkNet-53 特征提取效果對(duì)比Fig.10 The feature extraction comparison of EfficientNet-B2 and DarkNet-53
4.3.1 定性分析
檢測(cè)結(jié)果如圖11 所示,其中第一行是網(wǎng)絡(luò)輸入的RGB 圖像,第二行是網(wǎng)絡(luò)輸入的密集深度圖,第三行為進(jìn)行對(duì)比的YOLOv3 網(wǎng)絡(luò)檢測(cè)結(jié)果(輸入僅為RGB圖像),第四行為未采用滑動(dòng)窗的融合方法,第五行為采用滑動(dòng)窗的融合方法,圖11(a)~圖11(d)為四個(gè)不同場(chǎng)景。
對(duì)比僅采用RGB 圖像數(shù)據(jù)的YOLOv3 算法,本文方法采用多模態(tài)數(shù)據(jù)作為輸入,對(duì)圖像和點(diǎn)云數(shù)據(jù)進(jìn)行特征級(jí)的融合,綜合利用圖像數(shù)據(jù)的密集紋理信息和點(diǎn)云數(shù)據(jù)的深度信息,有效降低了目標(biāo)檢測(cè)的誤檢率和漏檢率,同時(shí)獲取目標(biāo)的距離信息;引入滑動(dòng)窗口的處理方式,顯著提升了小目標(biāo)的檢測(cè)效果。如圖11 所示,在明暗反差劇烈的場(chǎng)景(a)中,本文方法準(zhǔn)確地識(shí)別出了遠(yuǎn)近的三輛汽車,以及汽車前陰影中的人,而在YOLOv3 的檢測(cè)結(jié)果中,僅僅檢測(cè)到了一輛汽車;在隧道場(chǎng)景(b)中,包含了深度信息的本文方法準(zhǔn)確檢測(cè)出了陰影中的車輛和遠(yuǎn)處過曝的車輛,圖像的方法僅檢測(cè)到了紋理清晰的目標(biāo);在曝光不足的場(chǎng)景(c)中,陰影中的行人在圖像中難以區(qū)分,在深度圖中清晰可辨;在存在虛假目標(biāo)的場(chǎng)景(d)中,圖像的方法將廣告牌中的車輛誤認(rèn)為目標(biāo)車輛,在深度圖中僅真實(shí)車輛與背景之間存在深度差異,廣告牌為平面,本文方法沒有發(fā)生誤檢。
圖11 不同場(chǎng)景下的檢測(cè)結(jié)果Fig.11 Detection results in different scenarios
4.3.2 定量評(píng)估
將本文方法與Faster-RCNN、YOLOv3、VoxelNet、MV3D、F-PointNet 以及AVOD 進(jìn)行比較,這些方法分別對(duì)應(yīng)的輸入數(shù)據(jù)為RGB 圖像、雷達(dá)點(diǎn)云和融合數(shù)據(jù)。各種方法在Easy、Moderate、Hard 三種場(chǎng)景中分別對(duì)Car、Pedestrian 和Cyclist 三類目標(biāo)檢測(cè)性能見表2,表中的mAP 是在Easy、Moderate、Hard 三種場(chǎng)景中對(duì)所有目標(biāo)統(tǒng)計(jì)的平均檢測(cè)精度。
表2 與其他方法在KITTI 數(shù)據(jù)集上的性能對(duì)比Table 2 Performance comparison of different algorithms on the KITTI dataset
由表中數(shù)據(jù)可以看出,與YOLOv3、VoxelNet、MV3D 以及AVOD 相比較,融合深度圖特征和滑動(dòng)窗口處理的本文方法(最后一行)在精度上有全面提升。在取得與Faster-RCNN 接近的檢測(cè)精度的同時(shí),檢測(cè)速度大幅提升。與多模態(tài)目標(biāo)級(jí)融合方法F-PointNet比較,檢測(cè)精度上稍遜,但檢測(cè)速度有較大提升。綜上所述,本文方法取得了檢測(cè)精度與檢測(cè)速度的平衡。
通過計(jì)算可知,本文方法在Easy、Moderate、Hard場(chǎng)景中對(duì)Car、Pedestrian 和Cyclist 的平均檢測(cè)精度分別是82.55%、70.73%和57.09%,單幀計(jì)算耗時(shí)0.087 s,基本滿足實(shí)時(shí)性要求。對(duì)比速度最快的單次目標(biāo)檢測(cè)方法YOLOv3,在三種場(chǎng)景中對(duì)于Car、Pedestrian 和Cyclist 的平均檢測(cè)精度分別提升13.6%、17.15%和9.37%;對(duì)比基于候選區(qū)域的Faster-RCNN,檢測(cè)精度分別提升3.32%、1.46%和-5.17%;對(duì)比基于激光點(diǎn)云的目標(biāo)檢測(cè)方法VoxelNet,檢測(cè)精度分別提升23.15%、21.68%和12.56%;對(duì)比多模態(tài)數(shù)據(jù)融合的檢測(cè)方法AVOD,檢測(cè)精度分別提升11.70%、10.10%和2.12%。
表中后兩行分別為不使用滑動(dòng)窗預(yù)處理的檢測(cè)結(jié)果和使用滑動(dòng)窗預(yù)處理的檢測(cè)結(jié)果,相較于前者,附加滑動(dòng)窗處理的方法對(duì)小目標(biāo)的檢測(cè)精度提升明顯,但單幀計(jì)算時(shí)間有所增加。
通過對(duì)比本文方法與YOLOv3 對(duì)汽車、騎行者、行人三類障礙物P-R 曲線下的包圍面積可見,本文方法對(duì)小目標(biāo)檢測(cè)效果提升顯著,如圖12 所示。
圖12 本文方法與YOLOv3 在KITTI 上的P-R 曲線對(duì)比。(a) 本文方法的結(jié)果;(b) YOLOv3 的結(jié)果Fig.12 Comparison of the P-R curve between our method and YOLOv3.(a) Our method;(b) YOLOv3
本文提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的融合激光雷達(dá)點(diǎn)云與相機(jī)圖像的目標(biāo)檢測(cè)方法,設(shè)計(jì)實(shí)現(xiàn)了一種點(diǎn)云與圖像特征級(jí)融合的網(wǎng)絡(luò)框架,并針對(duì)輸入圖像長寬比過大導(dǎo)致的信息損失提出了一種滑動(dòng)掃描窗口的數(shù)據(jù)處理方法。采用KIITI 數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)驗(yàn)證,對(duì)比其他多種檢測(cè)方法,本文方法具有檢測(cè)精度與檢測(cè)速度上的綜合優(yōu)勢(shì),并能同時(shí)獲取目標(biāo)的距離信息。這些結(jié)果表明,本文方法借助多模態(tài)數(shù)據(jù)的優(yōu)勢(shì)互補(bǔ)提高了在不同光照?qǐng)鼍暗臋z測(cè)魯棒性和準(zhǔn)確性,附加滑動(dòng)窗處理改善了對(duì)小目標(biāo)的檢測(cè)效果。