本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
新增人臉到集合
您可以使用此IndexFaces作業偵測影像中的臉孔並將其加入集合中。對於每個偵測到的人臉,Amazon Rekognition 將擷取人臉特徵並將特徵資訊存放於資料庫中。此外,該命令將為每個在指定人臉集合中偵測到的人臉儲存中繼資料。Amazon Rekognition 不會儲存實際的映像位元組。
如需為編制索引提供適合臉部的相關資訊,請參閱 人臉比較輸入映像的建議。
IndexFaces
操作將保留每個人臉的下列資訊:
-
多維度人臉特徵:
IndexFaces
使用人臉分析來擷取人臉特徵的多維度資訊,並將資訊儲存於人臉集合中。您無法直接存取此資訊。不過,Amazon Rekognition 會在搜尋人臉集合並比對人臉時使用此資訊。 -
中繼資料 — 每個臉孔的中繼資料包括邊界方框、信賴度 (邊界方框包含臉孔)、由 Amazon Rekognition (臉部 ID 和影像 ID) IDs 指派的外部影像 ID,以及外部影像 ID (如果您已提供)。此信息將返回給您以響應
IndexFaces
API呼叫。如需範例,請參閱下列範例回應中的face
元素。服務會傳回此中繼資料以回應下列API呼叫:
-
搜尋臉孔操作 — 回應SearchFaces並SearchFacesByImage傳回每個相符臉孔的相符項目的信賴度,以及相符臉孔的這個中繼資料。
由 IndexFaces
索引的臉部數量取決於與輸入集合相關聯的臉部偵測模型的版本。如需詳細資訊,請參閱了解模型版本控。
有關索引面的資訊會傳回FaceRecord物件陣列中。
您可能想要將編入索引的人臉與偵測到這些人臉的映像連結。例如,您可能想要維護映像的使用者端索引以及映像中的人臉。若要將人臉與映像連結,請在 ExternalImageId
請求參數中指定一個映像 ID。映像 ID 可以是檔案名稱或建立的另一個 ID。
除了先前保API留在臉部集合中的資訊之外,API還會傳回集合中未保留的臉孔詳細資料。(請參閱下列範例回應中的 faceDetail
元素)。
注意
DetectFaces
將傳回相同的資訊,因此您不需要同時呼叫 DetectFaces
和 IndexFaces
。
篩選人臉
此 IndexFaces 作業可讓您篩選從影像建立索引的臉孔。運用 IndexFaces
,您可以指定索引建立時所要使用的最多人臉數目,或者選擇只對高品質偵測人臉建立索引。
使用 MaxFaces
輸入參數,您可以指定 IndexFaces
在建立索引時所用的最多人臉數目。若您在建立索引時想要運用映像中尺寸最大的人臉,而不要使用尺寸最小的人臉時,例如,背景中站立人群的人臉,就能使用這項參數。
在預設情況下,IndexFaces
選擇用於篩選出臉部的品質列。您可以使用 QualityFilter
輸入參數,以明確設定品質列。這些值為:
-
AUTO
:Amazon Rekognition 選擇並不用於篩選出人臉的品質列 (預設值)。 -
LOW
:除了品質最低的人臉之外,所有人臉都會加以索引。 -
MEDIUM
-
HIGH
:僅對品質最高的人臉行索引。 -
NONE
:不會根據品質來篩選掉任何人臉。
IndexFaces
篩選人臉的原因如下:
-
相較於映像尺寸,人臉過小。
-
臉部過於模糊。
-
映像過暗。
-
臉部表情過於誇張。
-
臉部沒有足夠的細節,不適合臉部搜尋。
注意
若要使用品質篩選,您必須使用臉部模型第 3 版或更高版本的相關聯集合。若要取得與集合關聯的臉部模型版本,請呼叫DescribeCollection。
未建立索引之臉孔的相關資訊會傳回UnindexedFace物件陣列中。IndexFaces
Reasons
陣列包含為何無法為人臉建立索引的原因清單。例如,當值為 EXCEEDS_MAX_FACES
時,表示因為已偵測到透過 MaxFaces
指定的人臉數目,所以無法為人臉建立索引。
如需詳細資訊,請參閱管理集合中的人臉。
將面加入至集合的步驟 (SDK)
-
如果您尚未執行:
-
建立或更新具有
AmazonRekognitionFullAccess
和AmazonS3ReadOnlyAccess
許可的使用者。如需詳細資訊,請參閱步驟 1:設定AWS帳戶並建立使用者。 -
安裝並設定 AWS CLI 和 AWS SDKs. 如需詳細資訊,請參閱步驟 2:設定 AWS CLI 以及 AWS SDKs。
-
-
將映像 (含有一個或多個人臉) 上傳至您的 Amazon S3 儲存貯體。
如需指示說明,請參閱《Amazon Simple Storage Service 使用者指南》中的上傳物件至 Amazon S3。
-
使用下列範例來呼叫
IndexFaces
操作。
IndexFaces 操作請求
IndexFaces
的輸入是要索引的映像和新增人臉或人臉的集合。
{ "CollectionId": "MyCollection", "Image": { "S3Object": { "Bucket": "bucket", "Name": "input.jpg" } }, "ExternalImageId": "input.jpg", "DetectionAttributes": [ "DEFAULT" ], "MaxFaces": 1, "QualityFilter": "AUTO" }
IndexFaces 作業回應
IndexFaces
傳回有關在映像中偵測到的人臉的資訊。例如,下列JSON回應包括輸入影像中偵測到的臉孔的預設偵測屬性。此範例也會顯示因為超過MaxFaces
輸入參數值而未建立索引的面孔 — Reasons
陣列包含 EXCEEDS_ MAX _ FACES。如果面因品質原因而未建立索引,則會Reasons
包含諸如 LOW_ SHARPNESS 或 LOW_ 之類的值BRIGHTNESS。如需詳細資訊,請參閱UnindexedFace。
{ "FaceModelVersion": "3.0", "FaceRecords": [ { "Face": { "BoundingBox": { "Height": 0.3247932195663452, "Left": 0.5055555701255798, "Top": 0.2743072211742401, "Width": 0.21444444358348846 }, "Confidence": 99.99998474121094, "ExternalImageId": "input.jpg", "FaceId": "b86e2392-9da1-459b-af68-49118dc16f87", "ImageId": "09f43d92-02b6-5cea-8fbd-9f187db2050d" }, "FaceDetail": { "BoundingBox": { "Height": 0.3247932195663452, "Left": 0.5055555701255798, "Top": 0.2743072211742401, "Width": 0.21444444358348846 }, "Confidence": 99.99998474121094, "Landmarks": [ { "Type": "eyeLeft", "X": 0.5751981735229492, "Y": 0.4010535478591919 }, { "Type": "eyeRight", "X": 0.6511467099189758, "Y": 0.4017036259174347 }, { "Type": "nose", "X": 0.6314528584480286, "Y": 0.4710812568664551 }, { "Type": "mouthLeft", "X": 0.5879443287849426, "Y": 0.5171778798103333 }, { "Type": "mouthRight", "X": 0.6444502472877502, "Y": 0.5164633989334106 } ], "Pose": { "Pitch": -10.313642501831055, "Roll": -1.0316886901855469, "Yaw": 18.079818725585938 }, "Quality": { "Brightness": 71.2919921875, "Sharpness": 78.74752044677734 } } } ], "OrientationCorrection": "", "UnindexedFaces": [ { "FaceDetail": { "BoundingBox": { "Height": 0.1329464465379715, "Left": 0.5611110925674438, "Top": 0.6832437515258789, "Width": 0.08777777850627899 }, "Confidence": 92.37225341796875, "Landmarks": [ { "Type": "eyeLeft", "X": 0.5796897411346436, "Y": 0.7452847957611084 }, { "Type": "eyeRight", "X": 0.6078574657440186, "Y": 0.742687463760376 }, { "Type": "nose", "X": 0.597953200340271, "Y": 0.7620673179626465 }, { "Type": "mouthLeft", "X": 0.5884202122688293, "Y": 0.7920381426811218 }, { "Type": "mouthRight", "X": 0.60627681016922, "Y": 0.7919750809669495 } ], "Pose": { "Pitch": 15.658954620361328, "Roll": -4.583454608917236, "Yaw": 10.558992385864258 }, "Quality": { "Brightness": 42.54612350463867, "Sharpness": 86.93206024169922 } }, "Reasons": [ "EXCEEDS_MAX_FACES" ] } ] }
要獲取所有面部信息,請為DetectionAttributes
請求參數指定 ALL ''。例如,在以下範例回應中可找到 faceDetail
元素中的其它資訊,而這些資訊不會儲存在伺服器上:
-
25 個臉部特徵點 (相較於上述範例中只有 5 個特徵點)
-
十個面部屬性 (眼鏡、鬍鬚、人臉遮挡、眼睛凝視方向等)
-
表情 (請參閱
emotion
元素)
face
元素提供保留在伺服器上的中繼資料。
FaceModelVersion
是與集合相關聯的臉部模型版本。如需詳細資訊,請參閱 了解模型版本控。
OrientationCorrection
是映像的估計方向。如果您使用的臉部偵測模型版本大於第 3 版,則不會傳回方向更正資訊。如需詳細資訊,請參閱取得映像方向與週框方塊座標。
下列範例回應顯示指定 [」ALL「] JSON 時傳回的回應:
{ "FaceModelVersion": "3.0", "FaceRecords": [ { "Face": { "BoundingBox": { "Height": 0.06333333253860474, "Left": 0.17185185849666595, "Top": 0.7366666793823242, "Width": 0.11061728745698929 }, "Confidence": 99.99999237060547, "ExternalImageId": "input.jpg", "FaceId": "578e2e1b-d0b0-493c-aa39-ba476a421a34", "ImageId": "9ba38e68-35b6-5509-9d2e-fcffa75d1653" }, "FaceDetail": { "AgeRange": { "High": 25, "Low": 15 }, "Beard": { "Confidence": 99.98077392578125, "Value": false }, "BoundingBox": { "Height": 0.06333333253860474, "Left": 0.17185185849666595, "Top": 0.7366666793823242, "Width": 0.11061728745698929 }, "Confidence": 99.99999237060547, "Emotions": [ { "Confidence": 95.40877532958984, "Type": "HAPPY" }, { "Confidence": 6.6088080406188965, "Type": "CALM" }, { "Confidence": 0.7385611534118652, "Type": "SAD" } ], "EyeDirection": { "yaw": 16.299732, "pitch": -6.407457, "confidence": 99.968704 } "Eyeglasses": { "Confidence": 99.96795654296875, "Value": false }, "EyesOpen": { "Confidence": 64.0671157836914, "Value": true }, "Gender": { "Confidence": 100, "Value": "Female" }, "Landmarks": [ { "Type": "eyeLeft", "X": 0.21361233294010162, "Y": 0.757106363773346 }, { "Type": "eyeRight", "X": 0.2518567442893982, "Y": 0.7599404454231262 }, { "Type": "nose", "X": 0.2262365221977234, "Y": 0.7711842060089111 }, { "Type": "mouthLeft", "X": 0.2050037682056427, "Y": 0.7801263332366943 }, { "Type": "mouthRight", "X": 0.2430567592382431, "Y": 0.7836716771125793 }, { "Type": "leftPupil", "X": 0.2161938101053238, "Y": 0.756662905216217 }, { "Type": "rightPupil", "X": 0.2523181438446045, "Y": 0.7603650689125061 }, { "Type": "leftEyeBrowLeft", "X": 0.20066319406032562, "Y": 0.7501518130302429 }, { "Type": "leftEyeBrowUp", "X": 0.2130996286869049, "Y": 0.7480520606040955 }, { "Type": "leftEyeBrowRight", "X": 0.22584207355976105, "Y": 0.7504606246948242 }, { "Type": "rightEyeBrowLeft", "X": 0.24509544670581818, "Y": 0.7526801824569702 }, { "Type": "rightEyeBrowUp", "X": 0.2582615911960602, "Y": 0.7516844868659973 }, { "Type": "rightEyeBrowRight", "X": 0.26881539821624756, "Y": 0.7554477453231812 }, { "Type": "leftEyeLeft", "X": 0.20624476671218872, "Y": 0.7568746209144592 }, { "Type": "leftEyeRight", "X": 0.22105035185813904, "Y": 0.7582521438598633 }, { "Type": "leftEyeUp", "X": 0.21401576697826385, "Y": 0.7553104162216187 }, { "Type": "leftEyeDown", "X": 0.21317370235919952, "Y": 0.7584449648857117 }, { "Type": "rightEyeLeft", "X": 0.24393919110298157, "Y": 0.7600628137588501 }, { "Type": "rightEyeRight", "X": 0.2598416209220886, "Y": 0.7605880498886108 }, { "Type": "rightEyeUp", "X": 0.2519053518772125, "Y": 0.7582084536552429 }, { "Type": "rightEyeDown", "X": 0.25177454948425293, "Y": 0.7612871527671814 }, { "Type": "noseLeft", "X": 0.2185886949300766, "Y": 0.774715781211853 }, { "Type": "noseRight", "X": 0.23328955471515656, "Y": 0.7759330868721008 }, { "Type": "mouthUp", "X": 0.22446128726005554, "Y": 0.7805567383766174 }, { "Type": "mouthDown", "X": 0.22087252140045166, "Y": 0.7891407608985901 } ], "MouthOpen": { "Confidence": 95.87068939208984, "Value": false }, "Mustache": { "Confidence": 99.9828109741211, "Value": false }, "Pose": { "Pitch": -0.9409101605415344, "Roll": 7.233824253082275, "Yaw": -2.3602254390716553 }, "Quality": { "Brightness": 32.01998519897461, "Sharpness": 93.67259216308594 }, "Smile": { "Confidence": 86.7142105102539, "Value": true }, "Sunglasses": { "Confidence": 97.38925170898438, "Value": false } } } ], "OrientationCorrection": "ROTATE_0" "UnindexedFaces": [] }