問題タブ [viola-jones]
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.
image-processing - カスケード分類器のトレーニング
カスケード分類器のトレーニングについていくつか質問を受けました。
- 一部の写真では、オブジェクトの半分が表示されています。可視部分を関心領域としてマークするか、画像をネガティブ サンプルとして使用するか、完全に分類する必要がありますか?
- 分類器は、部分的にしか見えないオブジェクトを検出できますか (Haar 機能を使用)?
- 陰性サンプルと陽性サンプルの比率は? 多くの場合、よりネガティブなサンプルを使用する必要があると読みます。しかし、たとえばこのスレッドでは、比率は 2:1 (よりポジティブなサンプル) にする必要があると述べられています。
- 私の現在の分類器は、多くの誤検知を検出します。このチュートリアルに従って、段階の数を増やすか、段階ごとの誤報率を減らすことができます。しかし、誤報率を上げずにステージ数を増やすことはできません。ステージ数を増やすだけでは、分類器がサンプルを使い果たすため、ある時点でトレーニングが停止します。偽陽性を減らしてサンプル数を増やす唯一の方法はありますか?
誰かが私の質問に答えてくれたら嬉しいです:)
c++ - OpenCV カスケード分類: 高速コントラスト ストレッチ定数
論文「迅速なオブジェクト検出のためのブーストされた分類子の検出カスケードの経験的分析」のセクション 2.3 で、著者は高速コントラスト ストレッチングについて説明しています。OpenCV または Matlab で、この前処理への参照は見当たりません。通常、カスケード分類器に分散正規化サブウィンドウを挿入する必要がありますが、論文では、標準偏差を乗算する任意の定数によって画像が正規化されることが示されています。この定数 (論文では c=2) が実際にカスケード機能のしきい値をトレーニングするために考慮されたかどうかはわかりません。そうでない場合、この操作を使用して、検出プロセスで別のより複雑なコントラスト強調手法を回避するにはどうすればよいでしょうか。どんなヒントでも非常に役に立ちます。ありがとう
質問の編集: OpenCV カスケード分類「コード」では、カスケードを作成するときに使用された Lienhart よりも正確にコントラスト ストレッチ定数 (c=2) が適用され、ここで引用されている論文で説明されていますhttp://docs.opencv.org /modules/objdetect/doc/cascade_classification.html ? 見つからない。ありがとう
viola-jones - Viola-Jones - 24x24 のウィンドウはどういう意味ですか?
Viola-James 検出フレームワークについて学んでいて、24x24 塩基検出ウィンドウを使用していることを読みました[1][2]。この基地検出ウィンドウを理解するのに問題があります。サイズが 1280x960 ピクセルで、3 人の人物が写っている画像があるとします。この画像で顔検出を実行しようとすると、アルゴリズムは次のようになります。
- 画像を 24x24 ピクセルに縮小し、
- 24x24 ピクセルの大きなセクションで画像を並べて表示し、各セクションをテストします。
- 24x24 のウィンドウを画像の左上に配置し、画像領域全体で 1 ピクセル移動しますか?
別の説明へのリンクであっても、どんな助けでも大歓迎です。
ソース: https://www.cs.cmu.edu/~efros/courses/LBMV07/Papers/viola-cvpr-01.pdf
[1] - 2 ページ、インテグラル イメージの前の最後の段落
[2] - 4 ページ、結果
matlab - matlab での顔検出 (viola-jones)
そこで、Viola-Jones アルゴリズムを使用して顔を検出するカスケード オブジェクト検出器を matlab で見つけました。とても使いやすく、素晴らしい作品です!
しかし、いくつか質問があります。
ヴィオラ・ジョーンズ法には 4 つの段階があります。
- ハール特徴選択
- インテグラル イメージの作成
- アダブーストトレーニング
- カスケード分類子
Matlab では、FrontalFace(CART) と FrontalFace(LBP) を使用できます。これらは学習済みのカスケード分類モデルなので、ステージ 4 の一部になりますよね? しかし、FrontalFace(CART) を使用した場合、ステージ 1 とステージ 4 の違いは何ですか? どちらもHaaar機能を使用しています。
FrontalFace(CART) と FrontalFace(LBP) は、顔を検出する 2 つの異なる方法であると言えますか? この 2 つを比較して、どちらが優れているかを確認できますか? それとも、ヴィオラ・ジョーンズと比較する別の方法を見つける必要がありますか?
matlab で簡単に実装できる他の顔検出方法はありますか? インターネット上で(肌の色などを使用して)いくつか見つけましたが、Matlabは私にとってまったく新しいものです。そのため、これらのコードは私にとって複雑すぎると感じました。
matlab - Matlabで「mexopt.bat」ファイルを編集するには?
私は Matlab R2014b と OpenCV 2.4 を持っています。ViolaJones 顔検出ツールボックスを使用しようとしていますが、いくつかの問題があります。mexopt.bat
問題を検索したところ、ファイルの編集を提案する解決策が見つかりました。本当の問題はここにあります
Matlab コマンド
戻り値
C:\Users\simit\AppData\Roaming\MathWorks\MATLAB\R2014b\mexopts.bat
しかし、パスに移動してもファイルが見つかりません。ファイルを見つけてmexopts.bat
編集するにはどうすればよいですか?
computer-vision - Viola-Jones の顔検出: ピクセル間の高コントラスト
顔検出には Viola-Jones を使用しています。このアルゴリズムは非常にうまく機能し、誤検知は事実上ありません。ただし、偽陰性があります。偽陰性の非常に明確なパターンが 1 つ検出されました。これは、顔のピクセルと背景のピクセルのグレースケール値のコントラストが非常に高いことです。
偽陰性については、画像が単一のグレー スケール マトリックスに変換された場合、次のように表示されます。255 は白いピクセル、つまり背景を示し、はるかに低い値は顔 (つまり、暗い) ピクセルを示します)。
このような状況では、アルゴリズムは顔を検出できません。独自のコードと Web で利用可能な API を試してみましたが、同様の結果が得られました (どちらも関連する写真で顔を検出しませんでした。
真陽性の場合、コントラストはそれほど高くなく、次のように表示される場合があります。
高い値は背景のピクセル (ウィッシュですが完全な白ではなく、灰色がいくつかあります) であり、低い値は顔 (暗い) に対応します。
誰かがこの問題に直面したことがありますか、および/または何か提案がありますか?