Esta página descreve como reconhecer celebridades em imagens usando a API do Vision.
A API do Vision permite detectar rostos em uma imagem. Ao reconhecer um rosto, a API do Vision pode compará-lo com uma galeria indexada de celebridades coletadas pelo Google.
A API do Vision pode reconhecer milhares de celebridades e destina-se ao uso somente em conteúdo de mídia fotografada profissionalmente, em que celebridades de fácil reconhecimento aparecem na imagem.
Se uma correspondência for encontrada, a API do Vision fornecerá o ID da máquina (MID, na sigla em inglês) do mapa de informações da celebridade, o nome dela e uma caixa delimitadora indicando onde o rosto aparece na imagem.
Solicitar acesso à API
Este recurso destina-se ao uso por empresas de mídia e entretenimento ou por parceiros aprovados que envolve conteúdo de mídia produzido profissionalmente. Para solicitar acesso à API, envie este formulário com informações sobre sua empresa e caso de uso.
Solicitar reconhecimento de celebridade para 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 sua solicitação.
Para solicitações gcloud
e da biblioteca de cliente, especifique o caminho para uma imagem local na
sua solicitação.
Para enviar uma solicitação de reconhecimento de celebridade, primeiro você recebe acesso
ao recurso para seu projeto e depois usa o recurso atual
de detecção facial (tipo enumerado FACE_DETECTION
).
Os resultados incluirão informações de celebridades se uma celebridade for detectada.
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. Essa string precisa ser semelhante à seguinte:
/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
- PROJECT_ID pelo ID do projeto no Google Cloud.
Método HTTP e URL:
POST https://vision.googleapis.com/v1p4beta1/images:annotate
Corpo JSON da solicitação:
{ "requests": [ { "image": { "content": "BASE64_ENCODED_IMAGE " }, "features": [ { "type": "FACE_DETECTION" } ], "imageContext": { "faceRecognitionParams": { "celebritySet": ["builtin/default"] } } } ] }
Para enviar a solicitação, escolha uma destas opções:
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 "x-goog-user-project:PROJECT_ID " \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1p4beta1/images:annotate"
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
$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/v1p4beta1/images:annotate" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
Resposta
{ "responses": [ { "faceAnnotations": [ { "boundingPoly": { "vertices": [ { "x": 203 }, { "x": 570 }, { "x": 570, "y": 368 }, { "x": 203, "y": 368 } ] }, "fdBoundingPoly": { "vertices": [ { "x": 254, "y": 48 }, { "x": 524, "y": 48 }, { "x": 524, "y": 318 }, { "x": 254, "y": 318 } ] }, "landmarks": [ { "type": "LEFT_EYE", "position": { "x": 328.92297, "y": 135.14728, "z": -0.00084506406 } }, { "type": "RIGHT_EYE", "position": { "x": 440.65927, "y": 131.96986, "z": -0.18113805 } }, { "type": "LEFT_OF_LEFT_EYEBROW", "position": { "x": 290.14877, "y": 114.45657, "z": 11.400304 } }, { "type": "RIGHT_OF_LEFT_EYEBROW", "position": { "x": 357.85278, "y": 109.40719, "z": -21.749352 } }, { "type": "LEFT_OF_RIGHT_EYEBROW", "position": { "x": 411.14322, "y": 108.33092, "z": -21.866737 } }, { "type": "RIGHT_OF_RIGHT_EYEBROW", "position": { "x": 480.46622, "y": 110.60321, "z": 11.405331 } }, { "type": "MIDPOINT_BETWEEN_EYES", "position": { "x": 384.6528, "y": 129.57939, "z": -23.62145 } }, { "type": "NOSE_TIP", "position": { "x": 383.5203, "y": 196.91586, "z": -55.91733 } }, { "type": "UPPER_LIP", "position": { "x": 387.36368, "y": 236.28792, "z": -29.9772 } }, { "type": "LOWER_LIP", "position": { "x": 385.20834, "y": 277.3345, "z": -21.621998 } }, { "type": "MOUTH_LEFT", "position": { "x": 341.77988, "y": 248.98514, "z": 0.5651365 } }, { "type": "MOUTH_RIGHT", "position": { "x": 439.91428, "y": 244.32759, "z": 2.6951885 } }, { "type": "MOUTH_CENTER", "position": { "x": 385.44574, "y": 254.93304, "z": -21.696716 } }, { "type": "NOSE_BOTTOM_RIGHT", "position": { "x": 415.55923, "y": 201.68005, "z": -13.386427 } }, { "type": "NOSE_BOTTOM_LEFT", "position": { "x": 354.17462, "y": 205.03098, "z": -12.758772 } }, { "type": "NOSE_BOTTOM_CENTER", "position": { "x": 385.9818, "y": 213.22089, "z": -30.45643 } }, { "type": "LEFT_EYE_TOP_BOUNDARY", "position": { "x": 329.98587, "y": 128.55806, "z": -7.625594 } }, { "type": "LEFT_EYE_RIGHT_CORNER", "position": { "x": 350.25543, "y": 136.96538, "z": 0.3162137 } }, { "type": "LEFT_EYE_BOTTOM_BOUNDARY", "position": { "x": 327.47772, "y": 142.9333, "z": -1.0234838 } }, { "type": "LEFT_EYE_LEFT_CORNER", "position": { "x": 307.4751, "y": 137.34349, "z": 10.214714 } }, { "type": "LEFT_EYE_PUPIL", "position": { "x": 328.45987, "y": 136.19621, "z": -3.1551569 } }, { "type": "RIGHT_EYE_TOP_BOUNDARY", "position": { "x": 440.0691, "y": 126.8801, "z": -7.779711 } }, { "type": "RIGHT_EYE_RIGHT_CORNER", "position": { "x": 464.28534, "y": 135.34042, "z": 10.301969 } }, { "type": "RIGHT_EYE_BOTTOM_BOUNDARY", "position": { "x": 441.76584, "y": 140.32564, "z": -1.2271972 } }, { "type": "RIGHT_EYE_LEFT_CORNER", "position": { "x": 422.21207, "y": 135.32939, "z": 0.33341154 } }, { "type": "RIGHT_EYE_PUPIL", "position": { "x": 441.37714, "y": 134.46259, "z": -3.4412556 } }, { "type": "LEFT_EYEBROW_UPPER_MIDPOINT", "position": { "x": 324.93048, "y": 96.94437, "z": -13.394134 } }, { "type": "RIGHT_EYEBROW_UPPER_MIDPOINT", "position": { "x": 444.3336, "y": 95.093765, "z": -13.487409 } }, { "type": "LEFT_EAR_TRAGION", "position": { "x": 261.2239, "y": 191.10706, "z": 136.27896 } }, { "type": "RIGHT_EAR_TRAGION", "position": { "x": 513.192, "y": 187.88185, "z": 136.99525 } }, { "type": "FOREHEAD_GLABELLA", "position": { "x": 384.6936, "y": 107.73683, "z": -26.120888 } }, { "type": "CHIN_GNATHION", "position": { "x": 388.01538, "y": 322.47537, "z": -6.83534 } }, { "type": "CHIN_LEFT_GONION", "position": { "x": 274.37195, "y": 261.15628, "z": 91.56324 } }, { "type": "CHIN_RIGHT_GONION", "position": { "x": 500.2335, "y": 257.99966, "z": 91.12145 } } ], "rollAngle": -0.8706148, "panAngle": -0.0915068, "tiltAngle": 0.05244069, "detectionConfidence": 0.99914575, "landmarkingConfidence": 0.7713903, "joyLikelihood": "VERY_LIKELY", "sorrowLikelihood": "VERY_UNLIKELY", "angerLikelihood": "VERY_UNLIKELY", "surpriseLikelihood": "VERY_UNLIKELY", "underExposedLikelihood": "VERY_UNLIKELY", "blurredLikelihood": "VERY_UNLIKELY", "headwearLikelihood": "VERY_UNLIKELY", "recognitionResult": [ { "celebrity": { "name": "builtin/celebrity-mid ", "displayName": "celebrity-name " }, "confidence": 0.82625544 } ] } ] } ] }
Solicitar reconhecimento de celebridade para uma imagem remota
É possível usar a API Vision para realizar a detecção de recursos em um arquivo de imagem remoto 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.
Para enviar uma solicitação de reconhecimento de celebridade, primeiro você recebe acesso
ao recurso para seu projeto e depois usa o recurso atual
de detecção facial (tipo enumerado FACE_DETECTION
).
Os resultados incluirão informações de celebridades se uma celebridade for detectada.
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://my-cloud-bucket/img/celebrity_image.jpg
- PROJECT_ID pelo ID do projeto do Google Cloud.
Método HTTP e URL:
POST https://vision.googleapis.com/v1p4beta1/images:annotate
Corpo JSON da solicitação:
{ "requests": [ { "image": { "source": { "imageUri": "CLOUD_STORAGE_FILE_URI " } }, "features": [ { "type": "FACE_DETECTION" } ], "imageContext": { "faceRecognitionParams": { "celebritySet": ["builtin/default"] } } } ] }
Para enviar a solicitação, escolha uma destas opções:
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 "x-goog-user-project:PROJECT_ID " \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1p4beta1/images:annotate"
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
$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/v1p4beta1/images:annotate" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
Resposta
{ "responses": [ { "faceAnnotations": [ { "boundingPoly": { "vertices": [ { "x": 203 }, { "x": 570 }, { "x": 570, "y": 368 }, { "x": 203, "y": 368 } ] }, "fdBoundingPoly": { "vertices": [ { "x": 254, "y": 48 }, { "x": 524, "y": 48 }, { "x": 524, "y": 318 }, { "x": 254, "y": 318 } ] }, "landmarks": [ { "type": "LEFT_EYE", "position": { "x": 328.92297, "y": 135.14728, "z": -0.00084506406 } }, { "type": "RIGHT_EYE", "position": { "x": 440.65927, "y": 131.96986, "z": -0.18113805 } }, { "type": "LEFT_OF_LEFT_EYEBROW", "position": { "x": 290.14877, "y": 114.45657, "z": 11.400304 } }, { "type": "RIGHT_OF_LEFT_EYEBROW", "position": { "x": 357.85278, "y": 109.40719, "z": -21.749352 } }, { "type": "LEFT_OF_RIGHT_EYEBROW", "position": { "x": 411.14322, "y": 108.33092, "z": -21.866737 } }, { "type": "RIGHT_OF_RIGHT_EYEBROW", "position": { "x": 480.46622, "y": 110.60321, "z": 11.405331 } }, { "type": "MIDPOINT_BETWEEN_EYES", "position": { "x": 384.6528, "y": 129.57939, "z": -23.62145 } }, { "type": "NOSE_TIP", "position": { "x": 383.5203, "y": 196.91586, "z": -55.91733 } }, { "type": "UPPER_LIP", "position": { "x": 387.36368, "y": 236.28792, "z": -29.9772 } }, { "type": "LOWER_LIP", "position": { "x": 385.20834, "y": 277.3345, "z": -21.621998 } }, { "type": "MOUTH_LEFT", "position": { "x": 341.77988, "y": 248.98514, "z": 0.5651365 } }, { "type": "MOUTH_RIGHT", "position": { "x": 439.91428, "y": 244.32759, "z": 2.6951885 } }, { "type": "MOUTH_CENTER", "position": { "x": 385.44574, "y": 254.93304, "z": -21.696716 } }, { "type": "NOSE_BOTTOM_RIGHT", "position": { "x": 415.55923, "y": 201.68005, "z": -13.386427 } }, { "type": "NOSE_BOTTOM_LEFT", "position": { "x": 354.17462, "y": 205.03098, "z": -12.758772 } }, { "type": "NOSE_BOTTOM_CENTER", "position": { "x": 385.9818, "y": 213.22089, "z": -30.45643 } }, { "type": "LEFT_EYE_TOP_BOUNDARY", "position": { "x": 329.98587, "y": 128.55806, "z": -7.625594 } }, { "type": "LEFT_EYE_RIGHT_CORNER", "position": { "x": 350.25543, "y": 136.96538, "z": 0.3162137 } }, { "type": "LEFT_EYE_BOTTOM_BOUNDARY", "position": { "x": 327.47772, "y": 142.9333, "z": -1.0234838 } }, { "type": "LEFT_EYE_LEFT_CORNER", "position": { "x": 307.4751, "y": 137.34349, "z": 10.214714 } }, { "type": "LEFT_EYE_PUPIL", "position": { "x": 328.45987, "y": 136.19621, "z": -3.1551569 } }, { "type": "RIGHT_EYE_TOP_BOUNDARY", "position": { "x": 440.0691, "y": 126.8801, "z": -7.779711 } }, { "type": "RIGHT_EYE_RIGHT_CORNER", "position": { "x": 464.28534, "y": 135.34042, "z": 10.301969 } }, { "type": "RIGHT_EYE_BOTTOM_BOUNDARY", "position": { "x": 441.76584, "y": 140.32564, "z": -1.2271972 } }, { "type": "RIGHT_EYE_LEFT_CORNER", "position": { "x": 422.21207, "y": 135.32939, "z": 0.33341154 } }, { "type": "RIGHT_EYE_PUPIL", "position": { "x": 441.37714, "y": 134.46259, "z": -3.4412556 } }, { "type": "LEFT_EYEBROW_UPPER_MIDPOINT", "position": { "x": 324.93048, "y": 96.94437, "z": -13.394134 } }, { "type": "RIGHT_EYEBROW_UPPER_MIDPOINT", "position": { "x": 444.3336, "y": 95.093765, "z": -13.487409 } }, { "type": "LEFT_EAR_TRAGION", "position": { "x": 261.2239, "y": 191.10706, "z": 136.27896 } }, { "type": "RIGHT_EAR_TRAGION", "position": { "x": 513.192, "y": 187.88185, "z": 136.99525 } }, { "type": "FOREHEAD_GLABELLA", "position": { "x": 384.6936, "y": 107.73683, "z": -26.120888 } }, { "type": "CHIN_GNATHION", "position": { "x": 388.01538, "y": 322.47537, "z": -6.83534 } }, { "type": "CHIN_LEFT_GONION", "position": { "x": 274.37195, "y": 261.15628, "z": 91.56324 } }, { "type": "CHIN_RIGHT_GONION", "position": { "x": 500.2335, "y": 257.99966, "z": 91.12145 } } ], "rollAngle": -0.8706148, "panAngle": -0.0915068, "tiltAngle": 0.05244069, "detectionConfidence": 0.99914575, "landmarkingConfidence": 0.7713903, "joyLikelihood": "VERY_LIKELY", "sorrowLikelihood": "VERY_UNLIKELY", "angerLikelihood": "VERY_UNLIKELY", "surpriseLikelihood": "VERY_UNLIKELY", "underExposedLikelihood": "VERY_UNLIKELY", "blurredLikelihood": "VERY_UNLIKELY", "headwearLikelihood": "VERY_UNLIKELY", "recognitionResult": [ { "celebrity": { "name": "builtin/celebrity-mid ", "displayName": "celebrity-name " }, "confidence": 0.82625544 } ] } ] } ] }
Solicitar desativação de celebridade
Se você é uma celebridade e não quer ser incluído neste recurso para a API do Cloud Vision ou do Video Intelligence, preencha e envie este formulário.
Denunciar uso indevido
Se você suspeitar que o recurso Reconhecimento de celebridades da API do Vision está sendo usado indevidamente de alguma forma, informe-nos usando este formulário.