Améliorer la résolution des images avec Imagen

Vous pouvez utiliser Imagen sur Vertex AI pour augmenter la résolution des images, ce qui augmente leur taille sans perte de qualité.

imagen-4.0-upscale-preview est compatible avec l'upscaling d'images en version preview.

Avant de commencer

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  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. Configurez l'authentification pour votre environnement.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    REST

    Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.

      Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisez-la en exécutant la commande suivante :

      gcloud init

      Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

    Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud .

    Augmenter la résolution d'une image

    Console

    1. Dans la console Google Cloud , accédez à la page Vertex AI> Vertex AI Studio> Générer du contenu multimédia.

      Accéder à Générer des contenus multimédias

    2. Cliquez sur Imagen. La page "Media playground" (Bac à sable multimédia) s'affiche.

    3. Cliquez sur Importer une image, puis sélectionnez l'image à importer.

    4. Cliquez sur Exporter l'image, puis sur Améliorer aussi l'image.

    5. Choisissez un facteur de scaling, puis cliquez sur Exporter.

    Un filigrane numérique est automatiquement ajouté aux images agrandies. Vous ne pouvez pas désactiver le filigrane numérique pour l'upscaling d'images à l'aide de la console Google Cloud .

    REST

    Avant d'utiliser les données de requête, effectuez les remplacements suivants :

    • REGION : région dans laquelle se trouve votre projet. Pour en savoir plus sur les régions compatibles, consultez Emplacements de l'IA générative sur Vertex AI.
    • PROJECT_ID : ID de votre projet Google Cloud .
    • BASE64_SUBJECT_IMAGE : image encodée en base64 de l'image du sujet.
    • ADD_WATERMARK : valeur booléenne facultative. Définissez la valeur sur true pour activer les images avec filigrane ou sur false pour les désactiver. La valeur par défaut est true.
    • GCS_IMAGE_PATH : chemin d'accès Cloud Storage à un fichier image.
    • GCS_OUTPUT_PATH : chemin d'accès Cloud Storage pour stocker la sortie générée.
    • OUTPUT_MIMETYPE : chaîne facultative qui définit le type de fichier de sortie de l'image. Les valeurs suivantes sont acceptées : "image/png" ou "image/jpeg". La valeur par défaut est "image/png".
    • COMPRESSION_QUALITY : valeur entière facultative qui spécifie le niveau de détail conservé par le modèle pour les images JPEG. La plage de valeurs suivante est acceptée : 0 - 100. Plus la valeur est élevée, plus le niveau de compression est élevé. La valeur par défaut est 75.
    • UPSCALE_FACTOR : facteur de scaling pour l'image améliorée. La résolution finale de l'image après application du facteur de mise à l'échelle ne doit pas dépasser 17 mégapixels. Les valeurs suivantes sont acceptées :
      • "x2"
      • "x3"
      • "x4"

    Méthode HTTP et URL :

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

    Corps JSON de la requête :

    {
      "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"
        }
      }
    }
    

    Pour envoyer votre requête, choisissez l'une des options suivantes :

    curl

    Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

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

    PowerShell

    Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

    $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://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/imagen-4.0-upscale-preview:predict" | Select-Object -Expand Content
    La requête renvoie un objet image. Dans cet exemple, un objet image est renvoyé en tant qu'objet de prédiction avec une image encodée en base64.
    {
      "predictions": [
        {
          "mimeType": "image/png",
          "bytesBase64Encoded": "BASE64_IMG_BYTES"
        }
      ]
    }
    
    
    

    Étapes suivantes

    Consultez des articles concernant Imagen et d'autres produits d'IA générative sur Vertex AI :