直接線形変換を適用する前にデータセットを正規化する理由


9

直接線形変換(略してDLT)はホモグラフィ推定の方法であり、SVDを介して過剰決定線形システムを解き、制約下で解を見つけます。実際、\ | Ah-b \ |を最小化する最小二乗解を見つけます 。

Ah=b
hh=1Ahb

このアルゴリズムの基本的な考え方は理解していますが、DLTを適用する前にデータセット正規化することをお勧めします。ここでは、正規化の方法について紹介します。データの正規化はDLTにとって重要であり、正規化しないとDLTの結果は安定しないと説明されています。

なんでかしら?DLTがSVDとAを使用して線形システムを解くことを含むからといって、Aが特異である可能性がありますか?

回答:


12

正規化は基本的に、行列Aの条件数を減らすための事前調整です(条件数が大きいほど、行列は特異行列に近くなります)。A

ホモグラフィ推定の場合、正規化変換も行列で表されます。これは、たまたま優れた前処理行列として使用できます。その理由は、より複雑で、H&Zブック(4.4.4、p。107:なぜ正規化が必要なのか)で簡単に説明されているか、または「8ポイントアルゴリズムの防衛」で詳細に説明されています。

簡単に言えば、行列は、異なるスケールを持つ画像座標の積で構成されます。スケールが倍異なる場合、製品は倍異なります。A10102

通常、ソースとターゲットの座標データにはノイズが多くなります。正規化を行わない場合、ソースからのデータはターゲットからのデータよりも2桁大きい分散を持つ可能性があります(またはその逆)。

ホモグラフィ推定は通常、最小二乗の意味でパラメーターを検出します。したがって、最良の統計的推定は、パラメーターの分散が同じである(または事前にわかっているが、入力を正規化するだけの方が実際的である)場合にのみ検出されます。

直接的なソルバーは、数値の不安定性が現れるため、不十分にスケーリングされた問題を好まない(たとえば、非常に大きい数を非常に小さい数で割ると、簡単に数値のオーバーフローが発生する)。

反復ソルバーは、より多くの反復を必要とすることにより、条件の悪い行列と格闘します。

したがって、正規化は数値の安定性だけでなく、ノイズが存在する場合のより正確な推定とより高速な解法(反復ソルバーの場合)にも不可欠です。


そしてさらに、なぜ前処理された行列は以前ほど特異ではないのでしょうか?を標準化することにより、前処理された行列の条件数は減少しますか?
アボカド

1
データのエラーは結果にそれほど影響を与えないからです。時計の文字盤の2点で時計の針の位置を推定することを想像してみてください。1つの点が中心に非常に近く、もう1つの点が境界にある場合、中心に近い点の位置の変動は結果に大きな影響を与えますが、境界上の点は手の位置に穏やかに影響します。正規化は基本的に両方の点を境界線上に置くことであり、これにより解がより安定し、時計の文字盤の中心(特異点)から離れた位置に配置されます。
Libor 2013

2

ウィキペディアの記事には、

「直接線形変換の問題を区別するのは..定義方程式[X = AY]の左側[X]と右側[AY]は、kに依存する未知の乗法因子によって異なる可能性があるという事実です。」

上記のX、A、Yは行列です。

したがって、係数を推定する必要がないようにするには、すべてのデータを正規化するだけです。


これは正しく聞こえません...因子を重要でないように正規化できれば、問題は通常の方法を使用して解決できます。A=XYT(YYT)1
Michael Litvin、2014

1

数値の精度の問題です。データセットを正規化することにより、データを中央揃えし、それにユニット分散を与えます。これらの条件は、ソルバーによって適切に処理されます。


することで、より良いソルバーで扱う、私は経由で線形システムのこの種を解決する際に意味ですかSVD、私は、データセットは常に正規化する必要がありますか?
アボカド

正規化はSVD計算(moe stable)にも影響することに注意してください。次に、特異値間の比率を小さくする必要があります。また、データセットは通常ノイズが多いため、より正確な推定値を取得するには、すべてのポイントで同じ分散を使用することをお勧めします。
Libor 2013
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.