私はロバストな顔検出アルゴリズム/ライブラリを探しています。C言語が好きです(C++は大丈夫ですが、必要ならば移植できる他の言語もあります)。私は過去にOpenCVの実装を使用しましたが、私はそれが回転に不変ではないと思います。リアルタイムである必要はありませんが、恐ろしいほど遅くならないようにしてください(おそらく1枚あたり1〜2秒で問題ありません)。高信頼性を求め、多くの偽陽性ではありません。誰も良い実装を知っていますか?C/C++でのロバストな顔検出?
答えて
OpenCV Wikiの顔検出については、Haar-like featuresを使用してください。
@floppydisk:この男は顔検出のためにこれらのHaarのような機能を実装する別のprojectを投稿しました。
概念は理解しにくいものではなく、自分で実装することもできます。 は、おそらく最も難しい部分は、ブーストされた分類器のカスケードを構築している(ただし、OpenCVのは容易に実装され、そのすべてを持っている!)
アフィン変換に対して不変行うことができ、顔検出に使用することができますいくつかの他の方法は次のとおりです。
SVD/PCAと- Eigenfaces
- フーリエ記述子
- 統計的形状モデル(特にthis paper)
唯一のことは、Visionics FaceItです。それはかなりうまくいったが、私が最後に知っていたのは、非常に、非常に、非常に遠い(ビールのように、またはスピーチのように)
"無料"も良いと言わなければならない。 FaceItは顔認識ソフトウェアに見えます....私はオープンソースのアルゴリズムを探しています。 – mpen
あなたはこのライブラリを見てみ試みることができる:それが回転しているテストケースの面の一つに示し
http://vasc.ri.cmu.edu/NNFaceDetector/
。あなたが見ることができるように、それは論文として行われたので、もしあなたが好きであれば、その論文も読むことができます。
オーバーコードプロジェクトでは、誰かが顔認識用プロジェクトのdetailed descriptionとプロジェクトのC++ソースコードと、彼が使用したライブラリへのリンクを投稿しました。彼のアルゴリズムは、色の違いを使って肌のパッチを見つけ、19x19ピクセルの写真が顔にマッチするかどうかを調べることに焦点を当てています。私は顔認識のためのすべてのライブラリに精通していませんが、彼のコードのいくつかを読んで、多くのメソッドと関数の名前にCVを持っているので、彼はOpenCVライブラリを使用しているかもしれませんが、 100%確かではありません。しかし、彼は自分のアプリケーションとソースファイルについて多くの説明をしているので、良い出発点になるかもしれません。
彼は彼自身のCVライブラリを構築しようとしているかもしれません。私は彼がopencvの一部を切り取っていたかもしれないと思っていたが、実際には何も示していない。彼は98%の精度を誇っていますが、それは主に自分の顔で訓練されテストされています。ローテーションについて何も言及していない...彼はより詳細な評価をして欲しい。精密リコールカーブは素晴らしいです。まあ、ありがとう。私も試してみることができます...私が知っているすべてのために非常に良いかもしれません。 – mpen
私は98%の正確さを主張する男の方が良い統計を持っています。 99.99999999999嘘つきか、訓練されている。顔の認識はそれほど正確ではなく、たとえ最高のシステムが正確でないとしても。 – monksy
マーク - あなたはOpenCVのは、それぞれ比較した後、90 °を回転させ、4つの比較やってからあなたを妨げる何回転
に不変ではないかもしれないと言いますか?
それを防ぐものはありません。これは有効な回答です;) – mpen
私は顔の検出にHaarの機能を使用していませんが、私はeigenfaces/pcaよりも顔を検出する方が効果的かもしれないことを覚えています。
顔の回転に関する問題について私は問題を抱えています。私の考えは、あなたが形状マッチングを試み、オブジェクトを修正しようとするかもしれないということです。試して、通常のヘッドアスペクト比に向けるようにしてください。私はEigenfaceとの私のプロジェクトではそれほど遠かったことはありませんでしたが、それがどのように機能するか教えてください。それはmatlabで簡単にする必要があります。 :P
- 1. UIImage顔検出
- 2. opencvの顔検出
- 3. J2MEの顔検出
- 4. Androidの顔検出
- 5. CamShift + OpenCvでの顔検出
- 6. Androidでの顔検出
- 7. iPhone顔検出リモートデータベース
- 8. Androidの顔検出のサポート
- 9. 顔の種類の検出
- 10. Android - 顔の検出機能
- 11. iPhone OpenCVの顔検出
- 12. 顔の検出Asus TF201
- 13. 顔を検出してOpenCVで検出した顔を保存する
- 14. iOSの視点での顔検出と顔認識の違い
- 15. 顔検出アルゴリズムは15x15ピクセルの顔ですか?
- 16. UIImageでの顔検出の問題?
- 17. JAVAによる顔検出
- 18. 顔検出+画像モーフィング
- 19. OpenCVの顔検出が遅いです。
- 20. 顔の左右の検出方法は?
- 21. iOSの顔検出の問題
- 22. Adobe Animate CCとJavaScript - 衝突検出
- 23. ビデオ顔検出および画像顔識別を伴うストリームビデオ顔認識
- 24. ロバストなイベントロギング
- 25. 顔検出と切り取る
- 26. Kinectを使用した顔検出
- 27. dlibを使用したビデオ顔検出
- 28. 顔検出およびフィルタに
- 29. AForge.NETとC#(顔の上に矩形を描く)を使用した顔検出
- 30. uiを使用/表示していない顔検出器
@mark: "速く、安く、正確にすることができます;任意の2つを選ぶ"あなたは月を求めているように正直に見えます。 – Tarrant
@ヴェルガン:私は速くて安価ではありませんでした。正確な顔検出は、50ミリ秒以下で実行できます。私はそれが約2000年かかることができると言った。それは全く質問していない。 – mpen
パターン認識は、特に写真のような単一の角度から作業する場合、非常に難しい問題です。それはヒット&ミスのすべての方法:(合理的に)マグショットの大丈夫です。フルカラーの群衆撮影には(不可能なほど)難しい。 – slashmais