Multiple View Geometry in Computer Vision Second Edition4章から。
直接線形方程式を解くDLTアルゴリズムに比べた、イテレーティブに最小値を求める方法の特徴。
- 遅い
- イテレーションをはじめる前に初期値が必要
- 収束しない可能性と、最小値でなくローカルな極小値に収束しない可能性がある。
- イテレーションの終了方法が、トリッキーになることがある。
仕事で使っている感覚から行くと、適切な初期値と適切な終了条件があればDLTよりは速い。終了条件はどうしても現物あわせになってしまう。例えばGoogleの最小二乗法ライブラリCERESでもイテレーションの終了条件を細かく指定できる。裏返すと、一般的な終了条件というのが設定しにくいと言うこと。
イテレーションは次のステップで行われる。
- Cost function コスト関数を選択する。
- Parametrization 計算する変換を、有限のパラメータで表現する。一般的に、パラメータの数が最小である必要はなく、実際にはオーバーパラメータの方が良い。
- Function specification 関数はパラメータの組で、コストが表現される。
- Initialization 適切な初期パラメータが計算される。一般的にはDLTアルゴリズムのような線形のアルゴリズムが使われる。
- Iteration 初期値からはじめて、コスト関数を最小にするGoalまで、反復計算を行う。