謝德勝,徐友春,陸 峰,潘世舉
(陸軍軍事交通學院軍事交通運輸研究所,天津 300161)
自動駕駛系統(tǒng)作為人工智能技術(shù)應用的一個重要領域已經(jīng)獲得較大的發(fā)展,自動駕駛系統(tǒng)主要包括感知模塊、決策規(guī)劃模塊、控制模塊和定位模塊等。感知模塊是自動駕駛系統(tǒng)的基礎,主要負責對自動駕駛汽車周圍環(huán)境的多目標進行檢測、跟蹤和預測。自動駕駛汽車使用的傳感器主要包括視覺傳感器和3維激光雷達傳感器等。視覺傳感器的成本較低,可以獲取目標的紋理信息,但容易受光照條件的影響出現(xiàn)漏檢。3維激光雷達檢測目標輪廓的精度較高,水平視場范圍廣,可以掃描生成自動駕駛汽車周圍環(huán)境高精度的3維點云,但3維點云不包含目標的紋理信息,缺乏對場景的語義理解。因此通過融合高精度的3維點云數(shù)據(jù)和具備語義信息的2維圖像,將使得數(shù)據(jù)源更豐富,更有利于準確檢測3維目標。
近年來,深度學習在2維計算機視覺任務上取得了較大進展,但僅依靠單目視覺或立體視覺進行3維目標檢測的精度較低。因此,國內(nèi)外部分學者使用深度神經(jīng)網(wǎng)絡對體素化或是多視圖映射后的3維點云進行3維目標檢測,取得了一定的成果。體素化的方法保存了激光雷達點云部分3維信息,同時使得用3維卷積對激光雷達點云進行特征提取成為可能,但體素化的方法增加了數(shù)據(jù)量,使得目標檢測的實時性變差。多視圖映射的方法將3維點云投影到不同的方向生成點云2維映射圖,損失了原始信息,使得目標檢測的精度下降。不同于體素化和多視圖映射的方法,PointNet++直接對3維點云進行特征提取,最大化地保留了點云的3維信息,同時顯著提高了對3維點云的處理速度。僅使用2維圖像或3維點云進行目標檢測存在各自的弊端,因此,不少網(wǎng)絡嘗試融合2維圖像與3維點云數(shù)據(jù)來進行目標檢測,但大部分網(wǎng)絡都采用體素化或多視圖映射的方法來處理2維圖像和3維點云數(shù)據(jù),在一定程度上損失了原始信息,影響最終的3維目標檢測結(jié)果。
為了有效利用3維點云的空間信息和2維圖像的語義信息,提高對不同類型3維目標的檢測精度和檢測速度,本文中提出一種融合3維點云和2維圖像的雙階段目標檢測網(wǎng)絡PointRGBNet(如圖1所示)。在第1階段的區(qū)域提案網(wǎng)絡中,不使用體素化或多視圖映射的方法,將PointNet++作為特征提取網(wǎng)絡,直接對6維RGB點云(包括點的3個空間坐標和R、G、B 3個值)進行處理,讓區(qū)域提案網(wǎng)絡學習點云每個點的類別和每個點對應的包圍框。由于輸入的6維RGB點云具備語義信息,同時低維特征圖與高維特征圖進行了融合,區(qū)域提案網(wǎng)絡可以同時對人、騎行者和汽車3類目標生成大量置信度較高的提案。在第2階段的目標檢測網(wǎng)絡中,首先利用非極大值抑制(non-maximum suppression,NMS)篩選出每個區(qū)域中置信度較高的提案,然后根據(jù)篩選出的提案對融合后的特征圖進行RoI(region of interest)池化,對RoI池化后每個提案內(nèi)的點云特征集合進行學習,正是這種針對性地學習,使得提案分類和包圍框回歸的精度得到了進一步的提升。
圖1 PointRGBNet網(wǎng)絡整體結(jié)構(gòu)
在KITTI3維目標檢測數(shù)據(jù)集上的實驗表明,相對于僅用2維圖像的3DOP和僅用3維點云的VoxelNet等網(wǎng)絡,以及使用3維點云與2維圖像融 合 的MV3D和AVOD等 網(wǎng) 絡,本 文 提 出 的PointRGBNet的檢測速度和檢測精度都有明顯的提升。
(1)2維圖像的目標檢測
從RCNN、Fast RCNN和Faster RCNN為代表的雙階段目標檢測網(wǎng)絡,到以YOLO系列為代表的單階段目標檢測網(wǎng)絡在2維目標檢測任務中取得了非凡的成就。但自動駕駛汽車需要被檢測的目標包含3維信息,Mono3D提出利用能量值最小和S-SVM的卷積神經(jīng)網(wǎng)絡來檢測3維目標,但由于2維圖像缺乏深度信息,3維目標的檢測精度并不高。Deep3DBox使用卷積神經(jīng)網(wǎng)絡學習目標的方向和維度,利用估計的方向、尺寸、3維包圍框的投影和2維檢測窗口的緊密匹配等約束條件恢復出移位,從而檢測出3維目標,但與使用3維點云的方法相比,僅使用2維圖像的Deep3DBox在檢測目標深度信息的精度上較差。
(2)3維點云的目標檢測
VoxelNet將3維點云體素化并歸一化,對每一個非空體素使用體素編碼器和多個卷積核進行特征提取,雖然可以實現(xiàn)對3維目標的分類與包圍框回歸,但由于體素化在一定程度上損失了原始信息,同時增加了計算量,導致了VoxelNet的檢測精度有所降低,同時也使得處理速度變慢。PointRCNN使用PointNet++作為主干網(wǎng)絡對3維點云進行特征提取,并使用基于容器的思想對目標的包圍框進行回歸,對于單一類別的目標檢測可以取得較好的結(jié)果,但由于PointRCNN僅使用二分類的focal loss進行前景背景點云的分割,因此無法一次完成對多個類別目標的檢測。
(1)2維圖像與毫米波雷達數(shù)據(jù)融合的目標檢測
2維圖像與毫米波雷達數(shù)據(jù)融合多應用于ADAS(advanced driving assistance system)場景,文獻[22]中使用后融合的方式實現(xiàn)了2維圖像與毫米波雷達數(shù)據(jù)融合的目標檢測,能有效緩解在惡劣天氣情況下由2維圖像產(chǎn)生的誤檢。CenterFusion使用關(guān)鍵點檢測網(wǎng)絡CenterNet生成3維目標提案,再使用截錐將毫米波雷達檢測結(jié)果與相應3維目標關(guān)聯(lián)起來。最后利用融合后的特征估計出目標的深度、航向角和速度,但CenterFusion的檢測精度較低,mAP(mean average precision)不到0.5。僅使用2維圖像與毫米波雷達數(shù)據(jù)融合的方法并不可靠,特斯拉Autopilot多次因檢測不到白色掛車等目標而發(fā)生致命交通事故也驗證了此點。
(2)2維圖像與3維點云融合的目標檢測
2維圖像具備語義信息,3維點云具備深度信息,理論上兩種數(shù)據(jù)的有效融合將使目標檢測的精度變得更高。MV3D使用2維圖像與3維點云的正視圖和俯視圖作為輸入,使用區(qū)域提案網(wǎng)絡先生成候選提案,然后再將候選提案映射到3種視圖中,通過融合3種視圖的信息來檢測3維目標,由于多視圖映射的方式損失了原始信息,使得MV3D的檢測精度并不高。AVOD先使用卷積神經(jīng)網(wǎng)絡分別對2維圖像和3維點云的俯視圖生成特征圖,然后利用融合后的特征圖生成提案,最后利用置信度高的提案結(jié)合特征圖對3維目標進行分類和包圍框回歸,由于融合后的特征圖具備多維度的特征信息,使得AVOD的檢測精度比MV3D要高,速度也更快,但與不經(jīng)過多視圖映射,直接處理3維點云并與2維圖像目標檢測結(jié)果相融合的F-PointNet相比,AVOD的檢測精度還是要低。
本文中提出的PointRGBNet為雙階段多類別目標檢測網(wǎng)絡,如圖1所示。由2維圖像與3維點云融合生成具備RGB通道信息的6維RGB點云作為網(wǎng)絡的輸入,將主干網(wǎng)絡PointNet++輸出的高維特征圖與卷積層輸出的低維特征圖融合,進而區(qū)域提案網(wǎng)絡利用融合后的特征圖生成大量置信度較高的提案,目標檢測網(wǎng)絡利用區(qū)域提案網(wǎng)絡生成的提案進行RoI池化得到每個提案對應在特征圖上的特征集合,通過針對性地學習提案的特征集合來對3維場景中的人、騎行者和汽車等3維目標進行檢測。
區(qū)域提案網(wǎng)絡主要用于生成置信度較高的提案,在區(qū)域提案網(wǎng)絡中,將6維RGB點云作為輸入,經(jīng)過1×1大小的卷積核作用,生成低維的特征圖,然后將低維特征圖與PointNet++生成的高維特征圖融合,經(jīng)過特征學習,實現(xiàn)點云語義分割和包圍框的預測,得到大量置信度較高的提案。
2.1.1 6維RGB點云生成
根據(jù)相機的內(nèi)部參數(shù)和外部參數(shù)將3維點云投影到2維圖像,然后將點云投影后對應像素的RGB通道信息賦予3維點云,生成6維RGB點云。相機的內(nèi)部參數(shù)包括焦距、畸變系數(shù)等,外部參數(shù)則主要包括激光雷達坐標系到相機坐標系的旋轉(zhuǎn)和平移參數(shù)。
假設一個點在激光雷達坐標系下的坐標是m=(x,y,z,1),則這個點在圖像坐標下的像素坐標m=(u,v,1)可由下式求得。
式中:K為相機的內(nèi)部參數(shù)矩陣;R為激光雷達坐標系到相機坐標系的旋轉(zhuǎn)矩陣;t為相應的平移向量。相機的內(nèi)部參數(shù)可以通過張正友標定法等標定方法得到,外部參數(shù)則可以根據(jù)文獻[27]中提供的標定方法求出。本文中采用KITTI數(shù)據(jù)集,可以根據(jù)KITTI數(shù)據(jù)集提供的內(nèi)外部參數(shù)直接將3維點云投影在2維圖像上,剔除投影在2維圖像范圍外的點云,保留投影在2維圖像范圍內(nèi)的點云,在2維圖像成像范圍內(nèi)的點云是掃描在目標及其周圍環(huán)境的點云,將對應像素坐標的RGB通道信息賦予3維點云,得到6維RGB點云,如圖2所示。
圖2 6維RGB點云
2.1.2 點云語義分割
本文中主要對行人、騎行者和汽車進行檢測,因此融合后的特征圖經(jīng)過2層卷積層的特征提取,得到大小為N×4的特征圖,每個點對應4個通道,經(jīng)過Softmax層之后,得到每個點屬于行人、騎行者、汽車和背景的概率P。由于在一幀場景中,3維目標包含的點云與背景點云的比例懸殊,正負樣本極度不平 衡 將 使 得 訓 練 變 得 困 難。RetinaNet、CornerNet和F-PointNets等 目 標 檢測 網(wǎng)絡 使 用focal loss作為二分類的損失函數(shù),可以有效識別場景中的單一類別,但在真實的應用場景中,往往需要同時識別場景中的多種類別的目標。在focal loss的基礎之上,本文中提出新的多分類損失函數(shù),讓PointRGBNet在訓練的過程中更專注于多類別中難以區(qū)分的樣本,使得正樣本的輸出概率越大損失越小,負樣本的輸出概率越小損失越小。采用one-hot編碼對每個點的類別真值進行編碼,得到N×4的真值矩陣G,則在語義分割時的損失函數(shù)可以定義為
式中α為對應參數(shù)值構(gòu)成的矩陣,對于正樣本α=0.25,負樣本α=0.75,參數(shù)γ=2。點云分割結(jié)果如圖3所示,其中紅色的點云為行人,藍色的點云為騎行者,粉紅色的點云為汽車,綠色的點云為背景。
圖3 點云語義分割結(jié)果
2.1.3 提案生成
融合后的特征圖經(jīng)過2層卷積層的特征提取,可以得到用于包圍框預測的特征圖。由于不同類別目標的中心位置、航向角和包圍框尺寸的差異較大,如果直接采用Smooth L1等回歸損失函數(shù)對預測結(jié)果與真值的偏差進行學習,難以準確地預測3維目標的中心位置、航向角和包圍框尺寸。受PointRCNN基于容器的包圍框預測思想的啟發(fā),本文中采用先分類再回歸的思想,將3維目標的中心位置、航向角和包圍框尺寸先分類到某個區(qū)間,然后在這個區(qū)間內(nèi)對偏差進行回歸。相比于PointRCNN一次只能對一種特定的類別、尺寸相對固定的目標的包圍框進行預測,本文中提出的方法可以同時對多種不同類別、各種尺寸目標的包圍框進行預測。
將在行人、騎行者和汽車等目標的真值包圍框內(nèi)的點云視為前景點,其他點云視為背景點。若一個前景點的空間位置為(x,y,z),則在此前景點左下方向建立如圖4(a)所示的局部空間直角坐標o-xyz,原點到前景點的橫向距離與縱向距離都為d,原點處于前景點所在平面的下方,(x,y,z)表示預測的中心點(即汽車外接長方形的形心)所在區(qū)間,(,,)表 示 預 測 的 中 心 點 在 相 應 區(qū) 間(,,)的位置到此區(qū)間起點的偏差。將航向角的范圍[0°,360°)劃分為若干個相等的區(qū)間,航向角預測值所在的區(qū)間為,航向角預測值在區(qū)間的方向到此區(qū)間起始方向的夾角為,如圖4(b)所示。同時,將長寬高的尺度范圍劃分為若干個相等長度的區(qū)間,長寬高預測值所在區(qū)間為(,,),長寬高預測值在區(qū)間(,,)的位置到此區(qū)間起點的偏差為(,,),如圖4(c)所示。
圖4 包圍框預測示意圖
采用交叉熵損失函數(shù)對預測的中心位置、航向角、包圍框尺寸所在的區(qū)間進行分類,而相應的偏差則先進行歸一化然后采用Smooth L1損失函數(shù)進行回歸。
因此,在包圍框預測時的損失函數(shù)如式(3)所示,其中,表示真值所在區(qū)間,表示真值在相應區(qū)間的位置到該區(qū)間起點的偏差,表示相應回歸量區(qū)間的標準尺度,表示交叉熵損失函數(shù),表示Smooth L1損失函數(shù)。
利用點云與真值包圍框的位置關(guān)系可以確定出前景點,通過前景點來訓練包圍框預測子網(wǎng)絡,從而實現(xiàn)點對包圍框的預測,再將語義分割結(jié)果與包圍框預測結(jié)果結(jié)合,保留語義分割結(jié)果為行人、騎行者和汽車的前景點云和對應的包圍框預測結(jié)果,從而得到大量置信度較高的提案,這些提案將作為第2階段目標檢測網(wǎng)絡的輸入。利用非極大值抑制算法可以篩選出各個區(qū)域范圍內(nèi)置信度相對較高的提案,同時也降低了第2階段目標檢測網(wǎng)絡的計算量,加快3維目標檢測的速度,提案生成過程如圖5所示。
圖5 提案生成示意圖
區(qū)域提案網(wǎng)絡可以生成大量置信度較高的提案,但由于使用PointNet++進行特征提取和特征學習時,只考慮以前景點為中心、以特定長度為半徑的球內(nèi)所有6維RGB點云的特征,沒有充分利用提案內(nèi)及其附近的點云特征進行學習,為了進一步提高3維目標分類和包圍框預測的精度,提出采用RoI池化對提案內(nèi)和提案附近的點云進行采樣和特征學習,以得到更精準的3維目標檢測結(jié)果。
2.2.1 RoI池化
采用NMS可以得到各區(qū)域中置信度較高的提案,對提案的長寬高分別小幅度地擴大ε、ε、ε,得到由提案擴大后的RoI,RoI包含前景點云和部分前景點云附近的背景點云,采用最遠點采樣法從每個提案內(nèi)采樣得到固定數(shù)量的點云,如圖6所示。
圖6 RoI池化示意圖
用最遠點采樣法獲取N個采樣點的步驟如下:
(1)隨機選取RoI內(nèi)一個點作為初始點,從剩余的點云中找到距離初始點最遠的點,構(gòu)成初始點集B;
(2)計算任意一個剩余點到點集B中所有點的距離,將所有距離中最小值作為該剩余點到點集B的距離;
(3)計算出每個剩余點到點集B的距離后,取距離最大的剩余點作為新的采樣點,并加入點集B;
(4)重復步驟(2)~(3),一直采樣到目標數(shù)量N為止。
通過RoI池化可以對包含不同點云數(shù)量的提案采樣得到N個固定的采樣點,原始點云主要用于最遠點采樣,不作為特征輔助目標檢測網(wǎng)絡的精修,將采樣點云映射到融合后的特征圖上,根據(jù)映射關(guān)系由融合后的特征圖生成每個RoI的特征集合,進而通過特征學習實現(xiàn)更精準的提案分類和包圍框預測。
2.2.2 3維目標檢測
每個RoI對應的特征集合經(jīng)過卷積層和全連接層的作用之后,得到長度為4的特征,使用Softmax層可以得到每個RoI屬于人、騎行者、汽車和背景的概率,將概率最大的類別作為RoI的類別,由于區(qū)域提案網(wǎng)絡可以有效地檢測出場景中大量真實存在的提案,不同類別之間比例失衡的問題得到緩解,在對RoI進行分類時,直接使用交叉熵損失函數(shù)計算RoI所屬類別的損失,如式(4)所示。
式中:C表示類別的預測值;C表示類別的真值;L表示分類時的損失。
在預測包圍框時,采用先分類再回歸的思想,區(qū)域提案網(wǎng)絡生成的提案中心、航向角和包圍框尺寸已經(jīng)較準確,在進行中心位置和航向角的區(qū)間分類時,采用比區(qū)域提案網(wǎng)絡中尺度更小的區(qū)間,以提高包圍框預測的精度。得益于分類區(qū)間尺度的變小和使得特征學習更具針對性的RoI池化,包圍框預測的精度獲得了較大地提升。
對包圍框中心進行預測時,在預測框中心左下角方向建立局部空間直角坐標o-xyz,原點到預測框中心的橫向距離與縱向距離都為a,原點位于預測框中心所在平面的下方,(x,y,z)表示預測框中心所在區(qū)間,(x,y,z)表示預測框中心所在區(qū)間位置到此區(qū)間起點的偏差。對包圍框航向角進行預測時,以包圍框的航向預測值順時針偏15°為0°起始方向,逆時針為正,順時針為負,將航向角的范圍[-45°,45°]和[135°,225°]劃分為若干個區(qū)間,預測框的航向角所在區(qū)間為r,真值框的航向角方向所在區(qū)間r內(nèi)到此區(qū)間起始方向的夾角為r,如圖7所示。
圖7 中心位置和航向角預測示意圖
則中心位置和航向角的損失如下:
區(qū)域提案網(wǎng)絡生成的包圍框尺寸與包圍框真值尺寸比較相近,若包圍框尺寸預測值為(l,w,h),包圍框尺寸真值為(l,w,h),兩者的損失可以直接通過Smooth L1損失函數(shù)計算,如式(6)所示。
因此在包圍框預測時的損失定義見式(7),在得到包圍框的預測結(jié)果之后,同時結(jié)合包圍框分類的結(jié)果,采用NMS得到各區(qū)域中置信度最高的提案,并作為3維目標的最終檢測結(jié)果。
實驗數(shù)據(jù)為KITTI數(shù)據(jù)集,KITTI數(shù)據(jù)集分為兩部分,一部分有真值的數(shù)據(jù)集包含2維圖像和3維點云各7 481幀,另一部分沒有真值的數(shù)據(jù)集包含2維圖像和3維點云各7 518幀。根據(jù)目標在相機視場內(nèi)的可見程度,將數(shù)據(jù)分為簡單、中等、困難3種不同等級。由于官方?jīng)]有提供測試集的真值,所以將有真值的數(shù)據(jù)集等分為訓練集和驗證集,訓練集用于網(wǎng)絡的訓練,驗證集則用于網(wǎng)絡的本地評估,而不含真值的數(shù)據(jù)集則全部作為測試集用于在線提交檢測結(jié)果。因為KITTI數(shù)據(jù)集只標注了2維圖像范圍內(nèi)的目標,本文對2維圖像和3維點云融合時,只考慮在相機視場內(nèi)的圖像和點云,如圖8所示。
圖8 相機視場內(nèi)6維RGB點云生成示例
本文中使用PyTorch框架實現(xiàn)PointRGBNet的網(wǎng)絡結(jié)構(gòu),使用2塊NVIDIA Tesla-V100 GPU和1塊Intel i7 CPU共同進行并行訓練,在NVIDIA GTX1060 GPU和Intel i7 CPU上進行推理測試。在區(qū)域提案網(wǎng)絡階段,采樣的6維RGB點云數(shù)量為18 000個點,當采樣點云數(shù)量不足18 000個點時,則在包含所有采樣點云的基礎上,從采樣點云里面隨機采樣補足18 000個點,訓練時,使用Adam優(yōu)化器,動量為0.9,初始學習率設置為0.001,衰減系數(shù)為0.001,批的大小為16,共迭代200次。在目標檢測網(wǎng)絡階段,RoI池化的采樣點云數(shù)量為512個,當RoI內(nèi)點云不足512個時,則在包含RoI內(nèi)所有點云的基礎上,隨機采樣補足512個點,訓練時,使用Adam優(yōu)化器,初始學習率設置為0.001,衰減系數(shù)為0.001,批的大小為16,共迭代100次。
KITTI數(shù)據(jù)集不同幀中的訓練數(shù)據(jù)分布不均衡,為了更好地訓練PointRGBNet,須對訓練數(shù)據(jù)進行增強。對獲取的每幀訓練數(shù)據(jù),隨機將其他幀3維目標包圍框內(nèi)的6維RGB點云及其鄰近的RGB點云添加到當前幀中,以增加訓練時每幀點云的目標數(shù)量。
除此之外,隨機選取每幀點云中的3維目標連同包含的6維RGB點云進行[-1 m,1 m]范圍內(nèi)的隨機橫向和縱向偏移、[0.9,1.1]比例范圍內(nèi)的隨機尺度變換、[-15°,15°]范圍內(nèi)的隨機水平旋轉(zhuǎn)和[-3°,3°]范圍內(nèi)小角度俯仰旋轉(zhuǎn),若變換完以后的真值包圍框和當前幀中其他真值包圍框有重疊的情況,則放棄本次數(shù)據(jù)增強,隨機選取其他目標進行數(shù)據(jù)增強。通過這種數(shù)據(jù)增強的方式,可以有效地提高網(wǎng)絡訓練精度和泛化能力。
本文中使用3維目標包圍框真值和包圍框預測值之間的交并比(intersection over union,IoU)作為評估包圍框預測值準確程度的標準,當包圍框預測值的IoU大于某一閾值時為正確檢測,否則為錯誤檢測,選取KITTI數(shù)據(jù)集官方閾值標準作為3維目標檢測的IoU閾值,即汽車IoU閾值為0.7,行人和騎行者為0.5。KITTI測試集數(shù)據(jù)的真值只存在于官方測試服務器,用于統(tǒng)一評估各種算法的綜合性能,具有較高的客觀性和公正性。本文中提出的PointRGBNet在KITTI數(shù)據(jù)集官方測試服務器上進行了公開測評,結(jié)果如表1所示。
表1 KITTI測試集上不同網(wǎng)絡目標檢測精度對比
在檢測汽車目標上,本文中提出的PointRGBNet的檢測精度極大地優(yōu)于僅采用單目視覺的Kinematic3D和3DOP,這主要是因為2維圖像不包含深度信息,利用單目視覺難以精準地估計3維目標的空間位置,而PointRGBNet在利用2維圖像語義信息的同時,也有效使用了3維點云的深度信息。PointRGBNet直接對6維RGB點云進行處理,最大程度地保留了原始信息,而VoxelNet和3DBN采用體素化的方法處理點云數(shù)據(jù),在一定程度上壓縮了原始信息,同時增加了計算量,因此PointRGBNet在檢測精度和處理速度都優(yōu)于VoxelNet和3DBN。PointRGBNet的輸入包含2維圖像的語義信息和3維點云的空間信息,在原始數(shù)據(jù)層面上進行了融合,因而檢測精度高于同樣使用PointNet++作為主干網(wǎng)絡但采用后融合方式進行目標檢測的F-PointNet。由于PointRGBNet沒有進行多視圖的映射和點云體素化,故其對汽車檢測的精度比采用點云體素化和多視 圖 映 射 的MV3D和AVOD、AVOD-、FPN、ContFuse和PointPainting都高。
在行人和騎行者目標檢測上,PointRGBNet的檢測精度要優(yōu)于部分僅采用3維點云或是多傳感器融合的3維目標檢測網(wǎng)絡,但也比部分目標檢測網(wǎng)絡的檢測精度差,原因可能在于PointRGBNet使用6維RGB點云作為輸入,當目標較小或是距離較遠時,6維RGB點云會變得比較稀疏,不利于提高檢測目標的精度,在下一步的工作中將研究如何利用圖像的語義信息對點云進行上采樣,提高點云的密度以優(yōu)化行人和騎行者目標的檢測精度。PointPainting先將點云投影到語義分割網(wǎng)絡的檢測結(jié)果上,將類別的置信度添加到每個點上,再使用僅以點云作為輸入的目標檢測模型來檢測3維目標,故在騎行者目標檢測上取得了較好的檢測效果。
圖9為PointRGBNet在KITTI測試集上對輸入的6維RGB點云的檢測結(jié)果,同時將檢測結(jié)果投影到2維圖像上,其中,紅色包圍框表示檢測出的目標是行人,藍色包圍框表示檢測出的目標是騎行者,粉紅色包圍框表示檢測出的目標是汽車。由圖9(a)和圖9(f)可見,在2維圖像上,當目標與目標之間出現(xiàn)嚴重遮擋的情況下,PointRGBNet依然可以十分有效地檢測出不同3維目標,充分說明PointRGBNet在檢測3維目標時的穩(wěn)定性和魯棒性。除此之外,由圖9(e)可見,PointRGBNet可以同時檢測出視場內(nèi)行人、騎行者和汽車3種不同目標,實現(xiàn)了3維目標的多類別檢測,比MV3D和ContFuse等單一類別檢測網(wǎng)絡,更能適應自動駕駛汽車的感知需求。
圖9 在KITTI測試集中的部分檢測結(jié)果
同時,本文中提出的PointRGBNet也在驗證集上進行了測試,結(jié)果如表2所示。由于大部分目標檢測網(wǎng)絡在各自的論文中只給出了汽車類別目標在驗證集上的檢測結(jié)果,所以主要比較了PointRGBNet與其他目標檢測網(wǎng)絡在汽車類別目標上3維目標的檢測精度,同時也比較了PointRGBNet使用和不使用數(shù)據(jù)增強的目標檢測結(jié)果。從表2可以發(fā)現(xiàn),通過采用數(shù)據(jù)增強的方法,使得每幀的訓練數(shù)據(jù)更豐富,顯著提高了PointRGBNet在驗證集上的檢測精度,使其明顯優(yōu)于目前先進的多傳感器融合網(wǎng)絡AVOD-FPN和ContFuse。
表2 KITTI驗證集上不同網(wǎng)絡目標檢測精度對比
3.5.1 數(shù)據(jù)輸入
為確定使用6維RGB點云作為網(wǎng)絡輸入的有效性,將使用3維點云作為輸入和使用6維RGB點云作為輸入的目標檢測結(jié)果進行對比,在使用3維點云作為輸入時,將區(qū)域提案網(wǎng)絡的第1層卷積層的輸入通道數(shù)改為3,PointRGBNet的其他結(jié)構(gòu)和參數(shù)不改變,將僅使用3維點云作為輸入的目標檢測結(jié)果提交至KITTI官方服務器進行評價,其結(jié)果如表3所示。由表3可見,使用3維點云作為輸入檢測汽車和騎行者的精度比使用6維RGB點云低,但在行人目標檢測上,兩者的檢測精度沒有太大差別,這可能是因為行人的體積比汽車和騎行者的體積小,點云更為稀疏,對應的RGB通道信息相對于汽車和騎行者要少,但對于汽車等體積較大的目標檢測精度有較大的提升,這可能是因為RGB通道信息可以使輸入數(shù)據(jù)的語義信息變得豐富,如圖2第1幅圖中銀色汽車的點云為銀色,藍色汽車的點云為藍色,明顯區(qū)別于汽車所在位置背景點云的顏色,更有利于PointRGBNet進行目標檢測。
表3 KITTI測試集不同輸入數(shù)據(jù)目標檢測精度對比
3.5.2 包圍框預測
本文中采用先分類再回歸的思路來預測包圍框,為確定這種做法的有效性,將目標檢測網(wǎng)絡的包圍框預測部分改為采用直接回歸的方法來實現(xiàn),維持網(wǎng)絡的其他部分不變,實驗結(jié)果如表4所示。由表可見,相比于直接回歸的方法,先分類再回歸的方法可以極大地提高多類別目標包圍框預測的精度。通過分類先確定出中心位置、航向角和包圍框尺寸所在的區(qū)間范圍,然后在區(qū)間范圍內(nèi)進行回歸,這樣有利于避免出現(xiàn)較大誤差的情況,提高包圍框預測的準確性。
表4 KITTI測試集不同包圍框預測方法目標檢測精度對比
本文中提出了一種多傳感器信息融合的雙階段目標檢測網(wǎng)絡PointRGBNet。該網(wǎng)絡利用3維點云投影到2維圖像生成的6維RGB點云作為輸入,不經(jīng)過體素化和多視圖映射,讓PointRGBNet直接學習6維RGB點云的特征,一次輸出3維場景中所有行人、騎行者和汽車目標的檢測結(jié)果。在KITTI驗證集的檢測結(jié)果和測試集在官方服務器的評估結(jié)果表明,本文中提出的方法相對于目前僅基于2維圖像或3維點云的目標檢測網(wǎng)絡,以及先進的多傳感器融合網(wǎng)絡具有更高的精度,且運行速度可以達到12幀/s,滿足實時性要求。
現(xiàn)實的交通環(huán)境十分復雜,不僅包含行人、騎行者和汽車,更有錐形標、小動物等各類目標,為了使自動駕駛汽車更好地適應現(xiàn)實交通環(huán)境,下一步將研究在一個網(wǎng)絡中識別更多常見目標,同時確保3維目標檢測的精度有較大提升。