scorelens-dd9

Feingetunte Variante von dart-sense (YOLOv8n, Lizenz CC BY-NC 4.0) für FreeDarts/ScoreLens: erkennt auf einem Foto die Kalibrierpunkte eines Steel-Dartboards und die Spitzen der steckenden Darts. 7 Klassen: 20, 3, 11, 6 (Kalibrierpunkte am Doppelring), dart (Spitze), 9, 15 (Zusatzpunkte). Eingabe 800 px.

Training auf Kaggle (T4, Gratis-Kontingent), Warmstart aus dd6, die ersten 5 Backbone-Blöcke eingefroren.

Bestes Modell auf Benchmark v3.1 (55,2 % App-Wertung). ⚠️ Einordnung: Der Sprung gegenüber dd8 kommt fast ganz aus der Gruppe „AnyDarts-Fotos“ (9,0 → 55,8 %). dd9 hat mit Fotos desselben Aufbaus trainiert, der auch im Test steckt – das ist ein Heimspiel und kein Beleg dafür, dass das Modell beliebige fremde Boards kann. Ohne diese Gruppe liegt dd9 bei 54,9 % und damit gleichauf mit dd8 (55,6 %). Was es zeigt: Wenige echte Fotos eines Aufbaus genügen, damit das Modell ihn beherrscht. Beim Board-Finden ist dd9 schwächer als dd8 (Board weit weg: 2,8 % statt 32 %), weil es von dd6 gestartet ist.

Interaktive Rangliste aller Modelle

Trainingsdaten

Datensatz data9 = komplettes data6 (71.132) + 23.337 Copy-Paste-Bilder (echter Dart aus dem Folgefoto 12–36 px neben eine vorhandene Spitze oder in den Doppelring gesetzt) + 2.213 echte enge Spitzen dreifach gehärtet + 11.725 gehärtete Roboflow-Bilder + 4.069 Bilder aus 749 AnyDarts-Fotos (anderes Board, andere Darts) + 358 YouTube-/Handy-Bilder
Trainingsbilder 119.649 (nach doppelter Gewichtung der seitlichen D2-Fotos)
Validierung 1.579 echte DeepDarts-Bilder, in keinem Training enthalten
Epochen 26 in 10,3 h
Lernrate 0.0003, Cosinus-Abklingen
Bildgröße 800 px

Benchmark v3.1 (8.373 Testbilder, 47 Kategorien)

App-Wertung bildet die zweistufige Erkennung der App nach: erst das Board finden (vier der sechs Kalibrierpunkte, Entzerrung auf 3 mm genau), dann im frontal entzerrten Ausschnitt jeden Dart richtig werten. Ein fehlender, zusätzlicher oder falsch gewerteter Dart macht das Bild falsch.

Basismodell dd6 dd9
App-Wertung 33,1 % 42,1 % 55,2 %
… ohne AnyDarts-Fotos 29,7 % 52,5 % 54,9 %
Stufe 1: Board gefunden 61,6 % 87,4 % 90,6 %
Stufe 2: Darts im entzerrten Bild richtig 49,0 % 48,7 % 61,0 %
Exakt im Rohbild (streng) 21,9 % 37,2 % 52,5 %

App-Wertung je Gruppe:

Gruppe Basismodell dd6 dd9
Blickwinkel 19,1 % 53,8 % 56,0 %
Licht 30,3 % 47,1 % 49,8 %
Bildqualität 31,8 % 42,3 % 44,1 %
Kombiniert 2,1 % 31,8 % 36,0 %
Echte schwere Würfe 79,5 % 82,6 % 84,8 %
Schwere Würfe, gestört 8,3 % 58,1 % 57,7 %
Dart an Dart 47,2 % 60,3 % 64,0 %
AnyDarts-Fotos 43,0 % 11,9 % 55,8 %

Eigenmessung im Trainingslauf (Spitzen-Recall / Precision bei 10 px Toleranz)

dd6 (Start) dd9
DeepDarts-Validierung 97,5 / 98,4 % 97,5 / 98,5 %
Hartes Val (starke Schräge + Störung) 91,2 / 95,8 % 91,9 / 96,9 %
AnyDarts-Testfotos 40,8 / 55,4 % 79,1 / 94,9 %

Diese Validierung ist seit dd6 gesättigt und unterscheidet die Modelle kaum noch – deshalb der Benchmark v3.1.

Dateien

best.pt (Ultralytics YOLOv8n) · metrics.json (alle Messwerte des Laufs) · results.csv (Verlauf je Epoche)

from ultralytics import YOLO
model = YOLO("best.pt")
result = model.predict("board.jpg", imgsz=800, conf=0.3)[0]

Quellen und Lizenzen

Basismodell dart-sense (CC BY-NC 4.0) · DeepDarts (McNally et al., CVPRW 2021) · Roboflow score-lpfmv/darts-bjj98 (CC BY 4.0) · AnyDarts (Trainings- und Testfotos; ohne Lizenzangabe veröffentlicht). Nicht kommerziell nutzbar (folgt der Lizenz des Basismodells).

Downloads last month
20
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support