3

OpenCV を使用して Bag-of-Words 画像分類子を実装しています。最初に、SURF キーポイントで抽出された SURF 記述子をテストしました。Dense SIFT (または PHOW) 記述子の方が私の目的に適していると聞いたので、それらも試してみました。

驚いたことに、彼らのパフォーマンスはかなり悪く、実際には 10 倍近く悪かったのです。私は何が間違っているのでしょうか?キーポイントを取得するために OpenCV の DenseFeatureDetector を使用しています。9 つのレイヤーから画像ごとに約 5000 の記述子を抽出し、それらを 500 のクラスターにクラスター化しています。

VLFeat ライブラリの PHOW 記述子を試す必要がありますか? また、多くの論文で推奨されている OpenCV の SVM 実装ではカイ 2 乗カーネルを使用できません。これは分類器の品質にとって重要ですか? 別のライブラリを試す必要がありますか?

もう 1 つの問題は、スケールの不変性です。これは、密な特徴抽出の影響を受ける可能性があると思われます。私は正しいですか?

4

1 に答える 1

8

問題によって異なります。問題に使用するのに最適な手法を知るために、さまざまな手法を試す必要があります。通常、PHOW を使用すると、あらゆる種類のシーンを分類する必要がある場合に非常に便利です。PHOW は Dense SIFT とは少し異なることを知っておく必要があります。私は数年前に vlfeat PHOW を使用しましたが、コードを見ると、さまざまなサイズで密なふるいを呼び出しているだけで、いくつかのスムージングが行われています。これは、スケールに対して不変であることができる 1 つの手がかりになる可能性があります。また、実験では libsvm を使用しましたが、その結果、ヒストグラムの交差が最適であることがわかりました。デフォルトでは、カイ二乗およびヒストグラム交差カーネルは libsvm にも OpenCV SVM (libsvm に基づく) にも含まれていません。それらを試すかどうかを決めるのはあなたです。RBF カーネルはほぼ 90% の精度を達成し、ヒストグラムの交差は 93% でした。とカイ二乗 91%。しかし、それらの結果は私の具体的な実験にありました。自動調整されたパラメーターを使用して RBF から開始し、それで十分かどうかを確認する必要があります。

それをすべて要約することは、具体的な実験に依存します。しかし、Dense SIFT を使用する場合は、クラスターの数を増やして、異なるスケールで Dense SIFT を呼び出すことができます (PHOW の方法をお勧めします)。

編集:私はOpenCV DenseSiftを見ていましたが、おそらくあなたはから始めることができます

m_detector=new DenseFeatureDetector(4, 4, 1.5);

vlfeat PHOW は [4 6 8 10] をビン サイズとして使用することを知っています。

于 2013-02-05T15:31:49.607 に答える