Aumentare la risoluzione delle immagini utilizzando Imagen

Puoi utilizzare Imagen su Vertex AI per aumentare la risoluzione delle immagini, il che ne aumenta le dimensioni senza compromettere la qualità.

I seguenti modelli supportano l'upscaling delle immagini:

Prima di iniziare

  1. Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  8. Configura l'autenticazione per il tuo ambiente.

    Seleziona la scheda relativa a come intendi utilizzare i campioni in questa pagina:

    Console

    Quando utilizzi la console Google Cloud per accedere ai servizi Google Cloud e alle API, non devi configurare l'autenticazione.

    REST

    Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.

      Installa Google Cloud CLI.

      Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

    Per saperne di più, consulta Autenticati per usare REST nella documentazione sull'autenticazione di Google Cloud .

Aumentare la risoluzione di un'immagine

REST

Per saperne di più sull'API Imagen, consulta le seguenti risorse:

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • REGION: la regione in cui si trova il progetto. Per ulteriori informazioni sulle regioni supportate, consulta AI generativa su località Vertex AI.
  • PROJECT_ID: il tuo ID progetto Google Cloud .
  • BASE64_SUBJECT_IMAGE: un'immagine codificata in base64 dell'immagine del soggetto.
  • ADD_WATERMARK: un valore booleano facoltativo. Imposta su true per attivare le immagini con filigrana o su false per disattivarle. Il valore predefinito è true.
  • GCS_IMAGE_PATH: Un percorso Cloud Storage a un file immagine.
  • GCS_OUTPUT_PATH: il percorso Cloud Storage in cui archiviare l'output generato.
  • OUTPUT_MIMETYPE: una stringa facoltativa che definisce il tipo di file di output dell'immagine. Sono accettati i seguenti valori: "image/png" o "image/jpeg". Il valore predefinito è "image/png".
  • COMPRESSION_QUALITY: un valore intero facoltativo che specifica il livello di dettaglio che il modello conserva per le immagini JPEG. Viene accettato il seguente intervallo di valori: 0 - 100. Il valore più alto specifica un livello di compressione più elevato. Il valore predefinito è 75.
  • UPSCALE_FACTOR: Il fattore di scalabilità per l'immagine di upscaling. La risoluzione dell'output finale dell'immagine dopo l'applicazione del fattore di upscaling non deve superare i 17 megapixel. Sono accettati i seguenti valori:
    • "x2"
    • "x3"
    • "x4"

Metodo HTTP e URL:

POST https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/imagen-4.0-upscale-preview:predict

Corpo JSON della richiesta:

{
  "instances": [
    {
      "prompt": "Upscale the image",
      "image": {
        // use one of the following to specify the image to upscale
        "bytesBase64Encoded": "BASE64_SUBJECT_IMAGE"
        "gcsUri": "GCS_IMAGE_PATH"
        // end of base image input options
      },
    }
  ],
  "parameters": {
    "mode": "upscale",
    "storageUri": "GCS_OUTPUT_PATH",
    "outputOptions": {
      "mimeType": "OUTPUT_MIMETYPE",
      "compressionQuality": COMPRESSION_QUALITY
    },
    "upscaleConfig": {
      "upscaleFactor": "UPSCALE_FACTOR"
    }
  }
}

Per inviare la richiesta, scegli una di queste opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/imagen-4.0-upscale-preview:predict"

PowerShell

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/imagen-4.0-upscale-preview:predict" | Select-Object -Expand Content
La richiesta restituisce un oggetto immagine. In questo esempio, un oggetto immagine viene restituito come oggetto di previsione con un'immagine codificata in base64.
{
  "predictions": [
    {
      "mimeType": "image/png",
      "bytesBase64Encoded": "BASE64_IMG_BYTES"
    }
  ]
}


Passaggi successivi

Leggi gli articoli su Imagen e altri prodotti di AI generativa su Vertex AI: