[翻訳] Depth Prediction Without the Sensors: Leveraging Structure for Unsupervised Learning from Monocular Videos

Depth Prediction Without the Sensors: Leveraging Structure for Unsupervised Learning from Monocular Videos” の翻訳/解説を行いますまだ訳しきれてないですけどもう書くのめんどくさいので公開します

概要/はじめに

背景/従来手法

  • カメラは他のセンサに比べ安価であるためRGBカメラからの深度とエゴモーション1推定は有益である
  • 教師あり学習による単一画像からの深度推定は成功している2しかし教師あり学習は高価な深度センサーが必要でありセンサーのノイズが発生する問題がある
  • 多くの教師なしの画像から深度推定する手法が提案されており教師なしの深度推定モデルはセンサー教師ありのモデルよりも精度が高いことが実証されている精度が良い要因はセンサーの画素の欠落やノイズが無いことである
  • ステレオカメラや独立したオプティカルフロー推定により精度向上が行われた

提案手法

  • 単眼RGB動画像から深度とエゴモーション推定を教師なし学習で実現する
  • キャリブレーションしていない単眼動画から学習できる
  • Modeling Object Motion画像中の物体の動きをモデル化し学習に幾何学的構造を導入する
  • Imposing Object Size Constrains物体サイズによる正則化する
  • Online-Refinement推論実行時にオンラインにパラメータをチューニングし未知の領域に適応する
  • 提案する手法はモーション処理を含めすべて最先端の手法よりも優れている
  • 結果はステレオカメラを利用したものと同等の品質であった
  • 物体の動きを多く含むダイナミックな動画の深度推定を大幅に改善した
  • ソースコードはここにある
  • Geforce 1080tiでバッチサイズが41でそれぞれ50 FPS30 FPSの速度で実行できる

手法

  • 単眼動画からの深度とエゴモーションを教師なしで学習する
  • 物体の動きをモデル化することで動的なシーンをモデル化しオンラインチューニングすることができる新しい手法を提案する
  • この2つのアイデアは関連していて別々または共同で使用できる
  • 2つのアイデアを個別に説明し様々な実験で有効性を示す

問題の設定

3枚のRGB画像3(I_1, I_2, I_3) \in \mathbb{R}^{H \times W \times 3}(I_1, I_2, I_3) \in \mathbb{R}^{H \times W \times 3}カメラ固有行列K \in \mathbb{R}^{3 \times 3}K \in \mathbb{R}^{3 \times 3}を入力とする深度推定ネットワーク\theta\colon \mathbb{R}^{H \times W \times 3}\theta\colon \mathbb{R}^{H \times W \times 3}エンコーダデコーダの畳込みニューラルネットワークCNN1つのRGB画像から密な深度画像D_i = \theta(I_i)D_i = \theta(I_i)を生成するエゴモーション推定ネットワーク\psi_E\colon \mathbb{R}^{2 \times H \times W \times 3} \to \mathbb{R}^{6}\psi_E\colon \mathbb{R}^{2 \times H \times W \times 3} \to \mathbb{R}^{6}2つのRGB画像対を入力としフレーム間の並進と回転パラメータE_{1 \to 2} = \psi_{E}(I_1, I_2) = (t_x, t_y, t_z, r_x, r_y, r_z)E_{1 \to 2} = \psi_{E}(I_1, I_2) = (t_x, t_y, t_z, r_x, r_y, r_z)を生成する同様にE_{2 \to 3} = \psi_{E}(I_2, I_3)E_{2 \to 3} = \psi_{E}(I_2, I_3)も生成する

微分可能な画像ワーピング演算子\phi(I_i, D_j, E_{i \to j}) \to \hat{I}_{i \to j}\phi(I_i, D_j, E_{i \to j}) \to \hat{I}_{i \to j}が再構築されれたjj番目の画像である場合対応する深度推定結果D_j=\theta(I_j)D_j=\theta(I_j)とエゴモーション推定結果E_{i \to j}=\psi_{E}(I_i, I_j)E_{i \to j}=\psi_{E}(I_i, I_j)が与えられると任意の画像I_iI_iI_jI_jにワープできる\phi\phiは変換された画像のピクセル座標から読み取り\hat{I}^{xy}_{i \to j} = \hat{I}^{\hat{x}\hat{y}}_{i}\hat{I}^{xy}_{i \to j} = \hat{I}^{\hat{x}\hat{y}}_{i}を設定してワーピングするここで[x, y, 1]^\top = KE_{i \to j}(D^{xy}_{j} \cdot K^{-1}[x, y, 1]^\top)[x, y, 1]^\top = KE_{i \to j}(D^{xy}_{j} \cdot K^{-1}[x, y, 1]^\top)は投影された座標である監視信号は次のフレーム\hat{I}_{i \to j}\hat{I}_{i \to j}に投影されたシーンをRGB空間の実際の次のフレームI_jI_j画像と比較する測光損失photometric lossを使用して確立される再構築損失L_{\text{rec}} = \min(\|\hat{I}_{1 \to 2} - I_2\|)L_{\text{rec}} = \min(\|\hat{I}_{1 \to 2} - I_2\|)を使用する

