3D物體檢測論文筆記


3D物體檢測論文筆記

原文:Mousavian A, Anguelov D, Flynn J, et al. 3d bounding box estimation using deep learning and geometry[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017: 7074-7082.

Summary

3D物體框預測是一個6DoF問題(3維位置+3維尺寸+3維朝向),在2D目標檢測比較成熟的情況下,准確地做到3D物體框的檢測依然存在很多困難。此前,對於3D物體框的檢測手段有匹配物體關鍵點的和基於渲染的3D模型的,但是在硬件計算量3D物體框屬性完整性上存在問題。

本文基於CNN網絡及VGG架構,提出了一個輕量級的、可搭載的可預測3D物體框所有屬性的模型:模型從相機投影公式出發,在2D物體框的每一條邊至少存在一個3D物體框拐角在圖像上的投影的假設下,使用模型預測期望准確性較高的屬性,再根據相機投影公式的約束將余下的不便預測的屬性求解出。

  1. 2D物體框由模型預測,其4條邊參與的約束公式能給出4條約束。
  2. 3D尺寸和3D朝向由模型預測,其能夠將原問題的9自由度降低至3自由度。
  3. 1中的4條約束用於求解2中剩余的3個自由度,多出來的約束用於選擇誤差最小的”3D頂點落在2D邊框“的配置。

文章研究領域的任務類型區分(可能分類存在問題):

  • viewpoint estimation:視角檢測是一個與相機位置有關的概念,其表示物體相對相機坐標系下的朝向情況。(一般朝向都指代在世界坐標下的角度情況,即orientation)
    • viewpoint與orientation、azimuth關系為\(viewpoint = orientation + azimuth\),orientation是物體在世界坐標下的朝向,azimuth是物體相對相機的方向。
    • 當物體在世界坐標系下保持靜止不動時,若相機發生移動則viewpoint可能變化。
  • orientation estimation:物體在世界坐標系下的朝向。
  • object dimension estimation:物體的尺寸,length + width + height。
  • position estimation: 預測某點在3D位移坐標下的位置。
  • 3D pose estimation:The combination of position and orientation is referred to as the pose of an object

注:

  • 本文研究的3D物體框預測問題 = 3D pose + dimension = orientation + position + dimension

  • 在本文中,viewpoint可以被稱作局部朝向(local orientation),而orientation則被稱作全局朝向(globla orientation)。

圖示:


Highlights

1 約束設計和預測屬性選擇

原理公式

在理想相機環境下,給定相機固有矩陣\(K\),物體的姿態(pose)\((R, T) \in SE(3)\) 和 某點在物體坐標系下的坐標 \(\pmb{X_o} = [X, Y, Z, 1]^T\),其投影在圖像上的位置為$$\pmb{x} = [x, y, 1]^T$$,而投影運算可以計算為

\[\pmb{x} = K[R\ \ \ T]\pmb{X}_o \]

上述公式的右側可以進一步地拆分為

\[K [\begin{matrix} R & T \end{matrix}][\begin{matrix} L \\ 1 \end{matrix}] = K(RL + T) \]

其中\(L = [X,Y,Z]\)), 可解釋為在\(x\)的坐標是物體坐標系的中心在世界坐標下的位移\(T\),再加上\(X_o\)坐標經過旋轉矯正與世界坐標無旋度差異的坐標,最后再經過相機矩陣\(K\)所得到的。


約束設計

模型假設:在正確標注出的2D物體框與3D物體框之間,對於2D物體框在圖像上的每一條邊,必定包含3D圖像框的一個頂點在圖像上的投影。

若以2D物體框在x方向的最小坐標為例,並且3D框的\(\pmb{X_0}=[d_x/2, -d_y/2, d_x/2]^T\)對應2D框在x方向的下界,則可以寫作:

\[x_{min} = (K[\begin{matrix}R & T \end{matrix}]\left [\begin{matrix}d_x/2 \\ -d_y/2 \\ d_z/2 \\ \end{matrix}\right])_x \]

