
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
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
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.
curl
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:
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:
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.
Se necessário, copie o Nome de usuário abaixo e cole na caixa de diálogo Fazer login.
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.
Você também encontra a Senha no painel Detalhes do laboratório.
Clique em Seguinte.
Acesse as próximas páginas:
Depois de alguns instantes, o console do Google Cloud será aberto nesta guia.
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.
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.
Clique em Autorizar.
A saída será parecida com esta:
Saída:
Saída:
Exemplo de saída:
gcloud
, acesse o guia com informações gerais sobre a gcloud CLI no Google Cloud.
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.
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.
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:
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.
Você verá o arquivo no bucket.
Agora você precisa disponibilizar a imagem de maneira pública.
Clique em Adicionar entrada e digite o seguinte:
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.
Crie um arquivo request.json
no Cloud Shell.
ou seu editor de linha de comando preferencial (nano
, vim
ou emacs
), crie um arquivo request.json
.
my-bucket-name
pelo nome do bucket de armazenamento.
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.
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 o mid
do item no Mapa de informações do Google. É possível usar mid
ao chamar a API Knowledge Graph para receber mais informações sobre o item.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:
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.
request.json
acessando a lista de recursos e alterando type de LABEL_DETECTION
para WEB_DETECTION
. O request.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):
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.
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.
Para usar esse método, faça upload de uma nova imagem com rostos no bucket do Cloud Storage.
Clique em Verificar meu progresso abaixo para conferir seu andamento no laboratório.
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:curl
citado anteriormente: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 que boundingPoly
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
.
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.
Para usar esse método, faça upload de uma nova imagem no bucket do Cloud Storage.
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.
Clique em Verificar meu progresso abaixo para conferir seu andamento no laboratório.
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:curl
citado anteriormente: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:
mid
do ponto de referênciadescription
)score
de confiançaboundingPoly
mostra a região na imagem onde o ponto de referência foi identificadolocations
informa as coordenadas de latitude e longitude da imagemA 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
.
request.json
com as informações abaixo. Elas incluem o URL da nova imagem e usam a localização de objetos.curl
citado anteriormente: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.
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:
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.
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.
Faça outro laboratórios sobre APIs de machine learning, como os seguintes:
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 2025 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.