ML.ANNOTATE_IMAGE
para extrair insights de dados de imagem não estruturados. Ao trabalhar com grandes repositórios de imagens, talvez seja necessário categorizar automaticamente os arquivos, detectar objetos específicos ou extrair propriedades de imagem para tornar o conjunto de dados pesquisável. Ao criar um modelo remoto do BigQuery ML que se conecta à API Cloud Vision, é possível realizar essas tarefas de análise de imagens diretamente em uma tabela de objetos do BigQuery usando SQL padrão, eliminando a necessidade de mover arquivos ou criar pipelines de dados complexos.
Objetivos
- Crie um conjunto de dados e uma conexão de recurso.
- Crie uma tabela de objetos para arquivos de imagem armazenados no Cloud Storage.
- Crie um modelo remoto que se conecte à API Cloud Vision.
- Anotar imagens usando a função
ML.ANNOTATE_IMAGE.
Custos
Neste documento, você vai usar os seguintes componentes faturáveis do Cloud de Confiance by S3NS:
Antes de começar
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance 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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Cloud de Confiance project.
Enable the BigQuery, BigQuery Connection API, and Cloud Vision API APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
Funções exigidas
Para conseguir as permissões necessárias a fim de concluir este tutorial, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:
-
Criar e usar conjuntos de dados, tabelas e modelos do BigQuery:
Editor de dados do BigQuery (
roles/bigquery.dataEditor) -
Criar, delegar e usar conexões do BigQuery:
Administrador de conexão do BigQuery (
roles/bigquery.connectionAdmin) -
Conceda permissões à conta de serviço da conexão:
Administrador do IAM do projeto (
roles/resourcemanager.projectIamAdmin) -
Criar jobs do BigQuery:
Usuário de jobs do BigQuery (
roles/bigquery.jobUser)
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.
Criar um conjunto de dados
Para criar um conjunto de dados do BigQuery, selecione uma das seguintes opções:
Console
No console do Cloud de Confiance , acesse a página BigQuery.
No painel à esquerda, clique em Explorer:

Se o painel esquerdo não aparecer, clique em Expandir painel esquerdo para abrir.
Em Explorer, expanda seu projeto e clique em Conjuntos de dados.
Na página Conjuntos de dados, clique em Criar conjunto de dados.
No painel Criar conjunto de dados, faça o seguinte:
Para o código do conjunto de dados, insira
bqml_tutorial.Em Local dos dados, selecione US.
Não mude as outras configurações padrão.
Clique em Criar conjunto de dados.
bq
Para criar um conjunto de dados, use o
comando bq mk --dataset.
Crie um conjunto de dados chamado
bqml_tutorialcom o local dos dados definido comoUS:bq mk --dataset \ --location=US \ --description "BigQuery ML tutorial dataset." \ bqml_tutorial
Confirme se o conjunto de dados foi criado:
bq ls
API
Chame o método datasets.insert com um recurso de conjunto de dados definido:
{ "datasetReference": { "datasetId": "bqml_tutorial" } }
criar uma tabela de objetos
Crie uma tabela de objetos chamada my_object_table
com conteúdo de imagens. Com a tabela de objetos, é possível analisar as
imagens sem movê-las do Cloud Storage.
O bucket do Cloud Storage usado pela tabela de objetos precisa estar no
mesmo projeto em que você planeja criar o modelo e chamar a
função ML.ANNOTATE_IMAGE. Se você quiser chamar a
função ML.ANNOTATE_IMAGE em um projeto diferente
que contém o bucket do Cloud Storage usado pela tabela de objetos, é preciso
conceder o papel de Administrador do Storage no nível do bucket
Criar um modelo
Crie um modelo remoto chamado my_model com um REMOTE_SERVICE_TYPE de CLOUD_AI_VISION_V1:
CREATE OR REPLACE MODEL `PROJECT_ID.bqml_tutorial.my_model` REMOTE WITH CONNECTION DEFAULT OPTIONS (REMOTE_SERVICE_TYPE = 'CLOUD_AI_VISION_V1');
Substitua PROJECT_ID pelo ID do projeto.
Anotar imagens
Use a função ML.ANNOTATE_IMAGE com os recursos de sua preferência para anotar imagens na tabela de objetos.
Para rotular os itens mostrados nas imagens, use a função
ML.ANNOTATE_IMAGEcom o recursolabel_detection:SELECT * FROM ML.ANNOTATE_IMAGE( MODEL `PROJECT_ID.bqml_tutorial.my_model`, TABLE `PROJECT_ID.bqml_tutorial.my_object_table`, STRUCT(['label_detection'] AS vision_features) );
Substitua
PROJECT_IDpelo ID do projeto.Para detectar todos os rostos mostrados nas imagens e retornar atributos de imagem, como cores dominantes, use a função
ML.ANNOTATE_IMAGEcom os recursosface_detectioneimage_properties:SELECT * FROM ML.ANNOTATE_IMAGE( MODEL `PROJECT_ID.bqml_tutorial.my_model`, TABLE `PROJECT_ID.bqml_tutorial.my_object_table`, STRUCT(['face_detection', 'image_properties'] AS vision_features) );
Substitua
PROJECT_IDpelo ID do projeto.
Limpar
Para evitar cobranças na sua conta do Google Cloud pelos recursos usados no tutorial, exclua o projeto que os contém ou mantenha o projeto e exclua os recursos individuais.
Excluir o projeto
Console
- No console Cloud de Confiance , acesse a página Gerenciar recursos.
- Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
- Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.
gcloud
Excluir um projeto do Cloud de Confiance :
gcloud projects delete PROJECT_ID
Excluir recursos individuais
Se você planeja manter o projeto usado neste tutorial, evite mais cobranças excluindo os recursos individuais criados:
Exclua o conjunto de dados:ao fazer isso, você também remove o modelo remoto e a tabela de objetos criada nele.
- No console Cloud de Confiance , acesse BigQuery Studio.
- No painel Explorer, expanda o projeto e selecione o conjunto de dados criado.
- Clique em Ver ações e em Excluir.
- Na caixa de diálogo, digite
deletee clique em Excluir.
Exclua a conexão:
- No painel Explorer, expanda o nome do projeto e clique em Conexões.
- Clique no ícone Ver ações ao lado da conexão criada e selecione Excluir.
- Na caixa de diálogo, clique em Excluir para confirmar.
A seguir
- Para mais informações sobre a inferência de modelo no BigQuery ML, consulte Visão geral da inferência de modelo.
- Para mais informações sobre como usar as APIs da IA do Google Cloud para executar tarefas da IA, consulte Visão geral do aplicativo de IA.
- Para informações sobre as instruções e funções SQL compatíveis com modelos de IA generativa, consulte Jornadas do usuário completas para modelos de IA generativa.
- Teste o notebook de análise de dados não estruturados com o BigQuery ML e os modelos pré-treinados da Gemini Enterprise Agent Platform.