

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
<a name="add-faces-to-collection-procedure"></a>

È possibile utilizzare l'operazione [IndexFaces](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_IndexFaces.html) 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](recommendations-facial-input-images.md).

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 vengono restituite in risposta alla chiamata API `IndexFaces`. Per un esempio, consulta l'elemento `face` nella seguente risposta di esempio.

  Il servizio restituisce questi metadata in risposta alle seguenti chiamate API:

   
  +  `[ListFaces](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_ListFaces.html)` 
  + Operazioni di ricerca di volti - Le risposte per [SearchFaces](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_SearchFaces.html) e [SearchFacesByImage](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_SearchFacesByImage.html) restituiscono il livello di affidabilità per ogni volto corrispondente, insieme a questi metadata del volto.

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](face-detection-model.md). 

Informazioni su come i volti indicizzati vengono restituiti in una serie di oggetti [FaceRecord](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_FaceRecord.html).

È 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 trattenute dall'API nella raccolta di volti, l'API restituisce inoltre i dettagli dei volti non trattenuti 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
<a name="index-faces-filtering"></a>

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 avere la versione del modello facciale associato a una raccolta contatta [DescribeCollection](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DescribeCollection.html). 

Le informazioni sui volti che non sono indicizzati da `IndexFaces` vengono restituite in una serie di oggetti [UnindexedFace](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_UnindexedFace.html). 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](managing-face-collections.md#collections-index-faces). 



**Per aggiungere volti a una raccolta (SDK)**

1. Se non lo hai già fatto:

   1. Crea o aggiorna un utente con le autorizzazioni `AmazonRekognitionFullAccess` e `AmazonS3ReadOnlyAccess`. Per ulteriori informazioni, consulta [Fase 1: impostazione di un account AWS e creazione di un utente](setting-up.md#setting-up-iam).

   1. Installa e configura il AWS CLI e il. AWS SDKs Per ulteriori informazioni, consulta [Passaggio 2: configura AWS CLI e AWS SDKs](setup-awscli-sdk.md).

1. Carica un'immagine (contenente uno o più volti) nel bucket Amazon S3. 

   Per le istruzioni, consulta [Caricamento di oggetti in Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UploadingObjectsintoAmazonS3.html) nella *Guida per l'utente di Amazon Simple Storage Service*.

1. Utilizzare i seguenti esempi per richiamare l'operazione `IndexFaces`.

------
#### [ Java ]

   In questo esempio vengono visualizzati gli identificatori dei volti aggiunti alla raccolta.

   Modifica il valore di `collectionId` nel nome della raccolta a cui desideri aggiungere un volto. Sostituisci i valori `bucket` e `photo` con i nomi del bucket Amazon S3 e dell'immagine utilizzati nella fase 2. Il parametro `.withMaxFaces(1)` limita il numero di facce indicizzate a 1. Rimuovi o modifica il valore in base alle tue esigenze.

   ```
   //Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
   //PDX-License-Identifier: MIT-0 (For details, see https://github.com/awsdocs/amazon-rekognition-developer-guide/blob/master/LICENSE-SAMPLECODE.)
   
   package aws.example.rekognition.image;
   
   import com.amazonaws.services.rekognition.AmazonRekognition;
   import com.amazonaws.services.rekognition.AmazonRekognitionClientBuilder;
   import com.amazonaws.services.rekognition.model.FaceRecord;
   import com.amazonaws.services.rekognition.model.Image;
   import com.amazonaws.services.rekognition.model.IndexFacesRequest;
   import com.amazonaws.services.rekognition.model.IndexFacesResult;
   import com.amazonaws.services.rekognition.model.QualityFilter;
   import com.amazonaws.services.rekognition.model.S3Object;
   import com.amazonaws.services.rekognition.model.UnindexedFace;
   import java.util.List;
   
   public class AddFacesToCollection {
       public static final String collectionId = "MyCollection";
       public static final String bucket = "bucket";
       public static final String photo = "input.jpg";
   
       public static void main(String[] args) throws Exception {
   
           AmazonRekognition rekognitionClient = AmazonRekognitionClientBuilder.defaultClient();
   
           Image image = new Image()
                   .withS3Object(new S3Object()
                   .withBucket(bucket)
                   .withName(photo));
           
           IndexFacesRequest indexFacesRequest = new IndexFacesRequest()
                   .withImage(image)
                   .withQualityFilter(QualityFilter.AUTO)
                   .withMaxFaces(1)
                   .withCollectionId(collectionId)
                   .withExternalImageId(photo)
                   .withDetectionAttributes("DEFAULT");
   
           IndexFacesResult indexFacesResult = rekognitionClient.indexFaces(indexFacesRequest);
           
           System.out.println("Results for " + photo);
           System.out.println("Faces indexed:");
           List<FaceRecord> faceRecords = indexFacesResult.getFaceRecords();
           for (FaceRecord faceRecord : faceRecords) {
               System.out.println("  Face ID: " + faceRecord.getFace().getFaceId());
               System.out.println("  Location:" + faceRecord.getFaceDetail().getBoundingBox().toString());
           }
           
           List<UnindexedFace> unindexedFaces = indexFacesResult.getUnindexedFaces();
           System.out.println("Faces not indexed:");
           for (UnindexedFace unindexedFace : unindexedFaces) {
               System.out.println("  Location:" + unindexedFace.getFaceDetail().getBoundingBox().toString());
               System.out.println("  Reasons:");
               for (String reason : unindexedFace.getReasons()) {
                   System.out.println("   " + reason);
               }
           }
       }
   }
   ```

------
#### [ Java V2 ]

   Questo codice è tratto dal GitHub repository degli esempi di AWS Documentation SDK. Guarda l'esempio completo [qui](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javav2/example_code/rekognition/src/main/java/com/example/rekognition/AddFacesToCollection.java).

   ```
   //snippet-start:[rekognition.java2.add_faces_collection.import]
   import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider;
   import software.amazon.awssdk.core.SdkBytes;
   import software.amazon.awssdk.regions.Region;
   import software.amazon.awssdk.services.rekognition.RekognitionClient;
   import software.amazon.awssdk.services.rekognition.model.IndexFacesResponse;
   import software.amazon.awssdk.services.rekognition.model.IndexFacesRequest;
   import software.amazon.awssdk.services.rekognition.model.Image;
   import software.amazon.awssdk.services.rekognition.model.QualityFilter;
   import software.amazon.awssdk.services.rekognition.model.Attribute;
   import software.amazon.awssdk.services.rekognition.model.FaceRecord;
   import software.amazon.awssdk.services.rekognition.model.UnindexedFace;
   import software.amazon.awssdk.services.rekognition.model.RekognitionException;
   import software.amazon.awssdk.services.rekognition.model.Reason;
   import java.io.FileInputStream;
   import java.io.FileNotFoundException;
   import java.io.InputStream;
   import java.util.List;
   //snippet-end:[rekognition.java2.add_faces_collection.import]
   
   /**
   * Before running this Java V2 code example, set up your development environment, including your credentials.
   *
   * For more information, see the following documentation topic:
   *
   * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html
   */
   public class AddFacesToCollection {
   
    public static void main(String[] args) {
   
        final String usage = "\n" +
            "Usage: " +
            "    <collectionId> <sourceImage>\n\n" +
            "Where:\n" +
            "    collectionName - The name of the collection.\n" +
            "    sourceImage - The path to the image (for example, C:\\AWS\\pic1.png). \n\n";
   
        if (args.length != 2) {
            System.out.println(usage);
            System.exit(1);
        }
   
        String collectionId = args[0];
        String sourceImage = args[1];
        Region region = Region.US_EAST_1;
        RekognitionClient rekClient = RekognitionClient.builder()
            .region(region)
            .credentialsProvider(ProfileCredentialsProvider.create("profile-name"))
            .build();
   
        addToCollection(rekClient, collectionId, sourceImage);
        rekClient.close();
    }
   
    // snippet-start:[rekognition.java2.add_faces_collection.main]
    public static void addToCollection(RekognitionClient rekClient, String collectionId, String sourceImage) {
   
        try {
            InputStream sourceStream = new FileInputStream(sourceImage);
            SdkBytes sourceBytes = SdkBytes.fromInputStream(sourceStream);
            Image souImage = Image.builder()
                .bytes(sourceBytes)
                .build();
   
            IndexFacesRequest facesRequest = IndexFacesRequest.builder()
                .collectionId(collectionId)
                .image(souImage)
                .maxFaces(1)
                .qualityFilter(QualityFilter.AUTO)
                .detectionAttributes(Attribute.DEFAULT)
                .build();
   
            IndexFacesResponse facesResponse = rekClient.indexFaces(facesRequest);
            System.out.println("Results for the image");
            System.out.println("\n Faces indexed:");
            List<FaceRecord> faceRecords = facesResponse.faceRecords();
            for (FaceRecord faceRecord : faceRecords) {
                System.out.println("  Face ID: " + faceRecord.face().faceId());
                System.out.println("  Location:" + faceRecord.faceDetail().boundingBox().toString());
            }
   
            List<UnindexedFace> unindexedFaces = facesResponse.unindexedFaces();
            System.out.println("Faces not indexed:");
            for (UnindexedFace unindexedFace : unindexedFaces) {
                System.out.println("  Location:" + unindexedFace.faceDetail().boundingBox().toString());
                System.out.println("  Reasons:");
                for (Reason reason : unindexedFace.reasons()) {
                    System.out.println("Reason:  " + reason);
                }
            }
   
        } catch (RekognitionException | FileNotFoundException e) {
            System.out.println(e.getMessage());
            System.exit(1);
        }
    }
    // snippet-end:[rekognition.java2.add_faces_collection.main]
   }
   ```

------
#### [ AWS CLI ]

   Questo AWS CLI comando visualizza l'output JSON per l'operazione `index-faces` CLI. 

   Sostituisci il valore di `collection-id` con il nome della raccolta in cui desideri archiviare il volto. Sostituisci i valori `Bucket` e `Name` con il nome del bucket Amazon S3 e il nome del file di immagine utilizzato nella fase 2. Il parametro `max-faces` limita il numero di facce indicizzate a 1. Rimuovi o modifica il valore in base alle tue esigenze. Sostituisci il valore di `profile_name` nella riga che crea la sessione di Rekognition con il nome del tuo profilo di sviluppatore.

   ```
   aws rekognition index-faces --image '{"S3Object":{"Bucket":"bucket-name","Name":"file-name"}}' --collection-id "collection-id" \
                                   --max-faces 1 --quality-filter "AUTO" --detection-attributes "ALL" \ 
                                   --external-image-id "example-image.jpg" --profile profile-name
   ```

    Se accedi alla CLI da un dispositivo Windows, usa le virgolette doppie anziché le virgolette singole ed evita le virgolette doppie interne tramite barra rovesciata (ovvero, \$1) per risolvere eventuali errori del parser che potresti riscontrare. Per un esempio, consulta quanto segue: 

   ```
   aws rekognition index-faces --image "{\"S3Object\":{\"Bucket\":\"bucket-name\",\"Name\":\"image-name\"}}" \
   --collection-id "collection-id" --max-faces 1 --quality-filter "AUTO" --detection-attributes "ALL" \ 
   --external-image-id "example-image.jpg" --profile profile-name
   ```

------
#### [ Python ]

   In questo esempio vengono visualizzati gli identificatori dei volti aggiunti alla raccolta.

   Modifica il valore di `collectionId` nel nome della raccolta a cui desideri aggiungere un volto. Sostituisci i valori `bucket` e `photo` con i nomi del bucket Amazon S3 e dell'immagine utilizzati nella fase 2. Il parametro di input `MaxFaces` limita il numero di facce indicizzate a 1. Rimuovi o modifica il valore in base alle tue esigenze. Sostituisci il valore di `profile_name` nella riga che crea la sessione di Rekognition con il nome del tuo profilo di sviluppatore. 

   ```
   # Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
   # PDX-License-Identifier: MIT-0 (For details, see https://github.com/awsdocs/amazon-rekognition-developer-guide/blob/master/LICENSE-SAMPLECODE.)
   
   import boto3
   
   def add_faces_to_collection(bucket, photo, collection_id):
   
       session = boto3.Session(profile_name='profile-name')
       client = session.client('rekognition')
   
       response = client.index_faces(CollectionId=collection_id,
                                     Image={'S3Object': {'Bucket': bucket, 'Name': photo}},
                                     ExternalImageId=photo,
                                     MaxFaces=1,
                                     QualityFilter="AUTO",
                                     DetectionAttributes=['ALL'])
   
       print('Results for ' + photo)
       print('Faces indexed:')
       for faceRecord in response['FaceRecords']:
           print('  Face ID: ' + faceRecord['Face']['FaceId'])
           print('  Location: {}'.format(faceRecord['Face']['BoundingBox']))
   
       print('Faces not indexed:')
       for unindexedFace in response['UnindexedFaces']:
           print(' Location: {}'.format(unindexedFace['FaceDetail']['BoundingBox']))
           print(' Reasons:')
           for reason in unindexedFace['Reasons']:
               print('   ' + reason)
       return len(response['FaceRecords'])
   
   def main():
       bucket = 'amzn-s3-demo-bucket'
       collection_id = 'collection-id'
       photo = 'photo-name'
   
       indexed_faces_count = add_faces_to_collection(bucket, photo, collection_id)
       print("Faces indexed count: " + str(indexed_faces_count))
   
   if __name__ == "__main__":
       main()
   ```

------
#### [ .NET ]

   In questo esempio vengono visualizzati gli identificatori dei volti aggiunti alla raccolta.

   Modifica il valore di `collectionId` nel nome della raccolta a cui desideri aggiungere un volto. Sostituisci i valori `bucket` e `photo` con i nomi del bucket Amazon S3 e dell'immagine utilizzati nella fase 2. 

   ```
   //Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
   //PDX-License-Identifier: MIT-0 (For details, see https://github.com/awsdocs/amazon-rekognition-developer-guide/blob/master/LICENSE-SAMPLECODE.)
   
   using System;
   using System.Collections.Generic;
   using Amazon.Rekognition;
   using Amazon.Rekognition.Model;
   
   public class AddFaces
   {
       public static void Example()
       {
           String collectionId = "MyCollection";
           String bucket = "amzn-s3-demo-bucket";
           String photo = "input.jpg";
   
           AmazonRekognitionClient rekognitionClient = new AmazonRekognitionClient();
   
           Image image = new Image()
           {
               S3Object = new S3Object()
               {
                   Bucket = bucket,
                   Name = photo
               }
           };
   
           IndexFacesRequest indexFacesRequest = new IndexFacesRequest()
           {
               Image = image,
               CollectionId = collectionId,
               ExternalImageId = photo,
               DetectionAttributes = new List<String>(){ "ALL" }
           };
   
           IndexFacesResponse indexFacesResponse = rekognitionClient.IndexFaces(indexFacesRequest);
   
           Console.WriteLine(photo + " added");
           foreach (FaceRecord faceRecord in indexFacesResponse.FaceRecords)
               Console.WriteLine("Face detected: Faceid is " +
                  faceRecord.Face.FaceId);
       }
   }
   ```

------

## IndexFaces richiesta di operazione
<a name="indexfaces-request"></a>

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
<a name="indexfaces-operation-response"></a>

`IndexFaces` restituisce le informazioni sui volti rilevati nell'immagine. Ad esempio, la seguente risposta JSON include gli attributi di rilevamento predefiniti per i volti rilevati nell'immagine di input. L'esempio mostra anche volti non indicizzati, poiché il valore del parametro di input `MaxFaces` è stato superato: la matrice `Reasons` contiene *EXCEEDS\$1MAX\$1FACES*. Se una faccia non è indicizzata per motivi di qualità, `Reasons` contiene valori come *LOW\$1SHARPNESS* o *LOW\$1BRIGHTNESS*. Per ulteriori informazioni, consulta [UnindexedFace](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_UnindexedFace.html).

```
{
    "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 sui volti, specificare 'ALL' per il parametro di richiesta `DetectionAttributes`. 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](face-detection-model.md).

`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](images-orientation.md).

Il seguente esempio di risposta mostra il JSON restituito 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": []
}
```