PkVision — Roadmap
Lists 30+ planned features and improvements for a tricking detection and scoring system, organized into six categories.
What this file does
Lists 30+ planned features and improvements for a tricking detection and scoring system, organized into six categories.
When to use it
- Planning a roadmap for a computer vision sports analysis project
- Communicating future development priorities to contributors or stakeholders
- Evaluating which features to implement next in a detection pipeline
- Aligning project goals with competition-grade accuracy requirements
Assumes this stack
PkVision — Roadmap
Infrastructure
- Docker + docker-compose — Containerize the full stack (API + worker + Redis + PostgreSQL). Single
docker-compose upto run everything. GPU passthrough support for training with NVIDIA Container Toolkit. SeparateDockerfile.api(lightweight, inference only) andDockerfile.train(full ML deps + CUDA/MPS). - CI/CD with GitHub Actions — Auto-run
pyteston every push/PR. Lint withruff. Type-check withmypy. Block merge if tests fail. Separate workflows fortest.yml(fast, no GPU),train-smoke.yml(weekly, runs 5-epoch training on fixture data to catch regressions). - PostgreSQL migration — Switch from SQLite to PostgreSQL for production. Alembic for schema migrations. Keep SQLite as dev default.
- Pre-commit hooks — ruff format + ruff check + mypy on staged files.
Real-time Pipeline
- Live webcam analysis — WebSocket endpoint that streams detections in real-time. YOLO processes frames at ~15fps, detection runs on sliding windows, scores update live.
- RTMP/RTSP stream input — Accept live video feeds from competition cameras. Integrate with OBS or professional streaming setups.
- Low-latency mode — Optimized pipeline for sub-second detection: skip frames, reduce YOLO input resolution, batch inference.
- Live overlay — OpenCV overlay on video feed showing skeleton, detected trick name, confidence bar, running score.
Benchmark & Metrics
- Accuracy benchmark suite — Standard test set of labeled clips with ground truth. Report per-trick precision, recall, F1. Compare angle threshold vs ST-GCN accuracy.
- Confusion matrix dashboard — Visual confusion matrix after each training run. Identify which tricks get confused (e.g. gainer vs back flip).
- Latency profiling — Measure end-to-end time: video load → pose extraction → detection → scoring. Track per-component timing. Target: < 2x video duration for offline, < 100ms per frame for real-time.
- Model versioning — Track model versions with metrics (accuracy, loss, training data size). MLflow or W&B integration for experiment tracking.
- Regression tests — Golden test set that must maintain >= X% accuracy. Fail CI if a model change drops below threshold.
Detection Improvements
- 3D pose estimation — Integrate MotionBERT or VideoPose3D for monocular 3D pose lifting. Critical for twist detection (rotations along camera axis).
- Multi-camera fusion — Combine 2+ camera angles for true 3D keypoints. Triangulation pipeline. Required for competition-grade accuracy.
- Execution quality scoring — Rate landing stability, body alignment, height. Separate D-score (difficulty) and E-score (execution) like FIG gymnastics.
- Combo detection — Detect trick sequences (back flip → twist → landing). Score combos with flow/transition bonuses.
- Trick phase visualization — Show approach/takeoff/execution/landing phases overlaid on the video timeline.
Community & Ecosystem
- Web dashboard — Next.js frontend for uploading videos, viewing results, browsing the trick catalog. Dark theme, responsive.
- Clip submission portal — Web form (not just GitHub Issues) for athletes to submit clips. Upload to S3/Blob, auto-notify maintainers.
- Leaderboard — Public leaderboard of highest-scoring runs submitted by the community.
- Mobile app — React Native app for filming + instant analysis. Film a trick, get immediate feedback on what was detected.
- Multilingual catalog — Expand beyond EN/FR: ES, DE, PT, JP, AR. Community-contributed translations.
- Plugin system — Allow third-party detection strategies. Community can train specialized models for niche tricks and share them.
Competition Integration
- FIG notation export — Export analysis results in FIG-compatible notation format. Align difficulty ratings with official Code of Points.
- Judge tablet interface — iPad-optimized UI for competition judges. View AI suggestions, apply overrides, submit final scores.
- Multi-athlete tracking — Detect and track multiple athletes in the same frame. Assign tricks to specific athletes.
- Competition mode — Locked-down mode with audit logging, no model updates during competition, tamper-evident results.
- Replay system — Slow-motion replay with skeleton overlay for judges to review contested detections.
What's inside
6 sections with 30+ checklist items covering infrastructure, pipeline, benchmarks, detection, community, and competition features.
Change this for your project
- Replace
PkVisionwith your project name in the title - Replace
AirKyzzZ/pkvisionwith your repository path in the description - Replace
FIGreferences with your sport's governing body notation - Replace
EN/FRwith your target languages in the multilingual catalog item
Where it goes
Keep it in your repository where the agent or team that needs it will read it.
Worth borrowing
- Separating Dockerfiles for inference vs training to keep images lean
- Using a golden test set with a minimum accuracy threshold to gate CI
- Modeling competition mode as a locked-down audit trail for judging integrity
Related Documents
Ruby 2.7
Documents every language, core class, and standard library change in Ruby 2.7 with code examples and rationale.
OABench: Benchmarking Large Language Models on the Brazilian Bar Examination
Evaluates 11 LLMs on the Brazilian Bar Exam's first phase, reporting accuracy, cost, and latency across three exam editions.
Prometheus Automation AI Marketplace - Project Documentation
Documents an enterprise AI marketplace built with Next.js 15, covering architecture, AI algorithms, security, and deployment.
Benchmarks
Compares Okra's read/write performance against raw LMDB across three dataset sizes using small key-value pairs.