リー代数による回転表現¶
なぜリー代数を用いるのか¶
視覚情報ベースのSfMは,カメラから得た視覚情報を用いて,各視点におけるカメラの姿勢とランドマークの3次元座標を求める問題である.一方で,視覚情報ベースのSLAMはカメラから逐次的に得られる視覚情報を用いて環境地図とその中の相対的なカメラ姿勢を求める問題である.これらの問題では,カメラ姿勢とランドマークの3次元座標をパラメータとして最適化問題を解くアプローチがしばしば用いられる.このうちカメラ姿勢は原点座標からの並進 \(\mbf{t} \in \mathbb{R}^{3}\) と回転 \(R \in \SO(3)\) の組み合わせで表現することができる. \(\SO(3)\) は回転行列の集合である.
\(\so(3)\) による回転表現¶
ここで \(\skew{\cdot}\) は3次元ベクトルに対応する歪対称行列を表現する演算子である.
\(\so(3)\) の元を指数写像で射影すると回転行列が得られる.
導出¶
回転行列の定義から, \(R(t)\) は次を満たす.
微分すると
したがって \(R(t)^{\top}\frac{d R(t)}{dt}\) は歪対称行列であり, \(\omega \in \mathbb{R}^{3}\) を用いて
という微分方程式であることがわかる.この方程式の解は
であることから, \(R(t)\) は \(\mbf{\omega}\) を用いて
となり, \(R(t)\) はやはり \(\SO(3)\) の元であることがわかる.
Rodriguesの回転公式¶
より,
\(\sin(t) = t - \frac{t^3}{3!} + \frac{t^5}{5!} - \dots\) , \(1 - \cos(t) = \frac{t^2}{2!} - \frac{t^4}{4!} + \frac{t^6}{6!} - \dots\) を利用すれば,Rodriguesの回転公式を導くことができる.
行列の指数関数 (5) よりもRodriguesの回転公式のほうが計算の効率がよい.なお, \(||\mbf{\omega}||^2 = 1\) のとき \(\skew{\mbf{\omega}}^2 = \mbf{\omega} \mbf{\omega}^{\top} - I\) が成り立つため,これを利用して
とすることで,単一の引数からの指数写像の計算を可能にしている.
外積との関係¶
\(\mbf{u}, \mbf{v} \in \mathbb{R}^{3}\) について, \(\skew{\mbf{u}}\) と \(\mbf{v}\) の積は \(\mbf{u}\) と \(\mbf{v}\) の外積に等しい.