3

私が書いている顔認識プログラムの固有顔を使用しています。固有顔が実際にどのように生成されるかについていくつか質問があります。

  1. それらは、さまざまな人物の多数の写真から生成されたものですか、それとも同じ人物の多数の写真から生成されたものですか?

  2. これらの人々は、あなたが認識したい人々を含める必要がありますか? そうでない場合、どのような種類の比較が行われますか?

  3. 固有顔は、提供するすべての画像に対して決定されますか? それとも、複数の写真から 1 つの固有顔を作成しますか?

これはすべて、固有面の生成または学習段階に関するものです。助けてくれてありがとう、または正しい方向に私を向けてくれてありがとう!

4

2 に答える 2

2

実際、ウィキペディアの Eigenfacesの説明は非常に役に立ちます。質問に答えるには:

  1. はい、多くの異なる人々から写真を撮る必要があります。
  2. いいえ、固有顔は基本的に他の顔を説明する方法を提供します。固有面は、ベクトル空間の基底と考えることができます。自分が持っている固有顔で、認識したい顔を記述できることを確認する必要があります。白人の顔だけを使用して固有顔を決定すると、さまざまなアジア人の顔を表現する際に問題が発生する可能性があり、その逆も同様です。
  3. 固有面は一連の画像から計算されます。つまり、複数の画像は複数の固有面につながります。

編集:ケビンが質問へのコメントに追加した質問に答える:

固有顔を使用する背後にあるアイデアは、固有顔を混ぜ合わせることで顔のイメージを表現できるということです。3 つの固有ef_1, ef_2, ef_3顔があり、顔の画像があるとしますf_1 = a_1 * ef_1 + a_2 * ef_2 + a_3 * ef_3。どの顔で表現しようが固有顔は変わりませんが、その顔には固有の係数a = (a_1, a_2, a_3)があります。これは、2 つの顔を比較するために使用するものです。

しかし、固有顔を使用できる段階に到達するには、まず、観測された顔を固有顔と位置合わせ (登録) する必要があります。これは些細なことではなく、まったく別のトピックです ( pxuの回答を参照)。

PS:作成中のコンピューター ビジョンに関する Stack Overflow の姉妹サイトであるArea 51: Computer Visionに注目することをお勧めします。

于 2011-06-23T11:46:13.923 に答える
1
  1. 考えられるすべての顔をカバーするサポートを実現するには、さまざまな人々が非常に必要です。
  2. すべての次元を表す必要がありますが、その必要はありません。良い例えは、三角形の点の位置を表す重心座標です。頂点の加重平均を取得しています。十分なベクトル サポートがない場合 (たとえば、ポイントが 2 つしかない場合)、加重平均をどのように操作しても、ラインの外側にあるポイントを記述することはできません。これは基本的に、白人とアジア人の顔に対するビョルンツのポイントです。このアナロジーは全体的な単純化であることに注意してください。固有面の重みは、実際には PCA またはフーリエ係数に似ています。
  3. 各画像は、主成分のベクトルである固有面に変換されます。

注記: 顔の非常に優れた登録が必要です。Eigenfaces は、並進/回転の不変性が悪いことで有名です。うまく登録しないと、結果はひどいものになる可能性があります。元の Turk と Pentland の論文は、技術だけでなく、その技術を可能にするために収集されたデータセットの規模と品質においても画期的なものでした。

于 2011-06-23T12:57:48.673 に答える