問題タブ [cascade-classifier]
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.
opencv - OpenCV カスケード分類子 - いくつかの異なるオブジェクトを認識できますか?
私の目標は、さまざまな種類のオブジェクト (緑/赤リンゴ、コーヒー カップ、グラス) を検出することです。カスケード分類器を使用して、シーン内の一般的なリンゴを検出しようとしましたが、正常に動作しました。
カスケード分類子を使用して 4 つのオブジェクトを認識するように分類子をトレーニングする方法はありますか? シーンに一般的なターゲット オブジェクトがあるかどうかだけでなく、検出したオブジェクトを正確に知る必要があります。
ありがとうございます
image-processing - haar トレーニング用の背景/ネガティブ サンプル画像はどこで入手できますか?
プレート検出用に Haar ベースの分類器をトレーニングするには、サンプル画像のコレクションが必要です。この質問が既に出されていることは知っていますが、googlecode のソースは死んでいます。
http://tutorial-haartraining.googlecode.com/svn/trunk/data/negatives/
java - ネガティブ サンプルを取り込むときに opencv_traincascade.exe がクラッシュする原因は何ですか?
私の目標は、サイコロの特定の面を認識するようにカスケードをトレーニングすることです。
dice1.vec
params を使用して、opencv_createsamples によって106 個の生成されていないサンプルを vec ファイル (という名前) に変換しました-w 32 -h32
。negTxt1.txt
さらに、他のサイコロ面 (32x32 .png ファイル) を参照する約 420 行と、他の任意の 640x480 サイズの bg ファイルを参照する約 600 行を含むテキスト ファイルがあります。
opencv_traincacade.exe
16 GB の RAM を搭載した Windows コンピューターで、次のパラメーターを使用し
て実行しようとしました。tools\opencv_traincascade.exe -data positives/testclassifier -vec positives/1/dice.vec -bg positives/negTxt1.txt -numStages 20 -numPos 100 -numNeg 1000 -precalcValBufSize 2048 -precalcIdxBufSize 2048 -acceptanceRatioBreakValue .0001 -w 32 -h 32 -mode ALL
ただし、負のサンプルを消費している間、プログラムは負のサンプルを消費しようとしてクラッシュし、クラッシュする前の最後の行はNEG current samples: 427
. 次に、「opencv_traincascade has stopped working...」というエラー ウィンドウが表示され、エラー メッセージは表示されません。
SO とここ (つまり、ここ、ここ) からの提案を見てきましたが、提案された修正は役に立たなかったようです。-numPos を 80 に減らしてもクラッシュは回避されず、バッファ サイズ パラメータは十分に大きいです。-numNeg を 427 未満に減らそうとすると、最初の段階ではうまくいきますが、次の段階NEG current samples: ...
で別の数でトレーニングの同じ時点で (それが と言うとき) クラッシュします。
このクラッシュを防ぎ、分類子を正常に作成するには、どのような手順を実行できますか?
c++ - openCV C++でvoid関数の排他的論理和(XOR)を行うには?
CascadeClassifer
openCVでTracker libを使用して頭の検出と追跡を検出するプロジェクトがあります。void 関数の排他的論理和 (XOR) を行うには? void 関数を使用して追跡から検出を分離したためです。頭を検出して追跡を開始し、追跡を開始すると検出が停止するようにするにはどうすればよいですか?
opencv - さまざまなサイズとアスペクト比の車両検出陽性サンプル
車検出の陽性サンプルは、同じサイズまたは少なくとも同じアスペクト比でなければならないことを読みました。ただし、トリミング後の画像のサイズまたは縦横比が異なる車のデータセットがあります。それで、私は何をしましょうか?
私はスタンフォード車のデータセットhttp://ai.stanford.edu/~jkrause/cars/car_dataset.htmlを使用しています。車 をトリミングした後、すべての画像の縦横比が同じであることがわかりました。トレーニングにはこれで十分ですか?または、すべての画像のサイズを同じサイズに変更する必要がありますか?
python - opencv ソースの変更後に Python バインディング cv2.so を更新する
オブジェクト検出用の opencv カスケード分類器のソース コードを変更して、新しい機能を組み込みました。分類器のトレーニングを担当する opencv_createsamples と opencv_traincascade のソース コードに変更を加えました。次に、検出器ライブラリであるカスケード分類器の detectMultiScale にも同様の変更を加えました。最初の 2 つは実行可能ファイルですが、検出器は opencv ライブラリとしてコンパイルされます。ライブラリのソース コードが変更されたため、C/C++ ライブラリを Python メソッドにリンクする Python ラッパー cv2.so が壊れているようです。ソースを指す cv2.so 内に保存されているシンボルのセットは、変更のために同じではなくなったため、cv2 をインポートすると次のエラーが発生します。
ImportError: /usr/local/lib/python2.7/dist-packages/cv2.so: 未定義のシンボル: _ZN2cv17CascadeClassifier16detectMultiScaleERKNS_11_InputArrayERSt6vectorINS_5Rect_IiEESaIS6_EEdiiNS_5Size_IiEESB_
Python バインディングを更新して cv2.so を更新し、変更を反映するにはどうすればよいですか? どんな助けでも大歓迎です。ありがとう。
opencv - 特定のネガティブ サンプルを追加してカスケードを最適化する
最初のカスケードをトレーニングして、路上で後ろから車を検出することに成功しました。パラメータを調整しない限り、ランダムな木とバイクをキャプチャするので、改善したいと思います。これらの特定の木とバイクをネガティブ サンプルに追加しようとしましたが、結果のカスケードではまだそれらが検出されます。添加量が少なすぎますか? 100 を約 1400 に追加しました。カスケードを最適化するには、他にどのような方法がありますか?