Spaces:
Build error
title: Rust Auto Score Engine
emoji: 🎯
colorFrom: green
colorTo: blue
sdk: docker
pinned: false
Rust Auto Score Engine
A high-performance dart scoring system architected in Rust, utilizing the Burn Deep Learning framework. This engine is the high-concurrency Rust port of the original Python-based Dart-Vision project.
Live Demo (No Server Required)
The entire neural engine can run directly in your browser using WebAssembly (WASM). No installation or heavy server is required.
Try it here (WASM): https://iambhabha.github.io/RustAutoScoreEngine/ Try it here (Hugging Face Space): https://huggingface.co/spaces/bhabha-kapil/RustAutoScoreEngine
Technical Overview
The engine implements a multi-stage neural pipeline designed for millisecond-latency inference and robust coordinate recovery.
Neural Pipeline Workflow
- Input: 800x800 RGB Image Frame.
- Mapping: YOLOv4-tiny backbone extracts point-of-interest features.
- Verification: Keypoint confidence filtering and objectness thresholds.
- Symmetry Recovery: Mathematical reconstruction of obscured calibration points.
- Scoring: BDO standard coordinate mapping for final point calculation.
CLI Reference Guide
| Command | Action | Key Features |
|---|---|---|
cargo run --release -- gui |
Start Dashboard | Web UI (8080), Live SVG Overlays, Confidence Diagnostics |
cargo run --release -- train |
Begin Training | Adam Optimizer, DIOU Loss, Auto-Checkpointing |
cargo run --release -- test <path> |
Direct Inference | Raw Coordinate Reporting, Confidence Analysis |
Installation and Setup
Prerequisites
- Rust Toolchain: Stable channel (Latest).
- GPU Driver: Support for Vulkan, Metal, or DirectX 12 (via WGPU).
- Hard Drive Space: Minimum 1GB (excluding dataset).
Initial Setup
- Clone the repository.
- Ensure
model_weights.binis present in the root directory. - For local dashboard, run the
guicommand. - For custom training, place images in
dataset/800/and configuration indataset/labels.json.
Advanced Architecture and Optimization
1. Distance-IOU (DIOU) Loss Implementation
Utilizing DIOU Loss ensures stable training and faster convergence for small objects like dart tips by calculating intersection over union alongside center distance.
2. Deep-Dart Symmetry Engine
If a calibration corner is obscured, the system invokes a symmetry-based recovery algorithm to reconstruct the board area without recalibration.
3. Memory & VRAM Optimization
Optimized to handle 800x800 resolution training on consumer GPUs by efficiently detaching the Autodiff computation graph during logging cycles (Usage: ~3.3GB VRAM).
Resources and Research
Scientific Publications
- arXiv Project (2105.09880): DeepDarts Neural Network Paper
- Original Project: iambhabha/Dart-Vision
Source Materials
- Dataset (IEEE Dataport): Official DeepDarts Collection (16K+ Images)
- Framework (Burn): Burn Deep Learning Documentation
Distributed under the terms of the project's license. Built for the global darts technology ecosystem.
