1. 程式人生 > >【轉】Deep MANTA論文閱讀筆記

【轉】Deep MANTA論文閱讀筆記

(注:閱讀筆記有很多自己的主觀判斷和解釋,會有錯誤與誤解之處,也在持續修改中,希望大家能夠共同討論進步,加深理解。)

一、研究背景及思路:

在2D影象物體檢測任務中,RCNN、Fast RCNN、Faster RCNN以及剛釋出的mask-RCNN等演算法,對於單張影象物體檢測均取得了較好的效果,對自動駕駛場景分析有著重要的作用,但是對於3D真實世界場景依然描述不夠。

在自動駕駛中,除了能夠檢測車輛、行人、障礙物以外,對於其物體速度、方向的檢測與定位也是非常重要的。在這篇論文中,作者實現了僅通過單張影象進行:

(1)精確的車輛區域檢測;(2)車輛部件(如車輪、車燈、車頂等)定位;(3)車輛部件可見性檢測(車輛部件在影象中是否可見);(4)車輛3D模板匹配及3D定位。

為了實現上述多重任務,作者充分利用了車輛幾何特徵,將幾何特徵與語義特徵(卷積神經網路中多層次特徵)進行結合,下面將對從各方面進行解析:

二、演算法流程及各環節基本原理:

下圖是論文的流程示意圖:

PhaseI : Deep MANTA Network

1、各符號含義解析:

論文第一個階段是DeepMANTA Network,目標輸出是:B、S、V、T。由於這篇論文采用了創新的研究思路,因此,有較多關於自定義變數的解釋,如果不清晰界定各變數代表的物理含義,則無法理解網路的前後因果,所以,第一步,應該把作者對於相關符號的定義理解清楚。

(1)B :B 是box的首字母,表示物體邊界框,在論文中有兩種表示:2D物體區域表示、3D物體區域表示。

對於2D車輛邊界框,使用四個變數進行表示:中心位置座標(cx,cy),及邊界框寬高(w,h),與Faster RCNN等物體檢測方法定義邊界框方式一致;

對於3D車輛邊界框,使用五個變數進行表示:車輛中心位置3D座標(cx,cy,cz),車輛方向θ,車輛實際長寬高t = (w,h,l)

(2)S :S 表示part coordinates,即物體關鍵部位(幾何節點)的座標,汽車的各部件節點如下圖紅色節點圖所示:

我們可以通過這個節點圖較為順利的識別出車輛的基本形狀與大小,能夠較好地反映車輛資訊

同上,S也有兩種形式,2D與3D,分別描述車輛關鍵部位在2D影象與3D真實座標系中的座標位置

(3)V :V 表示車輛各部件的可見性,這裡作者定義了4 classes of visibility

,分別是:

a. 可見:visible ifthe part is observed in theimage

b.被其他物體遮擋:occluded if the part is occluded by another object

c.被自身遮擋:self-occluded if the part is occluded by the vehicle

d. 截斷:truncatedif the part is out of the image

我們可有效利用V,確定攝像機拍攝位置及車輛的3D座標,因為只有在特定的位置觀測,才能與V相符合。

(4)T:T表示模板相似性向量,3Dtemplate similarity vector,用以衡量影象中車輛與每個車輛模板的相似性,用rm = (rx, ry,rz)表示,分別對應著三個座標軸對應的縮放因子。

上圖第一行是車輛3D model,第二行是3Dtemplate,第三行是3D shape

2、Level 1 階段 : region proposal network

首先,輸入單張RGB影象,經過卷積層,得到FeatureMaps,這個Feature Maps在Level 1、Level 2、Level 3階段中共享

在Level 1階段,將Feature Maps送入卷積層+RPN(使用Faster-RCNN論文中的方法),可生成系列物體區域座標集,用B1表示,原理與Faster-RCNN方法一致。

2、Level 2 階段: firstrefinement


將ROI對應區域的特徵圖,經過ROI Pooling(Fast-Rcnn),生成固定大小的regions,經過兩步卷積(Levell卷積層+level2卷積層),再經過re-fined by offset transformations,生成系列物體區域座標集,用B2表示。

3、Level 3 階段:second refinement

重複Level2,生成系列物體區域座標集,用B3表示。

論文作者分析了採用這種三層網路的原因:(1)克服大的物體大小變化,提供更高的準確度;(2)保持高解析度,用於檢測難以檢測的車輛;

