3次元回転は、ロボティクス、コンピュータビジョン、姿勢推定など多くの分野で重要である。一方で、回転をどのように表現し、どのように推定するかは、古くから難題として知られてきた。
代表的な回転表現として、以下が挙げられる。
・回転行列(SO(3)):直感的ではあるが冗長であり、直交制約という非凸な制約を伴う
・オイラー角:最小表現ではあるが、特異点を持ち不連続になる
・クォータニオン:実用的ではあるものの、正規化や符号反転といった非線形制約の扱いが難しい
特に近年、ニューラルネットワーク(NN)によって回転を学習させる場合、連続性・微分可能性・制約処理が深刻な問題となっており、上記のいずれの表現も本質的な課題を抱えていた。
本研究では、回転を SO(3) としてではなく、その二重被覆である 2×2 の特殊ユニタリ行列 SU(2) として扱う。
SU(2) はクォータニオンと同型であるが、クォータニオンにはない重要な利点を持つ。
・線形代数の枠組みとして自然に扱える
・射影幾何と自然に結びつく
・回転作用を線形変換として表現できる
このとき、回転誤差は、ステレオ投影によって得られた対応点 (a_i, b_i)に対する、クォータニオンqへの線形制約
D_i q = 0,Q_i q = 0
として表される。これにより、回転を推定する問題(Wahba 問題)は、
・観測ごとの線形残差を集め
・二次形式を構成し
・最小固有値問題を解く
という手順で求められる。
回転を線形制約として表せることは極めて重要である。これにより、制約付き最適化問題が大幅に簡単になり、回転行列の構成や正規化を毎回行う必要がなくなる。結果として、問題全体を線形代数の操作に帰着できる。
この考えに基づき、本研究では回転の表現方法を2つ提案している。
1つ目は、NNが2本の3次元ベクトルを出力し、それらから回転を構成する 2-vec 表現である。
2つ目は、NNが16次元の行列(メビウス変換に対応する二次形式)を出力する 準メビウス表現である。この表現は高次元であるが、その分柔軟性が高く、勾配が安定するという特徴を持つ。
これらの提案表現は、物体姿勢推定、逆運動学、カメラ姿勢推定といった問題において、従来の回転表現手法を大きく上回る性能を示した。
コメント
===
ニューラルネットワークにとって回転推定は、学習が難しい問題として古くから知られており、学習データを増やしても本質的な解決に至らないケースが多かった。そのため、回転を分類問題に落とし込むなどの妥協的な手法が取られてきた。
従来手法では、「回転であること」を保証するために、非線形かつ非凸な制約を常に満たす必要があり、これは勾配ベースの学習にとって致命的であった。
本論文は、幾何学と代数学を駆使して実用的な回転表現を導出し、それが実際の学習において有効であることを示した点で、画期的な研究である。
特に重要なのは、
・回転誤差が線形になること
(回転は球面上の等長変換であり、等長条件は射影空間では双線形条件として表される)
・制約付き最適化問題を、最小固有値を求める問題へと変換したこと
(固有値問題は滑らかであり、局所解を持たないという良い性質を持つ)
である。
さらに、回転の拡張空間とみなせるメビウス空間上で学習することで、学習初期には完全な回転でなく「だいたい合っている」写像からスタートできるという利点がある。これは、回転の接空間を大域化したものと捉えることもできる。