

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à.

# Comprensione delle immagini
<a name="modalities-image"></a>

**Nota**  
Questa documentazione è per Amazon Nova versione 1. Per la guida alla comprensione delle immagini di Amazon Nova 2, visita [Image understanding](https://docs.aws.amazon.com/nova/latest/nova2-userguide/using-multimodal-models.html#image-understanding).

I modelli Amazon Nova permettono di includere più immagini nel payload con un limite di payload totale di 25 MB. Tuttavia, puoi specificare un URI Amazon S3 che contenga le tue immagini per la comprensione delle immagini. Questo approccio permette di sfruttare il modello per immagini più grandi e più numerose senza essere vincolati dal limite di 25 MB di payload. I modelli Amazon Nova possono analizzare le immagini trasmesse e rispondere a domande, classificare le immagini e riassumerle in base alle istruzioni che hai fornito.

## Informazioni sulle dimensioni dell’immagine
<a name="modalities-image-resolution"></a>

Per fornire i migliori risultati possibili, Amazon Nova ridimensiona automaticamente le immagini di input verso l’alto o verso il basso in base alle loro proporzioni e alla risoluzione originale. Per ogni immagine, Amazon Nova identifica innanzitutto la proporzione più vicina tra 1:1, 1:2, 1:3, 1:4, 1:5, 1:6, 1:7, 1:8, 1:9 2:3, 2:4 e le relative trasposizioni. Quindi l’immagine viene ridimensionata in modo che almeno un lato dell’immagine sia maggiore di 896 px o della lunghezza del lato più corto dell’immagine originale, mantenendo le proporzioni più vicine. La risoluzione massima è di 8.000 x 8.000 pixel

## Rilevamento del riquadro di delimitazione
<a name="modalities-image-bounding"></a>

I modelli Amazon Nova Lite e Amazon Nova Pro sono addestrati a rilevare con precisione i riquadri di delimitazione all’interno delle immagini. Questa funzionalità può essere utile quando l’obiettivo è ottenere le coordinate di un oggetto di interesse specifico. La funzionalità di rilevamento dei riquadri di delimitazione del modello Amazon Nova lo rende un candidato ideale per le attività di grounding delle immagini, consentendo così una migliore comprensione delle schermate. Il modello Amazon Nova genera riquadri di delimitazione su una scala compresa tra [0, 1000] e, una volta ottenute queste coordinate, è possibile ridimensionarle in base alle dimensioni dell’immagine come fase di post-elaborazione.

## Conversione da immagine a token
<a name="modalities-image-tokens"></a>

Come spiegato in precedenza, le immagini vengono ridimensionate per massimizzare l’estrazione delle informazioni, mantenendo comunque le proporzioni. Di seguito sono riportati alcuni esempi di dimensioni delle immagini campione e calcoli approssimativi dei token.


| image\$1resolution (HxW o WxH) | 900 x 450 | 900 x 900 | 1400 x 900 | 1,8K x 900 | 1,3K x 1,3K | 
| --- |--- |--- |--- |--- |--- |
| Numero stimato di token | \$1800 | \$11300 | \$11800 | \$12400 | \$12600 | 

Consideriamo ad esempio un’immagine di dimensioni 800x400 e supponiamo di voler stimare il numero di token presenti in essa. In base alle dimensioni, per mantenere una proporzione di 1:2, la risoluzione più vicina è 900x450. Pertanto, il numero approssimativo di token per questa immagine è di circa 800.

# Limiti nella comprensione delle immagini
<a name="modalities-image-limitations"></a>

Comprendi le seguenti limitazioni per Amazon Nova:
+ **Comprensione multilingue delle immagini:** i modelli hanno una comprensione limitata delle immagini e dei fotogrammi video multilingue possono avere difficoltà o dare risultati distorti durante attività simili.
+ **Identificazione delle persone**: i modelli Amazon Nova non supportano la capacità di identificare o nominare persone in immagini, documenti o video. I modelli si rifiuteranno di svolgere tali attività.
+ **Ragionamento spaziale**: i modelli Amazon Nova hanno capacità di ragionamento spaziale limitate. Possono avere difficoltà a svolgere attività che richiedono una localizzazione precisa o un’analisi del layout.
+ **Testo piccolo nelle immagini/video**: se il testo nell’immagine o nel video è troppo piccolo, valuta la possibilità di aumentarne le dimensioni relative ritagliando la sezione pertinente e conservando il contesto necessario.
+ **Conteggio**: i modelli Amazon Nova possono fornire conteggi approssimativi degli oggetti in un’immagine, ma potrebbero non essere sempre precisi, specialmente quando si tratta di un gran numero di oggetti piccoli.
+ **Contenuti inappropriati**: i modelli Amazon Nova non elaboreranno immagini inappropriate o esplicite che violano la Policy di utilizzo accettabile
+ **Applicazioni sanitarie**: per via della natura sensibile di questi artefatti, anche se i modelli Amazon Nova possono fornire analisi generali su immagini o video di ambito sanitario, non è consigliabile interpretare scansioni diagnostiche complesse. Le risposte di Amazon Nova non dovrebbero mai sostituirsi alla consulenza medica professionale.

# Esempi di comprensione delle immagini
<a name="modalities-image-examples"></a>

L'esempio seguente mostra come inviare una richiesta di immagine ad Amazon Nova Model con [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)
```

Per trasmettere file di immagini di grandi dimensioni o più file di immagini, per i quali il payload complessivo è superiore a 25 MB, puoi utilizzare Amazon S3. Il seguente esempio mostra come utilizzare Amazon S3 per caricare immagini su 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"])
```