問題タブ [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 バイナリを使用した Haar Training の精度の向上
私opencv_traincascade
は素晴らしいツールでトレーニングされたHaar CascadesとLBP Cascadesを使用しています。
実際に精度を向上させるより大きなデータベースを生成する方法について、いくつかの目的を聞きたいです。つまり、ポジティブな画像が 2,000 枚、ネガティブな画像が 10,000 枚あるとします。CNN (畳み込みニューラル ネットワーク) の場合、2,000 を 8,000 のポジティブ サンプルに乗算するために、画像を回転、変換、およびスケーリングしました。これにより、結果が大幅に改善されますが、カスケード トレーニングで何ができるかは明確ではありません。
私の目的は次のとおりです。
- ノイズを含むポジティブ セットの一部を生成します。例えば:
- ハイライトまたはブレンダーでポジティブ セットの一部を生成します。
他のものを使用したり、精度を改善できる何かを試したりしましたか?
前もって感謝します。
ラファエル。
image-processing - カスケード分類器のトレーニング
カスケード分類器のトレーニングについていくつか質問を受けました。
- 一部の写真では、オブジェクトの半分が表示されています。可視部分を関心領域としてマークするか、画像をネガティブ サンプルとして使用するか、完全に分類する必要がありますか?
- 分類器は、部分的にしか見えないオブジェクトを検出できますか (Haar 機能を使用)?
- 陰性サンプルと陽性サンプルの比率は? 多くの場合、よりネガティブなサンプルを使用する必要があると読みます。しかし、たとえばこのスレッドでは、比率は 2:1 (よりポジティブなサンプル) にする必要があると述べられています。
- 私の現在の分類器は、多くの誤検知を検出します。このチュートリアルに従って、段階の数を増やすか、段階ごとの誤報率を減らすことができます。しかし、誤報率を上げずにステージ数を増やすことはできません。ステージ数を増やすだけでは、分類器がサンプルを使い果たすため、ある時点でトレーニングが停止します。偽陽性を減らしてサンプル数を増やす唯一の方法はありますか?
誰かが私の質問に答えてくれたら嬉しいです:)
c++ - 顔をトリミングしてサイズに合わせて拡大縮小する必要がある画像のサイズを変更するにはどうすればよいですか?
私のウェブカメラは画像を撮ります。ただし、opencv の性別分類では、トレーニングに使用される画像と同じサイズの画像が必要です。したがって、ウェブカメラ画像の顔が解像度 300x300 に収まるように、ウェブカメラ画像を 300x300 にする必要があります。
opencv 顔カスケード分類子を使用して、ウェブカメラ画像内の顔を識別しました。
しかし、その顔を 300x300 のサイズに収めるにはどうすればよいでしょうか?
私はopencvが初めてなので、いくつかのコード行を手伝ってください。
opencv - カスケード分類器をトレーニングできません。使用されたトレーニング パラメータを確認する
スキャンしたドキュメントで特殊な画像 (記号 + のようなもの) を検出する必要があります。opencv_traincascade プログラム (opencv 3.0) を使用してカスケードをトレーニングします。
これは私のファイル構造です:
これは私のBad.datです:
これは私のGood.datです(すべての良いファイルには特別な画像が完全に含まれており、それ以上のものはありません)
vec ファイルの作成に成功しました。
これは opencv_traincascade の呼び出しと結果です
ご覧のとおり、多少の誤差があります。正確に何が間違っているのか教えてもらえますか? 「使用されたトレーニング パラメータを確認する」は非常に一般的なフレーズです。
(フォルダー C:\opencv\build\x64\vc12\bin\haarcascade が存在します)
c++ - カスケード分類子と HOGDescriptor の間で、detectMultiScale の OpenCV のスケール変更実装に違いがあるのはなぜですか?
OpenCVでdetectMultiScaleがどのように機能するかの要点を知っています。つまり、画像と検出ウィンドウがあります。画像は検出ウィンドウによってスキャンされ、その特定のインスタンスでウィンドウ内のピクセルに対して特定の特徴計算が行われ、検出が発生したかどうかが判断されます。
ただし、OpenCV のドキュメントから、スケーリング (異なるサイズのオブジェクトを検出するため) が行われる方法は、
カスケード分類器; コードはここにあります
または、HOGDescriptor を使用している場合。コードはここにあります
OpenCV のドキュメントには、カスケード classfier detectMultiScale は scaleFactor を使用して、検出ウィンドウよりも小さくなるまで検出が行われる画像サイズを縮小するのに対し、HOGDetector detectMultiScale にはスケール係数 (scale0) があり、検出ウィンドウが検出がチェックされる画像のサイズです。
両者に違いがあるのはなぜですか?ある実装は他の実装よりも優れていますか?
現在、OpenCV 2.4.8 で、HOG 機能を備えたカスケード分類器と、SVM および HOG 機能 (HOGDescriptor) の両方をトレーニングしました。
前もって感謝します