問題タブ [cbir]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - バイナリ記述子: LSH を使用して OpenCV で最も類似した画像を見つける
flannIndex
in openCV は、バイナリ記述子を介して 2 つの画像を照合するように設計されています。
とにかく、LSHはCBIRで「2つの画像を比較する」のではなく、「データセット内で最も類似した画像を見つける」ために多用されていますが、これは明らかに異なるものです。
OpenCVでそのようなことをどのように実装できますか?
neural-network - 画像検索のための近似最近傍のニューラル ネットワーク記述子
免責事項: 私はニューラル ネットワークやディープ ラーニングについて何も知りません。
Product Quantization を使用したVLAD および Fisher ベクトルは、適切な画像検索に近似最近傍を使用する方法の良い例です。ただし、Neural Networks のアプローチが Bag of Words や VLAD よりも正確であることが証明されています。
私の質問は次のとおりです。
- NN 記述子の作成は、従来のアプローチ (VLAD や Fisher Vector など) よりも高速ですか?
- 似たような画像を見つけるために、従来の ANN アプローチを NN コードで使用できますか? そうでない場合、NN コードはどのように索引付けされますか?
- NN コード間の類似性を測定するためにメトリック距離を使用できますか?
c++ - 記述子の一致後にopencvプログラムがクラッシュする
SIFT記述子とFLANNマッチャーを使用して、2つの画像間の一致の最小距離を取得しています。最初の画像はクエリの画像で、2 番目の画像はデータセットからのものです。ループを使用して 2 番目の画像を 1 つずつロードしたいのですが、最初の反復の直後に、最初の反復の結果を表示した後に実行時にプログラムがクラッシュし、2 番目の反復に入ることができません。私はopencv 2.4.13とvs2017を使用しています。以下は私のコードです:
私は多くのことを試しましたが、ここに私の問題と観察があります:
- 反復を使用しているからではありません。のみを実行すると
matcher.match(descriptors1, descriptors2, matches);
、実行後にクラッシュします。 - また、SURF記述子またはBruteForceMatcherでも機能しません。どちらも上記のコードで同じ問題を抱えています。SURF を使用して opencv チュートリアルのさまざまなコードを使用しましたが、結果を表示した後もクラッシュします。opencv チュートリアルのサンプル コードはこちらを参照してください
- いくつかの回答が言ったように私も試しまし
initModule_nonfree();
たが、それでも役に立ちませんでした。 - 「Done!」と表示された後、プログラムがクラッシュします。次の反復に入らない。
- 以下の および関連するコードを削除する
matcher.match(descriptors1, descriptors2, matches);
と、正常に動作します。したがって、問題は「一致」機能にあるに違いありません。
よろしくお願いします!
- - - - - - - - - - - - - - -更新しました - - - - - - - - - - ----------
私のインクルードとリンクされたライブラリを以下に示します。
C:\Program Files (x86)\opencv\build\include C:\Program Files (x86)\opencv\build\include\opencv C:\Program Files (x86)\opencv\build\include\opencv2
C:\Program Files (x86)\opencv\build\x64\vc12\staticlib C:\Program Files (x86)\opencv\build\x64\vc12\lib
opencv_objdetect2413.lib opencv_ts2413.lib opencv_video2413.lib opencv_nonfree2413.lib opencv_ocl2413.lib opencv_photo2413.lib opencv_stitching2413.lib opencv_superres2413.lib opencv_videostab2413.lib opencv_calib3d2413.lib opencv_contrib2413.lib opencv_core2413.lib opencv_features2d2413.lib opencv_flann2413.lib opencv_gpu2413.lib opencv_highgui2413.lib opencv_imgproc2413. lib opencv_legacy2413.lib opencv_ml2413.lib
構成に問題はないと思います...x86でリリースモードで使用しています、ありがとう!