Essentialマトリックスの最小化


7

コンピュータービジョンと3D再構成の問題は、カメラの固有パラメーターを取得することです。一般的な解決策は、チェッカーボードなど、事前に形状の測定値がわかっているオブジェクトを使用することです。この方法の問題は、焦点距離や倍率など、カメラのパラメーターを変更するたびに行う必要があることです。

A Self Technique for Self-Calibrationで説明されているカメラのセルフキャリブレーションを実装しようとしています。必須行列は、2つの特異値によって制約されます。これを使用して、手動のキャリブレーションを実行せずに(つまり、チェッカーボードを使用して)カメラの組み込み機能を回復できます。コスト関数を最小化する方法に少し混乱しています。これが私がこれまでに理解したことです:

必須行列

E=K2TFK1

固有行列

K=[αxsu00ϵαxv0001]
  • αx焦点距離と倍率の積 ]
  • ϵアスペクト比[提供されていると仮定します。カメラまたはEXIFデータから推測しますか?]
  • u0v0はの座標です[0、0と仮定]
  • s skew [仮定0]

コスト関数 sはの特異値である

C(Ki,i=1..n)=ijn(σ1ijσ2ij)/σ1ij
σKjTFijKj

質問:このコスト関数はどのように最小化されていますか?

アルゴリズムのまとめ


良い質問。これはmath.SEで質問する価値があるかもしれません。これは、アプリケーション固有の詳細を抽出できる場合、これはかなり純粋な数学の問題のように見えるためです。
Jason R

おかげで、私はもともと2つのサイトのどちらかを決定しようとしていました。別の質問で使用できるいくつかの新しいものを発見しました。
アテナ

回答:


3

これは単純な非線形最適化問題(Trust-RegionメソッドなどのNewtonのバリエーションで解決される)であり、ヤコビアンを分析的に計算する必要すらないと思います。最適化問題はで記述されているため、コスト関数への入力であるように見えます。コストを計算するには、この関数を呼び出すたびに、基本的にの特異値を計算し、(論文の)式に従ってコストを計算します。あなたの入力パラメータであるとして、誘導体は、の要素にわたって計算される。これにより、最適化が次元(または次元)になりますKiKi4KK45カメラごとにスキューを考慮する場合)。導関数は自動的に計算されるので、そのことを気にする必要はありません。あなたがMATLABを使用しているなら、あなたのlsqnonlinために働くでしょう。

重みの計算については、論文で詳細に説明しているため、この部分はスキップします。

論文をもう一度確認たところ、筆者が前述の数値微分スキームを実際に使用していることに気づきました。SVDを区別する方法をより深く理解したい場合は、これまたはこれをチェックしてください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.