A API Cloud Vision permite detectar vários rostos em uma imagem, além de atributos faciais importantes associados, como acessórios de cabeça ou pontos de referência faciais. Use o Cloud Vision para tarefas de visão computacional e análise de imagens que exigem a identificação desses aspectos faciais gerais.
A tecnologia de reconhecimento facial, que é diferente da detecção facial, identifica ou verifica um indivíduo específico de uma imagem em um banco de dados de pessoas conhecidas. A API Cloud Vision não é compatível com reconhecimento facial ou identificação individual.
Solicitações de detecção facial
Configurar o projeto do Google Cloud e a autenticação
Detectar rostos em uma imagem local
Use a API Vision para detectar atributos em um arquivo de imagem local.
Para solicitações REST, envie o conteúdo do arquivo de imagem como uma string codificada em base64 no corpo da solicitação.
Para solicitações da gcloud e da biblioteca de cliente, especifique o caminho para uma imagem local na solicitação.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- BASE64_ENCODED_IMAGE: a representação base64 (string ASCII) dos dados da imagem binária. A string precisa ser semelhante à seguinte:
/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
- RESULTS_INT: (opcional) um valor inteiro de resultados a serem retornados. Se você omitir o campo
"maxResults"e o valor dele, a API vai retornar o valor padrão de 10 resultados. Esse campo não se aplica aos seguintes tipos de recursos:TEXT_DETECTION,DOCUMENT_TEXT_DETECTIONouCROP_HINTS. - PROJECT_ID: o ID do projeto do Google Cloud .
Método HTTP e URL:
POST https://vision.googleapis.com/v1/images:annotate
Corpo JSON da solicitação:
{
"requests": [
{
"image": {
"content": "BASE64_ENCODED_IMAGE"
},
"features": [
{
"maxResults": RESULTS_INT,
"type": "FACE_DETECTION"
}
]
}
]
}
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 "x-goog-user-project: PROJECT_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1/images:annotate"
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"; "x-goog-user-project" = "PROJECT_ID" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/images:annotate" | Select-Object -Expand Content
Quando a solicitação é bem-sucedida, o servidor retorna um código de status HTTP 200 OK e a
resposta no formato JSON:
Uma resposta FACE_DETECTION inclui caixas delimitadoras para todos os rostos detectados, pontos de referência
detectados nos rostos (olhos, nariz, boca etc.) e classificações de confiança para propriedades de rosto e imagem (como subexposição, desfoque e acessórios de cabeça). Os campos de probabilidade de emoção
(joyLikelihood, sorrowLikelihood, angerLikelihood e
surpriseLikelihood) foram descontinuados e retornam UNKNOWN.
Go
Antes de testar este exemplo, siga as instruções de configuração do Go no guia de início rápido do Vision: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vision Go.
Para autenticar no Vision, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Antes de testar esta amostra, siga as instruções de configuração do Java no Guia de início rápido da API Vision: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vision para Java.
Node.js
Antes de testar este exemplo, siga as instruções de configuração do Node.js no guia de início rápido do Vision: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vision Node.js.
Para autenticar no Vision, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Antes de testar esta amostra, siga as instruções de configuração do Python no Guia de início rápido do Vision: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vision Python.
Para autenticar no Vision, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Outras linguagens
C#: siga as instruções de configuração do C# na página das bibliotecas de cliente e acesse a documentação de referência do Vision para .NET.
PHP: siga as instruções de configuração do PHP na página das bibliotecas de cliente e acesse a documentação de referência do Vision para PHP.
Ruby: siga as instruções de configuração do Ruby na página das bibliotecas de cliente e visite adocumentação de referência do Vision para Ruby.
Detectar rostos em uma imagem remota
Use a API Vision para realizar a detecção de recursos em um arquivo de imagem localizado no Cloud Storage ou na web. Para enviar uma solicitação de arquivo remoto, especifique o URL da Web do arquivo ou o URI do Cloud Storage no corpo da solicitação.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- CLOUD_STORAGE_IMAGE_URI: o caminho para um arquivo de imagem válido em um bucket do Cloud Storage. Você precisa ter, pelo menos, privilégios de leitura para o arquivo.
Exemplo:
gs://cloud-samples-data/vision/face/faces.jpeg
- RESULTS_INT: (opcional) um valor inteiro de resultados a serem retornados. Se você omitir o campo
"maxResults"e o valor dele, a API vai retornar o valor padrão de 10 resultados. Esse campo não se aplica aos seguintes tipos de recursos:TEXT_DETECTION,DOCUMENT_TEXT_DETECTIONouCROP_HINTS. - PROJECT_ID: o ID do projeto do Google Cloud .
Método HTTP e URL:
POST https://vision.googleapis.com/v1/images:annotate
Corpo JSON da solicitação:
{
"requests": [
{
"image": {
"source": {
"imageUri": "CLOUD_STORAGE_IMAGE_URI"
}
},
"features": [
{
"maxResults": RESULTS_INT,
"type": "FACE_DETECTION"
}
]
}
]
}
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 "x-goog-user-project: PROJECT_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1/images:annotate"
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"; "x-goog-user-project" = "PROJECT_ID" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/images:annotate" | Select-Object -Expand Content
Quando a solicitação é bem-sucedida, o servidor retorna um código de status HTTP 200 OK e a
resposta no formato JSON:
Uma resposta FACE_DETECTION inclui caixas delimitadoras para todos os rostos detectados, pontos de referência
detectados nos rostos (olhos, nariz, boca etc.) e classificações de confiança para propriedades de rosto e imagem (como subexposição, desfoque e acessórios de cabeça). Os campos de probabilidade de emoção
(joyLikelihood, sorrowLikelihood, angerLikelihood e
surpriseLikelihood) foram descontinuados e retornam UNKNOWN.
Go
Antes de testar este exemplo, siga as instruções de configuração do Go no guia de início rápido do Vision: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vision Go.
Para autenticar no Vision, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Antes de testar esta amostra, siga as instruções de configuração do Java no Guia de início rápido da API Vision: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vision para Java.
Node.js
Antes de testar este exemplo, siga as instruções de configuração do Node.js no guia de início rápido do Vision: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vision Node.js.
Para autenticar no Vision, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Antes de testar esta amostra, siga as instruções de configuração do Python no Guia de início rápido do Vision: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vision Python.
Para autenticar no Vision, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
gcloud
Para fazer a detecção facial, use o comando gcloud ml vision detect-faces:
gcloud ml vision detect-faces gs://cloud-samples-data/vision/face/faces.jpeg
Linguagens adicionais
C#: siga as instruções de configuração do C# na página das bibliotecas de cliente e acesse a documentação de referência do Vision para .NET.
PHP: siga as instruções de configuração do PHP na página das bibliotecas de cliente e acesse a documentação de referência do Vision para PHP.
Ruby: siga as instruções de configuração do Ruby na página das bibliotecas de cliente e visite adocumentação de referência do Vision para Ruby.
Teste a detecção facial
Teste a detecção facial usando o aplicativo da Web a seguir. É possível usar a
imagem fornecida (gs://cloud-samples-data/vision/face/faces.jpeg) ou
especificar sua própria imagem do Cloud Storage. Envie a solicitação clicando em Executar.
Corpo da solicitação:
{
"requests": [
{
"features": [
{
"maxResults": 10,
"type": "FACE_DETECTION"
}
],
"image": {
"source": {
"imageUri": "gs://cloud-samples-data/vision/face/faces.jpeg"
}
}
}
]
}Abra o APIs Explorer do Google e envie a solicitação.
Para abrir o APIs Explorer do Google, clique em Teste.
Opcional. Modifique o corpo da solicitação atual.
Para enviar a solicitação, clique em Executar.