Checkpoints
Create an API Key
/ 25
Upload an Image to a Cloud Storage bucket
/ 25
Upload an image for Face Detection to your bucket
/ 25
Upload an image for Landmark Annotation to your bucket
/ 25
Detecte rótulos, rostos e pontos de referência em imagens com a API Cloud Vision
- GSP037
- Informações gerais
- Configuração e requisitos
- Tarefa 1: crie uma chave de API
- Tarefa 2: faça upload de uma imagem em um bucket do Cloud Storage
- Tarefa 3. crie a solicitação
- Tarefa 4: detecção de rótulos
- Tarefa 5: detecção na Web
- Tarefa 6: detecção facial
- Tarefa 7: anotação de ponto de referência
- Tarefa 8: localização de objetos
- Tarefa 9: explore outros métodos da API Vision
- Parabéns!
GSP037
Informações gerais
A API Cloud Vision é um serviço baseado em nuvem que permite analisar imagens e extrair informações. Ela pode ser usada para detectar objetos, rostos e textos em imagens. A API Cloud Vision faz o encapsulamento de modelos avançados de machine learning em uma API REST simples, o que permite entender o conteúdo de imagens.
Neste laboratório, você vai enviar imagens à API Cloud Vision para analisar como ela detecta objetos, rostos e pontos de referência.
Conteúdo
- Criar uma solicitação da API Cloud Vision e chamar a API com
curl
- Usar os métodos de detecção facial, de rótulos e de pontos de referência da API
Configuração e requisitos
Antes de clicar no botão Start Lab
Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer é iniciado quando você clica em Começar o laboratório e mostra por quanto tempo os recursos do Google Cloud vão ficar disponíveis.
Este laboratório prático permite que você realize as atividades em um ambiente real de nuvem, não em uma simulação ou demonstração. Você vai receber novas credenciais temporárias para fazer login e acessar o Google Cloud durante o laboratório.
Confira os requisitos para concluir o laboratório:
- Acesso a um navegador de Internet padrão (recomendamos o Chrome).
- Tempo para concluir o laboratório---não se esqueça: depois de começar, não será possível pausar o laboratório.
Como iniciar seu laboratório e fazer login no console do Google Cloud
-
Clique no botão Começar o laboratório. Se for preciso pagar, você verá um pop-up para selecionar a forma de pagamento. No painel Detalhes do laboratório à esquerda, você vai encontrar o seguinte:
- O botão Abrir console do Google Cloud
- O tempo restante
- As credenciais temporárias que você vai usar neste laboratório
- Outras informações, se forem necessárias
-
Se você estiver usando o navegador Chrome, clique em Abrir console do Google Cloud ou clique com o botão direito do mouse e selecione Abrir link em uma janela anônima.
O laboratório ativa os recursos e depois abre a página Fazer login em outra guia.
Dica: coloque as guias em janelas separadas lado a lado.
Observação: se aparecer a caixa de diálogo Escolher uma conta, clique em Usar outra conta. -
Se necessário, copie o Nome de usuário abaixo e cole na caixa de diálogo Fazer login.
{{{user_0.username | "Nome de usuário"}}} Você também encontra o Nome de usuário no painel Detalhes do laboratório.
-
Clique em Seguinte.
-
Copie a Senha abaixo e cole na caixa de diálogo de boas-vindas.
{{{user_0.password | "Senha"}}} Você também encontra a Senha no painel Detalhes do laboratório.
-
Clique em Seguinte.
Importante: você precisa usar as credenciais fornecidas no laboratório, e não as da sua conta do Google Cloud. Observação: se você usar sua própria conta do Google Cloud neste laboratório, é possível que receba cobranças adicionais. -
Acesse as próximas páginas:
- Aceite os Termos e Condições.
- Não adicione opções de recuperação nem autenticação de dois fatores (porque essa é uma conta temporária).
- Não se inscreva em testes gratuitos.
Depois de alguns instantes, o console do Google Cloud será aberto nesta guia.
Ativar o Cloud Shell
O Cloud Shell é uma máquina virtual com várias ferramentas de desenvolvimento. Ele tem um diretório principal permanente de 5 GB e é executado no Google Cloud. O Cloud Shell oferece acesso de linha de comando aos recursos do Google Cloud.
- Clique em Ativar o Cloud Shell na parte de cima do console do Google Cloud.
Depois de se conectar, vai notar que sua conta já está autenticada, e que o projeto está configurado com seu PROJECT_ID. A saída contém uma linha que declara o projeto PROJECT_ID para esta sessão:
gcloud
é a ferramenta de linha de comando do Google Cloud. Ela vem pré-instalada no Cloud Shell e aceita preenchimento com tabulação.
- (Opcional) É possível listar o nome da conta ativa usando este comando:
-
Clique em Autorizar.
-
A saída será parecida com esta:
Saída:
- (Opcional) É possível listar o ID do projeto usando este comando:
Saída:
Exemplo de saída:
gcloud
, acesse o guia com informações gerais sobre a gcloud CLI no Google Cloud.
Tarefa 1: crie uma chave de API
Como você usará curl
para enviar uma solicitação à API Vision, será necessário gerar uma chave de API para transmitir o URL da solicitação.
-
Para criar uma chave de API, acesse o Menu de navegação e selecione APIs e serviços > Credenciais no console do Cloud.
-
Clique em Criar credenciais e selecione Chave de API.
- Depois, copie a chave gerada e clique em Fechar.
Clique em Verificar meu progresso abaixo para conferir seu andamento no laboratório.
Em seguida, salve a chave em uma variável de ambiente para não precisar inserir o valor dela em cada solicitação.
- No Cloud Shell, execute o seguinte comando para definir o ID do projeto como uma variável de ambiente:
Tarefa 2: faça upload de uma imagem em um bucket do Cloud Storage
Há duas maneiras de enviar uma imagem à API Cloud Vision para detecção: enviar uma string de imagem codificada em base64 ou transmitir o URL de um arquivo armazenado no Cloud Storage.
Você vai usar um URL do Cloud Storage. A primeira etapa é criar um bucket do Cloud Storage para armazenar suas imagens.
-
No Menu de navegação, selecione Cloud Storage > Buckets. Ao lado de Buckets, clique em Criar.
-
Dê um nome exclusivo ao bucket:
-bucket. -
Depois de dar nome ao bucket, clique em Escolher como controlar o acesso aos objetos.
-
Desmarque a opção Aplicar a prevenção de acesso público a este bucket e selecione o círculo Detalhado.
Mantenha o padrão em todas as outras configurações do bucket.
- Clique em Criar.
Faça upload de uma imagem para o bucket
- Clique com o botão direito do mouse na imagem de donuts, clique em Salvar imagem como e salve no seu computador como donuts.png.
- Acesse o bucket que você criou, clique em UPLOAD DE ARQUIVOS e selecione donuts.png.
Você verá o arquivo no bucket.
Agora você precisa disponibilizar a imagem de maneira pública.
- Clique nos três pontos da imagem e selecione Editar acesso.
-
Clique em Adicionar entrada e digite o seguinte:
- Entidade: pública
- Nome: allUsers
- Acesso: Leitor
-
Em seguida, clique em Salvar.
Agora que o arquivo está no bucket, você pode criar uma solicitação da API Cloud Vision transmitindo a ela o URL dessa imagem de donuts.
Clique em Verificar meu progresso abaixo para conferir seu andamento no laboratório.
Tarefa 3. crie a solicitação
Crie um arquivo request.json
no Cloud Shell.
- Usando o editor de código do Cloud Shell (clicando no ícone de lápis na janela do Cloud Shell)
ou seu editor de linha de comando preferencial (nano
, vim
ou emacs
), crie um arquivo request.json
.
- Digite ou cole este código no arquivo:
my-bucket-name
pelo nome do bucket de armazenamento.
- Salve o arquivo.
Tarefa 4: detecção de rótulos
O primeiro recurso da API Cloud Vision que você vai usar é a detecção de rótulos. Esse método retornará uma lista de rótulos (palavras) que descrevem o conteúdo da imagem.
- Chame a API Cloud Vision com
curl
:
A resposta deverá ser semelhante a esta:
A API identificou o tipo específico dos donuts: com açúcar de confeiteiro. Ótimo! Para cada rótulo encontrado pela API Vision, são retornadas as seguintes informações:
-
description
com o nome do item. -
score
, que consiste em um número de 0 a 1 que indica o nível de confiança na correspondência entre a descrição e o que está na imagem. -
mid
, que consiste no valor que faz o mapeamento para omid
do item no Mapa de informações do Google. É possível usarmid
ao chamar a API Knowledge Graph para receber mais informações sobre o item.
Tarefa 5: detecção na Web
Além de extrair os rótulos da imagem, a API Cloud Vision também pesquisa mais detalhes sobre ela na Internet. Com o método WebDetection da API, você recebe muitos dados interessantes:
- Uma lista das entidades encontradas na imagem, com base no conteúdo de páginas com imagens semelhantes.
- URLs de imagens correspondentes (exatas e parciais) encontradas na Web, além dos URLs dessas páginas.
- URLs de imagens semelhantes, como na pesquisa reversa de imagens.
Para testar a detecção na Web, use a mesma imagem dos beignets e altere uma linha no arquivo request.json
. Se quiser tentar algo novo, use uma imagem completamente diferente.
- Edite o arquivo
request.json
acessando a lista de recursos e alterando type deLABEL_DETECTION
paraWEB_DETECTION
. Orequest.json
deve ser semelhante ao seguinte:
-
Salve o arquivo.
-
Para enviá-lo à API Cloud Vision, use o mesmo comando
curl
de antes (basta pressionar a seta para cima no Cloud Shell):
- Analise os detalhes da resposta, começando com
webEntities
. Veja algumas entidades retornadas por essa imagem:
Essa imagem foi usada em muitas apresentações nas APIs do Cloud ML. Foi por isso que a API encontrou as entidades "Machine learning" e "Google Cloud Platform".
Se você inspecionar os URLs em fullMatchingImages
, partialMatchingImages
e pagesWithMatchingImages
, perceberá que muitos deles apontam para este site de laboratório (super meta!).
Suponha que você queira encontrar outras imagens de beignets, mas não exatamente as mesmas. É aí que entra a parte visuallySimilarImages
da resposta da API. Veja algumas das imagens visualmente semelhantes encontradas por ela:
É possível acessar esses URLs para ver imagens parecidas:
Depois de todas essas imagens, você deve ter ficado com vontade de comer um beignet com açúcar de confeiteiro. Esse processo é semelhante à pesquisa de uma imagem nas Imagens do Google.
No Cloud Vision, é possível acessar essa funcionalidade com uma API REST fácil de usar e integrá-la aos seus aplicativos.
Tarefa 6: detecção facial
Em seguida, conheça os métodos de detecção facial da API Vision.
O método de detecção de rosto retorna dados sobre os rostos encontrados, inclusive as emoções e o local da imagem.
Faça upload de uma nova imagem
Para usar esse método, faça upload de uma nova imagem com rostos no bucket do Cloud Storage.
- Clique com o botão direito do mouse na imagem abaixo. Em seguida, clique em Salvar imagem como e salve-a no computador como selfie.png.
- Agora, faça upload da imagem para o bucket do Cloud Storage da forma como fez antes e torne-a pública.
Clique em Verificar meu progresso abaixo para conferir seu andamento no laboratório.
Como atualizar o arquivo de solicitação
- Em seguida, atualize o arquivo
request.json
com as informações abaixo. Elas incluem o URL da nova imagem e usam detecção de rostos e pontos de referência em vez de rótulos. Lembre-se de substituir my-bucket-name pelo nome do bucket do Cloud Storage:
- Salve o arquivo.
Como chamar a API Vision e analisar a resposta
- Agora você pode chamar a API Vision usando o mesmo comando
curl
citado anteriormente:
- Observe o objeto
faceAnnotations
na resposta. Veja que a API retorna um objeto para cada rosto encontrado na imagem (nesse caso são três). Esta é uma versão parcial da resposta:
-
boundingPoly
informa as coordenadas X, Y ao redor do rosto na imagem. -
fdBoundingPoly
é uma caixa menor do queboundingPoly
e que analisa apenas a pele do rosto. -
landmarks
é uma matriz de objetos para cada recurso facial, alguns que talvez você não conheça. Ela informa o tipo de ponto de referência, junto com a posição 3D desse recurso (coordenadas X, Y, Z) onde a coordenada Z é a profundidade. Os demais valores dão mais detalhes sobre o rosto, incluindo a probabilidade de expressões de alegria, tristeza, raiva e surpresa.
A resposta que você recebeu é relacionada à pessoa que está de pé mais ao fundo da imagem. É possível notar que há uma expressão brincalhona, o que explica joyLikelihood
como LIKELY
.
Tarefa 7: anotação de ponto de referência
A detecção de pontos de referência consegue identificar lugares comuns (e desconhecidos também). Ela retorna o nome do ponto de referência, as coordenadas de latitude e longitude e o local onde esse ponto foi identificado na imagem.
Faça upload de uma nova imagem
Para usar esse método, faça upload de uma nova imagem no bucket do Cloud Storage.
- Clique com o botão direito do mouse na imagem abaixo. Em seguida, selecione Salvar imagem como e salve-a no seu computador como city.png.
Citação: Catedral de São Basílio, Moscou, Rússia (15 de dezembro de 2017) por Nikolay Vorobyev no Unsplash, um repositório de mídia sem custo financeiro. Fonte: https://unsplash.com/photos/jaH3QF46gAY. O arquivo está licenciado sob a licença do Unsplash.
- Agora, faça upload da imagem para o bucket do Cloud Storage da forma como fez antes e torne-a pública.
Clique em Verificar meu progresso abaixo para conferir seu andamento no laboratório.
Como atualizar o arquivo de solicitação
- Em seguida, atualize o arquivo
request.json
com as informações abaixo. Elas incluem o URL da nova imagem e usam a detecção de pontos de referência. Lembre-se de substituir my-bucket-name pelo nome do bucket do Cloud Storage:
Como chamar a API Vision e analisar a resposta
- Agora você pode chamar a API Vision usando o mesmo comando
curl
citado anteriormente:
- Observe agora a parte
landmarkAnnotations
da resposta:
A API Cloud Vision identificou o local em que a foto foi tirada e fornece as coordenadas do mapa para o local (Catedral de São Basílio na Praça Vermelha, Moscou, Rússia).
Os valores nessa resposta devem ser semelhantes à labelAnnotations
citada anteriormente:
- o
mid
do ponto de referência - o nome (
description
) - um
score
de confiança -
boundingPoly
mostra a região na imagem onde o ponto de referência foi identificado - a chave
locations
informa as coordenadas de latitude e longitude da imagem
Tarefa 8: localização de objetos
A API Vision pode detectar e extrair vários objetos de uma imagem com a localização de objetos. A localização de objetos identifica vários itens em uma imagem e fornece uma LocalizedObjectAnnotation para cada um deles. Cada LocalizedObjectAnnotation
identifica informações sobre o objeto, como a posição e os limites retangulares dele para a região da imagem que o contém.
A localização de objetos também identifica itens significativos e menos proeminentes em uma imagem.
A informação do objeto é retornada apenas em inglês. O Cloud Translation pode traduzir rótulos em inglês para vários idiomas diferentes.
Para usar esse método, escolha uma imagem existente na Internet e atualize o arquivo request.json
.
Como atualizar o arquivo de solicitação
- Atualize o arquivo
request.json
com as informações abaixo. Elas incluem o URL da nova imagem e usam a localização de objetos.
Como chamar a API Vision e analisar a resposta
- Agora você pode chamar a API Vision usando o mesmo comando
curl
citado anteriormente:
- Observe agora a parte
localizedObjectAnnotations
da resposta:
Observe que a API Vision conseguiu identificar que a imagem contém uma bicicleta e uma roda de bicicleta. Os valores na resposta devem ser semelhantes aos da resposta labelAnnotations
acima: o mid
do objeto, o nome dele (name
), um score
de confiança e o boundingPoly
mostram a região da imagem em que o objeto foi identificado.
Além disso, boundingPoly
tem uma chave normalizedVertices
, que fornece as coordenadas do objeto na imagem. Essas coordenadas são normalizadas para um intervalo de 0 a 1, em que 0 representa a parte superior esquerda da imagem e 1 representa a parte inferior direita.
Ótimo. Você usou a API Vision para analisar uma imagem e extrair informações sobre os objetos que estão nela.
Tarefa 9: explore outros métodos da API Vision
Você acabou de aprender sobre os métodos de detecção facial, de rótulos e de pontos de referência da API Vision, mas ainda há três outros que você não conhece. Confira a documentação do método images.annotate para saber mais sobre os outros três métodos:
- Detecção de logotipo: identifica logotipos comuns e os locais deles em uma imagem.
- Detecção de pesquisa segura: determina se uma imagem contém conteúdo explícito. É útil para aplicativos com conteúdo gerado pelo usuário. É possível filtrar imagens com base em quatro fatores: conteúdo adulto, médico, violento e falso.
- Detecção de texto: usa OCR para extrair textos de imagens. Esse método pode até mesmo identificar o idioma do texto presente em uma imagem.
Parabéns!
Você aprendeu a analisar imagens com a API Vision. Neste laboratório, você transmitiu à API o URL do Cloud Storage de diferentes imagens, e ela retornou os rótulos, rostos, pontos de referência e objetos encontrados nelas. Também é possível transmitir à API a string codificada em base64 de uma imagem, o que é útil quando ela está armazenada em um banco de dados ou na memória.
Termine a Quest
Este laboratório autoguiado faz parte das Quests Integrate with Machine Learning APIs e Intro to ML: Image Processing. Uma Quest é uma série de laboratórios relacionados que formam um programa de aprendizado. Ao concluir uma Quest, você ganha um selo como reconhecimento da sua conquista. É possível publicar os selos e incluir um link para eles no seu currículo on-line ou nas mídias sociais. Inscreva-se em uma Quest que tenha este laboratório para receber os créditos de conclusão na mesma hora. Confira o catálogo do Google Cloud Ensina para acessar todas as Quests disponíveis.
Comece o próximo laboratório
Faça outro laboratórios sobre APIs de machine learning, como os seguintes:
- Análise de entidade e de sentimento com a API Natural Language ou
- Awwvision: API Cloud Vision em um cluster do Kubernetes.
Próximas etapas / Saiba mais
- Confira os tutoriais da API Cloud Vision na documentação
- Encontre no GitHub uma amostra da API Cloud Vision na sua linguagem preferencial
- Confira o laboratório Análise de entidade e de sentimento com a API Natural Language.
Treinamento e certificação do Google Cloud
Esses treinamentos ajudam você a aproveitar as tecnologias do Google Cloud ao máximo. Nossas aulas incluem habilidades técnicas e práticas recomendadas para ajudar você a alcançar rapidamente o nível esperado e continuar sua jornada de aprendizado. Oferecemos treinamentos que vão do nível básico ao avançado, com opções de aulas virtuais, sob demanda e por meio de transmissões ao vivo para que você possa encaixá-las na correria do seu dia a dia. As certificações validam sua experiência e comprovam suas habilidades com as tecnologias do Google Cloud.
Manual atualizado em 6 de outubro de 2023
Laboratório testado em 13 de outubro de 2023
Copyright 2024 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de produtos e empresas podem ser marcas registradas das respectivas empresas a que estão associados.