tracking-keypoints
Operate supervision keypoint containers, keypoint annotators, tracking IDs, and migration paths.
- License 许可
- MIT
- 最近更新
- 2026-09-03
- Stars
- ★ 351
- Forks
- 27
01 前言 Front Matter
- name
- tracking-keypoints
- license
- MIT
- metadata
- { "disco-role": "operating" }
- description
- Operate supervision keypoint containers, keypoint annotators, tracking IDs, and migration paths.
- disable-model-invocation
- true
02 资源文件 3
- 参考文档references/tracking-keypoints.md13.2 KB
- 参考文档references/troubleshooting.md9.9 KB
- 脚本scripts/draw_zones.py10.0 KB
03 SKILL.md 正文
Tracking Keypoints
Use this sub-skill when a task involves supervision keypoint data, keypoint
annotation, keypoint-to-detection conversion for tracking, persistent
tracker_id workflows, line-crossing/counting that depends on tracker identity,
or migration away from deprecated keypoint/tracker APIs.
Route here for
KeyPoints,keypoint_confidence,detection_confidence,visible,KeyPoints.merge,KeyPoints.with_nms, andKeyPoints.as_detections.- Keypoint adapters such as
KeyPoints.from_ultralytics,from_inference,from_mediapipe,from_yolo_nas,from_detectron2, andfrom_transformers. VertexAnnotator,EdgeAnnotator,VertexLabelAnnotator,VertexEllipseAreaAnnotator,VertexEllipseOutlineAnnotator,VertexEllipseHaloAnnotator, and theVertexEllipseAnnotatoralias.ByteTrack,ByteTrackTracker,tracker_id,track_objects, track labels,TraceAnnotator,DetectionsSmoother, andLineZonewhen persistent identity is central to the answer.- Deprecated
supervision.keypoint, deprecatedsv.ByteTrack, old ByteTrack threshold names, and theKeyPoints.confidencerename.
Route away
- Build, filter, save, or reason about ordinary
Detections, masks, polygon zones, line-zone geometry, sinks, or slicers when tracker continuity is not central: use detection-and-zones. - Non-keypoint detection/mask/label visualization and annotator catalog choices: use annotators.
- Image/video I/O, primitive drawing, OpenCV backend diagnosis, GUI/window problems, and video codecs: use media-utils.
- Dataset conversion or detection metric evaluation: use the corresponding dataset or metrics sub-skill.
Operating checklist
- Identify the active container. Pose/keypoint model outputs should become
sv.KeyPoints; tracking, line crossing, traces, smoothing, and most labels operate onsv.Detectionswithtracker_id. - Prefer
sv.KeyPointsorsupervision.key_points. Do not introduce newsupervision.keypointimports; that path is compatibility-only and scheduled for removal. - Use
keypoint_confidencefor per-anchor scores anddetection_confidencefor whole-skeleton scores. TreatKeyPoints.confidenceandconfidence=as deprecated compatibility shims. - Before keypoint annotation, decide whether missing/weak anchors should be
hidden with
key_points.visible. WhenvisibleisNone, annotators treat anchors as visible except that all-zero coordinates are skipped. - Before keypoint tracking, convert with
key_points.as_detections(...), ensure the resulting detections have confidence scores and positive-area boxes, then run a tracker. Prefer the externalByteTrackTrackerpackage when available;sv.ByteTrackis only a deprecated compatibility fallback in this version. - Use the tracked
Detectionsobject for tracker labels, traces, detection smoothing, andLineZone.trigger(...). Missingtracker_idis the first thing to check when these workflows do nothing or raise. - Put detailed API choices and recipes in tracking-keypoints.md, and failure repair steps in troubleshooting.md. Use the bundled draw_zones.py helper only for interactive polygon authoring in a GUI-capable environment.
Required context to keep in answers
- Target package facts:
supervision0.31.0.dev0, Python>=3.10, base installpip install supervision. - Model adapters require their own model/framework packages; they are not part
of the base
supervisioninstall. ByteTrackTrackercomes from the optional externaltrackerspackage.sv.ByteTrackstill exists as a lazy compatibility export in this target, but it is deprecated and should not be presented as stable.- Native OpenCV is optional for the package. Interactive helpers require a GUI display and an OpenCV-compatible drawing/video backend; the documented fallback backend may render or decode differently from native OpenCV.
- Do not recommend original repository docs, examples, tests, scripts, local checkout paths, or generated skill import steps as runtime dependencies.
04 同仓库更多 Skills
passnet-triton-opt
Make a single PassNet Triton kernel fast AND numerically faithful: performance model (when a replacement can win at all), block/grid/warp tuning, autotune policy, launch overhead, and per-op numeric recipes to pass the dtype baseline tolerances. Use when a pass matches and is correct but speedup below expected, or when correctness fails by small numeric margins.
passnet-solve
END-TO-END playbook for solving one PassNet sample: analyze the computation graphs, decide the optimization strategy (what to fuse, what to replace, what to leave alone), drive the iteration loop, and maximize the sample score. This is the ENTRY skill — invoke it first for any PassNet optimization task; it tells you when to use passnet-pattern-fusion, passnet-triton-opt and passnet-feedback.
passnet-skill
PassNet GPU kernel optimization via compiler passes. Design and implement Triton-based optimization passes, create pass files under ./pass_dir/, self-evaluate with pass_evaluator, and iterate to maximize GPU speedup.
passnet-pattern-fusion
Author PassNet pass files: write patterns that actually MATCH the FX graph, pick fusion regions (which ops to absorb into one Triton kernel), and structure multi-pass submissions with the mandatory shared-dispatch architecture. Use when creating or fixing pattern()/replacement_args()/replacement_func() files, when a pass "failed to match", or when deciding how to fuse multiple kernels/ops.
passnet-orchestrate
Round/batch planning and decision support for PassNet graph optimization. Use for multi-sample triage, worker allocation, eval-budget policy, and post-eval keep/revert decisions. For solving one concrete sample end to end, use passnet-solve as the entry skill; consult this skill only when you need broader planning or a specific decision gate.
passnet-feedback
Fast, deterministic feedback for PassNet work: pre-flight pattern/match verification WITHOUT burning a GPU evaluation, per-node bottleneck analysis of a sample's graphs, and eval-log parsing into per-variant status + estimated score + failure classification. Use BEFORE every GPU evaluation (check_pattern), at the START of a sample (analyze_graph), and AFTER every evaluation (parse_eval_log).