web-dev-qa-db-ja.com

ロウの比率検定はどのように機能しますか?

N個の画像のセットがあり、各画像のSIFT記述子をすでに計算しているとします。異なる機能間の一致を計算したいと思います。一般的なアプローチはロウの比率検定であると聞きましたが、それがどのように機能するか理解できません。誰かが私にそれを説明できますか?

4
elena

比率テストをよりよく理解するには、彼の記事を読む必要があります。記事を読むだけであなたはあなたの答えを見つけるでしょう。簡単な答えは、それが低いということです。これは、ロウが実験中に達成したものであり、2つの類似した距離から選択するには、距離が0.7であるものを選択することを提案します。

以下のリンクを確認してください: https://www.cs.ubc.ca/~lowe/papers/ijcv04.pdf

2
Hamed Etezadi

David Loweは、2番目に良い一致がほぼ同じである場合に一致を削除することにより、キーポイントの一致をフィルタリングする簡単な方法を提案しました。コンピュータビジョンのコンテキストで普及していますが、この方法はCVに関連付けられていないことに注意してください。ここでは、この方法と、コンピュータービジョンのコンテキストでどのように実装/適用されるかについて説明します。

L1が画像1のキーポイントのセットであると仮定します。各キーポイントには、キーポイントに関する情報をリストする説明があります。その情報の性質は、使用された記述子アルゴリズムによって異なります。また、L2は画像2のキーポイントのセットです。

典型的なマッチングアルゴリズムは、L1のキーポイントごとに、L2で最も近いマッチを見つけることで機能します。 Loweの論文のように、ユークリッド距離を使用する場合、これは、L1のキーポイントからのユークリッド距離が最小である集合L2からのキーポイントを意味します。 BruteForceを使用する場合、それは、キーポイントとL2のすべてのキーポイントの間のユークリッド距離を計算し、ペアリングを最小値に保つことを意味します。

ここでは、しきい値を設定して、距離がそのしきい値を超えるすべてのペアリングを削除したくなる場合があります。ただし、記述子内のすべての変数が「判別式」であるとは限らないため、それほど単純ではありません。記述子内のほとんどの変数の値が類似しているため、2つのキーポイントの距離の測定値が小さい可能性がありますが、これらの変数は実際のマッチングとは無関係である可能性があります。記述子の変数に常に重みを追加して、より識別力のある特性がより多く「カウント」されるようにすることができます。しかし、Loweは、以下に説明する、はるかに単純なソリューションを提案しています。

まず、L1のキーポイントをL2の2つのキーポイントと照合します。画像1のキーポイントが画像2の同等のものを複数持つことはできないという仮定に基づいて、これら2つの一致が両方とも正しいことはできないと推測します。少なくとも1つは間違っています。 Loweの推論に従うと、最小距離の一致は「良好な」一致であり、2番目に小さい距離の一致はランダムノイズに相当し、一種の基本レートです。 「良い」一致がノイズと区別できない場合、「良い」一致は、情報的に興味深いものを何ももたらさないため、拒否する必要があります。したがって、一般的な原則は、最良の一致と次善の一致の間に十分な違いがある必要があるということです。

「十分な違い」の概念をどのように運用するかが重要です。Loweは2つの距離のratioを使用し、多くの場合、次のように表現されます。

if distance1 < distance2 * a_constant then ....

ここで、distance1はキーポイントとそのベストマッチの間の距離であり、distance2はキーポイントとその2番目にベストマッチの間の距離です。 「より小さい」記号の使用は多少混乱する可能性がありますが、距離が小さいほどポイントが近いことを考慮すると、それは明らかになります。 OpenCVの世界では、knnMatch関数は一致を最良から最悪まで返すため、最初の一致の距離は短くなります。問題は本当に「どれだけ小さいのか」です。これを理解するには、distance2に0から1の間でなければならない定数を掛けて、distance2の値を減らします。次に、distance1をもう一度見てみましょう。それでもdistance2よりも小さいのでしょうか。そうである場合、それはテストに合格し、良い点のリストに追加されます。そうでない場合は、削除する必要があります。

これで「より小さい」部分が説明されますが、乗算についてはどうでしょうか。距離の違いを見ているので、distance1とdistance2の実際の数学的違いを使用してみませんか?技術的には可能ですが、結果として生じる違いは絶対的なものになります。記述子内の変数、使用する距離測定のタイプなどに依存しすぎます。説明を抽出するためのコードが変更され、すべての距離測定に影響する場合はどうなりますか。 ?つまり、distance1-distance2を実行すると、堅牢性が低下し、頻繁な調整が必要になり、方法論の比較がより複雑になります。それはすべて比率についてです。

持ち帰りメッセージ:Loweのソリューションは、単純であるだけでなく、多くの点でアルゴリズムに依存しないため、興味深いものです。

1
GuillaumeL