kapil commited on
Commit
db5440d
·
1 Parent(s): 8e03aff

docs: update README with project details and add dashboard preview image

Browse files
Files changed (2) hide show
  1. README.md +74 -31
  2. image.png +3 -0
README.md CHANGED
@@ -1,43 +1,86 @@
1
- # 🎯 DartVision AI - Rust AutoScore Engine
2
 
3
- A high-performance dart scoring system built with **Rust** and the **Burn** Deep Learning framework. This project is a port of the original YOLOv4-tiny based DartVision, optimized for speed and safety.
4
 
5
- ![DartVision Dashboard](https://raw.githubusercontent.com/iambhabha/RustAutoScoreEngine/main/docs/dashboard.png)
6
 
7
- ## 🚀 Quick Start (GUI Dashboard)
8
- The project comes with pre-trained weights (`model_weights.bin`). You can start the professional dashboard immediately:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
 
10
- ```bash
11
- cargo run --release -- gui
12
- ```
13
- Then open: **[http://127.0.0.1:8080](http://127.0.0.1:8080)**
 
14
 
15
- ## 📈 Training
16
- To train the model on your own dataset (requires `dataset/labels.json` and images):
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
 
18
- ```bash
19
- cargo run --release -- train
20
- ```
21
- *Note: The model saves checkpoints every 100 batches. You can stop and resume training anytime.*
 
 
 
 
 
 
 
 
 
 
 
22
 
23
- ## 🔬 Testing
24
- To run a single image inference and see the neural mapping results:
25
 
26
- ```bash
27
- cargo run --release -- test <path_to_image>
28
- ```
29
 
30
- ## Features
31
- - **Neural Mapping:** Real-time detection of darts and 4 calibration corners.
32
- - **Smart Scoring:** Automatic coordinate reconstruction and BDO standard scoring.
33
- - **Reliability Checks:** GUI displays per-point confidence percentages (CAL Sync) to ensure accuracy.
34
- - **GPU Accelerated:** Powered by `WGPUDevice` and `Burn` for ultra-fast inference.
35
 
36
- ## 🛠 Project Structure
37
- - `src/model.rs`: YOLOv4-tiny architecture in Burn.
38
- - `src/loss.rs`: DIOU Loss + Objectness + Class entropy implementation.
39
- - `src/server.rs`: Axum-based web server for the GUI.
40
- - `static/index.html`: Premium Glassmorphism interface with SVG overlays.
41
 
42
  ---
43
- *Created by [iambhabha](https://github.com/iambhabha)*
 
1
+ # Rust Auto Score Engine
2
 
3
+ 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](https://github.com/iambhabha/Dart-Vision) project.
4
 
5
+ ![Dashboard Preview](image.png)
6
 
7
+ ---
8
+
9
+ ## Project Origin
10
+
11
+ This system is an optimized re-implementation of the **[Dart-Vision](https://github.com/iambhabha/Dart-Vision)** repository. While the original project provided the foundational neural logic in Python/PyTorch, this engine focuses on:
12
+ - **Performance:** Sub-millisecond tensor operations using the Burn framework.
13
+ - **Safety:** Eliminating runtime overhead and ensuring thread-safe inference.
14
+ - **Modern UI:** Transitioning from local scripts to a professional Glassmorphism web dashboard.
15
+
16
+ ---
17
+
18
+ ## Technical Overview
19
+
20
+ The engine implements a multi-stage neural pipeline designed for millisecond-latency inference and robust coordinate recovery.
21
+
22
+ ### Neural Pipeline Workflow
23
+ - **Input:** 800x800 RGB Image Frame.
24
+ - **Mapping:** YOLOv4-tiny backbone extracts point-of-interest features.
25
+ - **Verification:** Keypoint confidence filtering and objectness thresholds.
26
+ - **Symmetry Recovery:** Mathematical reconstruction of obscured calibration points.
27
+ - **Scoring:** BDO standard coordinate mapping for final point calculation.
28
+
29
+ ---
30
+
31
+ ## CLI Reference Guide
32
 
33
+ | Command | Action | Key Features |
34
+ | :--- | :--- | :--- |
35
+ | `cargo run --release -- gui` | Start Dashboard | Web UI (8080), Live SVG Overlays, Confidence Diagnostics |
36
+ | `cargo run --release -- train` | Begin Training | Adam Optimizer, DIOU Loss, Auto-Checkpointing |
37
+ | `cargo run --release -- test <path>` | Direct Inference | Raw Coordinate Reporting, Confidence Analysis |
38
 
39
+ ---
40
+
41
+ ## Installation and Setup
42
+
43
+ ### Prerequisites
44
+ - **Rust Toolchain:** Stable channel (Latest).
45
+ - **GPU Driver:** Support for Vulkan, Metal, or DirectX 12 (via WGPU).
46
+ - **Hard Drive Space:** Minimum 1GB (excluding dataset).
47
+
48
+ ### Initial Setup
49
+ 1. Clone the repository.
50
+ 2. Ensure `model_weights.bin` is present in the root directory.
51
+ 3. To test the GUI immediately, run the `gui` command.
52
+ 4. For custom training, place your images in `dataset/800/` and configuration in `dataset/labels.json`.
53
+
54
+ ---
55
 
56
+ ## Advanced Architecture and Optimization
57
+
58
+ ### 1. Distance-IOU (DIOU) Loss Implementation
59
+ Our implementation moves beyond standard Mean Squared Error. By utilizing DIOU Loss, the engine optimizes for:
60
+ - Overlap area between prediction and target.
61
+ - Euclidean distance between the central points.
62
+ - Geometric consistency of the dart point shape.
63
+
64
+ ### 2. Deep-Dart Symmetry Engine
65
+ If a calibration corner is missing or obscured by a dart or observer, the system invokes a symmetry-based recovery algorithm. By calculating the centroid of the remaining points and applying rotational offsets, the board coordinates are maintained without recalibration.
66
+
67
+ ### 3. Memory & VRAM Optimization
68
+ The training loop is architected to detach the Autodiff computation graph during logging cycles. This reduces VRAM consumption from an unoptimized 270GB down to approximately 3.3GB per training sample at 800x800 resolution.
69
+
70
+ ---
71
 
72
+ ## Resources and Research
 
73
 
74
+ This project is built upon advanced research in the computer vision and darts community:
 
 
75
 
76
+ ### Scientific Publications
77
+ - **arXiv Project (2105.09880):** [DeepDarts: Neural Network for Coordinate Reconstruction](https://arxiv.org/abs/2105.09880)
78
+ - **Darknet Research:** [YOLOv4-tiny Implementation and Paper](https://pjreddie.com/darknet/yolo/)
 
 
79
 
80
+ ### Source Materials
81
+ - **Original Project:** [iambhabha/Dart-Vision](https://github.com/iambhabha/Dart-Vision)
82
+ - **Dataset (IEEE Dataport):** [Official DeepDarts Collection (16K+ Images)](https://ieee-dataport.org/open-access/deepdarts-dataset)
83
+ - **Framework (Burn):** [Burn Deep Learning Documentation](https://burn.dev/book/)
 
84
 
85
  ---
86
+ *Distributed under the terms of the project's license. Built for the global darts technology ecosystem.*
image.png ADDED

Git LFS Details

  • SHA256: 7650c6abb10e5f4a31ecdc15d7c226203763f24a066cc1b2100a3f354a18e8dc
  • Pointer size: 131 Bytes
  • Size of remote file: 407 kB