Aumentar a resolução de imagens usando o Imagen

É possível usar o Imagen na Vertex AI para ampliar imagens, o que aumenta o tamanho delas sem perder a qualidade.

O imagen-4.0-upscale-preview oferece suporte ao aumento da resolução de imagens no pré-lançamento.

Antes de começar

  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. Configure a autenticação do ambiente.

    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

    Para usar as amostras da API REST desta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.

      Instale a CLI do Google Cloud. Após a instalação, inicialize a CLI do Google Cloud executando o seguinte comando:

      gcloud init

      Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.

    Saiba mais em Autenticar para usar REST na documentação de autenticação do Google Cloud .

    Aumentar a resolução de uma imagem

    Console

    1. No console do Google Cloud , acesse a página Vertex AI > Vertex AI Studio > Gerar mídia.

      Acessar Gerar mídia

    2. Clique em Imagen. A página "Playground de mídia" é exibida.

    3. Clique em fazer upload de uma imagem e selecione uma imagem para enviar.

    4. Clique em Exportar imagem e depois em Aumentar a resolução da imagem também.

    5. Escolha um fator de escalonamento e clique em Exportar.

    Uma marca-d'água digital é adicionada automaticamente às imagens ampliadas. Não é possível desativar a marca-d'água digital para o aumento da resolução de imagens usando o console Google Cloud .

    REST

    Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

    • REGION: a região em que o projeto está localizado. Para mais informações sobre as regiões com suporte, consulte Locais da IA generativa na Vertex AI.
    • PROJECT_ID: o ID do projeto do Google Cloud .
    • BASE64_SUBJECT_IMAGE: uma imagem codificada em base64 do assunto.
    • ADD_WATERMARK: um valor booleano opcional. Defina como true para ativar imagens com marca-d'água ou false para desativar. O valor padrão é true.
    • GCS_IMAGE_PATH: Um caminho do Cloud Storage para um arquivo de imagem.
    • GCS_OUTPUT_PATH: o caminho do Cloud Storage para armazenar a saída gerada.
    • OUTPUT_MIMETYPE: uma string opcional que define o tipo de arquivo de saída da imagem. Os valores a seguir são aceitos: "image/png" ou "image/jpeg". O padrão é "image/png".
    • COMPRESSION_QUALITY: um valor inteiro opcional que especifica o nível de detalhes que o modelo preserva para imagens JPEG. O seguinte intervalo de valores é aceito: 0 - 100. O valor mais alto especifica um nível de compactação maior. O padrão é 75.
    • UPSCALE_FACTOR: O fator de escalonamento da imagem aprimorada. A resolução final da imagem após a aplicação do fator de ampliação não pode exceder 17 megapixels. Os seguintes valores são aceitos:
      • "x2"
      • "x3"
      • "x4"

    Método HTTP e URL:

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

    Corpo JSON da solicitação:

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

    Para enviar a solicitação, escolha uma destas opções:

    curl

    Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:

    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

    Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:

    $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
    A solicitação retorna um objeto de imagem. Neste exemplo, um objeto de imagem é retornado como um objeto de previsão com uma imagem codificada em base64.
    {
      "predictions": [
        {
          "mimeType": "image/png",
          "bytesBase64Encoded": "BASE64_IMG_BYTES"
        }
      ]
    }
    
    
    

    A seguir

    Confira artigos sobre o Imagen e outras IAs generativas nos produtos da Vertex AI: