![](https://developers.google.com/static/ml-kit/vision/face-detection/images/face_detection2x.png)

With ML Kit's face detection API, you can detect faces in an image, identify
key facial features, and get the contours of detected faces. Note that the API
*detects faces*, it does not *recognize people* .

With face detection, you can get the information you need to perform tasks like
embellishing selfies and portraits, or generating avatars from a user's photo.
Because ML Kit can perform face detection in real time, you can use it in
applications like video chat or games that respond to the player's expressions.

[iOS](https://developers.google.com/ml-kit/vision/face-detection/ios.md.txt)
[Android](https://developers.google.com/ml-kit/vision/face-detection/android.md.txt)

## Key capabilities

- **Recognize and locate facial features** Get the coordinates of the eyes, ears, cheeks, nose, and mouth of every face detected.
- **Get the contours of facial features** Get the contours of detected faces and their eyes, eyebrows, lips, and nose.
- **Recognize facial expressions** Determine whether a person is smiling or has their eyes closed.
- **Track faces across video frames** Get an identifier for each unique detected face. The identifier is consistent across invocations, so you can perform image manipulation on a particular person in a video stream.
- **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.

## Example results

### Example 1

![Physicist Stephen Hawking in Zero Gravity from NASA](https://developers.google.com/static/ml-kit/vision/face-detection/images/1024px-Physicist_Stephen_Hawking_in_Zero_Gravity_NASA.jpg)

For each face detected:
Face 1 of 3 **Bounding polygon** (884.880004882812, 149.546676635742), (1030.77197265625, 149.546676635742), (1030.77197265625, 329.660278320312), (884.880004882812, 329.660278320312) **Angles of rotation** Y: -14.054030418395996, Z: -55.007488250732422 **Tracking ID** 2 **Facial landmarks** **Left eye** (945.869323730469, 211.867126464844) **Right eye** (971.579467773438, 247.257247924805) **Bottom of mouth** (907.756591796875, 259.714477539062)

... etc.
**Feature probabilities** **Smiling** 0.88979166746139526 **Left eye open** 0.98635888937860727 **Right eye open** 0.99258323386311531

### Example 2 (face contour detection)

When you have face contour detection enabled, you also get a list of points
for each facial feature that was detected. These points represent the shape of
the feature. The following image illustrates how these points map to a face.
Click the image to enlarge it:

[![](https://developers.google.com/static/ml-kit/vision/face-detection/images/face_contours.svg)](https://developers.google.com/static/ml-kit/vision/face-detection/images/face_contours.svg)

| Facial feature contours ||
|---|---|
| **Nose bridge** | (505.149811, 221.201797), (506.987122, 313.285919) |
| **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) |
| **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) |
| (etc.) |   |