アルゴリズムのベースライン

最近の研究4によりアルゴリズムの強力なベースラインを確立する再構築損失は前後のフレームのいずれかから中央のフレームへのワープの最小再構築損失として計算される提案5された

L_{\text{rec}} = \min(\|\hat{I}_{1 \to 2} - I_2\|, \|\hat{I}_{3 \to 2} - I_2\|),L_{\text{rec}} = \min(\|\hat{I}_{1 \to 2} - I_2\|, \|\hat{I}_{3 \to 2} - I_2\|),

により重大なオクルージョン/ディスオクルージョン効果によるペナルティを回避できる再構築損失に加えてベースラインはSSIM損失6深度平滑損失を使用し学習中に深さの正規化を適用するこれは先行研究7での成功を示している全体の損失は4つのスケールで適用される
L = \alpha_{1}\sum_{i=0}^{3}L_{\text{rec}}^{(i)}+\alpha_{2}L_{\text{ssim}}^{(i)}+\alpha_{3}\frac{1}{2^i}L_{\text{sm}}^{(i)}.L = \alpha_{1}\sum_{i=0}^{3}L_{\text{rec}}^{(i)}+\alpha_{2}L_{\text{ssim}}^{(i)}+\alpha_{3}\frac{1}{2^i}L_{\text{sm}}^{(i)}.

ここで\alpha_j\alpha_jはハイパーパラメータである

モーションモデル

個々の3Dオブジェクトのモーションの予測に特化したオブジェクトモーションモデル\psi_{M}\psi_{M}を紹介する8事前に求めたセグメンテーションマスクによって画像を補完する\psi_{M}\psi_{M}3D空間内のオブジェクトごとの変換ベクトルを予測することを学習するようにタスクが設定されるワープされた画像の計算は以前の研究7のようにエゴモーションに基づく単一の投影だけでなく適切に組み合わされる一連の投影でもある静的背景は\psi_{E}\psi_{E}に基づく単一のワープによって生成されるがセグメント化されたすべてのオブジェクトは最初に\psi_{E}\psi_{E}次に\psi_{M}\psi_{M}に従ってワープされた外観によって追加されるこのアプローチはオブジェクトの動きが3Dで学習され推論で利用できるという点で2D画像空間の動きにオプティカルフロー9または3Dオプティカルフロー10を使用した先行研究と異なるこのアプローチはオブジェクトを3Dでモデル化するだけでなくその場でオブジェクトの動きを学習するこれはシーンおよび個々のオブジェクトごとに独立して深度をモデル化する原理的な方法である

インスタンス整列セグメンテーションマスクをシーケンスI_1I_1, I_2I_2, I_3I_3内の各潜在的なオブジェクトiiごとに(S_{i,1}, S_{i,2}, S_{i,3}) \in \mathbb{N}^{H \times W}(S_{i,1}, S_{i,2}, S_{i,3}) \in \mathbb{N}^{H \times W}として定義する静的シーンO_{0}(S)=1-\cup_{i}S_{i}O_{0}(S)=1-\cup_{i}S_{i}のマスクを定義し移動する可能性のあるオブジェクトに対応するすべての画像コンテンツを削除する一方j>0j>0でのO_{j}(S)=S_{j}O_{j}(S)=S_{j}オブジェクトのマスクのみを返す静的シーンのマスクはシーケンスをエゴモーションモデル関数にフィードする前にアダマール積要素ごとの乗算\odot\odotによってシーケンス内のすべての画像に適用されるオブジェクトの動きをモデル化するには最初にエゴモーションの推定を適用してワープされたシーケンス\hat{I}_{1 \to 2}\hat{I}_{1 \to 2}, I_2I_2, \hat{I}_{3 \to 2}\hat{I}_{3 \to 2}\hat{S}_{1 \to 2}\hat{S}_{1 \to 2}, S_2S_2, \hat{S}_{3 \to 2}\hat{S}_{3 \to 2}を取得する深度とエゴモーションの推定値が正しいと仮定すると画像シーケンス内の不整合は移動するオブジェクトによってのみ発生する移動する可能性のあるオブジェクトの概要は既成のアルゴリズム11によって提供される対象のデータセットのいずれでもトレーニングされていないオプティカルフロー10を使用する以前の作業と同様画像内のすべてのオブジェクトインスタンスについてii番目のオブジェクトのオブジェクトモーション推定値M^{(i)}M^{(i)}は次のように計算される

