3

データベースから記述子を照合するための高速な方法を見つけようとしています。私のプログラムは次のように機能します。

1)データベースに画像の記述子を入力します(適切な特徴検出アルゴリズムを使用)

2)画像を読み込む

3)そのイメージの記述子を抽出し、それをDB内のすべての記述子と比較して、適切な一致を見つけることができるようにします。

ご想像のとおり、32個の記述子の比較を何百万回も計算するのは非常に困難です。ハッシュ関数を使用しましたが、これはまったく同じ2つの記述子に対してのみ機能するため、2つのまったく同じ画像にのみ一致します。

この検索を高速化するために私が使用することを提案しますか?

乾杯

編集:

私は、ニューラルネットワークソリューションにアプローチすることから始めることにしました。これは、このテーマを始めたい人にとっては かなり良いリンクです。

4

1 に答える 1

1

あなたが達成しようとしていることは、本質的に機械学習/分類と呼ばれます。データベースのサイズを考えると、直接比較することは本当に絶望的です。

用語がわからない場合に備えて。あなたが持っているデータベースはlearning-datasetと呼ばれます。モデルを学習するには、SVM (サポート ベクター マシン)、K-NN (K-nearest neighbours)、ニューラル ネットワークなどの機械学習アルゴリズムを使用する必要があります。このモデルは、後で新しいインスタンスの結果を予測するために使用されます。データベースと比較したいベクトル。

SVM は機械学習文献における最先端の分類器であるため、SVM の使用を強くお勧めします。「SVMライト」と呼ばれる実装があります。 http://svmlight.joachims.org/ . SVM-lightでランキングを行うことも可能です。そちらもご覧ください。

ニューラル ネットワークを試すこともできます。これには、matlab のニューラル ネットワーク ツールボックス (nprtools) を使用します。

于 2012-10-26T16:10:02.883 に答える