13

wikiで提供されているドキュメントを使用して、OpenCVを使用して顔認識を試みました。正常に動作し、複数の顔を検出できます。ただし、3D オブジェクトの検出またはヘッド トラッキングに関するサイトで提供されるデータはありません。コードと wiki へのリンクを以下に示します。

顔認識

カスケード分類器

wiki は顔検出に関する十分な情報を提供しますが、お気づきかもしれませんが、3D 顔認識方法は提供されていません。

3D 顔認識と追跡に関連するプロジェクトについて知りたかったので、ソース コードを確認して、同じことを行うプロジェクトを作成してみました。

4

4 に答える 4

8

これは遅れるかもしれませんが、柳のガレージには、3D データ処理タスクに完全に焦点を当てた Point Cloud Library (PCL) と呼ばれる別のプロジェクトが実行されています。顔認識は、プロジェクトを宣伝するために使用するユース ケースの 1 つです。もちろん全て無料で...

http://pointclouds.org

于 2013-03-13T19:37:04.200 に答える
1

説明しているタスク用のアクティブな形状モデルアクティブな外観モデルを確認する必要があります。OpenCV は 2D 検出方法のみを提供しますが、リファレンスの方法 (現在はこの分野で非常に人気があります)は、顔に分布する3D ポイントのセットとその外観を説明するテクスチャを追跡します。

ウィキペディアのページには、前述のメソッドの実装へのリンクがいくつかあります。

ワールド座標で頭の 3D パラメータを知りたい場合 (視線検出など)、キーワード「3D 頭の追跡」と「頭の姿勢の推定」をググってください。

于 2013-03-13T15:14:32.057 に答える
1

OpenCV 2.4.2 以降、顔検出追跡用のヘッダー ファイルがあります: opencv2/contrib/detection_based_tracker.hpp

ヘッダー ファイルは、DetectionBasedTracker というクラスを定義します。それが定義する追跡メカニズムは、バックグラウンドで haar カスケードを使用してオブジェクトを検出します。追跡は、OpenCV Haar 実装よりもはるかに高速です (ただし、精度が低いことが判明した人もいます)。個人的には、Android デバイスで非常にうまく機能することがわかりました。顔検出とトラッカーを実装するサンプル コードは次の場所にあります: http://bytesandlogics.wordpress.com/2012/08/23/detectionbasedtracker-opencv-implementation/

于 2013-03-13T15:02:28.090 に答える
1

多くの方法があります。私はあなたを正しい方向に向けることができます。顔認識の例では、通常、目のサブ検出が提供されます。つまり、実際に顔と目の位置を知っています。同様の方法またはその他の方法で、唇を検出することもできます。オブジェクト (今回は面) の少なくとも 3 つのポイントがある場合、三角測量を使用して部屋の 3D 位置を計算できます。この例の部分は、OpenCV の例として付属する find_obj.cpp にあります。この例では、SURF の x ポイントを使用し、この情報に基づいて四角形を描画します。CvFindHomography で他のものもチェックしてください。

于 2012-08-09T05:02:07.343 に答える