李宇杰,李煊鵬,張為公
東南大學(xué) 儀器科學(xué)與工程學(xué)院,南京210096
基于視覺的目標(biāo)檢測是圖像處理和計算機(jī)視覺領(lǐng)域的重要研究方向之一,可應(yīng)用于自動駕駛系統(tǒng)中的車輛、行人、交通標(biāo)志等目標(biāo)檢測[1]、視頻監(jiān)控中的異常事件分析,以及服務(wù)機(jī)器人等諸多領(lǐng)域。近年來,隨著深度神經(jīng)網(wǎng)絡(luò)的發(fā)展[2],包括圖像分類、目標(biāo)檢測以及語義分割等方面的研究均取得了顯著進(jìn)展[3]。特別是在目標(biāo)檢測領(lǐng)域,出現(xiàn)了以R-CNN、Fast RCNN、Mask RCNN為代表的two-stage網(wǎng)絡(luò)框架和以YOLO、SSD為代表的one-stage 的網(wǎng)絡(luò)框架。無論何種框架,基于深度學(xué)習(xí)的二維目標(biāo)檢測算法在準(zhǔn)確性和實時性上較以往基于特征的機(jī)器學(xué)習(xí)方法都獲得了較大提升,在KITTI[4]、COCO[5]等公開數(shù)據(jù)集的測試中均取得了顯著的成績。但是,由于二維目標(biāo)檢測只用于回歸目標(biāo)的像素坐標(biāo),缺乏深度、尺寸等物理世界參數(shù)信息,在實際應(yīng)用中存在一定局限性,特別是在自動駕駛車輛、服務(wù)機(jī)器人的感知中,往往需要結(jié)合激光雷達(dá)、毫米波等傳感器實現(xiàn)多模態(tài)融合算法[6],以增強(qiáng)感知系統(tǒng)的可靠性。
因此,研究者們提出了三維目標(biāo)檢測的相關(guān)方法,旨在獲取三維空間中的目標(biāo)位置、尺寸以及姿態(tài)等幾何信息?,F(xiàn)有的三維目標(biāo)檢測算法根據(jù)傳感器不同,大致可以分為視覺、激光點(diǎn)云和多模態(tài)融合三類。視覺方法由于其成本低、紋理特征豐富等優(yōu)勢,在目標(biāo)檢測領(lǐng)域中被廣泛使用,并且可根據(jù)相機(jī)類型分為單目視覺和雙目/深度視覺兩類。前者關(guān)鍵問題在于無法直接獲取深度信息,從而導(dǎo)致目標(biāo)在三維空間中的定位誤差較大。而后者不僅提供了豐富的紋理信息,還具有較為準(zhǔn)確的深度信息,目前相比前者具有更高的檢測精度。但雙目/深度視覺對光照條件等因素更加敏感,容易導(dǎo)致深度計算的偏差。
相比于視覺數(shù)據(jù),激光點(diǎn)云數(shù)據(jù)具有準(zhǔn)確的深度信息,并且具有明顯的三維空間特征,也被廣泛應(yīng)用于三維目標(biāo)檢測中。目前基于激光點(diǎn)云的三維目標(biāo)檢測算法大致有以下兩種方法:三維點(diǎn)云投影和三維空間體素特征。例如,Complex-YOLO[7]、BirdNet[8]、VeloFCN[9]等方法利用不同的點(diǎn)云投影方法將三維點(diǎn)云轉(zhuǎn)換為二維圖像,利用Faster RCNN、YOLO等[3]標(biāo)準(zhǔn)的二維目標(biāo)檢測網(wǎng)絡(luò)實現(xiàn)目標(biāo)檢測,然后再使用位置維度回歸恢復(fù)目標(biāo)在三維空間中的幾何姿態(tài)。3DFCN[10]、Vote3Deep[11]、VoxelNet[12]等方法利用三維體素的方法編碼點(diǎn)云的三維特征,利用三維卷積實現(xiàn)點(diǎn)云信息下的幾何姿態(tài)推斷。但是,單獨(dú)激光點(diǎn)云信息缺少紋理特征,因而較難實現(xiàn)目標(biāo)的檢測分類,特別是當(dāng)激光點(diǎn)云較為稀疏時,甚至無法提供有效的空間特征。因此,MV3D[13]、AVOD[14]等方法融合了激光點(diǎn)云與視覺信息實現(xiàn)多模態(tài)下的三維目標(biāo)檢測。該類方法利用圖像的紋理等特征實現(xiàn)目標(biāo)檢測,結(jié)合激光點(diǎn)云的深度信息恢復(fù)目標(biāo)的三維幾何位置、姿態(tài)等信息。
另外,根據(jù)不同場景尺度,可以將三維目標(biāo)檢測任務(wù)分為室內(nèi)與室外場景兩大類。由于室內(nèi)與室外場景存在較大差異,如目標(biāo)大小、種類、環(huán)境的復(fù)雜度等等,使得兩者的研究方法也存在很多不同。其中,室外場景主要解決大尺度場景下的車輛、行人、自行車等目標(biāo)的檢測和定位問題,為動態(tài)環(huán)境中的機(jī)器人決策規(guī)劃提供依據(jù);室內(nèi)場景由于目標(biāo)類別、尺寸和目標(biāo)姿態(tài)隨著視角的不同,特征也存在較大差異,因此主要解決的是目標(biāo)的定位和姿態(tài)估計問題。
Naseer 等人[15]總結(jié)了現(xiàn)有的室內(nèi)場景下2.5/3D 語義分割、目標(biāo)檢測、位姿估計和三維重建等環(huán)境感知算法。Arnold等人[16]從單目視覺、激光點(diǎn)云以及多模態(tài)融合的角度總結(jié)分析了現(xiàn)有的針對道路場景下的三維目標(biāo)檢測算法。Shen 等人[17]總結(jié)了目前基于2D/3D 數(shù)據(jù)的目標(biāo)分類和檢測算法,其中針對三維目標(biāo)檢測任務(wù),主要分析了基于雙目視覺的室內(nèi)場景下和基于激光點(diǎn)云數(shù)據(jù)的室外場景下三維目標(biāo)檢測。本文主要系統(tǒng)總結(jié)近年來基于視覺的三維目標(biāo)檢測方法,調(diào)研現(xiàn)有的針對室內(nèi)外不同場景下的檢測方法,包含了基于單目、雙目和深度相機(jī)視覺的主流網(wǎng)絡(luò)結(jié)構(gòu),如圖1 所示。此外,本文在KITTI[4]、SUN RGB-D[18]等數(shù)據(jù)集上對目前主流的三維目標(biāo)檢測算法進(jìn)行實驗對比研究。最后,根據(jù)目前三維目標(biāo)檢測算法存在的問題,提出其未來的發(fā)展方向。
圖1 基于視覺的三維目標(biāo)檢測算法整理
相比于室外場景,室內(nèi)場景具有較為顯著的特點(diǎn)。首先,室內(nèi)場景的尺度較小,不會出現(xiàn)室外場景中遠(yuǎn)距離目標(biāo);其次,室內(nèi)場景中目標(biāo)種類更加多樣,包含沙發(fā)、書桌、電視等多類目標(biāo),同類目標(biāo)的外觀特征往往也存在較大差異。因此,針對室內(nèi)場景下的三維目標(biāo)檢測需要更豐富的輸入信息,因而在傳感器的選型上研究者更偏向于雙目/深度相機(jī),其相關(guān)檢測方法也是基于具有深度先驗信息的數(shù)據(jù)。本章將系統(tǒng)介紹室內(nèi)場景下各三維目標(biāo)檢測改進(jìn)算法,并對各算法優(yōu)缺點(diǎn)進(jìn)行分析,如表1所示。
雙目/深度相機(jī)具有完整的豐富的深度圖信息(Depth Map),因此在立體成像與3D 目標(biāo)檢測中被廣泛研究與應(yīng)用。Depth Map 是指包含與視點(diǎn)的場景對象表面的距離有關(guān)的信息的圖像或圖像通道,其類似于灰度圖像,只是它的每個像素值是傳感器距離物體的實際距離。在雙目/深度視覺算法中,圖像紋理特征、深度特征等多特征融合[19]是針對三維目標(biāo)檢測的有效解決方法。
2014年,Gupta等人[20]將2D目標(biāo)檢測的R-CNN[3]網(wǎng)絡(luò)框架引入到基于深度圖像的目標(biāo)檢測中,并增加基于深度圖的CNN模塊,建立了3D空間的目標(biāo)檢測網(wǎng)絡(luò)框架。該方法提供了一種深度圖三通道編碼方式,包括了水平視差、離地高度、像素局部表面法向量和重力方向的夾角,這種編碼方式稱為HHA 特征,并對HHA 特征進(jìn)行線性縮放,使其映射到0~255 范圍內(nèi),形成類似與RGB圖像格式的三通道深度圖作為深度特征提取網(wǎng)絡(luò)Depth RCNN 的輸入,結(jié)合R-CNN 的2D 目標(biāo)檢測,生成2.5D的區(qū)域提議候選框,最后利用支持向量機(jī)(SVM)[21]進(jìn)行目標(biāo)分類,如圖2所示。2015年,Gupta等人[22]利用HHA特征[19]與可變部件模型(DPM)[23]結(jié)合,訓(xùn)練基于深度圖像的三維目標(biāo)檢測模型,通過檢測網(wǎng)絡(luò)實現(xiàn)自下而上的語義分割方法。相比之前將HOG特征擴(kuò)展到深度圖像中的深度梯度直方圖[24],HHA編碼方式增加了深度特征維度,使得目標(biāo)深度特征更加豐富。并且,三通道的編碼方式充分考慮了目標(biāo)深度幾何特征間的互補(bǔ)關(guān)系,有效地解決了深度信息在目標(biāo)垂直方向上的不連續(xù)性。但同時該方式忽略了不同特征間的獨(dú)立成分,只強(qiáng)調(diào)了各深度信息之間的相關(guān)性,使得該編碼方式存在一定的局限性。另外,HHA 特征深度圖的生成增加了相應(yīng)的計算量,較難實現(xiàn)端到端的訓(xùn)練網(wǎng)絡(luò)。
所謂的2.5D是指利用傳統(tǒng)的2D檢測網(wǎng)絡(luò),對單目圖像與深度圖進(jìn)行類似的處理過程,這也是基于深度圖像的目標(biāo)檢測算法中常用的處理方法。文獻(xiàn)[25]提出的AD3D 同樣是基于2.5D 的方法解決深度圖像的三維目標(biāo)檢測與姿態(tài)估計任務(wù)。AD3D用Fast RCNN[3]實現(xiàn)2D區(qū)域提取,結(jié)合深度特征初始化三維檢測框,采用三維檢測框參數(shù)回歸的方式精細(xì)化檢測結(jié)果。相比于Depth R-CNN[20]方法,AD3D 設(shè)計了三維檢測網(wǎng)絡(luò),省略了SVM的訓(xùn)練過程。Lahoud等人[26]提出的2D-driven方法同樣利用RGB圖像豐富的紋理信息實現(xiàn)目標(biāo)的區(qū)域分割,利用深度圖特征提取目標(biāo)的方向角信息,結(jié)合多層感知器學(xué)習(xí)目標(biāo)的三維空間位置和大小。2.5D 檢測網(wǎng)絡(luò)的優(yōu)點(diǎn)在于其網(wǎng)絡(luò)結(jié)構(gòu)相對簡單,有效利用了較為完善的2D檢測網(wǎng)絡(luò)實現(xiàn)三維目標(biāo)信息回歸。但是其缺點(diǎn)也十分明顯,利用RGB 圖像和深度圖像的獨(dú)立處理網(wǎng)絡(luò),忽略了目標(biāo)原始的三維空間特性。
表1 室內(nèi)場景下3D目標(biāo)檢測算法對比分析
圖2 2.5D目標(biāo)區(qū)域提取網(wǎng)絡(luò)
以Faster RCNN、SSD、YOLO 為代表的2D 深度學(xué)習(xí)網(wǎng)絡(luò)在目標(biāo)檢測領(lǐng)域取得了十分不錯的成績[2]。因此,采用2D網(wǎng)絡(luò)實現(xiàn)目標(biāo)識別與分割,結(jié)合深度信息回歸精確的三維檢測信息是三維目標(biāo)檢測的常用方法,例如Depth RCNN[20]、AD3D[25]、2D-driven[26]等算法。2D目標(biāo)檢測效果的提升在于其模型的有效性,于是研究者們提出能否建立有效的提取目標(biāo)三維空間特征的3D CNN 網(wǎng)絡(luò)模型。2016 年,Song 等人[27]提出了深度滑動形狀(Deep Sliding Shapes,DSS)的3D CNN 網(wǎng)絡(luò),該網(wǎng)絡(luò)首先對深度圖像采用距離函數(shù)算法(TSDF)處理生成3D 立體場景,將該立體場景作為特征提取網(wǎng)絡(luò)的輸入,并借鑒Faster RCNN 的RPN[3]網(wǎng)絡(luò)提出了多尺度區(qū)域提取網(wǎng)絡(luò)(Muilt-scale RPN)的3D 區(qū)域提取算法,如圖3所示。針對大小不一的多目標(biāo)檢測,采用多尺度的三維滑動窗口實現(xiàn)目標(biāo)的三維空間區(qū)域提取,通過目標(biāo)中心坐標(biāo)以及長寬高尺寸的偏移量回歸3D 檢測框。DSS[27]改進(jìn)了滑動形狀算法[28]中利用CAD 模型手工制作目標(biāo)3D 特征的方法,直接從立體場景數(shù)據(jù)中學(xué)習(xí)物體特征,使得網(wǎng)絡(luò)的處理過程得到簡化,并且提高了在SUN RGB-D數(shù)據(jù)集下的檢測精度。但是3D卷積運(yùn)算量遠(yuǎn)遠(yuǎn)大于2D卷積運(yùn)算量,因此,DSS針對整個感知域的3D 卷積操作使得網(wǎng)絡(luò)的計算量較大。于是,Luo 等人[29]提出了基于SSD 網(wǎng)絡(luò)[3]的三維空間檢測網(wǎng)絡(luò)3DSSD,采用了2D目標(biāo)檢測網(wǎng)絡(luò)作為前饋網(wǎng)絡(luò),實現(xiàn)目標(biāo)的快速分割從而有效地減少目標(biāo)三維搜索空間,再利用3D滑動窗口實現(xiàn)目標(biāo)三維空間端到端的檢測。相比于深度滑動形狀算法,在檢測精度和運(yùn)算速度上都得到了較大的提升。
立體空間的三維卷積有效提取了目標(biāo)的三維空間特征,但是視覺傳感器獲取的只有目標(biāo)的表面特征,目標(biāo)內(nèi)部特征信息是無法獲取的,因此立體空間的三維卷積常常出現(xiàn)空卷積的情況,造成了計算資源的浪費(fèi)。因此,文獻(xiàn)[30]利用深度圖像生成三維點(diǎn)云,以點(diǎn)云形式作為網(wǎng)絡(luò)輸入,結(jié)合基于點(diǎn)云處理的PointNets3D目標(biāo)識別網(wǎng)絡(luò),提出了基于深度圖像的3D檢測網(wǎng)絡(luò)F-PointNets。對于給定的深度圖像,F(xiàn)-PointNets 首先利用2D 檢測網(wǎng)絡(luò)實現(xiàn)單目圖像的目標(biāo)識別,通過圖像-世界坐標(biāo)系轉(zhuǎn)換,確定點(diǎn)云識別提議區(qū)域,再利用PointNets 3D 目標(biāo)識別網(wǎng)絡(luò)對區(qū)域類點(diǎn)云信息進(jìn)行識別檢測,確定目標(biāo)位置、姿態(tài)等三維信息。該方法不僅在室外場景的KITTI數(shù)據(jù)集下得到了比較理想的結(jié)果,在室內(nèi)場景的SUN RGB-D數(shù)據(jù)集上也同樣有較好的表現(xiàn)。針對深度圖像的點(diǎn)云特征表示,Ren等人[31]提出了方向梯度云(Clouds of Oriented Gradients,COG)特征建立三維目標(biāo)姿態(tài)和二維圖像形狀的聯(lián)系關(guān)系。相比與激光的原始點(diǎn)云數(shù)據(jù),利用深度圖生成三維點(diǎn)云存在相應(yīng)的誤差。另外點(diǎn)云數(shù)據(jù)的稀疏性直接影響目標(biāo)檢測的準(zhǔn)確性,尤其針對小目標(biāo)檢測時,點(diǎn)云數(shù)據(jù)往往十分稀疏甚至丟失。因此,該類算法針對室內(nèi)場景的多目標(biāo)檢測精度的提升并沒有運(yùn)用在室外場景時顯著。
在室內(nèi)場景下,目標(biāo)種類往往較多,針對不同目標(biāo)的檢測精度存在較大差異,例如針對床、桌椅等三維尺寸較大,幾何形狀較為明顯的目標(biāo)檢測精度較高,而針對三維尺寸相對較小的目標(biāo),例如燈、電視機(jī)等,因此提高小目標(biāo)檢測精度是提升室內(nèi)場景下目標(biāo)檢測性能的關(guān)鍵??紤]到室內(nèi)場景下燈、電視機(jī)等小目標(biāo)的位置先驗特征,研究者們發(fā)現(xiàn)小目標(biāo)往往以一個較大目標(biāo)表面作為物體的支撐面,那么針對小目標(biāo)的定位檢測就可以與其支撐物體關(guān)聯(lián),提升小目標(biāo)的定位精度,同時可以縮小對于小目標(biāo)的搜索空間從而減少運(yùn)算量。2018年,Ren等人[32]提供了一種基于潛在支持表面(Latent Support Surfaces,LSS)的三維目標(biāo)檢測算法,該算法利用潛在的支持面來捕捉室內(nèi)場景中的上下文關(guān)系,解決之前用于深度圖像的3D表示方法在表示具有不同視角樣式的目標(biāo)時的局限性,并提升對小目標(biāo)檢測的有效性。但針對一些沒有明顯支撐面的目標(biāo),例如浴缸、書架等,該方法并沒有較好的處理結(jié)果。
圖3 3D目標(biāo)區(qū)域提取網(wǎng)絡(luò)
利用室內(nèi)場景中目標(biāo)相互間的上下文關(guān)聯(lián)信息不僅可以提升對小目標(biāo)的檢測精度,同時可以減少對上下文信息較弱區(qū)域的編碼,將計算資源投入到具有強(qiáng)上下文信息關(guān)聯(lián)區(qū)域。因此,Zhang 等人[33]提出了基于上下文信息編碼的三維目標(biāo)檢測網(wǎng)絡(luò)DeepContext。該網(wǎng)絡(luò)將輸入圖像場景匹配一個預(yù)定義的三維場景模板,模板中定義了每個目標(biāo)的位置關(guān)系,利用場景模板直接編碼上下文局部特征,通過目標(biāo)的外觀特征和強(qiáng)上下文信息,實現(xiàn)目標(biāo)的三維信息提取。另外,該方法利用強(qiáng)上下文信息和模板信息,有效地提升了如床頭柜、椅子等易遮擋目標(biāo)的檢測精度。但因為模板數(shù)據(jù)的不完善,基于模板匹配的目標(biāo)檢測往往存在較大的局限性,當(dāng)實際場景與模板場景集間不完全匹配時會造成較大的預(yù)測誤差。
針對室內(nèi)場景下的三維目標(biāo)檢測任務(wù),現(xiàn)有的研究工作中大多數(shù)是基于深度圖像的檢測網(wǎng)絡(luò),這是因為基于單目視覺的三維檢測網(wǎng)絡(luò)很難應(yīng)對多類目標(biāo)、復(fù)雜的室內(nèi)場景。盡管如此,仍然有研究者提出了基于單目視覺的室內(nèi)場景三維目標(biāo)檢測算法。2012 年,F(xiàn)idler 等人[34]將DPM[23]擴(kuò)展到單目視覺下的三維目標(biāo)檢測,將每一個目標(biāo)類表示為一個可變形的三維長方體,通過物體部件與三維檢測框表面之間的變換關(guān)系,有效地實現(xiàn)了部分形狀特征明顯的室內(nèi)目標(biāo)的三維檢測,例如床、書桌等具有明顯長方體特征目標(biāo)。
為了提高室內(nèi)場景下多目標(biāo)的檢測精度,Zhuo 等人[36]提出了深度估計網(wǎng)絡(luò)和3D RPN[27]結(jié)合的端到端的基于單目視覺的三維目標(biāo)檢測網(wǎng)絡(luò)。該網(wǎng)絡(luò)將單目視覺下的三維目標(biāo)檢測主要分為了三部分:深度估計網(wǎng)絡(luò)、三維體素生成模塊和3D RPN網(wǎng)絡(luò)。在標(biāo)準(zhǔn)的距離函數(shù)(TSDF)[27]中,將三維空間劃分為等距體素,通過深度映射得到三維體素中心到最近表面點(diǎn)的距離,但最近鄰搜索過程無法實現(xiàn)端到端的訓(xùn)練。針對這一問題,該網(wǎng)絡(luò)提出了可微距離函數(shù)(DTSDF),與距離函數(shù)(TSDF)在整個三維空間中尋找最近曲面點(diǎn)不同,DTSDF沿著每個體素的可見射線進(jìn)行最近點(diǎn)搜索,從而使整個過程可微,實現(xiàn)端到端的訓(xùn)練網(wǎng)絡(luò)。此外,該方法引入了殘差網(wǎng)絡(luò)[34],用于預(yù)測深度估計的不確定性。最后,通過3D RPN網(wǎng)絡(luò)實現(xiàn)目標(biāo)三維特征提取,得到目標(biāo)的三維檢測框和置信度。
在雙目/深度視覺下的室內(nèi)場景三維目標(biāo)檢測算法中,根據(jù)區(qū)域提取的卷積類型大致可以分為兩類,即2.5D 區(qū)域提議網(wǎng)絡(luò)和3D 區(qū)域提議網(wǎng)絡(luò)?;?.5D 區(qū)域提議網(wǎng)絡(luò)優(yōu)點(diǎn)在于結(jié)合2D 檢測網(wǎng)絡(luò)和深度圖特征,可快速實現(xiàn)目標(biāo)區(qū)域的提取和三維參數(shù)回歸得到較為精確的目標(biāo)三維檢測框。而3D區(qū)域提議網(wǎng)絡(luò)則利用三維卷積直接提取目標(biāo)的三維空間特征,容易實現(xiàn)端到端的網(wǎng)絡(luò)訓(xùn)練模型。但相比與傳統(tǒng)的二維卷積,三維卷積計算量更大,并且在實際場景中,往往只能獲得目標(biāo)的表面特征,因此三維卷積的方法也會帶來計算資源的浪費(fèi)。而單目視覺下的室內(nèi)目標(biāo)檢測,一般結(jié)合深度估計網(wǎng)絡(luò)則會造成誤差的累計傳遞,檢測精度遠(yuǎn)遠(yuǎn)低于雙目/深度視覺算法。但單目視覺算法的優(yōu)勢同樣較為明顯,其只使用單一傳感器完成立體空間的三維目標(biāo)檢測,使得系統(tǒng)穩(wěn)定性加強(qiáng),不易受到環(huán)境干擾,另外使傳感器成本大大降低。
室外場景下的三維目標(biāo)檢測主要是針對車輛、行人等道路場景下多目標(biāo)的三維檢測框回歸問題。相比于室內(nèi)場景,室外場景的目標(biāo)檢測任務(wù)更具有挑戰(zhàn)性,其主要表現(xiàn)在以下兩個方面:(1)由于場景視野的變化,包含較多遠(yuǎn)距離的小目標(biāo)、遮擋以及視野截斷的目標(biāo);(2)室外場景中背景、光照等條件更加復(fù)雜。因此,在室外場景下的三維目標(biāo)檢測需要更加精確的三維空間定位和尺寸估計。本章將分別從單目視覺和雙目/深度視覺兩方面系統(tǒng)介紹室外場景下的三維目標(biāo)檢測算法,如表2所示。
單目圖像可以為R-CNN、YOLO 等[2]二維目標(biāo)檢測網(wǎng)絡(luò)提供豐富的外觀、形狀等紋理信息,實現(xiàn)目標(biāo)在圖像平面的分類與定位。但針對三維目標(biāo)檢測任務(wù),由于缺少深度信息,單一的紋理信息無法直接確定目標(biāo)在三維空間中的位置、姿態(tài)等信息。因此,通常結(jié)合先驗信息融合[37]、幾何特征、三維模型匹配、單目視覺下的深度估計網(wǎng)絡(luò)等方法回歸目標(biāo)的三維幾何信息。
Chen 等人[38]在2016 年提出了Mono3D 目標(biāo)檢測方法,如圖4 所示。該方法將基于單目視覺的3D 目標(biāo)檢測分為兩步:(1)根據(jù)先驗假設(shè)進(jìn)行密集采樣,生成若干個3D 目標(biāo)候選框;(2)對3D 檢測框進(jìn)行重投影生成目標(biāo)的2D 檢測框,利用Faster RCNN 網(wǎng)絡(luò)[2]提取特征,結(jié)合語義、上下文信息、位置先驗信息以及目標(biāo)形狀先驗信息等,計算檢測框的能量損失函數(shù),提取精確的3D目標(biāo)檢測框。Mono3D 使用了與3DOP[39]相同的網(wǎng)絡(luò)結(jié)構(gòu),在卷積層之后將網(wǎng)絡(luò)結(jié)構(gòu)分為兩個分支,一個分支進(jìn)行候選框內(nèi)的特征提取分析,另一個分支進(jìn)行候選框周圍的上下文特征提取分析,最后通過全連接層獲取目標(biāo)的類別、檢測框以及航向信息。Mono3D[38]利用復(fù)雜的先驗信息提取3D 檢測框,在能量損失計算中存在誤差累計的問題,因此,Mono3D 在檢測精度的性能上并不是十分突出。另外,候選框的密集采樣和融合多個先驗特征使得整個網(wǎng)絡(luò)的計算量十分龐大,檢測速度上與2D 檢測器相比存在一定差距,無法實現(xiàn)端到端的預(yù)測模型。
表2 室外場景下3D目標(biāo)檢測算法對比分析
圖4 Mono3D目標(biāo)區(qū)域提取特征
Mousavian 等人[40]利用2D 目標(biāo)檢測器網(wǎng)絡(luò)的學(xué)習(xí)經(jīng)驗,提出了Deep3Dbbox的3D目標(biāo)檢測方法。該方法擴(kuò)展了2D 目標(biāo)檢測器網(wǎng)絡(luò),利用回歸的方法獲取目標(biāo)的三維尺寸以及航向角。與之前大多方法采用L2回歸目標(biāo)航向角不同,該網(wǎng)絡(luò)借鑒滑動窗口的思想,提出了Multi-bins 混合離散-連續(xù)回歸方法。Multi-bins 結(jié)構(gòu)將方向角離散化分為多個重疊的bin,利用CNN網(wǎng)絡(luò)估計每個bin的置信度和相對于輸出角的旋轉(zhuǎn)殘差修正。在目標(biāo)尺寸回歸中,則直接采用L2 損失函數(shù)計算尺寸估計殘差。通過網(wǎng)絡(luò)預(yù)測,確定了目標(biāo)的3D 尺寸和航向角,然后恢復(fù)物體的三維姿態(tài),求解目標(biāo)中心到相機(jī)中心的平移矩陣,使3D檢測框重投影中心坐標(biāo)與2D檢測框中心坐標(biāo)的誤差最小。相比于Mono3D[38]方法,Deep3Dbbox[40]利用2D 目標(biāo)檢測方法簡化了網(wǎng)絡(luò)結(jié)構(gòu),使得計算量大大減少,提升了運(yùn)算速度。但在檢測精度上并沒有大幅度的提升,這主要是因為深度信息的缺失,導(dǎo)致目標(biāo)在世界坐標(biāo)系中的位置計算存在較大誤差。Deep3Dbbox通過最小二乘法解算三維檢測框與二維檢測框的位置匹配關(guān)系,再利用奇異值分解得到圖像-相機(jī)坐標(biāo)轉(zhuǎn)換矩陣,該方法能較好解決簡單目標(biāo)的三維位置估計問題,但針對尺寸較小、存在遮擋等目標(biāo)的定位精度大大降低。
因此,研究人員對深度計算提出了相應(yīng)的改進(jìn)方法。Xu等人[41]提出的MF3D方法融合了Deep3Dbbox[40]以及單目視覺的深度估計算法,利用Deep3Dbbox 卷積網(wǎng)絡(luò)估計目標(biāo)的3D尺寸和航向角以及sub-net網(wǎng)絡(luò)生成深度圖,對目標(biāo)ROI 區(qū)域與深度圖融合,計算目標(biāo)在世界坐標(biāo)系下的位置信息。Qin等人[42]提出的MonoGRNet方法采用實例級深度估計方法,與MF3D[41]生成整個輸入圖像的深度圖不同,MonoGRNet 只對目標(biāo)區(qū)域進(jìn)行深度估計,在一定程度上簡化了計算過程。Manhardt等[43]提出的ROI-10D將基于Resnet-FPN的2D檢測網(wǎng)絡(luò)結(jié)構(gòu)[3]與深度估計特征圖結(jié)合,再利用CAD模型匹配得到目標(biāo)具體的3D信息。除了融合單目深度估計算法以外,在基于KITTI 數(shù)據(jù)集的3D 目標(biāo)檢測中,利用車輛、行人等剛體目標(biāo)的幾何約束計算位置深度是研究者們的另一種思路。例如,Ku 等人[44]提出的MonoPSR 利用相機(jī)成像原理,計算3D尺寸與像素尺寸比例關(guān)系進(jìn)而估計目標(biāo)深度位置信息。Roddick等人[45]提出的OFT-NET算法根據(jù)圖像與三維空間對應(yīng)關(guān)系,建立了圖像特征與三維空間特征的正交變換,將基于圖像的特征圖反投影到三維空間的鳥瞰圖中,再利用殘差網(wǎng)絡(luò)單元[35]處理鳥瞰特征圖?;趩文恳曈X的深度計算方法大致可以分為兩類:(1)基于卷積神經(jīng)網(wǎng)絡(luò)的深度估計;(2)基于幾何特征與成像原理的深度轉(zhuǎn)換。但是目前基于單目視覺的深度估計本身也是視覺算法領(lǐng)域的研究熱點(diǎn)和挑戰(zhàn),其估計精度遠(yuǎn)遠(yuǎn)沒有達(dá)到實際應(yīng)用的標(biāo)準(zhǔn),因此基于該類方法的三維目標(biāo)檢測算法的檢測精度往往較低。而基于幾何約束的深度估計則只能針對特定種類目標(biāo),無法實現(xiàn)多類目標(biāo)的高精度檢測,對實驗數(shù)據(jù)具有較高的要求。另外,針對小尺寸目標(biāo)的檢測效果較差,適用于視野范圍較小的場景。
無論是基于先驗信息的Mono3D[38],還是基于CNN網(wǎng)絡(luò)提取特征的Deep3Dbbox[40]系列算法,都存在對于遮擋、截斷目標(biāo)檢測精度差的問題。針對這一問題,Chabot等人[46]提出了Deep MANTA采用多任務(wù)網(wǎng)絡(luò)結(jié)構(gòu),實現(xiàn)目標(biāo)位置、形狀估計以及車輛的部件檢測。該方法定義了一組車輛關(guān)鍵點(diǎn)表征車輛的外部形狀,例如車頂角、車燈、后視鏡等,利用一個兩級的區(qū)域提議網(wǎng)絡(luò)回歸2D邊界框與車輛關(guān)鍵點(diǎn)定位,再與人工建立的3D標(biāo)準(zhǔn)模板庫進(jìn)行目標(biāo)形狀匹配,得到完整精確的3D 目標(biāo)姿態(tài)信息。同樣的,He等人[47]提出Mono3D++則采用EM-Gaussian算法實現(xiàn)遮擋或截斷目標(biāo)的關(guān)鍵點(diǎn)檢測與補(bǔ)全,結(jié)合Mono3D[38]定義的先驗信息能量損失函數(shù)實現(xiàn)3D 目標(biāo)的精確檢測。Kundu 等人[48]提出的3D RCNN方法將物體的CAD 模型進(jìn)行PCA 建模,利用一組基向量表征物體的3D 形狀和姿態(tài),最后利用卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn)2D 圖像到3D 物體的重建。通過關(guān)鍵點(diǎn)檢測與CAD 模板匹配結(jié)合的方法是目前解決遮擋、截斷目標(biāo)檢測地有效方案[49],但存在一定的局限性,首先是模板數(shù)據(jù)的獲得較為困難,且對多目標(biāo)檢測精度較低。另外,無論是Deep MANTA,還是Mono3D++,都主要提升了目標(biāo)在圖像坐標(biāo)系下的三維信息,而對相機(jī)坐標(biāo)系下的定位精度并沒有得到較大的改善,依舊不能解決深度估計造成的定位誤差。
在基于單目視覺的目標(biāo)三維檢測中,常常級聯(lián)了多個卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn)三維姿態(tài)的多參數(shù)回歸,例如檢測網(wǎng)絡(luò)與深度估計網(wǎng)絡(luò)相結(jié)合等方法。這種級聯(lián)做法會造成網(wǎng)絡(luò)誤差的累計傳遞,從而使得目標(biāo)三維檢測的誤差較大。為了解決回歸誤差累計的問題,Simonelli 等人[50]提出了基于參數(shù)解耦變換的MonoDIS。簡單來說,該方法用一個10 元數(shù)組表示目標(biāo)的三維幾何姿態(tài),并將其分為尺寸、深度信息、航向角以及中心點(diǎn)圖像投影坐標(biāo)四組參數(shù)組,采用解耦的方法分離參數(shù)誤差,即分別對其中任一參數(shù)組回歸計算損失函數(shù),而其他參數(shù)則保留為真值。三維姿態(tài)信息的解耦處理使得MonoDIS網(wǎng)絡(luò)的損失參數(shù)在訓(xùn)練過程中下降更快,避免了各參數(shù)間誤差傳遞的干擾,其在KITTI數(shù)據(jù)集上的驗證結(jié)果也表明更優(yōu)于其他級聯(lián)網(wǎng)絡(luò)的檢測準(zhǔn)確性。
目前,基于單目視覺的3D 目標(biāo)檢測算法已成為研究熱點(diǎn),其研究方法大致可以分為兩類:(1)根據(jù)區(qū)域提取生成目標(biāo)候選框,結(jié)合一系列定義的先驗信息回歸精確的3D檢測框;(2)利用CNN網(wǎng)絡(luò)直接提取目標(biāo)的3D特征信息,再結(jié)合模板匹配、重投影、深度估計等方法解算位置信息,得到精確的3D 檢測框。單目方法在數(shù)據(jù)處理上有其獨(dú)有的優(yōu)勢,且單一傳感器使用成本較低,主要缺點(diǎn)是缺少深度信息,限制了3D 目標(biāo)的檢測和定位精度,尤其是對于遮擋、截斷以及遠(yuǎn)距離目標(biāo)的檢測。
對于單目視覺的三維目標(biāo)檢測算法來說,深度信息的估計偏差是導(dǎo)致檢測精度較低的主要原因,尤其是對遠(yuǎn)距離和遮擋目標(biāo)的定位。雙目/深度相機(jī)依賴其準(zhǔn)確的深度信息的優(yōu)勢,在三維空間的視覺算法應(yīng)用中,尤其針對目標(biāo)檢測與定位任務(wù),相比于單目視覺算法具有明顯的檢測精度的提升。
在室內(nèi)場景的三維目標(biāo)檢測過程中,Depth RCNN[20]利用2D 檢測網(wǎng)絡(luò)和HHA 特征提取CNN 網(wǎng)絡(luò)實現(xiàn)3D目標(biāo)檢測,基于HHA 特征的深度圖編碼方式對室外場景下的目標(biāo)檢測同樣適用,如圖5 所示。針對這一方法,Chen 等人[39]提出了道路場景下的3D 目標(biāo)檢測網(wǎng)絡(luò)3DOP。該網(wǎng)絡(luò)結(jié)構(gòu)在目標(biāo)檢測的框架中借鑒了Fast R-CNN網(wǎng)絡(luò)結(jié)構(gòu)[3],結(jié)合單目圖像與HHA[20]特征生成高質(zhì)量的候選區(qū)域框,并提出了3D 目標(biāo)多特征先驗的能量損失函數(shù),其中先驗特征包含了語義信息、點(diǎn)云密度、上下文信息等,采用結(jié)構(gòu)化支持向量機(jī)訓(xùn)練模型,得到高質(zhì)量的目標(biāo)提取框和姿態(tài)信息。
圖5 Depth RCNN網(wǎng)絡(luò)結(jié)構(gòu)
在基于深度圖像的三維目標(biāo)檢測中,將深度特征作為網(wǎng)絡(luò)輸入是最常用的方法,該類方法在雙目視覺中同樣適用,但在雙目圖像中獲取深度圖會帶來額外的計算量。因此,在雙目視覺的三維目標(biāo)檢測算法的研究中,如何利用左、右相機(jī)單目檢測目標(biāo)的關(guān)聯(lián)性實現(xiàn)基于雙目視覺的三維目標(biāo)檢測是研究的熱點(diǎn)。針對這一問題,Li 等人[51]提出了基于Faster RCNN[2]擴(kuò)展網(wǎng)絡(luò)的Stereo R-CNN三維目標(biāo)檢測網(wǎng)絡(luò)。Stereo R-CNN將雙目圖像作為網(wǎng)絡(luò)輸入,取代了網(wǎng)絡(luò)的深度輸入,通過兩個FPN[3]網(wǎng)絡(luò)以及立體區(qū)域提議網(wǎng)絡(luò),同時對左右兩側(cè)圖像進(jìn)行目標(biāo)檢測并生成目標(biāo)關(guān)聯(lián)對,結(jié)合Mask RCNN[3]的關(guān)鍵點(diǎn)檢測計算粗略的3D 目標(biāo)檢測框,再通過左右目標(biāo)ROI區(qū)域?qū)?zhǔn)恢復(fù)精細(xì)的3D檢測框。相比于其他基于深度圖像的三維目標(biāo)檢測算法,Stereo R-CNN 方法的特點(diǎn)是不需要深度輸入,但其在KITTI數(shù)據(jù)集上的檢測效果提升了近30%。
同樣的,Qin 等人[52]提出了基于立體三角測量學(xué)習(xí)網(wǎng)絡(luò)TLNet的雙目視覺三維目標(biāo)檢測算法,不同于以往的像素級深度圖,該方法利用立體圖像的幾何對應(yīng)關(guān)系,構(gòu)建目標(biāo)級的深度關(guān)系。TLNet首先利用兩個基于單目的3D 目標(biāo)檢測器分別實現(xiàn)左右圖像的3D 目標(biāo)檢測,利用三維滑動窗口在立體圖像RoI區(qū)域之間顯式構(gòu)造目標(biāo)級幾何對應(yīng)關(guān)系,對目標(biāo)進(jìn)行三角定位。相比于單目的3D目標(biāo)檢測結(jié)果,三角測量法提高了檢測精度,使得目標(biāo)定位更加精確。另外,TLNet引入了特征加權(quán)策略,通過測量左右關(guān)聯(lián)性來增強(qiáng)信息特征通道,采用權(quán)重調(diào)整方案濾除噪聲和不匹配信道的信號,從而簡化了學(xué)習(xí)過程,使網(wǎng)絡(luò)更專注于目標(biāo)的關(guān)鍵部分。無論是TLNet,還是室內(nèi)場景下的DSS[27]、3D-SDD[29]算法,都可以看出相比將深度圖作為附加輸入的做法,直接對三維空間進(jìn)行三維卷積可以有效提升精度。但是,目標(biāo)特征往往只存在于物體的可見表面,因此三維卷積會帶來很多額外的計算量。于是,Chu等人[53]提出了SurfConv,該算法采用基于深度感知的多尺度二維卷積取代了三維卷積,對三維空間深度離散化,沿著目標(biāo)表面進(jìn)行分層卷積。SurfConv 方法既解決了二維卷積的尺度方差問題,也減輕了三維卷積過程對內(nèi)存的消耗。
基于深度/雙目視覺的三維目標(biāo)檢測通??梢苑譃閮深悾海?)基于單目圖像和深度圖的雙通道卷積神經(jīng)網(wǎng)絡(luò)融合的方法;(2)基于三維空間卷積的方法。另外,相比于深度圖像,雙目圖像可以利用左右單目圖像的匹配關(guān)系建立三維空間映射,從而可以在不需要深度輸入的前提下實現(xiàn)三維空間目標(biāo)檢測。
在室外場景下的三維目標(biāo)檢測算法中,無論是單目視覺還是雙目/深度視覺,在解決思路上存在一定的相似性,例如雙目/深度視覺下的2.5D/3D 區(qū)域提議方法,單目視覺下的深度估計等等。但針對室外場景中車輛、行人等目標(biāo)的三維檢測,由于其類別具有鮮明的幾何特性、位置特性等信息,可以充分利用模板匹配、先驗信息融合等方法提升特定目標(biāo)的三維空間檢測精度。此外,相比于室內(nèi)場景,室外場景的感知范圍更廣,目標(biāo)尺度變化更大,三維空間卷積會造成計算量的大幅度增加。因此,利用單目視覺檢測算法提升三維檢測的準(zhǔn)確性和實時性是目前室外場景下三維目標(biāo)檢測的關(guān)鍵。
深度神經(jīng)網(wǎng)絡(luò)模型的有效性是建立在大數(shù)據(jù)基礎(chǔ)上,其快速發(fā)展與ImageNet[54]、PASCAL VOC[55]等公開數(shù)據(jù)集的發(fā)展與利用密不可分。因此,本章重點(diǎn)介紹現(xiàn)有室內(nèi)/外場景下的3D 目標(biāo)檢測數(shù)據(jù)集,給出3D 目標(biāo)檢測的評判依據(jù),并在后文中討論分析前述方法的實驗結(jié)果。
針對室內(nèi)場景下3D目標(biāo)檢測和姿態(tài)估計任務(wù)的公開數(shù)據(jù)集主要有SUN RGB-D[18]和NYU Depth Dataset[56]。SUN RGB-D由10 335張深度圖像組成,包含了47種不同的室內(nèi)場景以及19 個目標(biāo)類別,對每張圖像都進(jìn)行了2D 和3D 信息的人工標(biāo)注,共有146 617 個2D 檢測框和64 595 個3D 檢測框的精細(xì)標(biāo)注。NYU Depth Dataset 是由紐約大學(xué)發(fā)布的針對室內(nèi)目標(biāo)檢測任務(wù),利用Kinect 傳感器進(jìn)行深度圖像采集的公開數(shù)據(jù)集。該數(shù)據(jù)集將室內(nèi)場景分為浴室、臥室、廚房、客廳等多種類別場景,其中NYU Depth Dataset V1 包含了7 類場景,64 個不同室內(nèi)場景共2 347 張深度圖像,NYU Depth Dataset V2 包含了26 類場景,464 個不同室內(nèi)場景共1 449 張深度圖像。除此以外,還有RGB-D Object Dataset[57]、Cornell RGB-D dataset[58]等室內(nèi)場景下目標(biāo)檢測數(shù)據(jù)集。
KITTI[4]數(shù)據(jù)集是針對自動駕駛環(huán)境感知算法研究中最常用的公開數(shù)據(jù)集之一,該數(shù)據(jù)集具有豐富的激光點(diǎn)云數(shù)據(jù)、圖像數(shù)據(jù)、慣性導(dǎo)航數(shù)據(jù)以及GPS數(shù)據(jù),可用于視覺測距、2D/3D 目標(biāo)檢測、目標(biāo)跟蹤、語義分割、光流等計算機(jī)視覺算法的研究。針對基于圖像的3D目標(biāo)檢測任務(wù),KITTI 數(shù)據(jù)集由7 481 張圖片組成訓(xùn)練/驗證集,7 518張圖片組成測試集,超過了200K的3D目標(biāo)標(biāo)注信息。KITTI 數(shù)據(jù)集將3D 目標(biāo)分為car、pedestrian、cyclist 等共8 種類別,標(biāo)注信息包括類別、2D 檢測框坐標(biāo)、3D 中心點(diǎn)坐標(biāo)、3D 尺寸、遮擋、截斷以及航向角等信息。如表3所示,針對目標(biāo)的大小、遮擋和截斷情況,KITTI 數(shù)據(jù)集將目標(biāo)分類為簡單、中等和困難三類,根據(jù)對不同目標(biāo)的檢測結(jié)果做出算法評估。
表3 KITTI數(shù)據(jù)集目標(biāo)分類
NuScenes[59]數(shù)據(jù)集是由nuTonomy 與Scale 發(fā)布的大規(guī)模自動駕駛數(shù)據(jù)集,該數(shù)據(jù)集不僅包含了激光點(diǎn)云數(shù)據(jù)、圖像數(shù)據(jù),還包括了Radar數(shù)據(jù)。另外,該數(shù)據(jù)集的圖像采集為360 度采集,5 個相機(jī)分布覆蓋了車體的360度方向同時采集圖像數(shù)據(jù),使得圖像數(shù)據(jù)視野更具多樣性。nuScenes數(shù)據(jù)集由1 000個場景組成,其中850個場景作為訓(xùn)練驗證集,另外150 個場景作為測試集。每個場景長度為20 s,有40 個關(guān)鍵幀,并對每個關(guān)鍵幀中的目標(biāo)進(jìn)行手工標(biāo)注。nuScenes數(shù)據(jù)集主要針對3D目標(biāo)檢測任務(wù),共標(biāo)注了道路場景下23類目標(biāo)的3D檢測框信息,并且標(biāo)注信息可實現(xiàn)與KITTI集標(biāo)注格式間的轉(zhuǎn)換。相比于KITTI數(shù)據(jù)集,nuScenes數(shù)據(jù)集數(shù)據(jù)規(guī)模更大,另外包含了白天、夜晚以及不同天氣、光照等更多場景狀況的應(yīng)用。
PASCAL3D+[60]是在PASCAL VOC2012 數(shù)據(jù)集基礎(chǔ)上,針對3D目標(biāo)檢測與姿態(tài)估計任務(wù),進(jìn)行3D目標(biāo)標(biāo)注的公開數(shù)據(jù)集。PASCAL3D+對PASCAL VOC2012中的12個剛性類別目標(biāo)進(jìn)行了3D注釋,結(jié)合ImageNet為每個類別增加了更多的圖像數(shù)據(jù),并針對每一個類別進(jìn)行了三維信息統(tǒng)計,生成相應(yīng)的3D CAD模型。與其他的室外場景下的3D數(shù)據(jù)庫相比,PASCAL3D+對每個類別都有超過3 000 個對象實例,類別數(shù)據(jù)更加豐富。其他的針對室外場景的3D目標(biāo)檢測公開數(shù)據(jù)集還有如NYC3DCars、LabelMe3D等等。
表4歸納總結(jié)了各室內(nèi)/外場景下的3D目標(biāo)檢測數(shù)據(jù)集特點(diǎn),室內(nèi)、室外場景在目標(biāo)特征、環(huán)境干擾因素等方面都存在較大的差異。相比之下,室內(nèi)場景下的目標(biāo)類別更多樣化,無論是NYU Depth Dataset 還是SUN RGB-D等數(shù)據(jù)集,都包含了床、餐桌、燈具、浴缸等10類以上的標(biāo)記類別,并具有餐廳、臥室、辦公室等不同室內(nèi)場景分類,不同場景特征區(qū)分也較為明顯。而室外場景下的目標(biāo)檢測,主要針對車輛、行人等道路環(huán)境中存在較多的目標(biāo),目標(biāo)的外觀、形狀等紋理特征均較為明顯。另外,室內(nèi)和室外場景的視野范圍存在較大差異,室外場景下圖像可視范圍較大,因而存在較多距離較遠(yuǎn)的小尺寸目標(biāo),目標(biāo)間的遮擋情況更加突出。
表4 三維目標(biāo)檢測公開數(shù)據(jù)集對比
在二維目標(biāo)檢測任務(wù)中,通常采用查準(zhǔn)率(Precision)和查全率(Recall)是定性分析檢測網(wǎng)絡(luò)的有效性,采用平均準(zhǔn)確率(Average Precision,AP)定量評估單類檢測結(jié)果精度。所謂的查準(zhǔn)率,是指被判斷為正例的目標(biāo)中檢測正確的比例;查全率是指所有正例中被檢測出的比例。在目標(biāo)檢測中,定義了目標(biāo)檢測框和真實值的重疊率IoU,通過設(shè)定IoU閾值t 判斷檢測結(jié)果中真正例TP、假正例FP、假反例FN的數(shù)量。
通過給定的不同閾值t ,得到對應(yīng)的查準(zhǔn)率和查回率值,從而繪制Precision-Recall曲線積分計算目標(biāo)檢測平均準(zhǔn)確率(Average Precision,AP)。當(dāng)t 是離散數(shù)據(jù)時,AP 為不同閾值t 的查全率對應(yīng)的查準(zhǔn)率的平均值。為了簡化計算,PASCAL VOC[55]數(shù)據(jù)集采用了插值方法計算檢測器的AP 值,在[0,1]上以步長為0.1 等間距取查全率上的查準(zhǔn)率值。
而在3D檢測任務(wù)中,針對室外場景下車輛、行人等目標(biāo),常常采用KITTI數(shù)據(jù)集下定義的評價指標(biāo)評估檢測器的性能。KITTI評價指標(biāo)包含3個主要內(nèi)容:2D檢測框平均準(zhǔn)確率AP2D、3D 檢測框平均準(zhǔn)確率AP3D以及平均角度相似性AOS。其中,AP2D采用二維目標(biāo)檢測器的AP 計算方法,將世界坐標(biāo)系下三維檢測框投影到圖像坐標(biāo)系下,通過IoU計算AP值。但在三維檢測中,圖像坐標(biāo)系下坐標(biāo)并不能直接表示三維檢測框的準(zhǔn)確性,其原因不難解釋,由于世界坐標(biāo)系與圖像坐標(biāo)系的轉(zhuǎn)換關(guān)系,對于世界坐標(biāo)系下不同大小、不同位置下的目標(biāo),當(dāng)其投影到二維圖像上時可能得到相同的二維檢測框。因此,Chen 等人[13]在MV3D 中引入了AP3D指標(biāo),與AP2D計算過程的不同在于其IoU 值為世界坐標(biāo)系下三維檢測框檢測值與真值的重疊率。針對三維目標(biāo)檢測任務(wù),KITTI數(shù)據(jù)集定義了AOS指標(biāo)用來評價目標(biāo)航向角預(yù)測結(jié)果。根據(jù)定義,有如下計算過程:
式中,r 為PASCAL 中二維目標(biāo)檢測的查全率,s(r?)為方向相似性,定義為所有預(yù)測樣本與真實值余弦距離的歸一化。D(r)表示在查全率r 下所有預(yù)測為正樣本的集合,表示檢出目標(biāo)i 的預(yù)測角度與真實值的差。為了防止多個檢出匹配到同一個真實值,如果檢出目標(biāo)i 已經(jīng)匹配到真實值(IoU至少50%)設(shè)置δi=1,否則δi=0。
表5 SUN RGB-D數(shù)據(jù)集三維檢測結(jié)果對比%
本文分別介紹了室內(nèi)場景和室外場景下基于圖像的三維目標(biāo)檢測算法,其中對于室內(nèi)場景下的檢測和姿態(tài)估計算法,主要采用SUN RGB-D數(shù)據(jù)集進(jìn)行各算法的性能比較;對于室外場景下的三維目標(biāo)檢測,主要采用KITTI 數(shù)據(jù)集以及評估標(biāo)準(zhǔn)對各算法進(jìn)行實驗結(jié)果的對比與分析。主要實驗結(jié)果對比與分析如下。
針對室內(nèi)場景下的三維目標(biāo)檢測任務(wù),表5給出了不同算法在SUN RGB-D 數(shù)據(jù)集上10 類標(biāo)記目標(biāo)的實驗結(jié)果。從表中結(jié)果可以看出,各算法對于多目標(biāo)的檢測準(zhǔn)確率相差較大,例如對于馬桶、床等目標(biāo)的識別準(zhǔn)確率可達(dá)到80%以上,但對于書柜、床頭柜的識別準(zhǔn)確率卻在50%以下。另外,實現(xiàn)結(jié)果表明F-PointNets 算法[30]對于室內(nèi)場景的三維目標(biāo)檢測同樣具有較好的表現(xiàn),多類目標(biāo)下的平均準(zhǔn)確度達(dá)到了54%,但不同目標(biāo)間依舊存在較大差距。造成目標(biāo)識別精度差距較大的原因主要有兩方面,首先是數(shù)據(jù)集本身特點(diǎn),在SUN RGB-D 數(shù)據(jù)集中各種類目標(biāo)數(shù)量存在差異;其次是目標(biāo)本身的特點(diǎn),例如床頭柜、梳妝臺等目標(biāo),其本身尺寸相對較小,且在室內(nèi)場景中往往處于被遮擋狀態(tài),使得其紋理和深度信息相對較少,為目標(biāo)檢測與定位造成一定的難度。根據(jù)表5,可以看出DeepContext 算法有效提升了該類目標(biāo)的檢測精度,該算法通過定義室內(nèi)場景模板,提升了諸如床頭柜、椅子等易被遮擋物體的檢測精度。
在三維目標(biāo)檢測任務(wù),Mono3D[38]、Deep3Dbbox[40]、3DOP[39]等算法均利用2D 檢測器實現(xiàn)目標(biāo)的檢測與分類,再進(jìn)一步回歸目標(biāo)的三維特征信息,因此2D檢測結(jié)果也直接影響三維目標(biāo)檢測的準(zhǔn)確性。表6 給出不同的三維目標(biāo)檢測網(wǎng)絡(luò)在KITTI數(shù)據(jù)集下,車輛目標(biāo)的二維檢測結(jié)果以及平均航向角預(yù)測結(jié)果。從表中可以看出,二維目標(biāo)檢測結(jié)果均較為理想,尤其對于簡單目標(biāo)來說,在IoU 閾值設(shè)置為0.5 時基本可以達(dá)到90%以上。其中基于雙目視覺的Stereo R-CNN[51]對簡單目標(biāo)的識別平均準(zhǔn)確率達(dá)到了98.53%,相比于大多數(shù)基于單目視覺方法提升了近5%。針對車輛目標(biāo)的航向預(yù)測準(zhǔn)確度也同樣達(dá)到了較高的水平,對于簡單目標(biāo)達(dá)到了90%以上,中等目標(biāo)達(dá)到了85%以上。但對于存在大部分遮擋、截斷或者尺寸較小的困難目標(biāo),無論是二維檢測的平均準(zhǔn)確率還是航向角預(yù)測,準(zhǔn)確率都未達(dá)到80%。因此,如何提高存在遮擋、截斷、小尺寸等目標(biāo)的有效識別率仍是目標(biāo)檢測任務(wù)中有待解決的關(guān)鍵問題。
表6 KITTI數(shù)據(jù)集車輛目標(biāo)檢測AP2D、AOS指標(biāo)對比%
三維目標(biāo)檢測的目的是獲取目標(biāo)在世界坐標(biāo)系下尺寸、位置和航向信息,因此,采用Chen 等人[13]提出的三維目標(biāo)平均檢測率評估預(yù)測結(jié)果。表7 總結(jié)歸納了室外場景下車輛目標(biāo)三維檢測平均準(zhǔn)確率結(jié)果,并對比了IoU 閾值分別設(shè)置為0.5 與0.7 對檢測結(jié)果的影響。根據(jù)表7 結(jié)果顯示,當(dāng)IoU 閾值為0.5 時,基于單目視覺的三維目標(biāo)檢測算法中,MonoGRNet[42]檢測結(jié)果最為理想,相比于Mono3D[38]等方法準(zhǔn)確率提升了近一倍,對于簡單目標(biāo)的檢測準(zhǔn)確率可以達(dá)到50%左右。當(dāng)IoU 閾值設(shè)為0.7 時,各算法準(zhǔn)確率均有大幅的下降,其中準(zhǔn)確率最高的MonoDIS[50]算法針對簡單目標(biāo)只能達(dá)到18.05%,而對于困難目標(biāo)準(zhǔn)確率均在10%以下。相比之下,基于雙目/深度圖像的三維檢測結(jié)果提升了很多。其中,在IoU=0.5 時,對于簡單目標(biāo)的識別率最高達(dá)到了85.84%,對困難目標(biāo)的識別也達(dá)到了57.24%。當(dāng)IoU=0.7 時,對于三類目標(biāo),F(xiàn)-PointNets[30]的檢測準(zhǔn)確率分別達(dá)到了83.76%、70.92%和63.65%,相比于3DOP算法[39]提升了近10倍。
表7 KITTI數(shù)據(jù)集車輛目標(biāo)檢測AP3D指標(biāo)對比
對比表7的實驗結(jié)果不難發(fā)現(xiàn),基于雙目/深度圖像的三維目標(biāo)檢測結(jié)果大大優(yōu)于單目圖像的檢測結(jié)果,這主要就是因為單目圖像中深度信息的缺失。其中,MonoGRNet[42]、MF3D[41]等表現(xiàn)較好的算法中均融合了基于單目視覺的深度估計算法,但由于單目視覺的深度估計本來存在較大誤差,因此導(dǎo)致了目標(biāo)位置的誤差。由此可見,深度信息對于三維目標(biāo)檢測的重要性。
此外,表7對各室外場景下的三維目標(biāo)檢測算法的運(yùn)行速度進(jìn)行了總結(jié)對比,表中總結(jié)的運(yùn)行速度數(shù)據(jù)主要來源于KITTI數(shù)據(jù)集的3D目標(biāo)檢測任務(wù)。從表中的對比結(jié)果可以看出,目前三維目標(biāo)檢測算法的運(yùn)行速度普遍在0.1 s以上。其中,Mono3D[38]和3DOP[39]的運(yùn)行速度甚至達(dá)到了3 s 以上,這是因為其復(fù)雜的先驗信息融合和密集的區(qū)域提議生成方式。針對單目視覺的三維目標(biāo)檢測算法,MonoGRNet[42]采用實例級的深度估計算法,忽略非目標(biāo)區(qū)域的深度估計,使得網(wǎng)絡(luò)運(yùn)算量進(jìn)一步減少,將運(yùn)行速度提升到了0.06 s/張。其次,在雙目/深度視覺中,F(xiàn)-PointNets[30]算法的處理速度達(dá)到了0.17 s/張,相比于其他雙目/深度視覺算法運(yùn)行速度提升了近一倍。F-PointNets算法將深度圖轉(zhuǎn)換為點(diǎn)云數(shù)據(jù),基于三維點(diǎn)云網(wǎng)絡(luò)實現(xiàn)三維目標(biāo)檢測,相比于直接在立體空間中運(yùn)用三維卷積的方法,省略了大量的空卷積過程,減少了計算量。另外,對比基于單目和雙目/深度視覺算法的運(yùn)行速度不難發(fā)現(xiàn),目前單目視覺算法的運(yùn)行速度并沒有顯著優(yōu)于雙目/深度視覺算法,這是因為目前單目視覺方法主要結(jié)合了深度估計網(wǎng)絡(luò),增加了網(wǎng)絡(luò)的復(fù)雜度,使得計算量增加。因此,如何在提升檢測精度的同時簡化網(wǎng)絡(luò),減少計算量,是目前提升三維目標(biāo)檢測算法性能的關(guān)鍵。
相比于道路場景下車輛目標(biāo)檢測,各算法對行人、自行車等其他目標(biāo)檢測結(jié)果對比的研究則較少。表8總結(jié)歸納了部分算法給出的針對室外場景下行人與自行車等目標(biāo)的三維目標(biāo)檢測平均準(zhǔn)確率(AP3D)結(jié)果,其中IoU 閾值取0.5。通過表中結(jié)果對比不難發(fā)現(xiàn),在行人、自行車等目標(biāo)識別中,基于雙目/深度圖像的檢測結(jié)果遠(yuǎn)遠(yuǎn)優(yōu)于基于單目圖像的檢測結(jié)果。其中,基于深度圖像的F-PointNets 算法模型[30]在行人檢測中準(zhǔn)確率達(dá)到了40%以上,自行車檢測準(zhǔn)確率達(dá)到了50%以上,而基于單目圖像的算法中效果只能達(dá)到10%左右。同時,將表7 與表8 結(jié)果對比可以發(fā)現(xiàn),對于車輛目標(biāo)的三維識別準(zhǔn)確率要高于行人、自行車等目標(biāo)的識別準(zhǔn)確率,這主要因為行人、自行車等目標(biāo)相比與車輛目標(biāo)來說,尺寸更小,姿態(tài)更具有多樣性,因此在定位與姿態(tài)估計任務(wù)中更加困難。
表8 KITTI數(shù)據(jù)集行人、自行車目標(biāo)檢測AP3D指標(biāo)對比%
本文系統(tǒng)總結(jié)了近年來基于視覺的三維目標(biāo)檢測算法,針對室內(nèi)、室外不同的應(yīng)用場景,分析了三維目標(biāo)檢測任務(wù)的難點(diǎn),歸納了不同場景下基于單目、雙目/深度視覺的三維目標(biāo)檢測算法。另外,系統(tǒng)介紹了針對三維目標(biāo)檢測的評價指標(biāo),并在KITTI、SUN RGB-D等數(shù)據(jù)集上進(jìn)行了實驗結(jié)果的對比分析。針對三維目標(biāo)檢測,實驗結(jié)果的對比分析表明:
(1)在室內(nèi)場景中,針對不同目標(biāo)的檢測精度差距較大,其中,對于床、馬桶等形狀特征明顯的目標(biāo)識別準(zhǔn)確率較高,而櫥柜、桌椅等目標(biāo)識別率相對較低。
(2)在室內(nèi)場景中,基于三維特征提取的檢測網(wǎng)絡(luò),例如F-PointsNets[30]、3D-SSD[26]等,多目標(biāo)的平均識別準(zhǔn)確率高于其他基于2D檢測網(wǎng)絡(luò)方法。
(3)針對室外場景中的車輛目標(biāo)三維檢測任務(wù),其二維檢測精度和航向角檢測精度達(dá)到了較好的水平。其中,針對簡單目標(biāo)的檢測精度可達(dá)到95%以上,對于困難目標(biāo)檢測精度達(dá)到80%。
(4)針對室外場景中的目標(biāo)三維空間信息估計,深度/雙目視覺下的檢測精度遠(yuǎn)遠(yuǎn)高于單目視覺下檢測精度。其中,針對車輛目標(biāo),IoU 閾值為0.7 時,基于深度/雙目視覺的F-PointsNets[29]算法三維信息估計精度可達(dá)到60%以上,而基于單目視覺的檢測效果最高只能達(dá)到13.42%。針對行人、自行車等目標(biāo),IoU 閾值為0.5 時,基于深度/雙目視覺的檢測算法精度可達(dá)到40%以上,而基于單目視覺的檢測精度在10%以下。
(5)在室外場景中,對基于單目視覺的三維目標(biāo)檢測算法的分析比較表明,融合深度估計網(wǎng)絡(luò)的檢測算法精確率普遍高于其他基于幾何特征、三維模型檢測算法。
相比于二維目標(biāo)檢測網(wǎng)絡(luò),三維目標(biāo)檢測在準(zhǔn)確性、實時性等關(guān)鍵指標(biāo)方面還有較大的提升空間。經(jīng)過對現(xiàn)有的三維目標(biāo)檢測算法的分析與總結(jié),未來對該任務(wù)的研究方向可包含以下方面:
(1)對于室內(nèi)場景下的三維目標(biāo)檢測,需要提升多目標(biāo)檢測精度。特別地,針對一些室內(nèi)場景下的特殊目標(biāo),如尺寸較小,紋理特征不明顯,易非剛性形變,外觀特征多樣等目標(biāo),如何提升三維姿態(tài)檢測精度是進(jìn)一步研究的關(guān)鍵。
(2)對于室內(nèi)場景下的三維目標(biāo)檢測,目標(biāo)之間往往存在一定的關(guān)聯(lián),能否利用目標(biāo)間的關(guān)聯(lián)約束提升室內(nèi)場景下多目標(biāo)的檢測和定位精度可以進(jìn)一步研究。
(3)對于室外場景下的三維目標(biāo)檢測,如何解決遮擋、截斷和遠(yuǎn)距離的小尺寸目標(biāo)的檢測與定位精度是亟需解決的關(guān)鍵問題。
(4)無論是室內(nèi)場景,還是室外場景下,基于單目視覺的三維目標(biāo)檢測精度均較低,關(guān)鍵在于如何提升單目視覺下的目標(biāo)三維空間定位精度。目前,依靠融合基于單目視覺的深度估計網(wǎng)絡(luò)存在兩個主要問題:一是深度估計算法本身存在較大誤差,不能滿足定位精度需求;二是網(wǎng)絡(luò)融合增加了網(wǎng)絡(luò)架構(gòu)的復(fù)雜度,計算量大大增加。
(5)目前基于雙目視覺下的三維目標(biāo)檢測網(wǎng)絡(luò)大多基于二維目標(biāo)檢測架構(gòu),融合深度圖特征實現(xiàn)目標(biāo)的三維檢測,常用的深度圖特征有HHA[20]、COG[31]等;另一方面,通過三維立體場景恢復(fù),實現(xiàn)三維特征提取。這兩類方法對檢測精度都有較大的提升,但是都存在特征提取計算量較大,網(wǎng)絡(luò)架構(gòu)較為復(fù)雜的問題。因此,如何簡化深度/雙目視覺下的三維目標(biāo)檢測網(wǎng)絡(luò)是進(jìn)一步研究的重點(diǎn)。
基于視覺的三維目標(biāo)檢測網(wǎng)絡(luò)包含了目標(biāo)在三維空間的定位、姿態(tài)估計和圖像坐標(biāo)系中的三維檢測框恢復(fù)。相對于二維目標(biāo)檢測來說,三維目標(biāo)檢測更具有實際應(yīng)用的需求,關(guān)系到了自動駕駛、機(jī)器人等領(lǐng)域中感知系統(tǒng)的有效性。因此,基于視覺的三維目標(biāo)檢測已成為計算機(jī)視覺研究中的重要方向。