作者原話是:Thisprocedure differs than Faster-RCNN [33] in that our iterative refinement steps overcome the constraints of large object scale variations and providemore accurate detection. Furthermore,in our approach, ROI pooledregions are extracted on thefirst convolution feature maps for keeping high resolution to detect hard vehicles.

4、多工預測/迴歸:Many-task prediction

對於B3中的每一個bounding box,同時輸出其對應的:S,V,T,各符號含義在文章開頭已經介紹。

這個環節比較神奇,作者也沒有進行過多的描述,更是整篇論文的精髓所在。我在最初閱讀論文的時候,無法理解網路為什麼具有這麼強大的功能,能夠同時輸出2D bounding box座標B、2D 車輛部件座標S、部件可見性V、車輛模型縮放因子T,那麼它是如何實現的?這裡給出我自己的初步理解,由於我缺乏網路訓練實踐,因此更多的形象感性的理解。

首先,回顧一下在Faster-RCNN中,如何輸出boundingbox的,如何利用卷積層中的特徵,迴歸出物體邊界框?

我們都知道,物體邊界框可由其中心點及邊界框高寬唯一確定。那麼,在得到conv feature map的基礎上,對於featuremap中的一個畫素點(如上圖左邊紅色方框中藍色中心點),選擇某個anchor boxes(k個anchor boxes),如果我們迴歸出該anchor boxes與實際物體邊界框的差別兩框中心點之差,以及兩框形狀之差,具體計算如下圖公式所示),而anchor boxes的中心點座標(上圖左邊紅色方框中藍色中心點)位置是已知的,我們就能計算出邊界框座標。

因此,上述“關於如何利用卷積層中的特徵,迴歸出物體邊界框”的問題,可以變為“如何利用卷積層中的特徵,迴歸出該anchor boxes與實際物體邊界框的差別”,這個問題我個人認為是Faster RCNN論文中的妙筆,這裡我是這樣理解的:

為了一步步理解,我們先假設影象中車輛邊界框大小固定,即影象中車輛scale固定。

對於車輛而言,有低層特徵與高層特徵,這裡不妨認為低層特徵如邊緣,高層特徵如車輪、車燈、車窗。在車輛邊界框大小固定的情況下,這些車輛的小零部件與車輛整體的相對位置及距離一般是固定的,如人臉與人體的相對位置,所以這個引數變換是可學習的,能夠根據特徵的位置與種類進行確定。

當檢測框檢測到汽車的所有特徵,256-d的所在特徵層會全部響應,此時迴歸值例如(0,0,1,1),表示沒有偏移,大小一致;當檢測框檢測到前車輪(車燈+車輪)特徵(紅色線框內為anchor box所在區域),迴歸值例如(-5,-5,3,3),表示應該向左上偏移,放大三倍;

因此,能夠利用卷積層中的特徵,迴歸出該anchor boxes與實際物體邊界框的差別。思想感覺與DPM演算法有一點點的聯絡。

4、Deep MANTA Training:

作者將refinement分為三個層次:l\in \left\{ 1,2,3 \right\},需要最小化五個損失函式,分別是:L_{rpn} ,L_{det} ,L_{parts} ,L_{vis} ,L_{temp},對於一張輸入影象,網路聯合最優最小化全域性損失函式:L = L^{1} +  L^{2} + L^{3},其中:

L_{rpn}與Faster RCNN中的定義一致;L_{det}表示區別車輛與背景以及box迴歸的損失,一部分是類別損失,在屬於車輛區域的情況下,加上檢測框位置迴歸損失,用位置差(兩框中心點之差,以及兩框形狀之差)進行計算。還有其他三個損失函式,定義也進行了詳細的描述,這裡只展示截圖:

PhaseII : Deep MANTA Inference

這部分實現了由2D座標到3D空間確定的轉換,用到了perspective-n-point-problem方面的計算機視覺基礎知識,這方面還在繼續學習,等深入理解以後再進行更新。

參考文獻:

[1] Shaoqing Ren, Kaiming He, Ross B. Girshick, Jian Sun:Faster R-CNN: Towards Real-Time Object Detection with RegionProposal Networks. NIPS 2015: 91-99

[2] Florian Chabot, Mohamed Chaouch, Jaonary Rabarisoa, Céline Teulière,Thierry Chateau:DeepMANTA: A Coarse-to-fine Many-Task Network for joint 2D and 3D vehicle analysisfrom monocular image. CVPR 2017