Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

なぜ回転表現?

Slide 4

Slide 4 text

Engel, Jakob, Thomas Schöps, and Daniel Cremers. "LSD-SLAM: Large-scale direct monocular SLAM." European conference on computer vision. Springer, Cham, 2014. リー代数による姿勢表現は論文にたくさん出てくる

Slide 5

Slide 5 text

実装する際に中身を知っていると便利 ● ライブラリとしてSophus1が存在する ● 中身を知っていると ○ 実装を効率化できる ○ テストやデバッグに役立つ 1. https://github.com/strasdat/Sophus

Slide 6

Slide 6 text

そもそもなぜリー代数で表現するの?

Slide 7

Slide 7 text

そもそもなぜリー代数で表現するの? 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.

Slide 8

Slide 8 text

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は回転行列にならない

Slide 9

Slide 9 text

ω ∈ ℝ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) を用いる

Slide 10

Slide 10 text

リー代数とは

Slide 11

Slide 11 text

リー代数 so(3) とは (ざっくり言うと) R = exp(K), (Rは回転行列) となる K ∈ ℝ3×3 の集合

Slide 12

Slide 12 text

Kは3つのパラメータで表せる Kは交代行列

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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.

Slide 16

Slide 16 text

K は R(t) の接ベクトル空間

Slide 17

Slide 17 text

実装

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

導出

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

まとめ ● できるだけ自由度を削減してカメラ姿勢を表現したい ● 3次元回転は回転群のリー代数 K ∈ so(3) を 利用することで3つのパラメータで表現できる ● Rodriguesの公式は指数写像と等価 ● 中身を知っておくと 論文を読んだり実装したりするときに便利