Machbarkeit Dart-Erkennung mit 3 Kameras als Anfängerprojekt?
Hallo zusammen,
ich bin neu hier und hätte direkt eine Frage. Kurz zu mir: Ich habe keine Python-Vorerfahrung, nur Grundkenntnisse in C (1 Jahr Mechatroniktechniker). Fürs zweite Schuljahr muss ich ein Projekt machen, und da würde ich gerne ein System bauen und programmieren, das mit 3 Kameras die Darts auf einer Dartscheibe erkennt und automatisch auswertet. Soweit ich weiß nimmt OpenCV da schon viel Arbeit ab, aber es wird natürlich trotzdem extrem schwer, das ist mir bewusst.
Grober Plan: 3 USB-Kameras an einem selbst konstruierten und 3D-gedruckten Ring um die Scheibe, LED-Beleuchtung, Auswertung am Laptop. Erkennung über Hintergrundsubtraktion(bin offen für andere Lösungen). Dazu eine GUI mit Spielmodi, Spielerverwaltung, visueller Dartscheibe und manueller Korrektur.
Meine Fragen:
1. Ist so ein Projekt für jemanden ohne Python-Erfahrung realistisch machbar, oder unterschätze ich das komplett?
2. Sind 3 Kameras deutlich schwerer als eine? Mein Lehrer meint, ich soll lieber bei einer bleiben aber meiner Meinung nach wäre da die Fehlerquote zu hoch bei der Darterkennung.
3. Wo scheitern solche Projekte erfahrungsgemäß am ehesten – an der Erkennung selbst, an der Kalibrierung oder eher an der Hardware?
4. Gibt es etwas, das ich mir vorher unbedingt anschauen sollte, bevor ich anfange?
Das Projekt ist auf 100 Stunden angesetzt, Python lernen läuft zusätzlich in meiner Freizeit.
Ich darf natürlich auch mit KI programmieren, will aber selbstverständlich am Ende auch jede Zeilen lesen und erklären können (auch wenn ich sie nicht selbst geschrieben habe).
Danke schon mal für jede Einschätzung!
Kamerabildauswertung einer Dartscheibe
Keine Ahnung, ob das Projekt mit deiner Python-Erfahrung oder überhaupt machbar ist. Generell gilt aber wie bei jedem Projekt: Risiken früh identifizieren und minimieren. Baustellen hast du jedenfalls genug.
Folgende Risiken solltest du einplanen.
1.) Programmierung der Bildauswertung:
* Nimm eine Sprache, in der du dich wohlfühlst und die passt.
* Hol dir Hilfe, zum Beispiel von einer KI.
2.) Machbarkeit der Dart-Erkennung per Kamera:
* Teste zuerst deine eigenen „Bildprozessoren“ (Augen und Gehirn). Hänge eine Kamera über die 20 und spiel etwas Dart. Versuche bei Treffern in der nördlichen Hemisphäre rein über das Kamerabild zu erkennen, wo der Pfeil steckt.
* Experimentiere mit Kameraposition, Winkel und Beleuchtung. Findest du keine Einstellung, bei der du das manuell erkennst, wird das Projekt scheitern.
* Klappt es mit einer Kamera, klappt es auch im System: Bei drei Kameras im 120°-Winkel liefern dir immer mindestens zwei Kameras ein eindeutiges Bild. Eine solche 2-von-3-Entscheidung lässt sich super programmieren.
Sobald du die passende Position gefunden und notiert hast, kannst du mit dem Coden starten.
Folgende Risiken solltest du einplanen.
1.) Programmierung der Bildauswertung:
* Nimm eine Sprache, in der du dich wohlfühlst und die passt.
* Hol dir Hilfe, zum Beispiel von einer KI.
2.) Machbarkeit der Dart-Erkennung per Kamera:
* Teste zuerst deine eigenen „Bildprozessoren“ (Augen und Gehirn). Hänge eine Kamera über die 20 und spiel etwas Dart. Versuche bei Treffern in der nördlichen Hemisphäre rein über das Kamerabild zu erkennen, wo der Pfeil steckt.
* Experimentiere mit Kameraposition, Winkel und Beleuchtung. Findest du keine Einstellung, bei der du das manuell erkennst, wird das Projekt scheitern.
* Klappt es mit einer Kamera, klappt es auch im System: Bei drei Kameras im 120°-Winkel liefern dir immer mindestens zwei Kameras ein eindeutiges Bild. Eine solche 2-von-3-Entscheidung lässt sich super programmieren.
Sobald du die passende Position gefunden und notiert hast, kannst du mit dem Coden starten.
Generel machbar sollte es sein, zumindest habe ich vor einem Jahr ähnliche Projekte auf GitHub gefunden.
100 Stunden sehe ich als nicht realistisch. Wenn ich daran denke wieviele Stunden ich damit verbracht habe ein Webradio zu bauen, als ich noch mehr Anfänger als jetzt war. (Natürlich muss nicht jeder so langsam im Kopf sein wie ich)
In wie weit eine "KI" eine Hilfe ist oder nachher eher ein Problem, das lässt sich so vermutlich schwer abschätzen. Sie verleitet dazu Code zu übernehmen mit dem Gedanke "später kann ich das bestimmt lesen". Meiner Meinung nach sollten man die vollständige Grundlage der Sprache beherrschen, bevor man Code generieren lässt.
Grüße
Dennis
100 Stunden sehe ich als nicht realistisch. Wenn ich daran denke wieviele Stunden ich damit verbracht habe ein Webradio zu bauen, als ich noch mehr Anfänger als jetzt war. (Natürlich muss nicht jeder so langsam im Kopf sein wie ich)
In wie weit eine "KI" eine Hilfe ist oder nachher eher ein Problem, das lässt sich so vermutlich schwer abschätzen. Sie verleitet dazu Code zu übernehmen mit dem Gedanke "später kann ich das bestimmt lesen". Meiner Meinung nach sollten man die vollständige Grundlage der Sprache beherrschen, bevor man Code generieren lässt.
Grüße
Dennis
"When I got the music, I got a place to go" [Rancid, 1993]
Danke für die Antwort und die guten Tippsimonbln hat geschrieben: Montag 20. Juli 2026, 08:15 Keine Ahnung, ob das Projekt mit deiner Python-Erfahrung oder überhaupt machbar ist. Generell gilt aber wie bei jedem Projekt: Risiken früh identifizieren und minimieren. Baustellen hast du jedenfalls genug.
Folgende Risiken solltest du einplanen.
1.) Programmierung der Bildauswertung:
* Nimm eine Sprache, in der du dich wohlfühlst und die passt.
* Hol dir Hilfe, zum Beispiel von einer KI.
2.) Machbarkeit der Dart-Erkennung per Kamera:
* Teste zuerst deine eigenen „Bildprozessoren“ (Augen und Gehirn). Hänge eine Kamera über die 20 und spiel etwas Dart. Versuche bei Treffern in der nördlichen Hemisphäre rein über das Kamerabild zu erkennen, wo der Pfeil steckt.
* Experimentiere mit Kameraposition, Winkel und Beleuchtung. Findest du keine Einstellung, bei der du das manuell erkennst, wird das Projekt scheitern.
* Klappt es mit einer Kamera, klappt es auch im System: Bei drei Kameras im 120°-Winkel liefern dir immer mindestens zwei Kameras ein eindeutiges Bild. Eine solche 2-von-3-Entscheidung lässt sich super programmieren.
Sobald du die passende Position gefunden und notiert hast, kannst du mit dem Coden starten.
Danke für die EinschätzungDennis89 hat geschrieben: Montag 20. Juli 2026, 08:23 Generel machbar sollte es sein, zumindest habe ich vor einem Jahr ähnliche Projekte auf GitHub gefunden.
100 Stunden sehe ich als nicht realistisch. Wenn ich daran denke wieviele Stunden ich damit verbracht habe ein Webradio zu bauen, als ich noch mehr Anfänger als jetzt war. (Natürlich muss nicht jeder so langsam im Kopf sein wie ich)
In wie weit eine "KI" eine Hilfe ist oder nachher eher ein Problem, das lässt sich so vermutlich schwer abschätzen. Sie verleitet dazu Code zu übernehmen mit dem Gedanke "später kann ich das bestimmt lesen". Meiner Meinung nach sollten man die vollständige Grundlage der Sprache beherrschen, bevor man Code generieren lässt.
Grüße
Dennis
Denkst du es wäre „machbarer“ wenn ich das Programm auf nur eine Kamera ansetze aber es so programmiere dass 1 oder 2 Kameras erweiterbar sind. Also konkret so, dass die Erkennung pro Kamera als Unterfunktion aufgerufen wird und als Ergebnis die 2D Koordinate auf der Scheibe zurückgibt. Die Ermittlung vom Mittelwert der 3 Kameras müsste dann ergänzt werden.
Natürlich ist dann die Fehleranfälligkeit höher aber das kann ich ja dann alles in der Dokumentation begründen mit Zukunftsaussichten usw. und ich würde auch eine manuelle Korrektur Möglichkeit programmieren.
Denkst du dass generell die Darterkennung mit Kameras (auch mit nur einer Kamera) ein großes Problem werden könnte zeitlich (vorallem für einen Anfänger wie mich) oder würde es das vereinfachen?
Danke für die Antwort
Grüße
Markus
Die Schwierigkeit wird nicht proportional zur Anzahl der Kameras steigen (wennMarkust hat geschrieben: Montag 20. Juli 2026, 10:12 Denkst du es wäre „machbarer“ wenn ich das Programm auf nur eine Kamera ansetze aber es so programmiere dass 1 oder 2 Kameras erweiterbar sind. Also konkret so, dass die Erkennung pro Kamera als Unterfunktion aufgerufen wird und als Ergebnis die 2D Koordinate auf der Scheibe zurückgibt. Die Ermittlung vom Mittelwert der 3 Kameras müsste dann ergänzt werden.
du es richtig machst). Ich denke, was @Dennis89 sagen will: 100 Stunden
sind verdammt wenig Zeit, wenn man alles das erste Mal macht. Das sind 2,5
Wochen FTE-Arbeitszeit, die gehen sehr schnell vorbei.
Daher solltest du dir sehr genau überlegen: Was kannst du leisten, welche Risiken gibt es und wie lange brauchst du ungefähr für die einzelnen Punkte im Projektplan? Wenn du auf mehr als 60 Stunden in der Einschätzung kommst, bist du schon im roten Bereich, denn es dauert immer länger, als man glaubt.
- noisefloor
- User
- Beiträge: 4328
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
unabhängig von den Programmierskills und dem Zeitkonto ist IMHO das zu lösenden Hauptproblem zu erkennen, wo die Dartspitze steckt. Besonders dann, wenn sie nah an einem Feldtrenner steckt. Aus Perspektive des Werfers sieht man das ja schon mal nicht sicher, weil der Dartkörper und die Flügelchen hinten wesentlich größer sind und die Spitze vom Blick her verdecken. Je steiler der Winkel der Kamera wird, desto besser sollte die Erkennung werden. Bis man an den Punkt kommt, wo man zu flach über die Scheibe kommt und die Tiefe von außen nach innen schwer auflösbar ist.
Generell stelle ich mir das mit einer Kamera schwierig vor - aber Bilderkennung und so sind definitiv nicht meine Domäne.
Gruß, noisefloor
unabhängig von den Programmierskills und dem Zeitkonto ist IMHO das zu lösenden Hauptproblem zu erkennen, wo die Dartspitze steckt. Besonders dann, wenn sie nah an einem Feldtrenner steckt. Aus Perspektive des Werfers sieht man das ja schon mal nicht sicher, weil der Dartkörper und die Flügelchen hinten wesentlich größer sind und die Spitze vom Blick her verdecken. Je steiler der Winkel der Kamera wird, desto besser sollte die Erkennung werden. Bis man an den Punkt kommt, wo man zu flach über die Scheibe kommt und die Tiefe von außen nach innen schwer auflösbar ist.
Generell stelle ich mir das mit einer Kamera schwierig vor - aber Bilderkennung und so sind definitiv nicht meine Domäne.
Gruß, noisefloor
