本文轉(zhuǎn)載自新機(jī)器視覺(jué),文章僅用于學(xué)術(shù)分享。 目標(biāo)檢測(cè)與目標(biāo)識(shí)別不同,不僅要識(shí)別圖像中目標(biāo)的類別,同時(shí)還要確定目標(biāo)位置。與2D目標(biāo)檢測(cè)不同,3D目標(biāo)檢測(cè)是使用RGB圖像、RGB-D深度圖像和激光點(diǎn)云,輸出物體類別及在三維空間中的長(zhǎng)寬高、旋轉(zhuǎn)角等信息的檢測(cè)。 目標(biāo)檢測(cè)是計(jì)算機(jī)視覺(jué)領(lǐng)域的傳統(tǒng)任務(wù),與圖像識(shí)別不同,目標(biāo)檢測(cè)不僅需要識(shí)別出圖像上存在的物體,給出對(duì)應(yīng)的類別,還需要將該物體的位置通過(guò)最小包圍框(Bounding box)的方式給出。根據(jù)目標(biāo)檢測(cè)需要輸出結(jié)果的不同,一般將使用RGB圖像進(jìn)行目標(biāo)檢測(cè),輸出物體類別和在圖像上的最小包圍框的方式稱為2D目標(biāo)檢測(cè),而將使用RGB圖像、RGB-D深度圖像和激光點(diǎn)云,輸出物體類別及在三維空間中的長(zhǎng)寬高、旋轉(zhuǎn)角等信息的檢測(cè)稱為3D目標(biāo)檢測(cè)。隨著Faster-RCNN的出現(xiàn),2D目標(biāo)檢測(cè)達(dá)到了空前的繁榮,各種新的方法不斷涌現(xiàn),百家爭(zhēng)鳴,但是在無(wú)人駕駛、機(jī)器人、增強(qiáng)現(xiàn)實(shí)的應(yīng)用場(chǎng)景下,普通2D檢測(cè)并不能提供感知環(huán)境所需要的全部信息,2D檢測(cè)僅能提供目標(biāo)物體在二維圖片中的位置和對(duì)應(yīng)類別的置信度,但是在真實(shí)的三維世界中,物體都是有三維形狀的,大部分應(yīng)用都需要有目標(biāo)物體的長(zhǎng)寬高還有偏轉(zhuǎn)角等信息。例如下圖Fig.1中,在自動(dòng)駕駛場(chǎng)景下,需要從圖像中提供目標(biāo)物體三維大小及旋轉(zhuǎn)角度等指標(biāo),在鳥瞰投影的信息對(duì)于后續(xù)自動(dòng)駕駛場(chǎng)景中的路徑規(guī)劃和控制具有至關(guān)重要的作用。Fig.1 3D object detection in autonomous car, figure from reference[1]目前3D目標(biāo)檢測(cè)正處于高速發(fā)展時(shí)期,目前主要是綜合利用單目相機(jī)、雙目相機(jī)、多線激光雷達(dá)來(lái)進(jìn)行3D目標(biāo)檢測(cè),從目前成本上講,激光雷達(dá)>雙目相機(jī)>單目相機(jī),從目前的準(zhǔn)確率上講,激光雷達(dá)>雙目相機(jī)>單目相機(jī)。但是隨著激光雷達(dá)的不斷產(chǎn)業(yè)化發(fā)展,成本在不斷降低,目前也出現(xiàn)一些使用單目相機(jī)加線數(shù)較少的激光雷達(dá)進(jìn)行綜合使用的技術(shù)方案。進(jìn)行3D目標(biāo)檢測(cè)從使用的數(shù)據(jù)進(jìn)行劃分主要可以分為以下幾類: Voxelnet,Voxelnet把激光點(diǎn)云在空間中均勻劃分為不同的voxel,再把不同voxel中的點(diǎn)云通過(guò)提出的VFE(Voxel Feature Encoding)層轉(zhuǎn)換為一個(gè)統(tǒng)一的特征表達(dá),最后使用RPN(Region Proposal Network)對(duì)物體進(jìn)行分類和位置回歸,整體流程如圖Fig.2所示。Fig.2 Voxelnet Architecture, figure from reference[2]以開源的Apollo為例,Apollo中使用的YOLO 3D,在Apollo中通過(guò)一個(gè)多任務(wù)網(wǎng)絡(luò)來(lái)進(jìn)行車道線和場(chǎng)景中目標(biāo)物體檢測(cè)。其中的Encoder模塊是Yolo的Darknet,在原始Darknet基礎(chǔ)上加入了更深的卷積層同時(shí)添加反卷積層,捕捉更豐富的圖像上下文信息。高分辨多通道特征圖,捕捉圖像細(xì)節(jié),深層低分辨率多通道特征圖,編碼更多圖像上下文信息。和FPN(Feature Paramid Network)類似的飛線連接,更好的融合了圖像的細(xì)節(jié)和整體信息。Decoder分為兩個(gè)部分,一部分是語(yǔ)義分割,用于車道線檢測(cè),另一部分為物體檢測(cè),物體檢測(cè)部分基于YOLO,同時(shí)還會(huì)輸出物體的方向等3D信息。Fig.3 Multi-Task YOLO 3D in Apollo, figure from reference[3]通過(guò)神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)3D障礙物的9維參數(shù)難度較大,利用地面平行假設(shè),來(lái)降低所需要預(yù)測(cè)的3D參數(shù)。1)假設(shè)3D障礙物只沿著垂直地面的坐標(biāo)軸有旋轉(zhuǎn),而另外兩個(gè)方向并未出現(xiàn)旋轉(zhuǎn),也就是只有yaw偏移角,剩下的Pitch和Roll均為0。障礙物中心高度和相機(jī)高度相當(dāng),所以可以簡(jiǎn)化認(rèn)為障礙物的Z=0;2)可以利用成熟的2D障礙物檢測(cè)算法,準(zhǔn)確預(yù)測(cè)出圖像上2D障礙物框(以像素為單位);3)對(duì)3D障礙物里的6維描述,可以選擇訓(xùn)練神經(jīng)網(wǎng)絡(luò)來(lái)預(yù)測(cè)方差較小的參數(shù)。Fig.4 Predictparameters in Apollo YOLO 3D, figure from reference[3]在Apollo中,實(shí)現(xiàn)單目攝像頭的3D障礙物檢測(cè)需要兩個(gè)部分:
訓(xùn)練網(wǎng)絡(luò),并預(yù)測(cè)出大部分參數(shù): 通過(guò)圖像幾何學(xué)計(jì)算出障礙物中心點(diǎn)相對(duì)相機(jī)坐標(biāo)系的偏移量X分量和Y分量 AVOD,AVOD輸入RGB圖像及BEV(Bird Eye View),利用FPN網(wǎng)絡(luò)得到二者全分辨率的特征圖,再通過(guò)Crop和Resize提取兩個(gè)特征圖對(duì)應(yīng)的區(qū)域進(jìn)行融合,挑選出3D proposal來(lái)進(jìn)行3D物體檢測(cè),整個(gè)流程如圖Fig.5所示。Fig.5 AVOD Architecture, figure from reference[4]在KITTI 3D object Detection的評(píng)測(cè)結(jié)果如下圖Fig.6,目前領(lǐng)先的算法主要集中于使用激光數(shù)據(jù)、或激光和單目融合的方法,純視覺(jué)做3D目標(biāo)檢測(cè)的方法目前在準(zhǔn)確度上還不能和上述兩種方法相提并論,在相關(guān)算法上還有很大的成長(zhǎng)空間,在工業(yè)界有較大的實(shí)用性需求,本次分享主要集中在目前比較新的純視覺(jué)單目3D目標(biāo)檢測(cè)。 Fig.6 KITTI 3D object detection competition ranking for car, figure from reference[5]盡管目前對(duì)于3D目標(biāo)檢測(cè)已經(jīng)有不少的研究,但是在實(shí)際應(yīng)用中仍然有許多的問(wèn)題,首先,對(duì)物體遮擋、截?cái)唷⒅車鷦?dòng)態(tài)環(huán)境的健壯性問(wèn)題,其次,現(xiàn)有方式大都依賴于物體表面紋理或結(jié)構(gòu)特征,容易造成混淆,最后,在滿足準(zhǔn)確率要求的條件下,算法效率有很大問(wèn)題。3D bounding box是在真實(shí)三維世界中包圍目標(biāo)物體的最小長(zhǎng)方體,理論上,一個(gè)3D bounding box有9個(gè)自由度,3個(gè)是位置,3個(gè)是旋轉(zhuǎn),3個(gè)是維度大小。對(duì)于自動(dòng)駕駛場(chǎng)景下的物體,絕大多數(shù)都是水平放置于地面,所以通過(guò)假設(shè)物體都放置于水平地面,可以設(shè)置滾動(dòng)和傾斜角度相對(duì)于水平面為零,同時(shí)底面是水平面的一部分,這樣就可以省略掉3個(gè)自由度,還有6個(gè)自由度,所以3D目標(biāo)檢測(cè)也是一個(gè)目標(biāo)物體6D pose預(yù)測(cè)問(wèn)題。目前,3D目標(biāo)檢測(cè)的數(shù)據(jù)集主要包含Jura、Pascal3D+、LINEMOD、KITTI等,以KITTI數(shù)據(jù)集為例,如圖Fig.7是KITTI數(shù)據(jù)集中對(duì)于一個(gè)3D障礙物的標(biāo)注: Fig.7 KITTI training data format3D視覺(jué)目標(biāo)檢測(cè)的難點(diǎn)主要在于:1)遮擋,遮擋分為兩種情況,目標(biāo)物體相互遮擋和目標(biāo)物體被背景遮擋2)截?cái)啵糠治矬w被圖片截?cái)啵趫D片中只能顯示部分物體3)小目標(biāo),相對(duì)輸入圖片大小,目標(biāo)物體所占像素點(diǎn)極少4)旋轉(zhuǎn)角度學(xué)習(xí),物體的朝向不同,但是對(duì)應(yīng)特征相同,旋轉(zhuǎn)角的有效學(xué)習(xí)有較大難度,如圖Fig.8所示Fig.8 Rotation angle confusion, figure from reference[4]5)缺失深度信息,2D圖片相對(duì)于激光數(shù)據(jù)存在信息稠密、成本低的優(yōu)勢(shì),但是也存在缺失深度信息的缺點(diǎn)目前基于單目相機(jī)的3D目標(biāo)檢測(cè)的方法主要是復(fù)用2D檢測(cè)中的一系列方法,同時(shí)加入多坐標(biāo)點(diǎn)的回歸、旋轉(zhuǎn)角的回歸或分類,同時(shí)也有采用自編碼器的方法來(lái)進(jìn)行姿態(tài)學(xué)習(xí)。 Making RGB-Based 3D Detection and 6D Pose Estimation Great AgainFig.9 SSD-6D Architecture, figure from reference[6]SSD-6D的模型結(jié)構(gòu)如上圖Fig.9所示,其關(guān)鍵流程介紹如下:輸入為一幀分辨率為299x299的三通道RGB圖片 輸入數(shù)據(jù)先經(jīng)過(guò)Inception V4進(jìn)行特征提取和計(jì)算 分別在分辨率為71x71、35x35、17x17、9x9、5x5、3x3的特征圖上進(jìn)行SSD類似的目標(biāo)值(4+C+V+R)回歸,其中目標(biāo)值包括4(2D包圍框)、C(類別分類得分)、V(可能的視點(diǎn)的得分)和R(平面內(nèi)旋轉(zhuǎn)) 對(duì)回歸的結(jié)果進(jìn)行非極大抑制(NMS),最終得到結(jié)果
Viewpoint classification VS pose regression:作者認(rèn)為盡管已有論文直接使用角度回歸,但是有實(shí)驗(yàn)證明對(duì)于旋轉(zhuǎn)角的檢測(cè),使用分類的方式比直接使用回歸更加可靠,特別是使用離散化的viewpoints比網(wǎng)絡(luò)直接輸出精確數(shù)值效果更好 Dealing with symmetry and view ambiguity:給定一個(gè)等距采樣的球體,對(duì)于對(duì)稱的目標(biāo)物體,僅沿著一條弧線采樣視圖,對(duì)于半對(duì)稱物體,則完全省略另一個(gè)半球,如圖Fig.10所示 Fig.10 discrete viewpoints, figure from reference[6]Tab.1 F1-scores for each sequence of LineMOD, table from reference[6]3.2 3D Bounding Box Estimation Using Deep Learning and Geometry作者提出一種從單幀圖像中進(jìn)行3D目標(biāo)檢測(cè)和姿態(tài)估計(jì)的方法,該方法首先使用深度神經(jīng)網(wǎng)絡(luò)回歸出相對(duì)穩(wěn)定的3D目標(biāo)的特性,再利用估計(jì)出來(lái)的3D特征和由2D bounding box轉(zhuǎn)換為3D bounding box時(shí)的幾何約束來(lái)產(chǎn)生最終的結(jié)果。論文中,作者提出了一個(gè)嚴(yán)格的假設(shè),即一個(gè)3D bounding box應(yīng)該嚴(yán)格地被2D bounding box所包圍,一個(gè)3D bounding box由中心點(diǎn)的(x, y, z)坐標(biāo)、和三維尺度(w, h, l)和三個(gè)旋轉(zhuǎn)角所表示。要估計(jì)全局的物體姿態(tài)僅僅通過(guò)檢測(cè)到的2D bounding box是不可能的,如下圖Fig.11所示,盡管汽車的全局姿態(tài)一直沒(méi)有變,但是在2D bounding box中的姿態(tài)一直在變。因此,作者選用回歸2D bounding box中的姿態(tài)再加上在相機(jī)坐標(biāo)系中汽車角度的變化的綜合來(lái)進(jìn)行汽車全局姿態(tài)的估計(jì)。 Fig.11 Left: Cropped image of car, Right: Image of whole scene, figure from reference[7]同時(shí),作者還提出了MultiBin的結(jié)構(gòu)來(lái)進(jìn)行姿態(tài)的估計(jì),首先離散化旋轉(zhuǎn)角到N個(gè)重疊的Bin,對(duì)每一個(gè)Bin,CNN網(wǎng)絡(luò)估計(jì)出姿態(tài)角度在當(dāng)前Bin的概率,同時(shí)估計(jì)出角度值的Cos和Sin值。網(wǎng)絡(luò)整體結(jié)構(gòu)如下圖Fig.12所示,在公共的特征圖后網(wǎng)絡(luò)有三個(gè)分支,分別估計(jì)3D物體的長(zhǎng)寬高、每個(gè)Bin的置信度和每個(gè)Bin的角度估計(jì)。 Fig.12 MultiBin estimation for orientation and dimension estimation, figure from reference[7]Tab.2.Comparison of the average orientation estimation, average precision andorientation score for KITTI car, table from reference[7]Tab.3. Comparisonof the average orientation estimation, average precision and orientation scorefor KITTI cyclist,, table from reference[7]3.3 Implicit 3D Orientation Learning for 6D Object Detection from RGB ImagesFig.13 Top:codebook from encodings of discrete object views; Bottom: object detection and3D orientation estimation with codebook, figure from reference[8]作者主要是提出了一種新型的基于去噪編碼器DA(Denoising Autoencoder)的3D目標(biāo)朝向估計(jì)方法,使用了域隨機(jī)化(Domain Randomization)在3D模型的模擬視圖上進(jìn)行訓(xùn)練。在進(jìn)行檢測(cè)時(shí),首先使用SSD(Single Shot Multibox Detector)來(lái)進(jìn)行2D物體邊界框的回歸和分類,然后使用預(yù)先訓(xùn)練的深度網(wǎng)絡(luò)3D目標(biāo)朝向估計(jì)算法對(duì)物體的朝向進(jìn)行估計(jì)。在模型的訓(xùn)練期間,沒(méi)有顯示地從3D姿態(tài)標(biāo)注數(shù)據(jù)中學(xué)習(xí)物體的6D pose,而是通過(guò)使用域隨機(jī)化訓(xùn)練一個(gè)AAE(Augmented Autoencoder)從生成的3D模型視圖中學(xué)習(xí)物體6D pose的特征表示。這種處理方式有以下幾個(gè)優(yōu)勢(shì):可以有效處理有歧義的物體姿態(tài),尤其是在物體姿態(tài)對(duì)稱時(shí) 有效學(xué)習(xí)在不同環(huán)境背景、遮擋條件下的物體3D姿態(tài)表示 AAE不需要真實(shí)的姿態(tài)標(biāo)注訓(xùn)練數(shù)據(jù) Fig.14 Training process for AAE, figure from reference[8]Tab.4 LineMOD object recall with different training and testing data, table from reference[8]如前所述,純視覺(jué)單目3D目標(biāo)檢測(cè)在準(zhǔn)確率上離預(yù)期還有較大差距,可以考慮引入采用深度神經(jīng)網(wǎng)絡(luò)結(jié)合稀疏激光點(diǎn)云生成稠密點(diǎn)云對(duì)檢測(cè)結(jié)果進(jìn)行修正 目前大多是采用One-Stage的方法進(jìn)行3D目標(biāo)的姿態(tài)回歸,可以考慮使用Two-Stage的方法來(lái),并利用分割的Mask信息 目前3D目標(biāo)檢測(cè)的標(biāo)注數(shù)據(jù)較少,可以考慮引入非監(jiān)督學(xué)習(xí) 使用更多的幾何約束
LiborNovák. Vehicle Detection andPose Estimation for Autonomous Driving. Master’s thesis, Czech TechnicalUniversity in Prague. YinZhou, Oncel Tuzel. VoxelNet: End-to-End Learning for Point Cloud Based 3DObject Detection. In CVPR, 2018. https://mp.weixin.qq.com/s/XdH54ImSfgadCoISmVyyVg Ku,Jason and Mozifian, Melissa and Lee, Jungwook and Harakeh, Ali and Waslander,Steven. Joint 3D Proposal Generation and Object Detection from ViewAggregation. In IROS, 2018. http://www./datasets/kitti/eval_object.php?obj_benchmark=3d Wadim Kehl, Fabian Manhardt, Federico Tombari,Slobodan Ilic and Nassir Navab: SSD-6D: Making RGB-Based 3D Detection and 6DPose Estimation Great Again. ICCV 2017. ArsalanMousavian, Dragomir Anguelov, John Flynn, Jana Ko?ecká. 3d bounding box estimation using deep learning andgeometry.CVPR 2017. MartinSundermeyer、En Yen Puang、Zoltan-Csaba Marton、Maximilian Durner、Rudolph Triebel. Implicit 3DOrientation Learning for 6D Object Detection from RGB Images. In ECCV, 2018.
本文僅做學(xué)術(shù)分享,如有侵權(quán),請(qǐng)聯(lián)系刪文。
|