Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Aggiunta di volti a una raccolta
È possibile utilizzare l'IndexFacesoperazione per rilevare i volti in un'immagine e aggiungerli a una raccolta. Per ogni volto rilevato, Amazon Rekognition ne estrae le caratteristiche e ne archivia le informazioni in un database. Inoltre, il comando archivia i metadati per ogni volto rilevato nella raccolta specificata. Amazon Rekognition non archivia i byte di immagine effettivi.
Per informazioni sulla fornitura di volti idonei per l'indicizzazione, consulta Raccomandazioni per immagini di input di confronto di volti.
Per ogni volto, l'operazione IndexFaces
rende persistenti le informazioni seguenti:
-
Caratteristiche multidimensionali dei volti:
IndexFaces
utilizza l'analisi dei volti per estrarre informazioni multidimensionali sulle caratteristiche dei volti e archiviarle nella raccolta. Non è possibile accedere direttamente a queste informazioni. Tuttavia, Amazon Rekognition utilizza queste informazioni durante la ricerca di corrispondenze in una raccolta di volti. -
Metadati: i metadati per ogni faccia includono un riquadro di delimitazione, un livello di confidenza (che il riquadro di delimitazione contenga una faccia), assegnato da IDs Amazon Rekognition (face ID e image ID) e un ID immagine esterno (se lo hai fornito) nella richiesta. Queste informazioni ti vengono restituite in risposta alla chiamata.
IndexFaces
API Per un esempio, consulta l'elementoface
nella seguente risposta di esempio.Il servizio restituisce questi metadati in risposta alle seguenti API chiamate:
-
Operazioni di ricerca dei volti: le risposte SearchFacese SearchFacesByImagerestituiscono l'affidabilità della corrispondenza per ogni volto corrispondente, insieme ai metadati del volto corrispondente.
Il numero di volti indicizzati da IndexFaces
dipende della versione del modello di rilevamento volti associato alla raccolta di input. Per ulteriori informazioni, consulta Comprendere il controllo delle versioni dei modelli.
Le informazioni sui volti indicizzati vengono restituite in una serie di oggetti. FaceRecord
È possibile associare volti indicizzati all'immagine in cui sono stati rilevati. Ad esempio, è possibile mantenere un indice lato client di immagini e volti nelle immagini. Per associare volti a un'immagine, specificare un'ID immagine nel parametro di richiesta ExternalImageId
. L'ID immagine può essere il nome del file o un altro ID creato.
Oltre alle informazioni precedenti secondo cui API persiste nella raccolta di volti, restituisce API anche dettagli del viso che non sono persistenti nella raccolta. (Consulta l'elemento faceDetail
nella seguente risposta di esempio).
Nota
DetectFaces
restituisce le stesse informazioni, perciò non è necessario chiamare sia DetectFaces
che IndexFaces
per la stessa immagine.
Filtraggio dei volti
L' IndexFaces operazione consente di filtrare i volti indicizzati da un'immagine. Con IndexFaces
è possibile specificare un numero massimo di volti da indicizzare, oppure è possibile scegliere solo facce rilevate con un indice di alta qualità.
È possibile specificare il numero massimo di volti indicizzati, IndexFaces
utilizzando il parametro di input MaxFaces
. Questa funzione è utile quando si vogliono indicizzare i volti più grandi in un'immagine e non le facce più piccole, come quelle di persone che sono sullo sfondo.
Per impostazione predefinita, IndexFaces
sceglie un livello di qualità utilizzato per filtrare i volti. È possibile utilizzare il parametro di input QualityFilter
per impostare esplicitamente il livello di qualità. I valori sono:
-
AUTO
: Amazon Rekognition sceglie il livello di qualità utilizzato per filtrare i volti (valore predefinito). -
LOW
: tutti i volti, tranne quelli di qualità più bassa, vengono indicizzati. -
MEDIUM
-
HIGH
: vengono indicizzati solo i volti di migliore qualità. -
NONE
: non viene indicizzato alcun volto in base alla qualità.
IndexFaces
filtra i volti per i seguenti motivi:
-
Il volto è troppo piccolo rispetto alle dimensioni dell'immagine.
-
Il volto è troppo sfocato.
-
L'immagine è troppo scura.
-
La faccia ha una posa esagerata.
-
Il volto non ha abbastanza dettagli per essere adatto alla ricerca di volti.
Nota
Per utilizzare il filtraggio della qualità, hai bisogno di una raccolta associata alla versione 3 o superiore del modello facciale. Per ottenere la versione del modello facciale associata a una collezione, chiama. DescribeCollection
Le informazioni sui volti che non sono indicizzati da IndexFaces
vengono restituite in una serie di UnindexedFaceoggetti. La serie Reasons
contiene un elenco di motivi per cui un volto non è stato indicizzato. Ad esempio, il valore EXCEEDS_MAX_FACES
rappresenta un volto non indicizzato poiché il numero di volti specificato da MaxFaces
è già stato rilevato.
Per ulteriori informazioni, consulta Gestione dei volti in una raccolta.
Per aggiungere volti a una raccolta () SDK
-
Se non lo hai già fatto:
-
Crea o aggiorna un utente con le autorizzazioni
AmazonRekognitionFullAccess
eAmazonS3ReadOnlyAccess
. Per ulteriori informazioni, consulta Passaggio 1: configura un AWS account e crea un utente. -
Installa e configura il AWS CLI e il AWS SDKs. Per ulteriori informazioni, consulta Fase 2: Configurare il AWS CLI e AWS SDKs.
-
-
Carica un'immagine (contenente uno o più volti) nel bucket Amazon S3.
Per le istruzioni, consulta Caricamento di oggetti in Amazon S3 nella Guida per l'utente di Amazon Simple Storage Service.
-
Utilizzare i seguenti esempi per richiamare l'operazione
IndexFaces
.
IndexFaces richiesta di operazione
L'input per IndexFaces
è l'immagine da indicizzare e la raccolta a cui aggiungere i volti.
{ "CollectionId": "MyCollection", "Image": { "S3Object": { "Bucket": "bucket", "Name": "input.jpg" } }, "ExternalImageId": "input.jpg", "DetectionAttributes": [ "DEFAULT" ], "MaxFaces": 1, "QualityFilter": "AUTO" }
IndexFaces risposta operativa
IndexFaces
restituisce le informazioni sui volti rilevati nell'immagine. Ad esempio, la JSON risposta seguente include gli attributi di rilevamento predefiniti per i volti rilevati nell'immagine di input. L'esempio mostra anche volti non indicizzati perché il valore del parametro di MaxFaces
input è stato superato: l'Reasons
array contiene EXCEEDS _ _. MAX FACES Se una faccia non è indicizzata per motivi di qualità, Reasons
contiene valori come _ o _. LOW SHARPNESS LOW BRIGHTNESS Per ulteriori informazioni, vedere. 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" ] } ] }
Per ottenere tutte le informazioni sul viso, specifica ALL '' come parametro di DetectionAttributes
richiesta. Ad esempio, nella seguente risposta, notare le informazioni aggiuntive nell'elemento faceDetail
, non conservato nel server:
-
25 punti di riferimento del volto (rispetto a solo cinque nell'esempio precedente)
-
Dieci attributi del volto (occhiali, barba, occlusione, direzione dello sguardo e così via)
-
Emozioni (osserva l'elemento
emotion
)
L'elemento face
fornisce i metadati resi persistenti nel server.
FaceModelVersion
è la versione del modello di volto associato alla raccolta. Per ulteriori informazioni, consulta Comprendere il controllo delle versioni dei modelli.
OrientationCorrection
è l'orientamento stimato dell'immagine. Le informazioni sulla correzione dell'orientamento non vengono restituite se utilizzi un modello di rilevamento facciale successivo alla versione 3. Per ulteriori informazioni, consulta Ottenere l'orientamento dell'immagine e le coordinate del riquadro di delimitazione.
Il seguente esempio di risposta mostra la risposta restituita JSON quando si specifica [» ALL «]:
{ "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": [] }