File size: 2,627 Bytes
1597d93 eb1352f 1597d93 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | ---
license: apache-2.0
pipeline_tag: keypoint-detection
library_name: executorch
---
# facemesh
This repository hosts the **facemesh** models exported for the
[React Native ExecuTorch](https://www.npmjs.com/package/react-native-executorch)
library as ExecuTorch `.pte` programs, ready to run on device.
Upstream model: [MediaPipe Face Mesh, ported to PyTorch](https://github.com/tiqq111/mediapipe_pytorch)
A face mesh model regresses 468 3-D landmarks over a single face and scores how
confident it is that it was shown a face at all. It does not search an image for
faces: give it a crop that a face detector such as
[blazeface](https://huggingface.co/software-mansion/react-native-executorch-blazeface)
already found.
## Variants
| Path | Backend | Precision |
| --- | --- | --- |
| `xnnpack/facemesh_xnnpack_fp32.pte` | xnnpack | fp32 |
| `coreml/facemesh_coreml_fp16.pte` | coreml | fp16 |
xnnpack is fp32 on purpose: an int8 build ran 0.78x as fast on a Galaxy S26 Ultra and
0.80x on an iPhone 16 Pro while drifting up to 6.3 px.
## Interface
```
forward: [1, 3, 192, 192] f32
-> (boxes [1, 4] f32, scores [1] f32, keypoints [1, 468, 4] f32)
```
The input is RGB, channels-first, normalized to `v / 127.5 - 1`. The outputs
follow the same shape every keypoint model in this collection publishes, with
one candidate: `boxes` is the xyxy hull of the mesh in input-pixel units,
`scores` is the face-presence probability, and each landmark is
`x, y, confidence, z`. The mesh carries no per-landmark confidence, so that
column is a constant `1`; `z` is a relative depth on the same scale as `x`,
negative towards the camera.
Landmark order is MediaPipe's canonical face model, so any lip, eye or
face-oval index list published for MediaPipe Face Mesh applies unchanged.
## Repository structure
```
config.json 30 B
coreml/config.json 719 B
coreml/facemesh_coreml_fp16.pte 1.6 MB
xnnpack/config.json 721 B
xnnpack/facemesh_xnnpack_fp32.pte 2.5 MB
```
## Compatibility
These files are published for the **ExecuTorch v1.4.1** runtime. ExecuTorch
gives no forward compatibility guarantee, so an older runtime may fail to load
them.
To use them in React Native ExecuTorch, pass the model constant shipped in the
library's model registry to the corresponding task pipeline. See the
[documentation](https://docs.swmansion.com/react-native-executorch/docs/fundamentals/downloading-models).
To load these files in your own ExecuTorch runtime, read the
[compatibility note](https://github.com/pytorch/executorch/blob/main/runtime/COMPATIBILITY.md)
first.
|