Kawal511/Ergonomics-MultiHMR
Ergonomic Analysis
Upload a barbershop photo or clip. Multi-HMR builds a 3D whole-body skeleton of everyone in frame, then a deterministic scoring layer reports:
- Barber (standing) — REBA posture-risk score, Low / Med / High / Critical
- Client (seated) — comfort profile plus chair-design suggestions
No training, no configuration. Roles are assigned automatically.
Deploying this Space
1. Put SMPL-X in a private dataset repo
SMPL-X is licence-restricted and must not be committed to a public Space.
- <https://huggingface.co/new-dataset> → name it
smplx-neutral→ visibility Private. - Upload your
SMPLX_NEUTRAL.npzto it.
2. Create the Space
<https://huggingface.co/new-space> → SDK Gradio → Hardware:
3. Upload the files
Clone the Space and push app.py, requirements.txt and this README.md:
git clone https://huggingface.co/spaces/YOUR-USERNAME/ergonomic-analysis
cd ergonomic-analysis
# copy the three files in, then:
git add . && git commit -m "initial" && git pushOr use the Files → Add file → Upload files button in the Space's web UI.
4. Set the secret and variables
Space Settings → Variables and secrets:
HF_TOKEN must be a Secret, not a Variable — it grants access to your private repo.
5. First build
The first build takes 10–15 minutes: it installs the dependencies, clones Multi-HMR and downloads the checkpoint. Watch the Logs tab. Once you see setup complete, it's live.
Restarts reuse the cached checkpoint and come up in about a minute.
Troubleshooting
Licensing
Multi-HMR (NAVER LABS Europe) is licensed for research and non-commercial use only. Commercial deployment requires a separate licence from NAVER. SMPL-X is likewise non-commercial and cannot be redistributed — hence the private-repo arrangement above.
Accuracy
Validated on 3DPW (1355 frames, 24 sequences): median joint-angle error 7.9°, trunk 4.2°, upper arm 5.7°. Neck and elbow carry a larger systematic offset (16–18°) from a known SMPL↔SMPL-X joint-definition difference. REBA tiers are correct 76.5% of the time and always within one tier.
