/ / 3D物体検出 - 操作 - opencv、コンピュータビジョン、顔認識

3Dオブジェクト検出 - Opencv - opencv、コンピュータビジョン、顔認識

OpenCVを使った顔認識を使ってみましたウィキに提供されているドキュメントそのうまく機能し、それは複数の顔を検出できます。ただし、3Dオブジェクト検出や頭部追跡に関するデータはサイトに提供されていません。コードとWikiへのリンクは以下のとおりです。

顔認識

カスケード分類器

あなたが気付いたかもしれないように、ウィキは顔検出についての十分な情報を提供しますが、3D顔認識方法は提供されません。

私は、ソースコードを見て同じことをするプロジェクトを作ることができるように、3D顔認識と追跡に関連するプロジェクトについて知りたいと思いました。

回答:

回答№1は6

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

http://pointclouds.org


回答№2の場合は1

方法はたくさんあります。 私はちょうどあなたを正しい方向に向けることができます。顔認識の例は、通常、目の部分検出を行います。だから実際にあなたは顔と目の位置を知っています。似たような方法で唇を検出することもできます。 これで、少なくとも3点のオブジェクトがある場合(今回は向かいます)、三角測量を使用して室内の3D位置を計算できます。例のこの部分は、OpenCVの例として来るfind_obj.cppにあります。この例では、SURFのx点を使用して、この情報に基づいて長方形を描画しています。 CvFindHomographyで他にもチェックしてください。


回答№3の場合は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/


回答№4の場合は1

あなたは一見を持っているべきです アクティブ形状モデル そして アクティブな外観モデル それはあなたが説明しているタスクのためのものです。 OpenCVは2D検出方法しか提供していませんが、参照されている方法(現在この分野では非常に人気があります) 一連の3D点を追跡する その外観を説明するために、顔にプラステクスチャを配したものです。

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

世界座標における頭部の3Dパラメータ(たとえば、視線検出)を知りたい場合は、「3D頭部追跡」および「頭部姿勢推定」というキーワードを使用してください。