安旭陽, 蘇治寶, 杜志岐, 李兆冬
(中國北方車輛研究所,北京100072)
近年來,地面無人平臺技術得到了空前發(fā)展,對高效和實時的感知系統(tǒng)提出了更迫切的需求.目標檢測作為感知層的重要組成部分,其性能優(yōu)劣決定了地面無人平臺的自主行駛水平.傳統(tǒng)的2D目標檢測算法是首先利用手工設計的特征描述對輸入圖像進行特征提取,然后獲取候選目標的邊緣或紋理特征,最后采用分類器SVM或Adaboost對目標進行分類.常用的特征描述子有HOG[1]、SIFT[2]和BRIEF[3]等,但是在復雜場景下的泛化能力較弱.而基于深度學習的目標檢測算法利用卷積神經(jīng)網(wǎng)絡自動提取候選區(qū)域的目標特征,泛化能力得到了極大提高.2013年,Ross等作者提出R-CNN算法,采用選擇性搜索算法在圖像上生成約2 000個候選區(qū)域,引入AlexNet網(wǎng)絡對區(qū)域目標進行特征提取,通過SVM對目標進行分類[4],檢測準確率顯著提高,但是大量的候選區(qū)域提取工作使得算法的檢測速率較低.Faster-RCNN網(wǎng)絡[5]采用區(qū)域提議網(wǎng)絡代替選擇性搜索算法生成候選區(qū)域,引入共享卷積運算對區(qū)域目標進行特征提取,極大提高了檢測精度和速度.華盛頓大學的Joseph等作者提出YOLO[6]算法,將候選區(qū)域提取和目標分類預測看作一個回歸問題,直接在圖像上輸出目標的類別和位置,在保證檢測精度的條件下極大提高了目標檢測的速度,能夠達到實時性要求.
雖然以深度學習為代表的2D目標檢測算法占據(jù)主導地位,能夠在像素層級上正確、高效地完成目標檢測,但是仍無法獲取目標的位置姿態(tài)、尺寸和運動狀態(tài).若能夠?qū)崿F(xiàn)3D目標檢測,則可以獲取目標的類別、空間位置和朝向信息,可直接應用于地面無人平臺的導航行駛.與圖像相比,點云不僅能夠提供精確的幾何特征而且對光照的魯棒性較好,但是獨特的置換不變性和旋轉(zhuǎn)不變性使得直接利用神經(jīng)網(wǎng)絡處理數(shù)據(jù)難以取得較好的檢測結(jié)果.近年來,部分專家學者開始將2D目標檢測算法采用的神經(jīng)網(wǎng)絡結(jié)構(gòu)引入到3D目標檢測領域,不斷優(yōu)化網(wǎng)絡結(jié)構(gòu),致力于提升算法的精度和魯棒性.目前3D目標檢測算法可根據(jù)采用傳感器種類分為4個方向:1)基于單目相機的目標檢測;2)基于激光雷達的目標檢測;3)基于多傳感器融合的目標檢測;4)基于立體視覺的目標檢測.
目前基于單目相機的2D檢測僅能提供目標在二維圖片中的像素位置和相應類別的置信度,無法回歸出目標的三維尺寸和朝向,更不能提供地面無人平臺環(huán)境感知的全部信息.而基于單目相機的3D目標檢測一般先在圖像上檢測目標的候選邊界框,根據(jù)2D-3D幾何約束或者地面參考等先驗信息估計目標的3D邊界框.雖然采用單一的RGB相機在3D物理場景中預測目標的位置和朝向具有挑戰(zhàn)性,然而提高檢測精度將會極大降低地面無人平臺感知系統(tǒng)成本.
清華大學Chen等作者提出Mono3D網(wǎng)絡,如圖1所示,以傳統(tǒng)的2D檢測框架獲得候選感興趣區(qū)域,通過能量最小化原則將候選目標映射到3D空間中,然后通過編碼語義分割信息、上下文信息、大小和位置先驗信息以及典型物體形狀等特征為每個候選框評分[7],但是3D空間比2D空間大的多,極大增加了計算量,每幀的檢測時間約為4.2 s.2019年,香港中文大學的Li[8]等作者提出單目3D檢測網(wǎng)絡GS3D,首先利用Faster-RCNN和補充網(wǎng)絡對目標的2D邊界框和觀測視角進行預測;然后根據(jù)預測目標的種類估計3D邊界框的大小,主要是因為自動駕駛場景中相同種類目標的3D尺寸分布是低方差和單峰的;最后對圖像進行卷積處理,通過仿射變換將可見3個表面映射到指定的維度上完成特征提取,融合3個平面映射后的特征和2D邊界框特征,進而獲得精確的3D邊界框,每幀的檢測時間約為2 s,如圖2所示.
圖1 Mono3D網(wǎng)絡結(jié)構(gòu)圖
圖2 特征表面提取
2021年,香港科技大學和城市大學的Liu等作者改進了3D錨點濾波方法,以地面先驗和統(tǒng)計先驗信息作為補充信息,設計了新的神經(jīng)網(wǎng)絡模塊,充分利用先驗信息進行3D目標預測[9].
激光雷達主要由發(fā)射系統(tǒng)、接收系統(tǒng)和處理系統(tǒng)組成.其工作原理是向目標發(fā)射激光束,根據(jù)接收信號返回的時間差計算雷達與目標的距離,從而獲得目標的位姿、尺寸和材質(zhì).點云的精度能夠達到毫米級,可以用于3D目標檢測.但是點云是一種不規(guī)則的數(shù)據(jù)結(jié)構(gòu),主要存在2種表征方式對點云數(shù)據(jù)結(jié)構(gòu)進行處理:1)基于網(wǎng)格或體素的方法;2)基于點的方法.前者利用體素或鳥瞰圖將不規(guī)則的點云轉(zhuǎn)換為規(guī)則的表征方式,然后采用PointNet及其變種[10-11]提取點云特征,計算成本相對較低但是易造成特征丟失.后者直接在原始點云上提取目標特征,計算成本較高但能獲得較大的感受野.
斯坦福大學的Qi等作者提出用深度學習網(wǎng)絡直接處理點云數(shù)據(jù),為目標分類、語義分割構(gòu)建了統(tǒng)一的體系架構(gòu)[10].PointNet利用空間變換網(wǎng)絡解決了點云旋轉(zhuǎn)不變性問題,應用最大池化方法解決了點云無序性問題.然而PointNet僅對每個點進行表征,無法整合局部結(jié)構(gòu)信息特征,PointNet++[11]借鑒分層提取特征思想有效解決了這個問題.PointNet++的每層分為采樣、分組和特征提取3部分.采樣是利用最遠點采樣法從點云中提取較為重要的點;分組是在采樣層提取中心點的周圍查找k個臨近點構(gòu)建1個組;特征提取是將每個組送入PointNet網(wǎng)絡進行卷積和池化操作,選擇獲得的特征作為中心點特征,然后重復進行下一層操作.因此,每一層的中心點都是上一層的子集,層數(shù)越深,中心點數(shù)目越少,但是包含的局部信息越多,特征提取的效果越好.
2019年,香港中文大學-商湯科技聯(lián)合實驗室的Shi等作者融合了點和體素網(wǎng)格的特征提取方法,構(gòu)建了新型3D檢測網(wǎng)絡PV-RCNN,充分利用了3D體素卷積提取候選區(qū)域的高效性和點的可變感受野特性,保證能夠?qū)W習更多具有區(qū)分性的點云特征[12].首先將體素化后的原始點云輸入基于3D稀疏卷積的編碼器中,學習多尺度語義信息生成初始3D候選區(qū)域,通過Voxel Set Abstraction模塊將在多個神經(jīng)層上學習到的體素特征量匯聚成小的一系列關鍵點;然后利用RoI-grid池化模塊在每個感興趣區(qū)域中隨機采樣一些網(wǎng)格點作為球心,聚合周圍的關鍵點特征,以保證能夠?qū)W習更小顆粒度的特征并對初始候選區(qū)域進行修正.與傳統(tǒng)的池化層相比,RoI-grid模塊編碼了更豐富的上下文信息,用于準確預測目標的置信度和位置,如圖3所示.
圖3 PV-RCNN網(wǎng)絡結(jié)構(gòu)圖
激光雷達能夠獲得場景中目標精確的空間坐標,但是點云的稀疏性導致遠距離檢測精度較低.相機采樣圖像的分辨率較高,能夠提供充足的環(huán)境紋理和顏色信息.因此,融合圖像層級上的2D特征和激光雷達的3D特征將能夠提高3D目標檢測的精度和速度.
2017年,清華大學的Chen[13]等作者提出MV3D網(wǎng)絡,以圖像和點云作為原始數(shù)據(jù)輸入,將點云坐標分別投影成鳥瞰圖和主視圖,增加了視場維度.鳥瞰圖由高度、強度和密度進行編碼表征,并離散到分辨率為0.1 m的二維網(wǎng)格中.由于激光點云比較稀疏,所以選擇將點云投影到圓柱面生成稠密的點云主視圖.然后利用鳥瞰圖生成候選3D區(qū)域,并將其投影到主視圖和圖像中,采用RoI池化方法將3個特征整合到一個維度,最后采用卷積神經(jīng)網(wǎng)絡對場景中的目標進行分類和定位,如圖4所示.
圖4 MV3D網(wǎng)絡結(jié)構(gòu)圖
2018年,滑鐵盧大學的Ku[14]等作者在MV3D的基礎上提出了AVOD網(wǎng)絡,首先取消了點云主視圖輸入,在點云鳥瞰圖中增加強度特征;其次,采用FPN網(wǎng)絡代替VGG16進行特征提取,保證特征圖相對原始輸入是全分辨率的,并且能夠結(jié)合底層細節(jié)和高語義特征,提高小目標的檢測精度;最后,采用裁剪和調(diào)整方式代替RoI池化進行特征整合.此外,MV3D網(wǎng)絡僅給出8個頂點,并未對邊界框進行約束,由24維(3×8)向量進行表征,而AVOD利用底面和高度對3D邊界框進行約束,由10維(2×4+2)向量表征,有效降低了編碼維度,如圖5所示.
圖5 邊界框編碼方式
2019年,多倫多大學的Ku等作者提取了細粒度語義信息,用于提高3D目標檢測的朝向精度[15].首先,利用深度補全算法[16]對場景中的點云進行稠密化處理,通過RGB顏色對點云進行著色;然后,利用VMVS模塊將虛擬相機放置在候選目標周圍構(gòu)建新視點,同時保留目標的外觀特征;最后,利用CNN網(wǎng)絡從新視圖中回歸目標的朝向.KITTI測試結(jié)果表明,方法與開源3D檢測器AVOD-FPN結(jié)合使用時,行人的朝向檢測精度優(yōu)于先前發(fā)布的算法.
2021年,田納西大學諾克斯維爾分校的Nabati[17]等作者將雷達和圖像進行融合提出了CenterFusion算法.首選利用CenterNet網(wǎng)絡提取候選目標的中心點,采用視錐方法將雷達檢測結(jié)果與候選目標中心點進行數(shù)據(jù)關聯(lián);然后通過回歸候選目標的深度、旋轉(zhuǎn)角度和速度對先驗檢測結(jié)果進行修正,在不借助額外信息的條件下能夠提高速度估計的精確度,如圖6所示.
圖6 CenterFusion網(wǎng)絡結(jié)構(gòu)圖
立體視覺借鑒了人類雙眼“視差”原理.兩個或多個相機從不同的空間角度觀測場景中的目標,可以獲得不同視角下的圖像.根據(jù)像素匹配原理,利用三角測量技術計算對應像素之間的視差進而解算三維目標的深度,如圖7所示.
圖7 雙目視差原理
臺灣交通大學的Chang等作者提出了金字塔立體匹配策略PSMNet,該策略可分為空間金字塔池化和3D卷積神經(jīng)網(wǎng)絡兩個模塊.前者充分利用了全局的上下文信息,將不同尺度和位置的上下文整合為代價量,后者利用多個堆疊的沙漏網(wǎng)絡和中間監(jiān)督方法調(diào)整代價量[18].然而PSMNet是為視差估計設計的而不是目標檢測.由于前景和背景是聯(lián)合估計的,所以目標邊界外立體視覺匹配的深度通常不夠準確,并且現(xiàn)有網(wǎng)絡在損失函數(shù)中計算的是視差而不是目標點云位置.為此,喬治敦大學的Pon等作者提出了一種二維邊界框關聯(lián)和以目標為中心的立體視覺匹配策略,僅僅估計感興趣區(qū)域目標的視差[19].首先采用MS-CNN[20]二維檢測器獲得左右視圖的邊界框,通過結(jié)構(gòu)相似索引[21]進行圖像間的數(shù)據(jù)關聯(lián),然后傳遞到以目標為中心的立體網(wǎng)絡中生成視差圖和實例分割掩碼,最后轉(zhuǎn)化為點云,利用基于激光雷達的3D檢測網(wǎng)絡預測目標的3D邊界框.
香港中文大學的Chen[22]等作者提出了端到端的3D目標檢測框架DSGN,核心思想是通過空間變換將2D特征轉(zhuǎn)化為有效的3D特征結(jié)構(gòu).以雙目左右圖像作為輸入,利用權(quán)重共享的孿生網(wǎng)絡提取特征構(gòu)建平面掃描體.通過微分變形將平面掃描體轉(zhuǎn)化為3D幾何體,在三維世界中構(gòu)建幾何體,最后利用卷積神經(jīng)網(wǎng)絡進行3D目標檢測,如圖8所示.
圖8 DSGN網(wǎng)絡結(jié)構(gòu)圖
基于單目相機的3D目標檢測只需普通的RGB相機作為硬件設備,能夠顯著降低感知設備的成本.借鑒以深度學習為主導的2D目標檢測技術,通常目標位置和朝向的預測精度較高,但是依賴外界先驗信息的深度估計精確度較低,無法為地面無人平臺提供充足的感知信息.由于激光雷達的分辨率隨著距離的增大而變得稀疏,尤其是遠距離的小目標相似度較大,基于激光雷達的3D目標檢測算法經(jīng)常會出現(xiàn)誤檢或漏檢現(xiàn)象,但是相對距離較近的目標檢測的精度較高.基于立體視覺的3D目標檢測雖然能夠得到目標的深度信息,但是需要逐像素匹配,計算復雜度較高,目前一般達不到實時性要求.此外,相機的基線長度限制了測距范圍.基于多傳感器融合的3D目標檢查算法能夠結(jié)合相機高分辨的特征、激光雷達或毫米波雷達的精確深度特征,提高了遠距離小目標的檢測精度.此外,基于相機的目標檢測能夠為后續(xù)的3D目標檢測提供初始候選區(qū)域,減少激光雷達檢測的搜索區(qū)域,提高了3D目標檢測的速度.4種檢測方法的均值平均精度(Mean Average Precision,mAP)如表1所示.
表1 3D目標檢測方法對比
3D目標檢測是地面無人平臺環(huán)境感知能力的關鍵技術,提高算法的速度、精度和魯棒性是今后的重點研究內(nèi)容.本研究在單目相機、激光雷達、多傳感器融合和立體視覺4個維度對當前的3D目標檢測算法進行了研究,并且詳細比較了不同方法的執(zhí)行細節(jié)和優(yōu)缺點,認為采用神經(jīng)網(wǎng)絡算法或卡爾曼濾波、粒子濾波等算法融合圖像特征和點云特征是3D目標檢測的重要研究方向.