Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Detecção facial
plat_iosplat_android
Com a API de detecção facial do kit de ML, é possível detectar rostos em uma imagem, identificar os principais traços faciais e obter o contorno dos rostos detectados.
Com a detecção facial, é possível receber as informações necessárias para executar tarefas como
embelezar selfies e retratos ou gerar avatares da foto de um usuário.
Como o Kit de ML pode realizar a detecção facial em tempo real, ele pode ser usado
em aplicativos como bate-papo por vídeo ou jogos que respondem às expressões do jogador.
Se você é um desenvolvedor do Flutter, pode ter interesse no
FlutterFire,
que inclui um plug-in para as APIs de visão ML do Firebase.
Principais recursos
Reconhecer e localizar características faciais
Detectar as coordenadas dos olhos, orelhas, bochechas, nariz e boca de
cada rosto.
Detectar contornos das características faciais
Detectar os contornos dos rostos, além de olhos, sobrancelhas, lábios e
nariz.
Reconhecer expressões faciais
Determinar se uma pessoa está sorrindo ou se está com os olhos fechados.
Rastrear rostos em quadros de vídeo
Proporcionar um identificador para cada rosto detectado.
Esse identificador é consistente nas invocações, portanto, você pode, por exemplo,
realizar manipulação de imagem em uma pessoa específica em um stream de vídeo.
Processar quadros de vídeo em tempo real
A detecção facial é executada no dispositivo e é rápida o suficiente para ser usada
em aplicativos em tempo real, como manipulação de vídeo.
Quando a detecção de contorno facial está ativada, você recebe uma lista de pontos
para cada traço facial que foi detectado. Esses pontos representam a forma do
traço. A imagem a seguir ilustra como esses pontos mapeiam um rosto (clique na imagem para ampliá-la):
[null,null,["Última atualização 2025-08-04 UTC."],[],[],null,["Face Detection \nplat_ios plat_android \n\nWith ML Kit's face detection API, you can detect faces in an image, identify\nkey facial features, and get the contours of detected faces.\n\nWith face detection, you can get the information you need to perform tasks like\nembellishing selfies and portraits, or generating avatars from a user's photo.\nBecause ML Kit can perform face detection in real time, you can use it in\napplications like video chat or games that respond to the player's expressions.\n\n[iOS](/docs/ml-kit/ios/detect-faces)\n[Android](/docs/ml-kit/android/detect-faces)\n\nIf you're a Flutter developer, you might be interested in\n[FlutterFire](https://github.com/FirebaseExtended/flutterfire/tree/master/packages/firebase_ml_vision),\nwhich includes a plugin for Firebase's ML Vision APIs.\n| This is a beta release of ML Kit for Firebase. This API might be changed in backward-incompatible ways and is not subject to any SLA or deprecation policy.\n\nKey capabilities\n\n|--------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Recognize and locate facial features | Get the coordinates of the eyes, ears, cheeks, nose, and mouth of every face detected. |\n| Get the contours of facial features | Get the contours of detected faces and their eyes, eyebrows, lips, and nose. |\n| Recognize facial expressions | Determine whether a person is smiling or has their eyes closed. |\n| Track faces across video frames | Get an identifier for each individual person's face that is detected. This identifier is consistent across invocations, so you can, for example, perform image manipulation on a particular person in a video stream. |\n| Process video frames in real time | Face detection is performed on the device, and is fast enough to be used in real-time applications, such as video manipulation. |\n\nExample results\n\nExample 1\n\nFor each face detected:\n\n| Face 1 of 3 ||\n|---------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| **Bounding polygon** | (884.880004882812, 149.546676635742), (1030.77197265625, 149.546676635742), (1030.77197265625, 329.660278320312), (884.880004882812, 329.660278320312) |\n| **Angles of rotation** | Y: -14.054030418395996, Z: -55.007488250732422 |\n| **Tracking ID** | 2 |\n| **Facial landmarks** | |---------------------|--------------------------------------| | **Left eye** | (945.869323730469, 211.867126464844) | | **Right eye** | (971.579467773438, 247.257247924805) | | **Bottom of mouth** | (907.756591796875, 259.714477539062) | ... etc. |\n| **Feature probabilities** | |--------------------|---------------------| | **Smiling** | 0.88979166746139526 | | **Left eye open** | 0.98635888937860727 | | **Right eye open** | 0.99258323386311531 | |\n\nExample 2 (face contour detection)\n\nWhen you have face contour detection enabled, you also get a list of points\nfor each facial feature that was detected. These points represent the shape of\nthe feature. The following image illustrates how these points map to a face\n(click the image to enlarge):\n\n[](/static/docs/ml-kit/images/examples/face_contours.svg)\n\n| Facial feature contours ||\n|----------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| **Nose bridge** | (505.149811, 221.201797), (506.987122, 313.285919) |\n| **Left eye** | (404.642029, 232.854431), (408.527283, 231.366623), (413.565796, 229.427856), (421.378296, 226.967682), (432.598755, 225.434143), (442.953064, 226.089508), (453.899811, 228.594818), (461.516418, 232.650467), (465.069580, 235.600845), (462.170410, 236.316147), (456.233643, 236.891602), (446.363922, 237.966888), (435.698914, 238.149323), (424.320740, 237.235168), (416.037720, 236.012115), (409.983459, 234.870300) |\n| **Top of upper lip** | (421.662048, 354.520813), (428.103882, 349.694061), (440.847595, 348.048737), (456.549988, 346.295532), (480.526489, 346.089294), (503.375702, 349.470459), (525.624634, 347.352783), (547.371155, 349.091980), (560.082031, 351.693268), (570.226685, 354.210175), (575.305420, 359.257751) |\n| (etc.) | |"]]