Blender: Modal Solverの仕組み (解析中)
Modal Solver
モーショントラッキングのSolverには2種類あり、Solveのオプションで、Tripodにチェックを入れたらModal Solverが使用される。 三脚に固定しているということは、カメラの位置は固定という前提条件が付く。 つまり、solverではカメラのrotationだけをsolveすれば良いことになる。
void ModalSolver(const Tracks& tracks, EuclideanReconstruction* reconstruction, ProgressUpdateCallback* update_callback)
アルゴリズム
lens distortionの設定がされている場合、lens distortionを補正し、トラッキングマーカーを正規化する
2Dのトラッキングマーカーの位置を3Dの球面上にマッピングする。
現在と前のフレームにおけるpoint cloudを計算し、そこからカメラのdelta rotation matrixを計算する。
delta rotation matrixをquaternionに変換する。
Ceresでquaternionの誤差を最小化する。
quaternionをrotation matrixに変換し、それを解析結果のカメラのrorationとしてセットする。
Ceres
TODO
球面上での深度調整をどうやっているか?