M_{1 \to 2}^{(i)}, M_{2 \to 3}^{(i)}=\psi_M(\hat{I}_{1 \to 2} \odot O_i(\hat{S}_{1 \to 2}), I_2 \odot O_i(S_2), \hat{I}_{3 \to 2} \odot O_i(\hat{S}_{3 \to 2})).M_{1 \to 2}^{(i)}, M_{2 \to 3}^{(i)}=\psi_M(\hat{I}_{1 \to 2} \odot O_i(\hat{S}_{1 \to 2}), I_2 \odot O_i(S_2), \hat{I}_{3 \to 2} \odot O_i(\hat{S}_{3 \to 2})).

実際の3D動きベクトルはそれぞれの領域でのオブジェクトの動きの変換の前後の動きを追跡することによって取得されるこれらの動きの推定値に対応して予測された動きに従ってオブジェクトを移動する逆ワーピング操作が実行される最終的なワープ結果は移動するオブジェクト\hat{I}^{(i)}\hat{I}^{(i)}からの個々のワープとエゴモーション\hat{I}\hat{I}の組み合わせとなる全てのワーピング\hat{I}_{1 \to 2}^{(F)}\hat{I}_{1 \to 2}^{(F)}
\hat{I}_{1 \to 2}^{(F)}=\underbrace{\hat{I}_{1 \to 2} \odot V}_{\text{Gradient w.r.t.}\psi_E, \phi} + \sum_{i=1}^{N}\underbrace{\hat{I}_{1 \to 2}^{(i)} \odot O_i(S_2)}_{\text{Gradient w.r.t.}\psi_M, \phi},\hat{I}_{1 \to 2}^{(F)}=\underbrace{\hat{I}_{1 \to 2} \odot V}_{\text{Gradient w.r.t.}\psi_E, \phi} + \sum_{i=1}^{N}\underbrace{\hat{I}_{1 \to 2}^{(i)} \odot O_i(S_2)}_{\text{Gradient w.r.t.}\psi_M, \phi},

となり\hat{I}_{3 \to 2}^{(F)}\hat{I}_{3 \to 2}^{(F)}に相当する満たされていない領域が存在する可能性があるがこれらは最小損失計算によって暗黙的に処理されるこのアルゴリズムは推論で使用できるオブジェクトごとに個々の3Dモーションを自動的に学習する

オブジェクトサイズの制約

先行研究510ではほぼ同じ速度で前方を移動する車が無限の深さに投影されることが多いことであると指摘されたこれはオブジェクトが動かずネットワークがそれを無限に遠くにあると推定した場合再投影損失がほぼゼロになるからである先行研究ではこの重大な制限5610が指摘しているがステレオ画像でデータセットを拡張する以外に解決策は無いと考えられていたただしステレオは単眼に比べ一般的ではなく適用性が制限されるこの問題に対処する別の方法を提案するオブジェクトを非常に近くに配置し小さいと仮定してオブジェクトの動きを説明するこのアイデアはモデルにオブジェクトのスケールを学習させ3Dでオブジェクトをモデル化できるようにすることである車の場合D_{\text{approx}}(p; h) \approx f_y\frac{p}{h}D_{\text{approx}}(p; h) \approx f_y\frac{p}{h}fy \in \mathbb{R}fy \in \mathbb{R}は焦点距離p \in \mathbb{R}p \in \mathbb{R}は実次元での事前の高さh \in \mathbb{N}h \in \mathbb{N}はピクセル単位のセグメンテーションの高さを使用してセグメンテーションマスクとカメラの固有値が与えられた場合におおよその深度推定を取得できる実際にはそのような制約を手作業で推定しないために追加の入力を必要とせずにネットワークにすべての制約を同時に学習させる各オブジェクトi \in \mathbb{N}^+i \in \mathbb{N}^+のスケールで損失項を定義するt(i): \mathbb{N} \to \mathbb{N}t(i): \mathbb{N} \to \mathbb{N}が任意のオブジェクトiiのカテゴリIDを定義しp_jp_jが各カテゴリIDjjの前の学習可能な高さであるとするDDを深度マップ推定SSを対応するオブジェクトアウトラインマスクとする次に損失

