VSLAM

2e9a73c9fb3e3cfaeac99620fb009238?s=47 YutaAsupara
October 21, 2017

 VSLAM

Speech @Do2dle

2e9a73c9fb3e3cfaeac99620fb009238?s=128

YutaAsupara

October 21, 2017
Tweet

Transcript

  1. SLAMの動向を追う 2017.10.21 株式会社クロスコンパス 栗栗原研究室 芦原佑太 Copyright  ©  2017  XCompass Ltd.

     All  Rights  Reserved.
  2. 2 1.⾃自⼰己紹介 数式(ずっと),コンピュータ(最近から)を愛する研究者 ↓冬の普段着 ↓どアップ

  3. 3 1.⾃自⼰己紹介 コンピュータが好きな理理由: こんな僕でもヒトとして認めてくれるから

  4. 4 ⼩小⾔言 ※皆さんが調べないように、URLは伏せる

  5. 5 ⼩小⾔言 ※炎上するといけないので、今ブログも出典を伏せる

  6. 6 1.⾃自⼰己紹介 ・県⽴立立横須賀⾼高校出⾝身 (⼩小泉純⼀一郎郎の⺟母校) ・電気通信⼤大学 情報理理⼯工学卒業 (「⼆二次元波動⽅方程式の表⾯面波観測」を研究→ 解析学) ・電気通信⼤大学 ⼤大学院情報システム学研究科

    ⾸首席 (「回転を認識識するDeep  Learning」と 主にDeep  Learningの数理理について研究) ・株式会社クロスコンパス R&Dセンター 上級研究員 電気通信⼤大学⼤大学院 博⼠士後期課程 全脳アーキテクチャ若若⼿手の会 社会⼈人⽀支部代表
  7. 7 1.⾃自⼰己紹介 Deep  Learningで物を作ったりもします 例例:道路路のセンサーデータと,可視領領域の情報から, その後の道路路情報を推定するモデル センサー1 1 センサー2 1

    センサー3 0
  8. 8 1.⾃自⼰己紹介 今回の発表のモチベーションとしては、 ・ロボットがフィールドを(動的に)把握してくれると嬉しい →相⼿手がいる環境にもロバストになって欲しい ・フィールドのどの位置にロボットがいるか、 ⾃自分⾃自⾝身のMAPとの相対位置を知っていて欲しい →⾃自⼰己位置推定と呼ばれる ・その双⽅方を解決に導くSLAM技術に興味が出る →さらには、そのSLAMにもDeepの波が来ている

    といった経緯で、SLAMについて勉強しようと思い、 ここ3ヶ⽉月ぐらい調べていました 特にここ3週間では・・・
  9. 9 1.5  SLAM SLAMというものについて トラッキング(カメラ位置推定) 深度度推定(キーフレームの選出も) マップの最適化 の三要素

  10. 10 1.⾃自⼰己紹介 ムービーは別ファイルに

  11. 11 1.⾃自⼰己紹介 この本を50時間ぐらいかけて読み、やっと読了了 →今週から2週⽬目に⼊入ります(数式展開・理理解)

  12. 12 1.⾃自⼰己紹介 この禍々しい本を読んで、わかったことは、 SLAMを1時間そこらで語ることは不不可能で、 さわりだけでも多分1時間終わってしまいますということ 研究が好きな肌としては、SLAMを1時間なんて失礼では 勉強会では1つの論論⽂文を中⼼心に 周辺背景を記述しながら、 解説を⾏行行っていくということにします

  13. 13 2.CNN-‐‑‒SLAM 今回紹介する論論⽂文

  14. 14 2.CNN-‐‑‒SLAM まず、このCNN-‐‑‒SLAMの概要を ・単眼カメラによる深度度推定を可能にし、スケールの絶対化 ・さらに、Semantic  Reconstructionを⾏行行う ・カメラの回転にも強い

  15. 15 2.CNN-‐‑‒SLAM まず、このCNN-‐‑‒SLAMの概要を ・単眼カメラによる深度度推定を可能にし、スケールの絶対化 ・さらに、Semantic  Reconstructionを⾏行行う ⾚赤字部分を解説するだけで多分(⾃自分も含め)パンクして終わり 素直に論論⽂文のコントリビューションを解説して完了了させる

  16. 16 2.CNN-‐‑‒SLAM おそらく源流流となっているLSD-‐‑‒SLAMというものについて トラッキング(カメラ位置推定) 深度度推定(キーフレームの選出も) マップの最適化 の三要素

  17. 17 2.CNN-‐‑‒SLAM CNN-‐‑‒SLAMの全体像 ⻘青で囲った部分はLSD-‐‑‒SLAMをそのまま踏襲している

  18. 18 2.CNN-‐‑‒SLAM コントリビューション1 単眼カメラを⽤用いての深度度推定

  19. 19 2.CNN-‐‑‒SLAM コントリビューション1 単眼カメラを⽤用いての深度度推定 ⼀一般的には、RGB-‐‑‒Dカメラさえ使ってしまえば、解決する話題 →RGBに⽐比べて、深度度画像は補正が上⼿手く働かない環境が多い (外の世界や、⼈人体の内部等) RGBカメラはスペースをあまり取らない →深度度推定はモデルが⾏行行うという形式を取れば、 スペースの効率率率化ができる

    https://www.youtube.com/watch?v=jI1Qf7zMeIs
  20. 20 2.CNN-‐‑‒SLAM コントリビューション1 単眼カメラを⽤用いての深度度推定 そもそも、Kinectは限定された環境のみなので、 KinectFusionやDynamicFusionの考え⽅方は屋外では使えない

  21. 21 2.CNN-‐‑‒SLAM コントリビューション1 単眼カメラを⽤用いての深度度推定 なんと論論⽂文に構造の詳細な記載がないが、おそらくこれそのまま I. Laina, C. Rupprecht, V.

    Belagiannis, F. Tombari, and N. Navab. Deeper depth prediction with fully convolutional residual networks. In IEEE International Conference on 3D
  22. 22 2.CNN-‐‑‒SLAM コントリビューション1 単眼カメラを⽤用いての深度度推定 先ほどのコード単体では以下のように深度度が予測できる

  23. 23 2.CNN-‐‑‒SLAM コントリビューション1 単眼カメラを⽤用いての深度度推定 何を⽬目的に深度度を推定するのか?という疑問は この式を最⼩小化する問題に帰着させる ここでの uは画像の座標値 Tは移動量量 Kはカメラ⾏行行列列(カメラ依存)

  24. 24 2.CNN-‐‑‒SLAM コントリビューション1 単眼カメラを⽤用いての深度度推定 そして、求めるべきDepth推定関数は、ここにある とするとさっきの式に⽴立立ち返れば 実測値と、深度度推定が⾏行行われたものの差を最⼩小化する問題

  25. 25 2.CNN-‐‑‒SLAM コントリビューション1 単眼カメラを⽤用いての深度度推定 しかしながら、その深度度推定関数D(中⾝身はCNN)をそのまま 扱ってしまうと、絶対的スケール化ができない

  26. 26 2.CNN-‐‑‒SLAM コントリビューション2 スケールの絶対化 これは推論論時と学習時の⽐比率率率を扱って、物体のスケーリングを ⾏行行うのみだが、これによって、ものの⼤大きさのブレが抑えられる

  27. 27 2.CNN-‐‑‒SLAM コントリビューション2 スケールの絶対化 これらの補正によって、深度度画像はかなり補正されていく

  28. 28 2.CNN-‐‑‒SLAM コントリビューション2 スケールの絶対化 そして、推論論時の深度度は不不確かさを含むので、 不不確かさを計算する関数を導⼊入する そして、キーフレーム追加時も、不不確かさのマップを追加 σは⽩白⾊色雑⾳音

  29. 29 2.CNN-‐‑‒SLAM コントリビューション2 スケールの絶対化 そして、不不確かさのマップは と によって伝播される 1.J.Engel,J.Sturm,andD.Cremers.Semi-densevisualodom- etry for

    a monocular camera. In IEEE International Confer- ence on Computer Vision (ICCV), December 2013.
  30. 30 2.CNN-‐‑‒SLAM コントリビューション2 スケールの絶対化 そして、キーフレームの不不確かさマップ、深度度マップを 伝播させていき、キーフレームの深度度マップを補正 キーフレーム以外のマップはSemi-‐‑‒Dense  Visual  Odometry によって求める(下記の論論⽂文)

    1.J.Engel,J.Sturm,andD.Cremers.Semi-densevisualodom- etry for a monocular camera. In IEEE International Confer- ence on Computer Vision (ICCV), December 2013.
  31. 31 2.CNN-‐‑‒SLAM コントリビューション3 Semantic  Reconstruction

  32. 32 2.CNN-‐‑‒SLAM コントリビューション3 Semantic  Reconstruction 基本的には下記の論論⽂文の⽅方式を採⽤用し、CNNによる セグメンテーションを⾏行行う K.Tateno,F.Tombari,andN.Navab.Real-timeandscalable incremental segmentation

    on dense slam. 2015.
  33. 33 2.CNN-‐‑‒SLAM コントリビューション3 Semantic  Reconstruction しかしながら、詳細なCNNの形式がなく、さらには、 Githubもないという状態(構造がわからない)

  34. 34 2.CNN-‐‑‒SLAM コントリビューション3 Semantic  Reconstruction これにより、Segmentation付きのマップが復復元された

  35. 35 まとめ(きれないが)まとめ ここまででCNN-‐‑‒SLAMに関してまとめてきたのだが、 はっきり⾔言ってしまえば、LSD-‐‑‒SLAMの⼀一部を置き換えて、 CNNを(上⼿手に)使⽤用していくことで、 以下の諸問題を解決した⽅方法論論と⾒見見ている ・単眼カメラでの深度度推定の精度度向上 ・絶対スケールでのマップ復復元 ・その状況下でのセグメンテーションとの両⽴立立 個⼈人的には、偉⼤大な研究へのリスペクトがしっかりあって、

    それこそSLAMを飲み込む形でない、融和なやり⽅方であり、 研究としてのまとまりも良良いと思った
  36. 36 おまけ コードを書くことに関して ・SLAMの周辺は、資産が⾮非常に多い 深度度推定 https://github.com/iro-‐‑‒cp/FCRN-‐‑‒DepthPrediction LSD-‐‑‒SLAM https://github.com/tum-‐‑‒vision/lsd_̲slam Qiitaには実は多くないと思っているのだが(⼩小⾔言)、 CVの由緒ある研究室は、リーダブルコードが⾮非常に多い

    特に、Deepを扱っていくコード類では、 他のライブラリへの変更更が⾮非常に楽に書かれてるものが多い (TensorFlow → Chainerへの変換が容易易なものとか) 個⼈人的には、この分野では、パーツを作る意図を持って コーディングしてほしい
  37. 37 おまけ コードを書くことに関して パーツが渡り歩く世界とは、 ・SLAMという技術に対し、Depth Map  Predictionや Semantic  Reconstructionを応⽤用する際に、 すべてのコードがなくても、三要素をGithub上で

    インストールして、組み合わせていくだけで実現ができる (今回のはそこまで単純ではないが) ・要素技術をシームレスに繋げやすいコードのあり⽅方、 道具として有効に活⽤用しやすい⽅方法でコーディングされるべき ・ブログの中で、あるいは研究の中で閉じた系を作らないこと
  38. Logo Designed by Matthew Carter お問い合わせ 株式会社クロスコンパス shimosaka@xcompass.com