原文鏈接: https://arxiv.org/pdf/2103.01468
開源 : https://github.com/griffbr/ODMD
論文切入點:給定一系列包圍框和觀察的相機移動距離,通過神經網絡訓練學習,來估計相機的深度。
論文貢獻
(1)提出未經標定的運動和基於檢測的深度估計推導分析模型和相應的解決方案;
(2)開發遞歸神經網絡(RNN),根據運動和邊界框(DBox)預測深度;
(3)貢獻了Object Depth via Motion and Detection數據集。
論文核心
Depth from Motion and Detection Model
模型輸入
xi, yi, wi,hi分別表示為第i次觀測的圖像邊框中心坐標、寬度和高度,Pi為相機的相應位置。
相機模型
可以參考相機模型的知識:https://zhuanlan.zhihu.com/p/52322904
fx, fy, cx, cy為相機的焦距和主點,X, Y為深度為Zi的3D相機幀中的圖像坐標。Zi是攝像機與被探測物體可見周長之間沿光軸的距離(或深度)。
圖像坐標中的目標寬度wi 與 世界坐標下的目標真實寬度W的關系:
其中,xRi、xLi分別為左右方框圖像坐標和3D坐標XRi、XLi(世界坐標系)。
考慮相機位置Pi之后,靜態對象的觀察深度Zi的變化僅由相機位置CZi的變化引起
綜合上面式子,相機深度Zi的解算為:
通過移動相機,得到n次觀測,將上式處理為矩陣形式:
來自相機移動和檢測網絡的深度
網絡輸入
其中,WI和HI是方框圖像的寬度和高度。
歸一化相機位置Pi
||Pn-P1|| 為歐幾里得相機的整體移動范圍,Pi - Pi-1表示攝像機增量移動。
綜合(10)與(11),歸一化的輸入為:
損失函數設計
真實相機深度與預測深度的偏差作為損失函數
轉化為無量綱損失,得:
通過使用歸一化和無量綱的輸入損失公式(14),DBox可以在圖像分辨率和攝像機移動范圍大不相同的領域中預測物體深度。
神經網絡架構
每一次觀察i作為時序信息,通過LSTM來訓練學習和預測。 用初始條件c0, h0 = 0,每個中間輸入(ci−1,hi−1,xi~)和輸出(ci, hi, fi)是唯一的。
數據集制作
生活中常用的數據組成,相機位置移動到
之間,相機深度Zn控制到0.11m——1.64m。
其他參數配置:
結果展示
評價標准
Zn為真實標簽距離,Zn^為模型預測的相機距離。
物體深度通過運動和檢測結果
其中,為對於Robot Set和整體的最好結果,
為對於動相機運動和目標檢測集的最好結果,
為在正常下的最好結果,
為只使用z軸攝像機運動的結果,
代表訓練迭代為DBoxp的十分之一的結果,
訓練一百倍迭代,如果需要,可以更快地訓練最先進的DBoxp取得更好的結果。
對象深度通過運動和分割結果
可視化結果
總結
創新點:眾所周知,2D圖像下,已經損失了目標的深度信息,這個文章提出一種通過相機移動並且使用LSTM神經網絡來預測目標距離相機的距離。向大眾提供了一份 ODMD數據集,
利用ODMD數據集訓練第一個從運動和檢測中估計目標深度的網絡,開發了bounding box、相機運動和相對深度預測的廣義表示,此可以改善廣泛不同領域的通用適用性。
使用單一的ODMD訓練的網絡進行目標檢測或分割,我們在現有的駕駛和機器人基准上實現了最先進的結果,並准確地估計了目標深度。