

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Compréhension des images
<a name="modalities-image"></a>

**Note**  
Cette documentation concerne la version 1 d'Amazon Nova. Pour consulter le guide de compréhension des images Amazon Nova 2, consultez [Image understanding](https://docs.aws.amazon.com/nova/latest/nova2-userguide/using-multimodal-models.html#image-understanding).

Les modèles Amazon Nova vous permettent d’inclure plusieurs images dans les données utiles, avec une limite totale de 25 Mo. Cependant, vous pouvez spécifier une URI Amazon S3 contenant vos images pour la compréhension des images. Cette approche vous permet d’utiliser le modèle pour des images plus grandes et plus nombreuses sans être limité par la limite de 25 Mo des données utiles. Les modèles Amazon Nova peuvent analyser les images transmises et répondre à des questions, classer les images et les résumer en fonction des instructions que vous fournissez.

## Informations sur la taille des images
<a name="modalities-image-resolution"></a>

Afin de fournir les meilleurs résultats possibles, Amazon Nova redimensionne automatiquement les images d’entrée à la hausse ou à la baisse en fonction de leur rapport d’aspect et de leur résolution d’origine. Pour chaque image, Amazon Nova identifie d’abord le rapport d’aspect le plus proche parmi 1:1, 1:2, 1:3, 1:4, 1:5, 1:6, 1:7, 1:8, 1:9, 2:3, 2:4 et leurs transpositions. L’image est ensuite redimensionnée de manière à ce qu’au moins un côté de l’image soit supérieur à 896 pixels ou à la longueur du côté le plus court de l’image d’origine, tout en conservant le rapport d’aspect le plus proche. La résolution maximale est de 8 000 x 8 000 pixels

## Détection des cadres
<a name="modalities-image-bounding"></a>

Les modèles Amazon Nova Lite et Amazon Nova Pro sont entraînés à détecter avec précision les cadres dans les images. Cette capacité peut s’avérer précieuse lorsque l’objectif est d’obtenir les coordonnées d’un objet spécifique d’intérêt. La fonctionnalité de détection des cadres de sélection du modèle Amazon Nova en fait un candidat idéal pour les tâches d’ancrage d’images, permettant ainsi une meilleure compréhension des captures d’écran. Le modèle Amazon Nova génère des cadres de sélection à l’échelle [0, 1000), et une fois ces coordonnées obtenues, elles peuvent être redimensionnées en fonction des dimensions de l’image lors d’une étape de post-traitement.

## Conversion d’images en jetons
<a name="modalities-image-tokens"></a>

Comme indiqué précédemment, les images sont redimensionnées afin d’optimiser l’extraction d’informations, tout en conservant le rapport d’aspect. Voici quelques exemples de dimensions d’images et de calculs approximatifs de jetons.


| image\$1resolution (HxL ou LxH) | 900 x 450 | 900 x 900 | 1400 x 900 | 1,8K x 900 | 1,3Kx1,3K | 
| --- |--- |--- |--- |--- |--- |
| Nombre estimé de jetons | \$1800 | \$11300 | \$11800 | \$12400 | \$12600 | 

Prenons par exemple une image de 800x400 et supposons que l’on veut estimer le nombre de jetons pour cette image. D’après les dimensions, pour conserver un rapport d’aspect de 1:2, la résolution la plus proche est 900 x 450. Par conséquent, le nombre approximatif de jetons pour cette image est d’environ 800 jetons.

# Limites de la compréhension des images
<a name="modalities-image-limitations"></a>

