3

私は、机の高さ(およびユーザーの少し横にある)に配置されたWebカメラを使用して、ビデオストリーム内の顔の位置を検出する必要があるアプリケーションに取り組んでいます。

私はすでにOpenCVのバージョンを実装しました(Haar検出を使用)。それは問題なく動作します...問題は、ユーザーが頭を横に向ける(または見上げる)と顔の位置を失う傾向があることです。

ウェブカメラは机の上にあるので、30度の角度で上に傾けられます。OpenCV検出アルゴリズムは、完全に正面の画像を使用してトレーニングされていますが、私が使用しているようなアップアングル画像は使用していません。OpenCVにも使用できるプロファイルHaarファイルがあることは知っていますが、私の調査によると、プロファイル検出では結果がかなり混ざっているようです。さらに、私は画像の背景や照明を実際に制御することはできません...そのため、これはOpenCV検出アルゴリズムの有効性にも影響を与えることがあります。

だから、私が求めているのは...このタイプのセットアップで顔を検出するのに適した他の顔検出アルゴリズム(これは私の大学の研究の一部であるため、無料であることが望ましい)はありますか?一部の組み込みWebカメラ(MacおよびPC用)には、実際には顔を検出する(そして、安っぽい漫画の画像を顔にオーバーレイする)ためのかなり堅牢なアルゴリズムがあるようです...しかし、背景や照明に関係なくうまく機能するようです。何かお勧めはありますか?ありがとう。

4

2 に答える 2

1

研究目的では、OpenCVでHaarカスケードを使用できます。商用化する場合は状況が異なります(この場合、代わりにLBPカスケードを検討する必要があります)。参考文献にViola-Jones論文を引用してください。

顔検出の結果を改善するには、いくつかの方法があります。

  • 個々の画像の検出:回転した画像を正面のカスケードに送信して、独自のカスケードをトレーニングせずに変動を考慮に入れることができます
  • 個々の画像の検出ですが、より多くの作業が必要です):アプリの動作条件に近い動作条件で独自のカスケードをトレーニングします
  • ビデオストリームの安定性(Webカメラなど):これは、顔検出の周囲に追跡レイヤーを追加することで実現されます。このトピックに関する知識に応じて、独自のフィルターを使用したり、OpenCVの粒子またはカルマンフィルターを楽しんだり、顔の位置に単純な1次または2次ローパスフィルターを実装したり、検出された顔にPIDトラッカーを実装したりできます...

これらのトラッキングフィルターはいずれも、ビデオストリームを処理するときに結果を大幅に向上させます。

于 2013-03-21T14:30:11.880 に答える
0

CLMフレームワークを使用して、正確なリアルタイムの顔検出と顔のランドマーク検出を行います。動作中のシステムの例:http://youtu.be/V7rV0uy7heQ

あなたはそれが役に立つと思うかもしれません。

于 2016-03-28T13:12:27.873 に答える