Face mesh detection concepts
Stay organized with collections
Save and categorize content based on your preferences.
Face mesh info contains two parts:
-
468 3D points:Each point has a unique ID, ranging from 0 to 467,
associated with a fixed position on the detected face. For each point:
- x and y are pixel coordinates of the detected face.
- z is the depth info scaled to image size, such that z-values are more
negative when the face is closer to the camera. The origin is the average
depth of all 468 points.
-
Triangle info:This is used to represent a logical triangle surface in the
detected face. Each triangle contains three 3D points. For example, Points
#0, #37, and #164 construct a small triangle area between the nose and
lips.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License
, and code samples are licensed under the Apache 2.0 License
. For details, see the Google Developers Site Policies
. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-09-04 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[[["\u003cp\u003eFace mesh data provides 468 3D points, each with unique ID, pixel coordinates (x, y), and depth information (z).\u003c/p\u003e\n"],["\u003cp\u003eTriangles are formed using these 3D points to represent the face's surface, like a nose-lip triangle using points #0, #37, and #164.\u003c/p\u003e\n"],["\u003cp\u003eDepth information (z) is scaled relative to image size, with closer points having more negative z-values.\u003c/p\u003e\n"]]],["The face mesh data consists of 468 unique 3D points, each with x and y pixel coordinates on the detected face and a z-value representing depth relative to the average depth of all points. Each point has an ID from 0 to 467. Additionally, the data includes triangle information, where each triangle is defined by three of these 3D points. These triangles create a surface representing the detected face, with each having its own IDs, such as points #0, #37, and #164.\n"],null,["Face mesh info contains two parts:\n\n- **468 3D points:** Each point has a unique ID, ranging from 0 to 467,\n associated with a fixed position on the detected face. For each point:\n\n - x and y are pixel coordinates of the detected face.\n - z is the depth info scaled to image size, such that z-values are more negative when the face is closer to the camera. The origin is the average depth of all 468 points.\n- **Triangle info:** This is used to represent a logical triangle surface in the\n detected face. Each triangle contains three 3D points. For example, Points\n #0, #37, and #164 construct a small triangle area between the nose and\n lips.\n\n[](/static/ml-kit/vision/face-mesh-detection/images/uv_unwrap_full.png)"]]