Software: Auswertung am Livebild mit Web-Anbindung

Es gibt 69 Antworten in diesem Thema, welches 6.404 mal aufgerufen wurde. Der letzte Beitrag (28. Februar 2024 um 16:59) ist von Philipp0912.

  • Habe die erste einfache Version zusammengesteckt und in "echt" getestet. Aktuell nehme ich alle 3 sek ein Standbild auf und werte es aus. Die Umstellung auf Frames aus dem Livestream mache ich später, ist für den Anfang nicht so relevant.

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Ein paar Erkenntnisse:

    - Mein Kugelfang wackelt :whistling:

    - Erkennung soweit "ok" - ich will als Nächstes an die Treffer ran, die ein bestehendes Loch vergrößern. Im Moment wird es (wie man auf der Aufnahme sieht) als ein großer Treffer gezählt.

    - Die Einstellungen an der UI muss ich noch auf Regler rausführen, im Moment ist noch alles im Code und umständlich einzustellen.

    Ist jemand noch so fit in Mathe, dass er sich an die Berechnung Lage Punkt zu einer Ellipse erinnert?

    Einmal editiert, zuletzt von filth (30. November 2023 um 22:43)

  • Moin, kannst Du nicht einfach Grenzwerte für die Größe der Einschusslöcher festlegen, die man vorher auswählen muss, über ein Menü.

    So ähnlich wollte ich das lösen - ab Überschreitung eines Grenzwertes für die Größe zählt der mehrere Treffer.

    Aber aktuell habe ich den Fokus auf der Darstellung. Aus dem Bild oben im Video werde ich eine stilisierte Scheibe "in schön" darstellen und die Treffer aus dem Video auf diese schöne Scheibe umrechnen. Das wird das Ganze schon deutlich aufwerten. Das Videobild kann man bei Bedarf zur Kontrolle daneben ein oder ausblenden - wie man jeweils möchte.

    Also für heute:

    * Einstellregler rausführen

    * Verbesserung Erkennung "Doppeltreffer"

    * Stilisierung Scheibe

    Einmal editiert, zuletzt von filth (1. Dezember 2023 um 09:09)

  • Die Einstellungsregler rausgeführt, so dass die Helligkeit und Schärfe vom verarbeiteten Bild angepasst werden können. Als Vorbereitung für die Stilisierung der Scheibe habe ich das Bild des Ziels transformiert, so dass unabhängig von der Kameraposition eine Frontalansicht erzeugt wird - damit ist die Erkennung der Trefferzonen und der Koordinaten deutlich einfacher.

    Ich habe es nicht unnötig kompliziert gemacht - das Setup muss einmalig manuell durchgeführt werden. Man markiert die Ecken der Scheibe und die Mitte. Ein zweiter Schritt wird die Markierung der Zielkreise sein - das kommt aber noch. Danach speichert man die Einstellungen. Idealerweise sollte die Cam dann aber nicht mehr bewegt werden.

    Anbei ein Video vom Setup und das Ergebnis.

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

  • Es geht weiter. Wie geplant, habe ich weiter an der Stilisierung und Erkennung der Treffer gearbeitet.

    Die Einstellungen wurden so erweitert, dass nach dem Auswählen der Scheibe, man nun die Mitte setzt und den Diameter der Zielkreise einstellt. Diese Kreise definieren auch gleichzeitig die Trefferzonen.

    Mit den Stretch-Parametern versucht man die umgerechnete Scheibe und die Kreise möglichst gut übereinander zu legen und speichert die Einstellungen ab.

    Im folgenden Video sieht man wie die Treffer und die Punkte erkannt werden.

    Problematisch ist weiterhin meine Scheibe, die sich im Kugelfang nach jedem Treffer etwas bewegt und dadurch die Einstellungen verschoben werden.

    Ich werde das aber erstmal so stehen lassen und mich um die Anbindung an die Platform im Netz kümmern. Eine pragmatische Lösung wäre tatsächlich ggf. eine Möglichkeit der manuellen Punktekorrektur auf der Scheibe.

    Oder gibt es stabilere Kugelfänge? Eine Version, wo die Scheibe besser geklemmt wird und nicht nur lose drin liegt?

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    (Bis 1:00 - Einstellungen, danach die Schüsse)

    Zum Vergleich ein Foto der Scheibe aus dem Video (ich habe noch paar Mal draufgeschossen, das Video aber vorher geschnitten - wird sonst unnötig lang).

  • Problematisch ist weiterhin meine Scheibe, die sich im Kugelfang nach jedem Treffer etwas bewegt und dadurch die Einstellungen verschoben werden.

    Vielleicht kannst Du bzw. dein Programm diese Relativbewegungen irgendwie aufspüren? Anhand zweier Fixpunkte müsste das für eine Ebene funktionieren.

  • Problematisch ist weiterhin meine Scheibe, die sich im Kugelfang nach jedem Treffer etwas bewegt und dadurch die Einstellungen verschoben werden.

    Vielleicht kannst Du bzw. dein Programm diese Relativbewegungen irgendwie aufspüren? Anhand zweier Fixpunkte müsste das für eine Ebene funktionieren.

    Ja, das wäre einen Versuch wert - vielleicht kann man die Kontur des schwarzen Bereiches innen erkennen und die Verschiebung ausgleichen. Allerdings klappt das nicht für Scheiben ohne den Bereich.

    Alternativ von Hand ein "X" irgendwo in eine Ecke der Scheibe zeichnen - ist aber wieder Zusatzaufwand.

  • Alternativ von Hand ein "X" irgendwo in eine Ecke der Scheibe zeichnen - ist aber wieder Zusatzaufwand.

    Hat das Programm nicht durch die Markierung der vier äusseren Ecken bereits ein berechnetes X?

    Liesse sich daraus nicht eine Maske generieren (wie ein Guckloch für den Algorithmus), in welcher alle Flächen gefüllt sein müssen mit der vorher erkannten Farbe/Pixelzusammenstellung?

    Vermutlich hat sich mein Hirn schon verbogen und es ist Quatsch.

    Mit wabert aber der Klassiker im Kopf:

    "The missile knows where it is at all times. It knows this because it knows where it isn't. By subtracting where it is from where it isn't, or where it isn't from where it is (whichever is greater), it obtains a difference, or deviation."

  • Viele Geräte, besonders Kameras, haben doch eine sehr zuverlässige Gesichtserkennung. Die bringen automatisch eine Markierung mittig auf das Gesicht und können auch Bewegungen folgen. Besonders Drohnen machen das hervorragend. Die halten das markierte Objekt immer mittig im Bild. Vielleicht lässt sich das irgendwie für die Erkennung und automatische Ausrichtung von Zielscheiben nutzen.

    Oder gibt es stabilere Kugelfänge? Eine Version, wo die Scheibe besser geklemmt wird und nicht nur lose drin liegt?

    Das wäre dann die einfache Lösung. Dann muss man später sagen, wenn du die Software nutzen willst brauchst du Kugelfang XY dazu.

  • Ich habe eine Lösung gefunden. Die Software versucht nun die Mitte zu halten und korrigiert Bewegungen der Scheibe nach jedem Schuss.

    Muss man noch etwas optimieren, nach dem zweiten Schuss ist es etwas zu stark daneben aber deutlich besser als ohne - ich bin sehr zufrieden.

    Würde jetzt dann am Portal weiter machen.

    Dann muss man mal schauen, wie Scheibenwechsel erkannt werden, da hatte ich gesehen, dass die Mitte wieder arg versetzt war.

    Außerdem will ich noch eine etwas andere Herangehensweise für die Treffererkennung ausprobieren.

    Wenn das Portal steht brauchen wir Betatester ;)

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

  • Rein aus Erfahrung, hätte ich noch was vor die Kamera gestellt. Einfach nur für den Fall der Fälle. *lol*

    Jap, habe ich mir auch schon gedacht, etwas Holz davor, hübsch verkleidet. Die Stromkabel müssen auch noch schöner verlegt werden

  • Geiles Projekt. Sowas könnte ich auch gebrauchen, wenn es mal "Serienreif" ist. Leider bin ich reiner User und auf Fach-Männer-Frauen-Kinder-Diverse u.Ä. wie Euch angewiesen. Ich bewundere den Elan und das Können. Bleib dran.

  • Etwas wilde Woche auf der Arbeit, daher etwas weniger Fortschritt. Aber die Stilisierung der Treffer klappt soweit und sieht wie folgt aus

    Muss noch etwas an der Umrechnung der Skalierung drehen, vom Prinzip funktioniert es aber. Mache weiter am Portal und der Erfassung der Spieler-Statistiken für die erste Release-Version.

  • So - weiter geht es.

    Basisportal steht. Hat aktuell nur die Möglichkeit sich zu registrieren/ anzumelden, weiter sieht man noch nichts. Da ich in der kommenden Woche Urlaub habe, wird da jetzt deutlich mehr passieren.

    Heute werde ich die Client-Software mit dem Portal verbinden, so dass die Trefferauswertung und Anzeige am Ende des Tages möglich sein sollte.

    Ab diesem Zeitpunkt brauchen wir "freiwillige", die es testen wollen (und natürlich auch Feedback liefern können). Da aktuell noch kein Remote-Update für den Client eingebaut ist, sind die Beta-Tester leider gezwungen neue Updates manuell runter zu laden.

    Aktuelle Voraussetzungen

    - Der Client funktioniert aktuell nur unter Linux und Mac. Windows Support ist für die kommenden Tage angedacht.

    - Eine Webcam mit RTSP Unterstützung - ich verwende zum Beispiel eine Tapo C200. Die RTSP IP muss vom Client erreichbar sein


    Das Portal ist unter der (temporären) Url erreichbar:

    https://shooting.010102.de/

    Sollte die Beta-Phase das erhoffte Feedback bringen, werde ich eine permanente Domain anmelden.

    Einmal editiert, zuletzt von filth (23. Dezember 2023 um 13:11)