顔認識の概念Face recognition concepts

この記事では、顔認識操作の確認、類似検索、グループ化、識別の概念と基になるデータ構造について説明します。This article explains the concepts of the Verify, Find Similar, Group, and Identify face recognition operations and the underlying data structures. 認識は広く、顔が同様であるか、同じ人に属しているかを判断するために、2 つの異なる顔を比較する作業のことを表します。Broadly, recognition describes the work of comparing two different faces to determine if they're similar or belong to the same person.

認識操作では、主に次のデータ構造を使用します。The recognition operations use mainly the following data structures. これらのオブジェクトはクラウドに格納され、その ID 文字列によって表すことができます。These objects are stored in the cloud and can be referenced by their ID strings. ID 文字列は、サブスクリプション内で常に一意です。ID strings are always unique within a subscription. 名前フィールドは重複している可能性があります。Name fields can be duplicated.

NameName 説明Description
DetectedFaceDetectedFace この 1 つの顔の表現は、顔検出操作によって取得されます。This single face representation is retrieved by the face detection operation. その ID は作成後 24 時間で期限が切れます。Its ID expires 24 hours after it's created.
PersistedFacePersistedFace DetectedFace オブジェクトがグループ (FaceList または Person) に追加されると、これらは PersistedFace オブジェクトになります。When DetectedFace objects are added to a group, such as FaceList or Person, they become PersistedFace objects. これらはいつでも取得することができ、期限が切れることはありません。They can be retrieved at any time and don't expire.
FaceList または LargeFaceListFaceList or LargeFaceList このデータ構造は、PersistedFace オブジェクトの類別された一覧です。This data structure is an assorted list of PersistedFace objects. FaceList には一意の ID、名前の文字列が含まれ、任意でユーザー データの文字列が含まれます。A FaceList has a unique ID, a name string, and optionally a user data string.
PersonPerson このデータ構造は、同じ人に属する PersistedFace オブジェクトの一覧です。This data structure is a list of PersistedFace objects that belong to the same person. これには一意の ID、名前の文字列が含まれ、任意でユーザー データの文字列が含まれます。It has a unique ID, a name string, and optionally a user data string.
PersonGroup または LargePersonGroupPersonGroup or LargePersonGroup このデータ構造は、Person オブジェクトの類別された一覧です。This data structure is an assorted list of Person objects. これには一意の ID、名前の文字列が含まれ、任意でユーザー データの文字列が含まれます。It has a unique ID, a name string, and optionally a user data string. PersonGroup は、認識操作で使用するには、その前にトレーニングする必要があります。A PersonGroup must be trained before it can be used in recognition operations.

認識操作Recognition operations

このセクションでは、4 つの認識操作で前に示されたデータ構造をどのように使用するかについて説明します。This section details how the four recognition operations use the data structures previously described. それぞれの認識操作の広範な説明については、概要に関するページを参照してください。For a broad description of each recognition operation, see Overview.

Verify (英語の可能性あり)Verify

確認操作では、DetectedFace または PersistedFace からの顔 ID と、別の顔 ID または Person オブジェクトのいずれかを取得し、同じ人に属しているかどうかを判断します。The Verify operation takes a face ID from DetectedFace or PersistedFace and either another face ID or a Person object and determines whether they belong to the same person. Person オブジェクトを渡す場合、パフォーマンスを向上させるために、任意で Person が属している PersonGroup を渡すことができます。If you pass in a Person object, you can optionally pass in a PersonGroup to which that Person belongs to improve performance.

類似検索Find Similar

Find Similar 操作では、DetectedFace または PersistedFace から顔 ID と、FaceList または他の顔 ID の配列のいずれかを取得します。The Find Similar operation takes a face ID from DetectedFace or PersistedFace and either a FaceList or an array of other face IDs. FaceList を使用すると、指定した顔と同様の顔のより小さい FaceList が返されます。With a FaceList, it returns a smaller FaceList of faces that are similar to the given face. 顔 ID の配列を使用すると、同様により小さい配列が返されます。With an array of face IDs, it similarly returns a smaller array.

GroupGroup

グループ化操作では、DetectedFace または PersistedFace から類別された顔 ID の配列を取得し、いくつかのより小さい配列にグループ化された同じ ID が返されます。The Group operation takes an array of assorted face IDs from DetectedFace or PersistedFace and returns the same IDs grouped into several smaller arrays. 各 "groups" 配列には、類似している顔 ID が含まれます。Each "groups" array contains face IDs that appear similar. 1 つの "messyGroup" 配列には、類似点が見つからなかった顔 ID が含まれます。A single "messyGroup" array contains face IDs for which no similarities were found.

識別Identify

識別操作では、DetectedFace または PersistedFace および PersonGroup から 1 つまたは複数の顔 ID を取得し、それぞれの顔が属している可能性がある Person オブジェクトの一覧を返します。The Identify operation takes one or several face IDs from DetectedFace or PersistedFace and a PersonGroup and returns a list of Person objects that each face might belong to. 返される Person オブジェクトは、予測信頼度値を含む Candidate オブジェクトとしてまとめられます。Returned Person objects are wrapped as Candidate objects, which have a prediction confidence value.

入力データInput data

次のヒントを使用して、確実に入力画像から最も正確な認識結果が得られるようにします。Use the following tips to ensure that your input images give the most accurate recognition results:

  • サポートされている入力画像形式は、JPEG、PNG、GIF (最初のフレーム)、BMP です。The supported input image formats are JPEG, PNG, GIF (the first frame), BMP.
  • 画像ファイル サイズは 6 MB 以内であることが必要です。Image file size should be no larger than 6 MB.
  • Person オブジェクトを作成するときに、さまざまな種類の角度と照明を備えた写真を使用します。When you create Person objects, use photos that feature different kinds of angles and lighting.
  • 次のような技術的な課題のために、一部の顔を認識できない場合があります。Some faces might not be recognized because of technical challenges, such as:
    • 強すぎる照明を含む画像 (強烈な逆光照明など)Images with extreme lighting, for example, severe backlighting.
    • 一方または両方の目を遮っている障害物Obstructions that block one or both eyes.
    • 髪質や顔の毛の違いDifferences in hair type or facial hair.
    • 年齢による顔立ちの変化Changes in facial appearance because of age.
    • 極端な表情Extreme facial expressions.

次のステップNext steps

顔認識の概念を理解したので、トレーニング済みの PersonGroup に対して顔を識別するスクリプトを作成します。Now that you're familiar with face recognition concepts, Write a script that identifies faces against a trained PersonGroup.