問題タブ [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.

0 投票する
1 に答える
1049 参照

opencv - opencv カスケード分類器が背景を検出

私はカスケード分類器を使用して、ある種の植物を訓練しています。ここに私が検出したいもののサンプル画像があります

小さな緑の植物のサンプル

私は小さな緑の植物をポジティブ用にサンプリングし、背景が似ていて緑色の植物がない画像からネガを作成しました(多くの情報源から示唆されているように). サンプリングのために、これに似た多くの画像を使用しました。

私は多くのトレーニング データを持っていなかったので、もちろん理想的な分類結果は期待していませんでした。

通常のパラメーター min_hit_rate 0.95 max_false_alarm 0.5 などを設定しました。5、6、7、8、9、および 10 段階でトレーニングを試みました。私に起こる奇妙なことは、トレーニングプロセス中にすべてのステージでヒット率が 1 になり、5 つのステージの後、0.004 の良好な受け入れ率が得られることです (後のステージ 6、7、8 と同様です...)。トレーニング サンプルに使用したのと同じ画像で分類子をテストしようとしましたが、非常に非論理的な動作があります。

  1. 分類器は、ほとんどすべてのものを検出しますが、私がそれから取った肯定的なサンプル (HIT RATION EQUAL TO 1 を使用したトレーニングの同じサンプル) を検出します。
  2. 分類子は非常に遅いですが、単一の入力画像に 1 時間以上かかりました (ダウンサンプリングされた倍率 1.1)。

トレーニング中に(すべての段階で)同じサンプルが陽性として分類され、画像上で陽性として分類される方法がわかりません(その周りに多くの偽陽性があります)。

私はすべてを百万回チェックしました(どういうわけかポジティブとネガティブを混ぜたと思っていましたが、そうではありませんでした)。

誰かがこの問題で私を助けることができますか?

0 投票する
1 に答える
997 参照

matlab - Matlabのカスケードトレーニング「trainCascadeObjectDetector」のエラー

組み込みの Matlab 関数 " trainCascadeObjectDetector "でカスケード分類器をトレーニングしようとしていますが、この関数を呼び出すと常に次のエラー メッセージが表示されます。

サンプル数はポジティブ画像5000枚、ネガティブ画像11000枚。Matlab のバージョンは、Ubuntu 12.04 で実行されている 2014a です。

エラー メッセージは次のとおりであるため、さらにトレーニング データを増やす必要があるかどうかはわかりません。

トレーニング用のサンプルの生成中にエラーが発生しました。最初のカスケード ステージをトレーニングするためのサンプルを生成できませんでした。

これを見ていただけますか?ありがとう!

0 投票する
1 に答える
258 参照

matlab - Matlab から OpenCV 3.0 にカスケード分類器をインポートする

Matlab 2014b で作成されたカスケード分類器がありますが、XML ファイルには OpenCV 2.4 とのみ互換性があると書かれています。OpenCV 3.0 で使用する必要があります。これを行う方法はありますか?

ありがとうございました

0 投票する
2 に答える
8317 参照

opencv - openCVで口を検出する

openCV で画像内の口を検出しようとしているので、次のコードを使用しています。

分類子はhaarcascade_frontalface_alt.xmlhaarcascade_mcs_mouth.xmlです。

顔は正しく検出されていますが、口は検出されていません。目と額などの他の部分も取得しています。口だけを検出する方法はありますか?

0 投票する
2 に答える
1911 参照

c++ - OpenCV 2.4.10 顔検出はビデオでは機能しますが、静止画像では検出に失敗します

顔を検出するために OpenCV の Cascade Classifier を使用しています。Webcam のチュートリアルに従い、detectMultiScale を使用して、ラップトップの Webcam からビデオをストリーミングしている間に自分の顔を見つけて追跡することができました。

しかし、ラップトップの Web カメラから自分の写真を撮るとき、その画像を OpenCV にロードし、その画像に detectMultiScale を適用すると、何らかの理由で、カスケード分類子はその静止画像の顔を検出できません!

その静止画像は、ウェブカメラ ストリームからの 1 フレームであれば確実に検出されたはずですが、その 1 枚の画像を単独で撮影すると、何も検出されません。

これが私が使用するコードです(関連する行を選んだだけです):

共通のコード:

Web カメラ ストリーミングの顔検出の場合:

私の静止画像の顔検出の場合:

私の目には、これらのプロセスはどちらも同じですが (唯一の違いは、元の画像を取得する場所です)、ビデオ ストリーム バージョンは定期的に顔を検出しますが、静的メソッドは顔を見つけることができないようです。

ここで何か不足していますか?