tune-detection
Tune exercise detection sensitivity and thresholds. Use when exercises aren't counting correctly, have false positives, or need calibration adjustments.
Installation
Suivez les instructions du dépôt pour votre agent. Consultez les fichiers et dépendances avant l’installation.
Voir la source ↗GuidesInstructions
Tune Detection Thresholds
Common Issues
| Problem | Likely Cause | Fix |
|---|---|---|
| Not counting reps | Thresholds too strict | Lower down threshold or raise up threshold |
| Double counting | Thresholds too loose | Tighten thresholds, add hysteresis |
| Counts on wrong motion | Wrong landmarks | Check landmark IDs match exercise |
| Works for some people | Fixed thresholds | Use body-relative thresholds with getBodyScale() |
Threshold Locations
JSON configs (preferred):
exercises/*.json → detection.thresholds
Legacy functions in exercise_ui.html:
-
detectLegacySquat- DOWN_ANGLE, UP_ANGLE -
detectLegacyPushup- DOWN_ANGLE, UP_ANGLE -
detectLegacyJumpingJack- arm position relative to shoulders -
detectLegacyCalfRaise- legLength * 0.04 threshold -
detectLegacySideStretch- bodyScale * 0.4 threshold
Detection Helpers
The codebase includes helpers for robust detection:
// Check if landmarks are visible
isVisible(landmarks, [23, 24, 25, 26], 0.5)
// Normalize to body size
const bodyScale = getBodyScale(landmarks);
const threshold = baseThreshold * bodyScale;
Testing Changes
- Edit threshold in JSON or HTML
- Restart tracker:
./exercise_tracker.py user_prompt_submit '{}' - Watch the status text - it shows live angle/distance values
- Adjust based on when state transitions happen
Both-sides Averaging
For angle-based exercises, use joint_alt in JSON to average both sides:
"landmarks": {
"joint": [23, 25, 27],
"joint_alt": [24, 26, 28]
}
Exemples
Consultez les exemples du dépôt source.
Voir la source ↗Historique source
- Date d’indexation
- 2026-01-20
- Mise à jour de l’index
- 2026-02-02
- Branch
- main
Les dates concernent ce répertoire. Consultez le dépôt pour l’historique du code.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!