Aumentar a resolução de imagens usando o Imagen

É possível usar o Imagen na Vertex AI para aumentar a resolução de imagens, o que aumenta o tamanho delas sem perder a qualidade.

Os modelos a seguir oferecem suporte ao aumento da resolução de imagens:

Antes de começar

  1. Faça login na sua Google Cloud conta do. Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho.
  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.

    Selecione a guia para como planeja usar as amostras nesta página:

    Console

    Quando você usa o Google Cloud console para acessar Google Cloud serviços e APIs, não é necessário configurar a autenticação.

    REST

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

      Instale a Google Cloud CLI.

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

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

Aumentar a resolução de uma imagem

REST

Para mais informações sobre a API Imagen, consulte o seguinte:

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 IA generativa em locais da Vertex AI.
  • PROJECT_ID: o ID do projeto. Google Cloud
  • BASE64_SUBJECT_IMAGE: uma imagem codificada em Base64 da imagem 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 seguintes valores 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 intervalo de valores a seguir é aceito: 0 - 100. O valor mais alto especifica um nível de compactação mais alto. O padrão é 75.
  • UPSCALE_FACTOR: o fator de escalonamento da imagem aumentada. A resolução de saída final de a imagem após a aplicação do fator de aumento não pode exceder 17 megapixels. Os seguintes valores são aceitos:
    • "x2"
    • "x3"
    • "x4"

Método 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 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 a seguir:

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

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://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: