$30 off During Our Annual Pro Sale. View Details »

3D rotation representation and its implementation

3D rotation representation and its implementation

Ishita Takeshi

February 23, 2019
Tweet

More Decks by Ishita Takeshi

Other Decks in Technology

Transcript

  1. 3次元回転表現とその実装 石田 岳志 (@sonicair)

  2. 石田 岳志 (@sonicair) 東京高専 専攻科2年 (B4) github.com/IshitaTakeshi 最近実装したもの ・SBA (Sparse

    Bundle Adjustment) ・DVO (Dense Visual Odometry)
  3. なぜ回転表現?

  4. Engel, Jakob, Thomas Schöps, and Daniel Cremers. "LSD-SLAM: Large-scale direct

    monocular SLAM." European conference on computer vision. Springer, Cham, 2014. リー代数による姿勢表現は論文にたくさん出てくる
  5. 実装する際に中身を知っていると便利 • ライブラリとしてSophus1が存在する • 中身を知っていると ◦ 実装を効率化できる ◦ テストやデバッグに役立つ 1.

    https://github.com/strasdat/Sophus
  6. そもそもなぜリー代数で表現するの?

  7. そもそもなぜリー代数で表現するの? Bundle Adjustment は E(P) を最小化する問題 a j はj番目のカメラの姿勢 b

    i はi番目の3次元点の座標 Lourakis, Manolis IA, and Antonis A. Argyros. "SBA: A software package for generic sparse bundle adjustment." ACM Transactions on Mathematical Softwae (TOMS) 36.1 (2009): 2.
  8. a j としてアフィン行列 G j ∈ ℝ4×4 を選んだら...? Lourakis, Manolis

    IA, and Antonis A. Argyros. "SBA: A software package for generic sparse bundle adjustment." ACM Transactions on Mathematical Softwae (TOMS) 36.1 (2009): 2. そもそもなぜリー代数で表現するの? → なんの制約もなく最適化すると   得られた解 R, t のうち,Rは回転行列にならない
  9. ω ∈ ℝ3 から回転行列を定められるような写像があれば 姿勢パラメータ a j の自由度を6に減らせる → a

    j = [ω j , t j ] とすればよい → カメラの回転をリー代数で表現することで実現可能 Lourakis, Manolis IA, and Antonis A. Argyros. "SBA: A software package for generic sparse bundle adjustment." ACM Transactions on Mathematical Softwae (TOMS) 36.1 (2009): 2. 回転群のリー代数 so(3) を用いる
  10. リー代数とは

  11. リー代数 so(3) とは (ざっくり言うと) R = exp(K), (Rは回転行列) となる K

    ∈ ℝ3×3 の集合
  12. Kは3つのパラメータで表せる Kは交代行列

  13. Ma, Yi, et al. An invitation to 3-d vision: from

    images to geometric models. Vol. 26. Springer Science & Business Media, 2012.
  14. Ma, Yi, et al. An invitation to 3-d vision: from

    images to geometric models. Vol. 26. Springer Science & Business Media, 2012.
  15. K は R(t) の接ベクトル空間 Sarkis, Michel, and Klaus Diepold. "Camera-pose

    estimation via projective newton optimization on the manifold." IEEE Transactions on Image Processing 21.4 (2012): 1729-1741.
  16. K は R(t) の接ベクトル空間

  17. 実装

  18. 指数写像 愚直に計算すると遅い

  19. Rodriguesの公式 指数写像の代わりに効率よくRを計算する方法

  20. None
  21. 導出

  22. None
  23. OpenCVにおける実装 OpenCV, “Camera Calibration and 3D Reconstruction”, https://docs.opencv.org/2.4/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html#rodrigues

  24. None
  25. まとめ • できるだけ自由度を削減してカメラ姿勢を表現したい • 3次元回転は回転群のリー代数 K ∈ so(3) を 利用することで3つのパラメータで表現できる

    • Rodriguesの公式は指数写像と等価 • 中身を知っておくと 論文を読んだり実装したりするときに便利