RustAutoScoreEngine / README.md
kapil
Add Hugging Face Space link to README
fa684da
metadata
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.

Dashboard Preview


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

  1. Clone the repository.
  2. Ensure model_weights.bin is present in the root directory.
  3. For local dashboard, run the gui command.
  4. For custom training, place images in dataset/800/ and configuration in dataset/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

Source Materials


Distributed under the terms of the project's license. Built for the global darts technology ecosystem.