tune-detection
Tune exercise detection sensitivity and thresholds. Use when exercises aren't counting correctly, have false positives, or need calibration adjustments.
安装与使用
请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。
查看来源 ↗使用指南技能说明
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]
}
使用示例
查看来源仓库中的使用示例与配置说明。
查看来源 ↗来源历史
- 收录时间
- 2026-01-20
- 索引更新时间
- 2026-02-02
- Branch
- main
收录与同步日期属于本站记录。源码修改历史请查看来源仓库。
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!