Upgrade to Pro — share decks privately, control downloads, hide ads and more …

unsupervised-learning-of-depth-and-ego-motion-from-monocular-video-using-3d-geometric-constraints

 unsupervised-learning-of-depth-and-ego-motion-from-monocular-video-using-3d-geometric-constraints

暫定版ですが

More Decks by 望月紅葉さんと幸せな家庭を築きたい

Other Decks in Research

Transcript

  1. Unsupervised Learning of Depth and Ego-Motion from Monocular Video Using

    3D Geometric Constraints 特に標記が無ければ、スライド内の図は https://arxiv.org/pdf/1802.05522v1.pdf から引用 1
  2. 概要  筆者  Reza Mahjourian*, Martin Wicke, Anelia Angelova

    *University of Texas at Austin, Google Brain  簡単な内容  教師無し学習による単眼ビデオの ego-motion(位置姿勢)と深度の推定  3次元構造を考慮するようなloss関数を定義し学習を行う  学習時には単眼ビデオの時系列が必要であるが、 推論の際には、一枚の画像で良い 2
  3. Outline ① 背景 ② 関連研究 ③ 手法 ④ 実験 ⑤

    まとめと今後の研究 6
  4. 背景 1/3  三次元復元とego-motion推定の重要性  応用先 • ロボティクス • 自動運転

     なぜ必要か • 3次元の位置情報と周辺の幾何的情報  ロボットのモーションプランニング、意思決定に必要 7
  5. 背景 2/3  三次元復元とego-motion推定の課題  教師付き学習が主流 • 深度とego-motionの真値は精度が命 • KITTIやCityscapesのデータセットで実験はできる

    ↔自分で真値を取るのは大変☹ – LIDERとカメラの同期が難しい – LIDERのスキャン範囲とカメラの画角と一致しない 教師無し学習で推定できたらいいよね 8
  6. 背景 3/3  目的  単眼ビデオカメラ(stereoではない)を用いた 教師無し学習による深度とego-motionの推定  Contributions 

    Imposing 3D constraints. • 3次元情報に関するloss関数を提案  Principled masking. • 異なるフレームで写っていない領域をマスクする  Learning from an uncalibrated video stream. • 手持ちの市販スマホカメラで撮影したビデオを学習し、 KITTIデータセットでテスト 9
  7. 関連研究 1/2  古典的な深度とego-motion推定手法  stereoで特徴点matching  Deep何某で深度とego-motion推定手法  単画像vs.

    深度センサーで学習(FCN, U-Netで深度画像推定)  stereo画像の片方を入力にして、もう一方を復元する学習結果 を元に深度画像を作成  stereo画像のペアから深度画像推定 10
  8. 関連研究 2/2  教師無しDeep何某で深度とego-motion推定手法  単眼ビデオを使ったSfMLearner @CVPR, 2017 11 https://people.eecs.berkeley.edu/~tinghuiz/pr

    ojects/SfMLearner/images/teaser.png 学習概念図 • DepthCNN target viewの深度画像推定 • PoseCNN target viewとnearby viewの ego-motionを推定 これらの推定を2次元的な情報で行う 紹介する論文は、 3次元的な情報を使って、 深度とego-motionを推定します
  9. 手法: 全体像 1/4 12 入力:フレームtの画像X ,フレームt-1の画像X−1

  10. 手法: 全体像 2/4 13 幾何変換して異なるフレーム画像と2D loss計算

  11. 手法: 全体像 3/4 14 3D 点群のloss計算

  12. 手法: 全体像 4/4 15 出力:ego-motion, 深度画像

  13. 手法: 問題設定 1/2  定式化 入力: −1 , (フレームt、t-1のビデオフレーム) 出力:

    −1 , (t-1、tのときの深度画像), (t-1からtへのカメラの動き(位置・姿勢)) がわかれば、フレームtの点群 が推定できる 深度は画像なので、 , の座標で表せられる ※Kはカメラの内部パラメーターの行列 16
  14. 手法: 問題設定 2/2  定式化 がわかると、 −1 = でフレームtの点群からt-1の点群が推定できる −1

    はt-1のフレームに −1 で戻せる 式(1)はフレームtからフレームt-1への写像だと解釈できる と に基づいた、 −1 から への復元の問題になる(式 (2)) −1 と重複してるピクセルを(i , ) この復元の問題を、逆方向でも繰り返し行う (−1 と−1 に基づいた、 から −1 への復元) 17
  15. 手法: Principled masking  移動しながら撮影  フレームtとt-1で重複しない ピクセルが存在  の画像復元する際に

    loss計算できない  計算しない領域を 明示的に学習  マスク−1 , を作る 18
  16. 手法: loss設計 1/9  Image Reconstruction Loss から復元した −1 −1

    から復元した このlossはnoisiyなので正則化が必要 画像の環境の影響を受けてしまう。 19 最小化
  17. 手法: loss設計 2/9  3D Point Cloud Alignment Loss 

    Iterative Closest Point(ICP) と , −1 と −1 これらを直接比較するICP AとBの点群があった時に AとBが重なるような変形T‘ をAとBを最小化して求める (∙): 点同士の対応関係 出力として、点同士の残差距離も出せる = − ′−1 ∙ 20
  18. 手法: loss設計 3/9  3D Point Cloud Alignment Loss 21

    ego-motion , 深度画像 推定のためにICP を用いる
  19. 手法: loss設計 4/9  3D Point Cloud Alignment Loss 22

    Deep何某で完璧な , が推定できていたら、 −1 と −1 は完璧に重なる
  20. 手法: loss設計 5/9  3D Point Cloud Alignment Loss 23

    , が推定できていないと、 −1 と −1 は違う位置に投影される
  21. 手法: loss設計 6/9  3D Point Cloud Alignment Loss 24

    , が推定できていないと、 −1 と −1 は違う位置に投影される
  22. 手法: loss設計 7/9  3D Point Cloud Alignment Loss 25

    を使って、′と を求め , を改善していく
  23. 手法: loss設計 8/9  3D Point Cloud Alignment Loss 

    lossの設計は式(5)のようになる  本研究の3D lossとする。 26 ∙ 1 はL1-norm
  24. 手法: loss設計 9/9  Additional Image-Based Losses  Structured similarity

    (SSIM) • 画像復元結果の質に関するloss  Depth smoothness loss • 深度画像推定の際の正則化 27
  25. 手法: 学習設定 1/2  最適化  lossの混ぜ方 α = 0.85,

    = 0.1, = 0.05, = 0.15  超パラ • オプティマイザ:Adam(β1 = 0.9, β2 = 0.999) • 学習率:0.0002 28
  26. 手法: 学習設定 2/2  層設計  SfMLearnerの層設計を用いる • 深度画像推定:各ピクセルの深度を推定 •

    ego-motion推定:2フレーム間の回転・移動 29 SfMLearnerの層設計 https://arxiv.org/pdf/1704.07813.pdf 深度画像推定 ego-motion推定
  27. 実験: データセット  データセット  KITTI Dataset • 車載動画のデータセット •

    訓練に単眼ビデオ画像を使用(40 kフレーム) • 検証に3D点群、車両の姿勢データを用いる(4kフレーム)  Uncalibrated Bike Video Dataset(Bike Videos) • 自転車に乗っている間の手持ち動画(720x1280, 30fps) • カメラの内部パラメータはググった – レンズの歪みの情報は無かった 30
  28. 実験: KITTI Dataset 1/6  深度画像推定の結果  KITTI Dataset Test画像に対して

    31
  29. 実験: KITTI Dataset 2/6  深度画像推定の定量評価  KITTI Dataset(K)のみを学習した結果 •

    提案手法により真値とのmean absolute relativeが 0.208 m(Zhou et.al.)から 0.163 mに 32
  30. 実験: KITTI Dataset 3/6  深度画像推定の定量評価  CityScapes(CS)で学習→KITTI Dataset(K)を学習した結果 •

    提案手法により真値とのmean absolute relativeが 0.198 m(Zhou et.al.)から 0.159 mに 33
  31. 実験: KITTI Dataset 4/6  深度画像推定の定性評価  提案手法の方がZhou et.al.よりも見た目が良いことが確認 34

  32. 実験: KITTI Dataset 4/6  3D lossの評価  3Dlossを取り入れることで画像内のテクスチャが無い個所の 影響が軽減される

    35 3D loss なし 3D loss あり 入力
  33. 実験: KITTI Dataset 5/6  3D lossの評価  3Dlossを取り入れることで正則化がかかり、過学習抑制 36

  34. 実験: KITTI Dataset 6/6  ego-motionの評価  visual-SLAMの手法(ORB-SLAM)と比較 KITTI Datasetのオドメトリに対して同程度の誤差

    37
  35. 実験: Bike Videos学習 1/2  Bike Videos学習→KITTI Dataset深度画像推定結果 38

  36. 実験: Bike Videos学習 2/2  Bike Videos学習→KITTI Dataset深度画像定量評価  Bike

    Videos vs. KITTI Dataset • 画角:~51° vs. ~81° • レンズ: レンズ補正無し vs. 補正済み • 被写体:US道路 vs. 欧州道路 • 撮影方法:手持ち vs. 車載 39 KITTI自身で学習した結果に近い結果に
  37. まとめと今後の研究  まとめ  単眼ビデオ画像から深度、ego-motion推定を行う 教師無し学習手法を提案  3D構造を考慮するlossを取り入れることで、高精度になった  手持ちビデオデータセットで学習したモデルを車載ビデオの

    データセットに適用しても推定可能だった  今後の研究  動く物体が画像内に入った時の学習手法 40