Dart VisionPrototype 0.1.6.3
Kamera …

Kamera

Rohbild vom Raspberry Pi

Backend wird erkannt …

Marker –
1 Kamera
Aktuelles Kamerabild

Erkennung

Live korrigiert; bei Treffer wird exakt der ausgewertete Scoring-Frame eingefroren.

Korrigiertes Dartboard
Noch kein Treffer erkannt
Erkennungs-Debug

OpenCV-v2.3-settle · Kandidaten/Spitzen-/Schattenprüfung

Debugbild der Dart-Kandidaten

E‑Dart Vergleich

Ist die Vision-Auswertung komplett richtig, genügt „Richtig erkannt“. Nur bei Abweichungen den tatsächlichen E‑Dart Treffer eintragen oder die echte Spitzenposition markieren. Ein Fehlalarm kann separat als „kein Wurf“ markiert werden.

Testwürfe

Vision gegen E‑Dart Ground Truth

#VisionE‑DartTreffer?QualitätLatenz

Kalibrierung

Einfacher Kalibrieren: Im Gesamtbild den gesuchten Punkt nur grob antippen. Danach unten in der Lupe exakt setzen.
1. Grob auswählenGesamtbild mit allen Markern
2. Fein setzenErst im Gesamtbild antippen

Die 4 ArUco-Marker (IDs 10–13) bleiben im Gesamtbild sichtbar. Ihre Position wird bei der Grundkalibrierung gelernt; die Lupe verändert nur die Bedienung, nicht die Kalibrierungsdaten.

Echte Dartspitze markieren

Im Boardbild die Spitze zuerst grob antippen.

Trainings-Keypoint: Markiere den Punkt, an dem die Spitze wirklich in die Scheibe geht. Rot zeigt – falls vorhanden – die Vision-Schätzung. Grün wird deine bestätigte Position. Das funktioniert auch bei einem Wurf, den Vision gar nicht erkannt hat.
1. Spitze grob auswählenScoring-Frame bzw. aktuelles korrigiertes Board
2. Exakte PositionErst links grob antippen

Nach dem Fein-Tipp wird die Position gespeichert und aus der Boardgeometrie automatisch das Segment berechnet. Falls die Segmentgrenze noch nicht exakt ausgerichtet ist, kannst du den tatsächlichen Treffer oben überschreiben.

Segmentgrenzen fein korrigieren

Jede problematische Trennlinie kann separat mit zwei echten Punkten vermessen werden. Ringe, Bull und Marker-Kalibrierung bleiben unverändert.

Warum zwei Punkte? Ein einzelner Punkt bestimmt nur die Lage, aber nicht den tatsächlichen Verlauf der Linie. Setze deshalb einen Punkt weiter innen und einen zweiten weiter außen auf derselben sichtbaren Trennlinie. Nicht korrigierte Grenzen benutzen weiterhin das normale 18°-Raster.
1. Punkt grob auswählenGrün = innerer Punkt · Hellblau = äußerer Punkt · Blau gestrichelt = gewählte Grenze
2. In der Lupe exakt setzenPunkt 1 innen grob auswählen

Wähle eine Trennlinie und setze zwei Punkte auf die echte sichtbare Linie.

Bull fein ausrichten

Bull-Mitte exakt setzen.

Nur lokale Bull-Korrektur: Diese drei Punkte ändern weder die Außenkalibrierung noch Triple/Double oder deine gespeicherten Segmentgrenzen. Damit gleichen wir die kleine Restverzerrung der Kamera direkt im Zentrum aus.
1. Grob auswählenkorrigiertes Board
2. Exakt in der LupeErst links grob antippen

Reihenfolge: 1) exakte Bull-Mitte, 2) Außenkante des äußeren Bulls, 3) Außenkante des Bullseye.

Ringe fein ausrichten

Restverzerrungen einzelner Ringe korrigieren, ohne Segmentlinien oder Bull zu verändern.

Vier Punkte pro Ring: Setze nacheinander oben, rechts, unten und links einen Punkt exakt auf denselben Draht. Daraus wird eine leicht verschobene/gestreckte Ellipse berechnet. Für dein aktuelles Problem reichen zunächst Triple innen und Triple außen.
1. Punkt grob auswählenPunkt 1/4: oben
2. Exakt in der LupeErst links grob antippen

Wähle den Ring und setze oben → rechts → unten → links.

Kameras verwalten

0.1.6 kann mehrere Kamera-Agents gleichzeitig empfangen und jede Kamera separat kalibrieren.

Mehrkamera-Grundlage: „Verwenden“ legt fest, welche Kameras zum späteren Fusion-Pool gehören. „Ansicht / Scoring“ wählt momentan die Kamera, deren Bild, Kalibrierung und Treffererkennung in der Oberfläche aktiv ist. Die automatische Treffer-Fusion aus 2–3 Ansichten kommt nach echten Mehrkamera-Testdaten, damit wir die jetzige Erkennung nicht destabilisieren.

Der jetzige Pi Camera Agent 0.1.4 wird automatisch als camera-1 erkannt. Für weitere Kameras enthält das Paket einen optionalen Agent 0.1.5 mit Kamera-ID, Name und Positionsangabe.