L_{sc}=\sum_{i=1}^{N} \left\|\frac{D \odot O_i(S)}{\overline{D}}-\frac{D_{\text{approx}}(p_{t(i)}; h(O_{i}(S))) \odot O_i(S)}{\overline{D}}\right\|,L_{sc}=\sum_{i=1}^{N} \left\|\frac{D \odot O_i(S)}{\overline{D}}-\frac{D_{\text{approx}}(p_{t(i)}; h(O_{i}(S))) \odot O_i(S)}{\overline{D}}\right\|,

セグメント化されたすべてのオブジェクトが無限の深さに縮退することを防ぎネットワークに妥当な深さだけでなく一致するオブジェクトの動きの推定値も生成される中間フレームの平均推定深度である\overline{D}\overline{D}でスケーリングして事前確率と深度予測範囲を共同で縮小することにより些細な損失削減の潜在的な問題を軽減するこれは3Dの完全な単眼トレーニングセットアップで一般的な変性症例に対処する方法であるこの制約はモデリング定式化の不可欠な部分であるためモーションモデルは最初からL_{sc}L_{sc}でトレーニングされるただしこの追加の損失はすでにトレーニングされたモデルに適用するときに誤った深度推定値を正常に修正できることを確認した移動するオブジェクトの深度を修正することで機能する

テスト時間の絞り込みモデル

単一フレームの深度推定器を持つことで幅広い適用性を持つ連続する予測は不整合または不連続であるため画像で連続的な深度推定を実行する場合にコストがかかるこれらは2つの主要な問題によって引き起こされる

  1. モデルに実スケールとの関連がないため隣接するフレーム間でスケーリングが一致しないこと
  2. 深度予測の時間的一貫性が低いこと

オンライン最適化を効果的に実行することでこれらを解決し推論を実行しながら学習を継続すること手法を提案するこれにより非常に限られた時間分解能でも定性的および定量的に深度予測の品質を大幅に向上できるよって通常は無視できる1フレームの遅延でメソッドをリアルタイムでオンラインで実行できるオンラインでの改善はモデルを動的に微調整するN = 20N = 20に対して実行されるNNオンラインチューニングの活用と過学習を防ぐこととの適切な妥協点を決定するオンライン改善アプローチはすべてのモデルに適用できる

実験結果

深度推定エゴモーション推定転移学習についての以下に示すデータセットを用いて評価実験を行う

  • KITTI深度推定エゴモーション推定のベンチマークに使用する
  • Cityscapes微調整することなくトレーニングや転移学習ができるかの評価に使用する
  • Fetch Indoor Navigation転移学習により屋内ナビゲーションでの評価に使用する

KITTIでの結果

ベースライン及び先行研究に比べ大幅に推定精度を改善することができた図と表は省略さらに単眼の推定にも関わらずステレオによる推定に近い精度が得られた

Cityscapesでの結果

提案されたアプローチの絶対相対誤差が0.2050.205から0.1530.153に大幅に改善されていることからこの方法の利点を明確に示しているこれは最新の誤差0.2330.233のコンテキストで特に印象的であったまたモーションモデルとリファインメントモデルの両方によって個別にまたは共同で改善が達成されていることがわかる

結論と今後の課題

この論文では個々のオブジェクトの動きを3Dでモデル化することにより単眼の深度とエゴモーションの問題に対処するまた適当な動画で学習を適応させ新しいデータセットまたは環境に応用できるオンライン改良手法を提案したこのアルゴリズムは確立されたベンチマークで最高のパフォーマンスを実現し動的なシーンに対してより高品質の結果を生成を実現した将来的にはより多くの時間情報を組み込むためにより長いシーケンスにリファインメント方法を適用を考えている今後の作業では提案された深度とエゴモーションの推定方法によって可能になる完全な3Dシーンの再構築にもできると考える

文献

  1. Depth Prediction Without the Sensors: Leveraging Structure for Unsupervised Learning from Monocular Videos
  2. struct2depth

  1. カメラ視点の移動量のこと ↩︎

  2. Eigen, Puhrsch, and Fergus 2014; Laina et al. 2016; Wang, Fouhey, and Gupta 2015; Li, Klein, and Yao 2017 ↩︎

  3. 簡単のために3枚で説明する4枚以上でも可能である ↩︎

  4. Zhou et al. 2017; Godard, Aodha, and Brostow 2018 ↩︎

  5. Godard, Aodha, and Brostow 2018 ↩︎

  6. Wang et al. 2004 ↩︎

  7. Zhou et al. 2017; Godard, Aodha, and Brostow 2017; Wang et al. 2018 ↩︎

  8. 図は論文から引用 ↩︎

  9. Yin. 2018 ↩︎

  10. Yang et al. 2018a ↩︎

  11. He et al. 017 ↩︎