mlboydaisuke commited on
Commit
3fca56c
·
verified ·
1 Parent(s): d432769

RTMPose-Face WFLW LiteRT fp16 (fully-GPU, Pixel 8a corr 0.9995, 4ms)

Browse files
Files changed (3) hide show
  1. README.md +45 -0
  2. rtm_face_fp16.tflite +3 -0
  3. samples/sample.png +0 -0
README.md ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ library_name: LiteRT
4
+ pipeline_tag: keypoint-detection
5
+ tags: [litert, tflite, on-device, android, gpu, face-alignment, face-landmarks, rtmpose, wflw, mmpose]
6
+ base_model: open-mmlab/mmpose
7
+ ---
8
+
9
+ # RTMPose-Face (WFLW) — LiteRT (on-device 98-point face alignment, fully-GPU)
10
+
11
+ [RTMPose](https://github.com/open-mmlab/mmpose) (mmpose) face alignment, trained on **WFLW**, converted to
12
+ **LiteRT** and running **fully on the `CompiledModel` GPU** (ML Drift) on Android. **98 dense facial landmarks**
13
+ (contour, eyebrows, eyes, nose, mouth, pupils) — the dense complement to a 5-point face detector.
14
+
15
+ ![RTMPose-Face — 98-point WFLW face mesh on-device LiteRT GPU](samples/sample.png)
16
+
17
+ ## On-device (Pixel 8a, Tensor G3 — verified)
18
+
19
+ | | |
20
+ |---|---|
21
+ | nodes on GPU | **333 / 333** LITERT_CL (full residency) |
22
+ | inference | **~4 ms** (256×256) |
23
+ | size | 33.6 MB (fp16) |
24
+ | accuracy | device-vs-PyTorch SimCC corr **0.9995**, 98 landmarks |
25
+
26
+ ```
27
+ face[1,3,256,256] (mmpose mean/std) →[GPU: RTMPose-m]→ simcc_x[1,98,512], simcc_y[1,98,512]
28
+ ```
29
+
30
+ output[0] = simcc_x, output[1] = simcc_y; each landmark = `argmax` over its 1D SimCC (bins = pixels × 2).
31
+
32
+ ## How it converts (litert-torch) — the RTMPose recipe, unchanged
33
+
34
+ Same model family as the human-pose RTMPose; only the config/checkpoint change to WFLW. The two on-device-only
35
+ Mali fixes transfer **without modification**: **`ScaleNorm` → SafeRMSNorm** and **GAU `act@act` BMM →
36
+ broadcast-reduce**. banned ops NONE, ≤4D, tflite-vs-torch corr **1.0**, device-vs-torch **0.9995**.
37
+
38
+ ## Preprocessing
39
+
40
+ Center-crop to a (centered) face, resize 256×256, mmpose mean/std (RGB, 0-255 scale), NCHW.
41
+
42
+ ## License
43
+
44
+ [Apache-2.0](https://github.com/open-mmlab/mmpose/blob/main/LICENSE). Upstream:
45
+ [open-mmlab/mmpose](https://github.com/open-mmlab/mmpose); dataset [WFLW](https://wywu.github.io/projects/LAB/WFLW.html).
rtm_face_fp16.tflite ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:652788790a2dac0ff117e5bc33c17eeb7048fd7ac0e6642e98b9fb60e65e24c7
3
+ size 33622896
samples/sample.png ADDED