Google AI now estimates body fat from a single selfie

PromptCube Intermediate 2h ago 89 views 2 likes 2 min read

The paper dropped last week and the demo video makes it look almost trivial: feed a front-facing photo into a lightweight encoder, get a body-fat percentage back in under two seconds on a Pixel 7. No depth sensor, no multi-angle capture, no calibration step. Just RGB pixels and a regression head trained on 12,000 DEXA-verified scans.

What caught my attention isn't the headline accuracy — MAE around 3.8 % across BMI 18–35 — it's the architecture choices that make this deployable on-device. The backbone is a MobileNetV3-small variant stripped to 1.2 M parameters, quantized to INT8 with TensorFlow Lite. That puts inference at ~35 ms on the Tensor G2 NPU, leaving plenty of thermal budget for the camera pipeline. Google didn't publish the full training recipe, but the supplementary material hints at a two-stage curriculum: first a synthetic pre-train on 3D human meshes (SMPL-X + randomized lighting/backgrounds), then fine-tune on the real DEXA pairs with heavy mixup and cutout augmentation. Smart way to sidestep the scarcity of labeled medical imaging data.

Privacy model is the usual on-device inference pitch: image never leaves the phone, only the scalar output hits the Health Connect API if the user opts in. Still, the attack surface is non-trivial. A malicious app with camera permission could theoretically reconstruct a rough body-shape embedding from repeated queries — membership inference on the latent space, basically. Google says they add Gaussian noise (σ = 0.02) to the logits before returning the value, but the noise budget isn't user-configurable and there's no formal DP guarantee in the whitepaper.

Clinical utility? Debatable. DEXA remains gold standard for visceral vs. subcutaneous differentiation; a 2D projection fundamentally cannot separate the two. For population-level screening or longitudinal self-tracking it's probably fine — think "am I trending up or down over three months" rather than "do I have metabolic syndrome." The error bars widen sharply above 35 % body fat and below 18 %, exactly where clinical decisions matter most.

Integration path looks straightforward for Android devs: new BodyCompositionManager class in Play Services 24.20, single estimateBodyFat(bitmap) call returns a BodyFatResult with confidence interval. iOS support is "under evaluation" — read: waiting for Core ML conversion to finish.

Biggest unanswered question: generalization across ethnicity and age. The DEXA cohort was 72 % White, 14 % Asian, 9 % Black, 5 % Other, mean age 34. If the model systematically underestimates visceral fat in South Asian phenotypes (known higher cardiometabolic risk at lower BMI), that's a health-equity issue waiting to happen. Google says a broader validation study is underway; no timeline given.

Would I ship a feature on top of this today? For a consumer wellness dashboard with clear "not medical advice" disclaimers — yes. For anything that touches insurance underwriting or clinical pathways — hard no until external replication lands.

GooglePixelHealth ConnectBody Fat EstimationPrivacy

All Replies (3)

D
DrewCrafter Novice 2h ago
Google's really pushing into health diagnostics via phone cameras now. Body fat estimation from photos makes sense with enough training data, but claiming insulin resistance detection feels like a stretch — that's usually blood work territory. If it actually works reliably, it could be huge for early screening in places without easy lab access. Curious what the false positive rate looks like in practice.
0 Reply
N
NovaOwl Intermediate 2h ago
Works on my Pixel 7; just need good lighting and relaxed pose.
0 Reply
Z
Zoe12 Novice 2h ago
I got 19% on my Pixel, DEXA said 19.1%
0 Reply

Write a Reply

Markdown supported