Veuillez prendre connaissance des limites suivantes d’Amazon Nova :
+ **Compréhension multilingue des images :** les modèles ont une compréhension limitée des images et des images vidéo multilingues et peuvent rencontrer des difficultés ou présenter des hallucinations lors de tâches similaires.
+ **Identification des personnes** : les modèles Amazon Nova ne prennent pas en charge la capacité d’identifier ou de nommer des personnes dans des images, des documents ou des vidéos. Les modèles refuseront d’effectuer de telles tâches.
+ **Raisonnement spatial** : les modèles Amazon Nova ont des capacités de raisonnement spatial limitées. Ils peuvent rencontrer des difficultés avec les tâches qui nécessitent une localisation précise ou une analyse de la disposition.
+ **Petit texte dans les images/vidéos** : si le texte dans l’image ou la vidéo est trop petit, envisagez d’augmenter la taille relative du texte dans l’image en recadrant la section concernée tout en conservant le contexte nécessaire.
+ **Comptage** : les modèles Amazon Nova peuvent fournir un nombre approximatif d’objets dans une image, mais ne sont pas toujours précis, en particulier lorsqu’il s’agit d’un grand nombre de petits objets.
+ **Contenu inapproprié** : les modèles Amazon Nova ne traitent pas les images inappropriées ou explicites qui enfreignent la politique d’utilisation acceptable.
+ **Applications médicales** : en raison de la nature sensible de ces artefacts, même si les modèles Amazon Nova peuvent fournir une analyse générale des images ou vidéos médicales, nous vous déconseillons d’interpréter des scans diagnostiques complexes. Les réponses d’Amazon Nova ne doivent en aucun cas être considérées comme un substitut à un avis médical professionnel.

# Exemples de compréhension d’images
<a name="modalities-image-examples"></a>

L'exemple suivant montre comment envoyer une demande d'image à Amazon Nova Model avec [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html).

```
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
import base64
import boto3
import json
# Create a Bedrock Runtime client in the AWS Region of your choice.
client = boto3.client(
    "bedrock-runtime",
    region_name="us-east-1",
)

MODEL_ID = "us.amazon.nova-lite-v1:0"
# Open the image you'd like to use and encode it as a Base64 string.
with open("media/sunset.png", "rb") as image_file:
    binary_data = image_file.read()
    base_64_encoded_data = base64.b64encode(binary_data)
    base64_string = base_64_encoded_data.decode("utf-8")
# Define your system prompt(s).
system_list = [    {
        "text": "You are an expert artist. When the user provides you with an image, provide 3 potential art titles"
    }
]
# Define a "user" message including both the image and a text prompt.
message_list = [
    {
        "role": "user",
        "content": [
            {
                "image": {
                    "format": "png",
                    "source": {
                        "bytes": image // Binary array (Converse API) or Base64-encoded string (Invoke API)
                    },
                }
            },
            {
                "text": "Provide art titles for this image."
            }
        ],
    }
]
# Configure the inference parameters.
inf_params = {"maxTokens": 300, "topP": 0.1, "topK": 20, "temperature": 0.3}

native_request = {
    "schemaVersion": "messages-v1",
    "messages": message_list,
    "system": system_list,
    "inferenceConfig": inf_params,
}
# Invoke the model and extract the response body.
response = client.invoke_model(modelId=MODEL_ID, body=json.dumps(native_request))
model_response = json.loads(response["body"].read())
# Pretty print the response JSON.
print("[Full Response]")
print(json.dumps(model_response, indent=2))
# Print the text content for easy readability.
content_text = model_response["output"]["message"]["content"][0]["text"]
print("\n[Response Content Text]")
print(content_text)
```

Pour transmettre des fichiers image volumineux ou plusieurs fichiers image, dont les données utiles totales sont supérieures à 25 Mo, vous pouvez utiliser Amazon S3. L’exemple suivant montre comment utiliser Amazon S3 pour charger des images vers Amazon Nova :

```
import boto3
import json
import base64
# Create a Bedrock Runtime client
client = boto3.client("bedrock-runtime", 
                      region_name="us-east-1", 
                     )
PRO_MODEL_ID = "us.amazon.nova-pro-v1:0"
LITE_MODEL_ID = "us.amazon.nova-lite-v1:0"
MICRO_MODEL_ID = "us.amazon.nova-micro-v1:0"
PREMIER_MODEL_ID = "us.amazon.nova-premier-v1:0"
messages = [
    {
        "role": "user",
        "content": [
            {
                "image": {
                    "format": "png",
                    "source": {
                        "s3Location": {
                            #Replace the s3 bucket URI 
                            "uri": "s3://demo-bucket/cat.png"
                            "bucketOwner" : "123456789012"
                        }
                    },
                }
            },
            {"text": "Describe the following image"},
        ],
    }
]
inf_params = {"maxTokens": 300, "topP": 0.1, "temperature": 0.3}
model_response = client.converse(
    modelId=LITE_MODEL_ID, messages=messages, inferenceConfig=inf_params
)
print("\n[Full Response]")
print(json.dumps(model_response, indent=2))
print("\n[Response Content Text]")
print(model_response["output"]["message"]["content"][0]["text"])
```