注:\(()_x\)表示僅取結果x方向上的值。

下面分析3D物體框求解任務中的自由度

  • K:相機固有屬性,已知
  • R:旋轉傾向矩陣(世界坐標),在3D物體框預測任務中占有3個自由度(3個未知數)。
  • T:位移矩陣(世界坐標),在……任務重占有3個自由度(3個未知數)。
  • \(X_i\):3D框的頂點(物體坐標),等價於3D框的尺寸,在……任務重占有3個自由度(3個未知數)。

💡​在利用上述的約束公式由於2D框有4條邊,因此能夠提供4個約束,顯然無法直接求解。

因此方法使用SOTA模型求解出了2D物體框,並選擇了旋轉矩陣R和尺寸信息\(X_0, X_1, ..., X_7\)共6個自由度用模型預測。剩余的3個自由度(物體位移)用4個約束是能夠解出的。

但同時,還存在一個潛在自由度——模型假設中的邊框與頂點的對應關系是不一定的(該自由度取值數量有限,根據公式真實情況應該是\(8^4=4096\)中的至少一個),因此4個約束恰好求解。在求解時,可以有限遍歷所有對應關系,使用3個約束求解物體位移,再使用1個約束用以驗證對應關系的正確性,最終選擇驗證時誤差最小的作為解答

image-20200425180611470

2 朝向預測的目標函數

圖像信息比較直觀地顯示了物體相對相機的朝向(viewpoint),在結合物體相對相機所在的方位信息(azimuth),利用公式\(orientation = viewpoint - azimuth\)才能夠求解世界坐標下的絕對朝向,因此3D物體框的朝向信息是模型的輸出再經過角度運算得到的。

下圖展示了物體在不動情況下,視角運動造成的viewpoint、azimuth變化。

⚠️ 注:為了方便表述,將viewpoint表示為局部朝向(local orientation),將orientation表示為全局朝向(global orientation)。

image-20200425182447903

損失函數設計

常用損失函數:Mean Square Error,表現不佳。其鼓勵模型預測各類連續分布情景下的平均狀態,導致陷入平均狀態,推理結果四不像

借鑒anchor box的方位角損失函數設計

在目標識別領域,錨框技術是常用的一種技術。通過在目標區域人為預先設定錨框的位置和尺寸,模型的任務轉變為對於每個錨框,預測其中的物體類別(包括背景類型)以及物體真實框相對設定錨框的位置偏移和尺寸偏移。

本模型在預測時借鑒了這類思想,首先將3D的局部朝向可能的區域人為划分為多個區域(區域之間允許有重疊),模型的任務轉變為預測局部朝向落在各區域的概率(分類任務)和局部朝向相對每個區域中心的偏移量(回歸任務)。

\[L_\theta = L_{conf} + w\times L_{loc} \]

  • \(L_{conf}\)表示分類任務的目標函數。
  • \(L_{loc} = -\frac{1}{n_\theta*}\Sigma cos(\theta^* - c_i - \Delta\theta_i)\)\(n_{\theta^*}\)表示划分區域數量。

物體尺寸估計的損失函數設計

和方位角不同,在應用場景下物體的尺寸差異較大,不易產生平均模式的問題,因此使用MSE作為目標函數。

對於模型最終結構和輸出如下圖所示:

image-20200425201238334

實驗操作

  • 對於KITTI數據集的數據增強:
    • 所有輸入的圖像塊resize到224x224.
    • 隨機的色彩失真
    • 隨機的鏡像變換
    • 限制總訓練實例的數量,並重復將汽車數據用於訓練。
  • 疑問
    • 從論文來看,3D物體框的尺寸和朝向預測僅使用了局部的2D物體框信息,實驗結果顯示模型是利用物體的某些關鍵部件(如輪胎)用以判斷的,這對被resize的圖像進行尺寸預測是否可行呢?(僅拼接視覺效果人工都很難做到,一種猜測是根據某些尺寸一定的部件進行估計)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM