10

私は、ユーザーがあくびをしたときに検出する必要があるiOS用のアプリケーションを開発しています。

私が行ったことは、Open CVを含め、haarカスケードを使用して顔を見つけ、次に顔の内側の口を見つけることです(haarcascadeも使用します)。

私が抱えている問題は、(face.y --mouth.y)<something = yawnのようなことをするように、あくびを簡単に検出できると信じていたことです。

しかし、私が抱えている問題は、顔と口の長方形が「不安定」であるということです。つまり、ループが実行されるたびに、顔と口の長方形のX値とY値が(明らかに)同じではありません。

私が使用できる「口を開けた」ハールカスケードはありますか、またはユーザーがいつ口を開けたかをどのように知ることができますか?

4

2 に答える 2

11

一般に、サポートベクターマシン(SVM)は、怒り、笑顔、驚きなど、まだ活発な開発が行われている顔の表情の認識に使用されます。グーグルはあなたにこのトピックに関するたくさんの論文を与えます(私のクラスメートの一人でさえ彼の最終年のプロジェクトとしてこれをしました)。そのためには、最初にSVMをトレーニングする必要があります。そのためには、あくびと通常の顔のサンプル画像が必要です。

あくびは、どちらの場合も口が開く驚きとほとんど同じです。以下の論文の3ページをチェックすることをお勧めします:サポートベクターマシンを使用したビデオでのリアルタイムの顔の表情の認識(リンクにアクセスできない場合は、論文名でグーグル)

論文(私のクラスメートでさえ)は顔の特徴の変位ベクトルを使用しました。このために、あなたは顔にいくつかの特徴点を見つけます。たとえば、この論文では、瞳孔、ふたの極値、鼻先、口の極値(唇)などを使用しています。次に、特徴の位置を継続的に追跡し、それらの間のユークリッド距離を見つけます。これらはSVMのトレーニングに使用されます。

以下の2つの論文をチェックしてください:

顔からの特徴点の抽出

ガボール特徴ベースのブースト分類器を使用した全自動顔面特徴点検出

私が顔の特徴点によって意味するものの下の画像を見てください:

ここに画像の説明を入力してください

あなたの場合、iPhoneにリアルタイムで実装していると思います。だから、目の特徴点を避けることができるかもしれません(あくびをすると目が小さくなるので、良い考えではありませんが)。しかし、それに比べて、唇の特徴点はより多くのバリエーションと優勢を示しています。したがって、唇だけに実装すると時間を節約できます。(まあ、それはすべてあなた次第です)。

唇のセグメンテーション:SOFですでに説明されており、この質問を確認してください:OpenCV唇のセグメンテーション

そして最後に、グーグルは活発な開発分野であり、たくさんの論文が出回っているので、グーグルについて多くの詳細を見つけることができると確信しています。

別のオプション

私が何度か聞いたことがあるこの地域の別のオプションはですActive Appearance Model。しかし、私はそれについて何も知りません。自分でグーグルしてください。

于 2012-06-10T12:00:03.990 に答える
0

OpenCVには、顔認識/検出機能もあります(openCV SDKに付属の例を参照してください)。haarカスケードは実際には必要な方法で顔の表情を分析しないため、これらは見た目が良い場所だと思います。例を実行してみて、自分の目で確かめてください。検出された目や口などに関するリアルタイムのデータが得られます。

幸運を

于 2012-06-10T07:01:36.780 に答える