問題タブ [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.
c++ - カスケード顔検出 C++ Opencv 3.0
チュートリアルに記載されている顔検出を実装しようとしています
Ubuntu 14.04 で OpenCV 3.0 を使用しています。
ここからカスケードxmlファイルをダウンロードしました
https://github.com/opencv/opencv/tree/master/data/haarcascades
コードをコンパイルすると、次のエラー メッセージが表示されます。
なにか提案を?
python - LBP/HAAR 検出 XML カスケードの改善
Python 2.7 と OpenCV 2.4.13 を使用して、UAV 画像から車の検出器を実行しようとしています。目標は、都市環境であらゆる方向から上から見た車を検出することです。時間の実行と精度の問題に直面しています。
インターネットから入手したいくつかのカスケードで使用すると、検出器は正常に動作します。
- バナナ分類子 (明らかに車は検出しませんが、バナナとして認識するオブジェクトを検出します): (coding-robin.de/2013/07/22/train-your-own-opencv-haar-classifier.html)
- OpenCV からの顔検出カスケード (バナナ分類器と同じ動作)
検出自体のために、私はdetectMultiScale()
withscaleFactor = 1.1-1.2
とを使用していますminNeighbors=3
検出は、4000x3000 ピクセルの画像で妥当な時間 (数秒) で実行されます。
独自のトレーニング済み分類子を使用しようとすると、問題が発生します。結果が悪く、検出に非常に時間がかかります (30 分以上)
トレーニングのために、たくさんの車が停まっている駐車場のある大きなオルソモザイク (数回ダウンスケールしたもの) からポジティブ画像とネガティブ画像の両方を抽出しました。合計 50 台の車 (25x55 ピクセル) を抽出し、水平方向に反射して、同じオルソモザイクから 100 個のポジティブ イメージと 2119 個のネガティブ イメージ (60x60 ピクセル) を作成しました。私はこのセットを「イメージの完全なセット」と呼んでいます。そのセットから、「ダミー セット」と呼ぶサブセット (4 つのポジティブと 35 のネガティブ) を作成しました。
トレーニングには、 と を使用opencv_createsamples
しopencv_traincascade
ました。100 のポジ画像から 6000 のサンプルを作成し、車を 0 度から 360 度まで回転させました。
これで、ランダムな背景の上に任意の方向にある車の 6000 個の 60x60 ピクセルのサンプル画像があります。
次に、実行mergevec.py
してファイルを作成しsamples.vec
、トレーニング アプリケーションを実行しますopencv_traincascade
。
この方法で、4 つの分類器をトレーニングしました。2 つは完全なセットを使用し、残りの 2 つはダミー セットを使用して、セットごとに 1 つの LBP と 1 つの HAAR をトレーニングしました。私が得る結果は次のとおりです。
- ダミーセット、LBP:1ステージでトレーニング停止。高速検出、オブジェクトは検出されません
- ダミーセット、HAAR: トレーニングは 1 ステージで終了しました。検出には永遠に (または少なくとも 30 分以上) かかります。明らかに機能していないため、プロセスを中断しました。
- コンプリート セット、LBP: トレーニングは 6 段階で停止します。検出が非常に遅い (500x400 ピクセルの画像で 1 ~ 2 分、scaleFactor = 2 を使用)。画像内に少なくとも 10 台の車があり、同じ画像がトレーニングに使用されている場合、非常に少数のオブジェクト (2) を検出します。車はありません。
- コンプリート セット、HAAR: テストのために第 4 段階でトレーニングを停止しました。ダミー セットと同じ動作です。
私が間違っていることは何ですか?バナナと顔のカスケードは妥当な時間内に機能し、オブジェクトを検出するため、問題は明らかに私のカスケードにありますが、その理由はわかりません。
本当にありがとうございました。前もってありがとう、フェデリコ
opencv - CascadeClassifier_GPU (openCV) を使用した目の検出
cacadeClassifier_GPU
OpenCVで顔と目を同時に検出しようとしています。顔の検出は正常に機能しますが、目を検出しません。Visual Studio 2010 で opencv 2.4.9(gpu バージョン) を使用しています。
これが私のコードです。
python - opencv_createsamples: 背景記述ファイルが無効ですか?
OpenCV を使用して Ubuntu 16.04 でサンプルの作成を実行しようとしていますが、実行時にこのエラーが発生し続けます。サンプル画像を生成しようとしているネガ画像が約 1960 あります。ターミナルで実行しているのは次のとおりです。
および省略された出力は次のとおりです。
私が得られないのは、ファイルを正しく解析して画像を見つけることができるように見えることです...しかし、説明ファイルが間違っていると言い続けています...
c++ - OpenCV のカスケード分類器は複数のコアを使用しますか?
最近、OpenCV の XML ファイルを使用する Cascade Classifier の独自の修正バージョン (シングル スレッド CPU のコード) を作成しました。
私の裸の VJ アルゴリズムと OpenCV のアルゴリズムを比較したいと思います。そのため、OpenCL を無効にし、OpenCV のものを実行すると、イメージ全体を処理するのに 19 ~ 23 ミリ秒かかりますが、コードは 39 ~ 49 ミリ秒かかり、2 倍遅くなります。
CPU に 2 つのコアがあり、並列 for ループを使用して効率を高めたためだと思われます。私は正しいですか?
間違っている場合、OpenCV のコードの並列ループは全体的なパフォーマンスにどの程度影響しますか?