-
1. Technisches Gebiet
-
Die vorliegende Erfindung betrifft ein Verfahren zur Messung einer Eigenschaft einer Flugbahn eines Balls mit einem mobilen Computergerät.
-
2. Stand der Technik
-
Mobile Computergeräte, wie beispielsweise Smartphones, Tabletcomputer und mobile Medienplayer erfreuen sich seit einigen Jahren wachsender Beliebtheit unter Konsumenten. Vor allem seit der Einführung des „iPhone“® der Apple Inc., Cupertino, USA hat der Anteil an Smartphones am Gesamtmarkt für Mobiltelefone stetig zugenommen. Mit dem „iPad“, einem Tabletcomputer, wurde eine neue Geräteklasse mobiler Computergeräte erfolgreich etabliert. Daneben gibt es mobile Medienplayer, wie beispielsweise den „iPod“, welche Audio- und Videodaten wiedergeben können, eine nicht unerhebliche Rechenleistung aufweisen und ebenfalls mobile Computergeräte darstellen.
-
Bei einem Smartphone handelt es sich um ein Mobiletelefon, welches neben einer Telefonfunktionalität darüberhinausgehende Funktionalitäten, wie Kalender, Email und Internetbrowser zur Verfügung stellt. Dementsprechend beschränkt sich die Art der Verbindung ins Mobiltelefonnetz nicht wie bei herkömmlichen Mobiltelefonen auf reine Sprachverbindungen, sondern es ist daneben eine Datenverbindung vorgesehen, um dem Benutzer Dienste wie Email, Internetbrowser und soziale Medien wie Twitter® und Facebook® anbieten zu können.
-
Ein Tabletcomputer ist ein mobiler Rechner, welcher zumeist keine Tastatur, dafür aber einen berührungsempfindlichen Bildschirm aufweist, über welchen das Gerät bedient werden kann. Im Vergleich zu Laptopcomputern ist ein Tabletcomputer zumeist leichter und kleiner, so dass er einfacher zu transportieren ist.
-
Ein mobiler Medienplayer ist in der Lage, Audio- und Videoinhalte wiederzugeben. Die Audioinhalte können z.B. in den Formaten MP3, ACC oder WAV vorliegen, die Videoinhalte in den Formaten MPEG, AVI oder MOV. Die Funktionalität von mobilen Medienplayern kann durch das Installieren von Anwendungsprogrammen, welche auch als „Apps“ bezeichnet werden, erweitert werden.
-
Die Resourcen von mobilen Computergeräten sind im Vergleich zu Desktopcomputern oder Laptops in der Regel beschränkt. Insbesondere ist die Prozessorleistung reduziert, um die im Akku gespeicherte Energie zu schonen und eine ausreichend lange Betriebszeit bereitzustellen. Aus Kostengründen werden mobile Computergeräte in der Regel mit weniger Speicher ausgestattet als Desktopcomputer oder Laptopcomputer.
-
Häufig weisen mobile Computergeräte Hardwarekomponenten auf, welche über die üblichen Hardwarekomponenten, z.B. eines Mobiltelefons, hinausgehen. Hierzu zählen beispielsweise eine Kamera, mit welcher sich Fotos und Videosequenzen aufnehmen lassen, Beschleunigungssensoren, Magnetfeldsensoren, NFC (Near Field Communication), Bluetooth und WLAN.
-
Ähnlich wie bei Desktopcomputern, werden bei mobilen Computergeräten grundlegende Funktionalitäten, wie beispielsweise das Ansteuern der Hardware und die Ressourcenverwaltung von einem Betriebssystem bereitgestellt. Dieses ist häufig an die Hardware angepasst, um eine möglichst optimale Ausnutzung der begrenzten Hardwareressourcen zu ermöglichen. Bekannte Betriebssysteme sind „iOS“® von Apple und „Android“® der Google Inc., Mountain View, Kalifornien, USA.
-
Die Funktionalität von mobilen Computergeräten lässt sich in der Regel durch herunterladbare Computerprogramme erweitern. Derartige Computerprogramme werden im Kontext von mobilen Computergeräten auch als „Apps“ bezeichnet und stellen beispielsweise Reiseführer, Wettervorhersagen oder Spiele bereit. In der Regel werden Apps aus einem virtuellen Marktplatz im Internet heruntergeladen. Beispiele für derartige Marktplätze sind „iTunes“® von Apple und „Google Play“® von Google.
-
Die vorliegende Erfindung steht im Kontext von Ballsportarten wie beispielsweise Fußball, Tennis, Tischtennis oder Golf. Im Hobby- oder Amateurbereich besteht der Wunsch, eine Eigenschaft einer Flugbahn eines geschossenen, geschlagenen oder geworfenen Balls, beispielsweise eines Fuß-, Tennis- oder Golfballs auf möglichst einfache und kostengünstige Art und Weise messen zu können. Bei der Eigenschaft der Flugbahn des Balls kann es sich z.B. um seine Geschwindigkeit, seine Beschleunigung beim Tritt, Wurf oder Schlag oder seine Flugweite handeln. Beispielsweise möchten Hobbyfußballer ermitteln, welcher Spieler den „härtesten“ Schuss hat, d.h. den Ball auf die größte Geschwindigkeit beschleunigen kann.
-
Im Hobby- und Amateurbereich sind z.B. zur Messung der Geschwindigkeit eines Balls Systeme bekannt, welche auf Radarstrahlung basieren. Diese Systeme werden in der Flugrichtung eines Balls aufgestellt und messen die Geschwindigkeit basierend auf der vom Ball reflektierten Strahlung, ähnlich der Geschwindigkeitsmessung von Fahrzeugen im Straßenverkehr.
-
Im Profibereich, etwa bei der TV-Übertragung von Fußballspielen, sind Systeme bekannt, welche die Position der Spieler und des Balls auf einem Spielfeld optisch ermitteln. Hierzu werden mehrere stationäre Kameras in einem bestimmten Abstand zueinander aufgestellt, so dass jede Kamera das Spielfeld aus einem anderen Blickwinkel erfasst. Die von den Kameras aufgenommenen Videobilder werden durch einen Computer mit einer komplizierten Software ausgewertet und so die Positionen der Spieler und des Balls berechnet. Ein Beispiel eines derartigen Profisystems ist das System „VIS.TRACK“ der Cairos AG, Karlsbad, Deutschland.
-
Der Nachteil derartiger Systeme besteht zum einen darin, dass diese zusätzlich zur sonstigen Ausrüstung zur Sportstätte mitgeführt und aufgestellt werden müssen und andererseits teuer in der Anschaffung sind.
-
Aufgabe der vorliegenden Erfindung ist es daher, ein Verfahren bereitzustellen, mit welchem sich auf einfache und kostengünstige Art und Weise eine Eigenschaft einer Flugbahn eines Balls ermitteln lässt.
-
3. Zusammenfassung der Erfindung
-
Ein Aspekt der vorliegenden Erfindung betrifft ein Verfahren zum Ermitteln einer Eigenschaft einer Flugbahn eines Balls mit einem mobilen Computergerät, welches die Schritte aufweist: (a) Aufnehmen einer Sequenz von Videobildern des Balls mit einer Kamera des mobilen Computergeräts; (b) Ermitteln einer ersten Bildkoordinate des Balls in einem ersten Videobild der Sequenz; (c) Ermitteln einer zweiten Bildkoordinate des Balls in einem zweiten Videobild der Sequenz; (d) Berechnen einer Eigenschaft der Flugbahn des Balls basierend auf einem Unterschied der ersten und zweiten Bildkoordinaten, eines Zeitabstands zwischen dem ersten und zweiten Videobild und einer Referenzgröße, die basierend auf der Form und / oder Größe des Balls in einem mit der Kamera aufgenommen Bild ermittelt wird.
-
Das Verfahren wird auf einem mobilen Computergerät durchgeführt, wie es oben beschrieben ist. Mobile Computergeräte, wie z.B. Smartphones, Tabletcomputer und mobile Medienplayer sind klein und mobil und werden von ihren Besitzern fast überall hin mitgeführt. Somit steht ein mobiles Computergerät in der Regel an der Sportstätte, wo die Messung der Eigenschaft der Flugbahn durchgeführt wird (z.B. ein Bolzplatz, ein Stadion, eine Rasenfläche, ein Strand, ein Platz, etc.), bereit. Auf ein zusätzliches Gerät, welches mitgeführt und erst noch aufgestellt werden muss, kann somit verzichtet werden und die Ermittlung der Eigenschaft der Flugbahn des Balls kann an einem nahezu beliebigen Ort erfolgen.
-
Die Verfahrensschritte können beispielsweise mittels einer App durchgeführt werden, welche einfach und kostengünstig über einen virtuellen Marktplatz zu beziehen ist. Alternativ ist das mobile Computergerät bereits im Auslieferungszustand mit der beanspruchten Funktionalität ausgerüstet.
-
Das Verfahren nutzt die Kamera des mobilen Computergeräts, um eine Sequenz von Videobildern beispielsweise eines Schusses beim Fußball aufzunehmen. Denkbar ist die Verwendung bei anderen Ballsportarten wie Tennis, Golf, Tischtennis, American Football, Basketball etc. Auch kann es sich statt eines Schusses um einen Schlag des Balls wie beispielsweise beim Tennis oder einen Wurf des Balls wie beispielsweise beim Basketball handeln.
-
Die Sequenz von Videobildern wird bevorzugt direkt in einer App aufgenommen, welche die beanspruchten Verfahrensschritte durchführt. Denkbar ist jedoch auch, dass die Sequenz mit der werksmäßigen Videofunktion des mobilen Computergeräts aufgenommen, im Speicher des mobilen Computergeräts abgespeichert und anschließend einer App zur Auswertung zur Verfügung gestellt wird, indem die App auf die gespeicherte Sequenz zugreift.
-
Die Ermittlung erster und zweiter Bildkoordinaten des Balls in einem ersten und zweiten Videobild der Sequenz erfolgt bevorzugt mittels eines Kantendetektionsverfahrens, welches Farb- und / oder Intensitätsübergänge in einem Videobild bzw. Bild detektiert. Andere Verfahren, beispielsweise basierend auf künstlichen neuronalen Netzen sind denkbar. Bevorzugt beziehen sich die Bildkoordinaten auf den Mittelpunkt des Balls in den Videobildern. Denkbar ist jedoch auch, dass sie sich beispielsweise auf eine Ecke eines Quadrats oder Rechtecks beziehen, in welches der Ball gerade noch hereinpasst, dessen Kanten also auf einer Tangente des Balls in dem Videobild liegen.
-
Bevorzugt handelt es sich bei dem Unterschied der Bildkoordinaten des Balls um die Differenz der Bildkoordinaten in dem ersten und dem zweiten Videobild. Bevorzugt handelt es sich bei den Bildkoordinaten um Pixelkoordinaten in zwei zueinander rechtwinkligen Dimensionen, beispielsweise x- und y-Koordinaten. Bevorzugt wird die x-Koordinate des Balls in dem ersten Bild von der x-Koordinate des Balls in dem zweiten Bild subtrahiert, oder umgekehrt. Bevorzugt wird die y-Koordinate des Balls in dem ersten Bild von der y-Koordinate des Balls in dem zweiten Bild subtrahiert, oder umgekehrt. Bevorzugt werden die resultierende Differenz der x-Koordinaten und die resultierende Differenz der y-Koordinaten quadriert und die Ergebnisse addiert und daraus die Quadratwurzel gezogen, um beispielsweise eine Distanz zu berechnen. Bevorzugt wird aus der Summe die Wurzel gezogen, um z.B. einen Betrag der zurückgelegten Strecke des Balls zwischen dem ersten und zweiten Videobild in Pixeln zu erhalten.
-
Der Zeitabstand des ersten und zweiten Videobildes wird bevorzugt aus der Angabe der Bildwiederholfrequenz der Kamera des mobilen Computergeräts ermittelt. Vorzugsweise entspricht der Zeitabstand zwischen zwei aufeinanderfolgenden Videobildern der Videosequenz in Sekunden dem Kehrwert der Bildwiederholfrequenz ausgedrückt in Bildern pro Sekunde. Vorzugsweise wird berücksichtigt, wie viele Bilder zwischen dem ersten und zweiten Videobild in der Sequenz von Videobildern liegen.
-
Vorzugsweise wird die ermittelte zurückgelegte Strecke zwischen dem ersten und zweiten Bild in Pixeln durch den Zeitabstand des ersten und zweiten Videobildes geteilt, um die Geschwindigkeit des Balls in Pixeln pro Zeiteinheit, beispielsweise Pixeln pro Sekunde zu erhalten.
-
Bevorzugt handelt es sich bei der Eigenschaft der Flugbahn des Balls um eine Geschwindigkeit, eine Beschleunigung, einen Winkel, oder eine Flugweite. Bei der Geschwindigkeit kann es sich beispielsweise um die Geschwindigkeit des Balls kurz nach dem Abschlag oder dem Tritt des Balls handeln. Die Beschleunigung kann die durch einen Tritt, Wurf oder Schlag erzielte Beschleunigung des Balls sein. Der Winkel kann der Abschlag-, Wurf- oder Schusswinkel sein. Die Flugweite kann die Distanz zwischen Abschlagpunkt und Auftreffpunkt auf dem Boden sein. Die genannten Eigenschaften der Flugbahn des Balls sind z.B. für Hobbysportler und Gelegenheitssportler, aber auch für Profisportler und Trainer interessant, um sich untereinander vergleichen zu können.
-
Bevorzugt handelt es sich bei dem ersten und zweiten Videobild um unmittelbar aufeinanderfolgende Videobilder aus der Sequenz von Videobildern. Auf diese Weise kann die Eigenschaft der Flugbahn des Balls aus unmittelbar aufeinanderfolgenden Videobildern ermittelt werden. Beispielsweise könnte die Geschwindigkeit des Balls von Bild zu Bild ermittelt werden, um so einen Geschwindigkeitsverlauf zu erhalten.
-
Bevorzugt werden die Schritte (b), (c) und (d) für eine Mehrzahl von Videobildern aus der Sequenz von Videobildern durchgeführt. Auf diese Weise kann aus einer Sequenz von aufeinanderfolgenden Videobildern entweder ein Verlauf der Eigenschaft der Flugbahn des Balls oder z.B. ein Durchschnittswert ermittelt werden.
-
Vorzugweise wird die Eigenschaft der Flugbahn des Balls basierend auf der Methode der kleinsten Quadrate berechnet. Diese Methode erlaubt es, einen sehr genauen Durchschnittswert zu berechnen. Beispielsweise könnte die Geschwindigkeit aus aufeinanderfolgenden Videobildern ermittelt und mittels der Methode der kleinsten Quadrate eine Abschätzung für die mittlere Geschwindigkeit erhalten werden. Alternativ könnte die Geschwindigkeit ermittelt werden, indem mittels der Methode der kleinsten Quadrate jeweils eine Gerade an die x-Koordinaten und y-Koordinaten des Balls in aufeinanderfolgenden Videobildern als Funktion der Zeit gefittet wird. Anschließend wird der Betrag der Geschwindigkeit ermittelt, indem aus der Summe der quadrierten Steigungen beider Geraden die Wurzel gezogen wird.
-
Das Verfahren verwendet eine Referenzgröße, um die gewünschte Eigenschaft der Flugbahn des Balls zu berechnen. Vorzugsweise setzt die Referenzgröße aus dem ersten und zweiten Videobild ermittelte Größen in Beziehung zu den tatsächlichen Größen. Beispielsweise kann die Referenzgröße ausdrücken, welcher Strecke in der Realität die zurückgelegte Strecke des Balls zwischen dem ersten und zweiten Videobild entspricht. Vorzugsweise hat die Referenzgröße die Einheit Meter pro Pixel.
-
Die Referenzgröße basiert vorzugsweise auf der Form und / oder Größe des Balls in einem mit der Kamera des mobilen Computergeräts aufgenommenen Bild. Bei der für die Referenzgröße verwendeten Form des Balls handelt es sich bevorzugt um die Krümmung des Balls. Bei der Größe des Balls handelt es sich bevorzugt um den Durchmesser des Balls. Andere Größen des Balls sind denkbar. Vorzugsweise wird die Referenzgröße berechnet aus einer Größe, beispielsweise dem Durchmesser, des Balls in Pixeln wie sie aus dem Bild ermittelt wird, und einer bekannten Größe, beispielsweise dem tatsächlichen Durchmesser des Balls in der Realität. Vorzugsweise handelt es sich bei der Referenzgröße um einen Quotienten aus einer aus dem Bild ermittelten Größe und einer tatsächlichen Größe in der Realität.
-
Bei dem mit der Kamera aufgenommenen Bild handelt es sich bevorzugt um ein Bild aus der Sequenz von Videobildern. Alternativ handelt es sich um ein mit der Fotofunktion der Kamera erzeugtes Foto. Bevorzugt handelt es sich um ein Bild, auf welchem der Ball in Ruhe ist, vorzugsweise bevor der Ball geschossen, geschlagen oder geworfen wird.
-
Die beschriebenen Schritte zur Berechnung einer Eigenschaft der Flugbahn des Balls können auch in einer anderen Reihenfolge durchgeführt werden. Beispielsweise kann mittels der Referenzgröße ein Pixel in Meter oder Zentimeter umgerechnet werden, bevor die Eigenschaft der Flugbahn berechnet wird.
-
In einer bevorzugten Ausführungsform des Verfahrens wird die Referenzgröße basierend auf einer bekannten Form und / oder Größe des Balls ermittelt. Beispielsweise wird eine Größe des Balls in dem Bild in Beziehung gesetzt zu einer tatsächlichen Größe des Balls in der Realität. Hierdurch kann die Eigenschaft der Flugbahn, z.B. die Geschwindigkeit, in der Realität, beispielsweise in Meter pro Sekunde oder Kilometer pro Stunde berechnet werden.
-
Die bekannte Form und / oder Größe wird vorzugsweise dem Verfahren als Eingangsgröße übergeben. Beispielsweise kann die tatsächliche Form und / oder Größe des Balls in einer App gespeichert werden, welche die anspruchsgemäßen Verfahrensschritte ausführt. Alternativ kann der Benutzer die Form und / oder Größe des Balls eingeben. Denkbar ist auch, dass der Benutzer aus einer Liste von Sportarten auswählt und jeder Sportart die Form und / oder Größe des der Sportart entsprechenden Balls zugeordnet wird. Entsprechend kann dem Benutzer z.B. eine Auswahl an verschiedenen Bällen und / oder deren jeweiliger Durchmesser präsentiert werden, aus denen er dann auswählen kann. In einer alternativen Ausführungsform der Erfindung ist die Form und / oder Größe des der Sportart entsprechenden Balls auf einem Server, z.B. in Form einer Liste gespeichert und wird nur bei Bedarf auf das mobile Computergerät geladen.
-
Bevorzugt handelt es sich bei der Form und / oder Größe des Balls um einen Durchmesser, Radius, Umfang, eine Bogenlänge, einen Abstand oder eine Krümmung des Balls selbst oder eines Musters darauf. Beispielsweise kann der Umfang des Balls aus dem Bild ermittelt und zum tatsächlichen Umfang des Balls in Beziehung gesetzt werden. Alternativ kann auch ein Muster bekannter Form und / oder Größe auf dem Ball zur Ermittlung der Referenzgröße verwendet werden.
-
Bevorzugt handelt es sich bei dem mit der Kamera aufgenommenen Bild um ein Videobild aus der Sequenz von Videobildern. Dies beschleunigt das Verfahren, da nicht separat ein Foto für die Ermittlung der Referenzgröße mit der Kamera aufgenommen werden muss, sondern dies der Sequenz von Videobildern entnommen wird.
-
Alternativ handelt es sich bei dem mit der Kamera aufgenommenen Bild um ein mit der Kamera aufgenommenes Foto. Bei mobilen Computergeräten haben einzelne Fotos üblicherweise eine größere Auflösung als Videobilder aus Videosequenzen. Daher lässt sich mit einem Foto die Referenzgröße exakter ermitteln als mit einem Videobild.
-
Bevorzugt weist das Verfahren weiter den Schritt auf: Ermitteln einer Teilsequenz von Videobildern in der Sequenz von Videobildern, welche den Ball in Bewegung zeigen und Auswählen zumindest des zweiten Videobildes aus der Teilsequenz. Zumindest in dem zweiten Bild ist der Ball daher in Bewegung und seine Geschwindigkeit kann aus dem Unterschied seiner Bildkoordinaten zu dem ersten Videobild ermittelt werden. In dem ersten Bild kann der Ball ebenfalls in Bewegung sein. Alternativ kann der Ball in dem ersten Videobild in Ruhe sein. Vorzugsweise handelt es sich dann um das zeitlich letzte Videobild der Sequenz in welchem der Ball in Ruhe ist.
-
Vorzugsweise wird die Eigenschaft der Flugbahn des Balls aus mehr als einem Videobild der Teilsequenz ermittelt. Auf diese Weise kann die Eigenschaft der Flugbahn des Balls als Durchschnittswert aus mehreren Videobildern ermittelt werden, wodurch die Messgenauigkeit erhöht wird. Vorzugsweise wird der Unterschied der Bildkoordinaten in den mehreren Bildern der Teilsequenz zu einem einzigen früheren ersten Videobild ermittelt, jedoch ist auch denkbar, dass der Unterschied zu jeweils einem unmittelbar vorhergehenden Videobild ermittelt wird. Vorzugsweise wird das erste Videobild der Teilsequenz mittels eines binären Suchalgorithmus ermittelt. Bei einem binären Suchalgorithmus wird zunächst für ein Videobild aus der Mitte der Sequenz ermittelt, ob es den Ball in Bewegung zeigt. Ist dies der Fall, so wird ein Videobild aus der Mitte der ersten Hälfte der Sequenz ausgewählt und erneut ermittelt. Ist dies nicht der Fall, so wird ein Videobild aus der Mitte der letzten Hälfte der Sequenz ausgewählt und erneut ermittelt. Auf diese Weise wird der Anfang der Teilsequenz in höchstens |log2(n)| Schritten gefunden, wobei n die Anzahl der Videobilder der Sequenz ist und die Funktion |.| auf die nächste ganze Zahl aufrundet. Angesichts der begrenzten Prozessorleistung eines mobilen Computergeräts wird das Verfahren auf diese Weise beschleunigt.
-
In einer bevorzugten Ausführungsform weist das Verfahren den Schritt auf: Extrapolieren der Bildkoordinaten des Balls in zumindest einem Videobild der Sequenz von Videobildern. Durch diesen Schritt wird extrapoliert, wo sich der Ball in nachfolgenden Videobildern befindet. Diese Abschätzung kann für weitere Verfahrensschritte verwendet werden, um das Verfahren zu beschleunigen.
-
Vorzugsweise weist das Verfahren den Schritt auf: Ermitteln der ersten und zweiten Bildkoordinaten des Balls in dem ersten und dem zweiten Videobild der Sequenz in den Schritten (b) und (c) basierend auf den extrapolierten Bildkoordinaten. Beispielsweise kann der Ball in dem ersten und zweiten Videobild ausgehend von den extrapolierten Bildkoordinaten gesucht werden. Auf diese Weise wird vermieden, die gesamten Bilder nach dem Ball durchsuchen zu müssen, wodurch das Verfahren beschleunigt wird. Das Suchen nach einem bestimmten Objekt in einem Bild ist relativ rechenintensiv, da die gesamten Bildinformationen nach der Kontur des Objektes durchsucht werden müssen. Außerdem ist die Größe des Objekts in dem Bild in der Regel unbekannt, da diese unter anderem vom Abstand der Kamera zu dem Objekt abhängt. Der Suchalgorithmus müsste das Bild also auf unterschiedliche, mögliche Größen des Objekts hin durchsuchen.
-
Vorzugsweise weist das Verfahren weiter den Schritt auf: Abschätzen der Anzahl von Videobildern der Teilsequenz basierend auf den extrapolierten Bildkoordinaten. Auf diese Weise kann die Anzahl an Videobildern eingegrenzt werden, auf welchen der Ball überhaupt gesucht werden muss, wodurch das Verfahren vor allem angesichts der beschränkten Ressourcen eines mobilen Computergeräts beschleunigt wird.
-
In einer bevorzugten Ausführungsform weist das Verfahren weiter die Schritte auf: Erhalten einer Angabe eines Benutzers, welche sich auf die Position des Balls in einem Videobild der Sequenz von Videobildern bezieht und Verwenden der Angabe zum Ermitteln der Position des Balls in dem Videobild. Vorteilhafterweise kann die Angabe des Benutzers als Ausgangsbasis für das Suchen des Balls in den Videobildern genommen werden, so dass nicht jeweils ein gesamtes Bild nach dem Ball durchsucht werden muss. Außerdem kann der Ball so von anderen runden Objekten unterschieden werden, welche fälschlicherweise ebenfalls als Ball identifiziert werden würden. Vorzugsweise tippt der Benutzer mit einem Finger auf einen berührungsempfindlichen Bildschirm des mobilen Computergeräts auf die Stelle, an welcher der Ball auf dem Videobild gezeigt wird. Alternativ wählt der Benutzer die Stelle mit einem auf dem Bildschirm angezeigten Cursor aus.
-
Vorzugsweise wird eine vorbestimmte Anzahl von zeitlich ersten Videobildern der Sequenz von Videobildern zur Ermittlung der Geschwindigkeit nicht berücksichtigt. Es hat sich herausgestellt, dass die zeitlich ersten Bilder einer Videosequenz häufig verwackelt sind, da der Benutzer zum Starten der Aufnahme auf einen Knopf an dem mobilen Computergerät oder auf einen berührungsempfindlichen Bildschirm des mobilen Computergeräts drückt. Diese Bewegung schlägt sich häufig in einem Verwackeln der zeitlich ersten Videobilder der Sequenz nieder. Indem die zeitlich ersten Bilder nicht berücksichtigt werden, wird die Genauigkeit der Messung der Eigenschaft der Flugbahn des Balls insgesamt erhöht. Vorzugsweise werden die ersten sieben Bilder der Sequenz von Videobildern nicht berücksichtigt.
-
Vorzugsweise weist das Verfahren weiter die Schritte auf: Ermitteln eines Flugwinkels des Balls; und Berechnen einer Flugweite des Balls basierend auf dem Flugwinkel und einer berechneten Geschwindigkeit des Balls. Hierdurch kann dem Benutzer neben der Geschwindigkeit auch angezeigt werden, wie weit der Ball geflogen ist oder geflogen wäre. Die Flugweite kann aus der üblichen ballistischen Flugbahn eines Objektes berechnet werden. Vorzugsweise wird der Luftwiderstand des Balls berücksichtigt.
-
Vorzugsweise weist das Verfahren den Schritt auf: Ermitteln einer Anfangsbeschleunigung des Balls. Diese Größe ist ein Maß dafür, mit welcher Kraft ein Spieler den Ball tritt, schlägt oder wirft. Beispielsweise kann es sich bei der Anfangsbeschleunigung um die Beschleunigung handeln, die ein Fußball erfährt, wenn ein Spieler diesen tritt. Die Anfangsbeschleunigung kann für einen wettkampfmäßigen Vergleich von Spielern untereinander verwendet werden.
-
Vorzugsweise wird die Sequenz von Videobildern im Wesentlichen rechtwinklig zu einer Flugbahn des Balls aufgenommen. Im Wesentlichen ist die Flugbahn in einem Winkel von 90° zur Aufnahmerichtung der Kamera des mobilen Computergeräts, so dass die Eigenschaft der Flugbahn des Balls, z.B. seine Geschwindigkeit, nicht falsch berechnet wird. In einem Winkel von 90° weist die Flugbahn des Balls nämlich eine geringste Bewegungskomponente auf die Kamera zu oder von der Kamera weg auf. Vorzugsweise weicht die Position der Kamera weniger als 10° von einem rechten Winkel zur Flugbahn ab. Vorzugsweise wird der Benutzer vor der Ausführung des Verfahrens auf die optimale Position relativ zum Ball hingewiesen.
-
In einer bevorzugten Ausführungsform werden die Videobilder zur Verarbeitung in einen Videopuffer eingelesen. Ein Videopuffer ermöglicht den schnellen Zugriff auf die Bilddaten. Vorzugsweise wird der Videopuffer im Arbeitsspeicher des mobilen Computergeräts eingerichtet. Auf den Arbeitsspeicher kann durch den Prozessor des mobilen Computergeräts schnell zugegriffen werden. Alternativ kann es sich um einen dedizierten Videopuffer beispielsweise in einem Videoprozessor oder Grafikbeschleunigerchip des mobilen Computergeräts handeln.
-
Bevorzugt werden auch die verarbeiteten Videobilder in einem Videopuffer gespeichert, denn auch der schreibende Zugriff auf einen Videopuffer ist sehr schnell.
-
Bevorzugt wird dem Verfahren eine feste Anzahl an vorbestimmten Videopuffern zur Verarbeitung der Videobilder zugewiesen. Hierdurch wird der Hauptspeicher oder dedizierte Videospeicher des mobilen Computergeräts geschont und das Verfahren beschleunigt, da nicht für jedes neu zu verarbeitende Videobild ein weiterer Teil des Speichers reserviert werden muss. Bevorzugt stehen dem Verfahren vier Videopuffer zu Verfügung.
-
In einer bevorzugten Ausführungsform weist das Verfahren den Schritt auf: Überlagern einer berechneten Flugbahn des Balls mit zumindest einem Videobild der Sequenz von Videobildern und / oder einem mit der Kamera aufgenommenen Foto. Auf diese Weise kann dem Benutzer die Flugbahn angezeigt werden. Beispielsweise kann es sich um ein Standbild handeln, welches einen Spieler beim Schuss und die Flugbahn des Balls zeigt. Dieses Standbild wird nach der Berechnung der Flugbahn erzeugt.
-
Bevorzugt weist das Verfahren weiter den Schritt auf: Senden mit dem mobilen Computergerät zumindest der ermittelten Eigenschaft der Flugbahn des Balls an einen Server. Das Senden kann drahtlos erfolgen, z.B. mittels eines Transmitters oder Transceivers unter Verwendung von Funktechnologien wie z.B. Bluetooth, BTLE (Bluetooth Low Energy), WLAN, GSM, UMTS, LTE, NFC oder anderer drahtlose Funktechnologien. Das Senden kann alternativ kabelgebunden erfolgen z.B. mittels USB-Kabel, Micro-USB-Kabel, Firewire, Lightning-Kabel, Klinkenstecker usw. Das Senden kann manuell erfolgen, etwa indem der Benutzer einen Knopf an dem Gerät oder auf dessen berührungsempfindlichen Bildschirm betätigt. Alternativ erfolgt das Senden automatisch, z.B. nach jedem Schuss, Schlag oder Wurf oder zu festgelegten Zeitpunkten, z.B. jede Stunde oder abends.
-
Bei dem Server kann es sich um einen Server eines sozialen Netzwerks handeln, welcher das Teilen der Eigenschaft der Flugbahn des Balls, beispielsweise seiner Geschwindigkeit, des Abschusswinkels oder der Flugweite zu Vergleichszwecken mit anderen Spielern erlaubt. Bekannte soziale Netzwerke sind z.B. Facebook® oder Twitter®. Bei dem Server kann es sich auch um eine „Cloud“-Datenbank handeln, z.B. „iCloud“ von Apple oder „Dropbox“. Auch ein Desktop-PC oder Laptop kann als Server für das Speichern der gesendeten Daten verwendet werden. Beispielsweise könnten die Daten über die Software „iTunes“ von Apple von dem mobilen Computergerät auf einen Desktop-PC oder Laptop übertragen werden.
-
Bevorzugt wird auch ein Bild des Spielers beim Schuss, Schlag oder Wurf auf den Server hochgeladen. Bevorzugt wird die berechnete Eigenschaft der Flugbahn des Balls, z.B. seine Geschwindigkeit, auf dem Bild angezeigt. Zusätzlich können weitere Daten an den Server gesendet werden, wie z.B. der Abschusswinkel, die Flugweite, ein Video des Schusses, Schlags oder Wurfs, Bildersequenzen oder Grafiken, Daten des Spielers, wie z.B. sein Name.
-
Weiter bevorzugt wird auf dem Server eine Bestenliste von Spielern gespeichert. Die Bestenliste könnte beispielsweise die Namen oder Pseudonyme von Spielern und ihre jeweiligen Bestleistungen beinhalten. Die Bestleistung könnte beispielweise in der größten erzielten Ballgeschwindigkeit, der größten Beschleunigung oder dem weitesten Schuss, Schlag oder Wurf bestehen. Die Bestenliste könnte aus den Ergebnissen aller registrierten Benutzer gebildet werden oder sich nur auf eine Gruppe von Benutzern, z.B. einen Freundeskreis, beziehen. Die Bestenliste könnte zusätzlich zu den Bestleistungen und Namen der Benutzer auch jeweils das Datum enthalten, an welchem die Bestleistung erzielt wurde. Zusätzlich zum Namen kann ein Foto des Benutzers angezeigt werden.
-
Die Bestenliste der Spieler kann sportartspezifisch sein. Auf einer sportartspezifischen Bestenliste könnten beispielsweise nur Flugbahneigenschaften angezeigt werden, welche beim Fußballspielen ermittelt wurden. Zusätzlich oder alternativ kann die Bestenliste länderspezifisch sein. Auf einer länderspezifischen Bestenliste könnten beispielsweise nur Flugbahneigenschaften angezeigt werden, welche von deutschen Spielern erzielt wurden. Weiter zusätzlich oder alternativ könnte die Bestenliste altersspezifisch sein. Auf einer altersspezifischen Bestenliste könnten beispielsweise nur Flugbahneigenschaften angezeigt werden, welche von Spielern ermittelt wurden, die zwischen 20 und 25 Jahr alt sind.
-
Die Bestenliste könnte von allen Mitspielern einsehbar sein. Alternativ könnte die Bestenliste nur von Mitspielern einsehbar sein, die auf einem Server angemeldet sind.
-
Gemäß einem weiteren Aspekt der vorliegenden Erfindung weist ein mobiles Computergerät auf: (a) eine Kamera, welche zum Aufnehmen einer Sequenz von Videobildern eines Balls konfiguriert ist; (b) einen Prozessor, welcher konfiguriert ist zum: (1) Ermitteln einer ersten Bildkoordinate des Balls in einem ersten Videobild der Sequenz; (2) Ermitteln einer zweiten Bildkoordinate des Balls in einem zweiten Videobild der Sequenz; (3) Berechnen einer Eigenschaft der Flugbahn des Balls basierend auf einem Unterschied der ersten und zweiten Bildkoordinaten, eines Zeitabstands zwischen dem ersten und zweiten Videobild und einer Referenzgröße, die basierend auf der Form und / oder Größe des Balls in einem mit der Kamera aufgenommen Bild ermittelt wird.
-
Ein weiterer Aspekt der vorliegenden Erfindung betrifft ein mobiles Computergerät, welches konfiguriert ist, ein hierin beschriebenes, erfindungsgemäßes Verfahren durchzuführen.
-
Noch ein weitere Aspekt der vorliegenden Erfindung betrifft ein Computerprogramm, welches Anweisungen aufweist, welche einen Prozessor und eine Kamera eines mobilen Computergeräts veranlassen, ein hierin beschriebenes, erfindungsgemäßes Verfahren durchzuführen.
-
In einer bevorzugten Ausführungsform handelt es sich bei dem Computerprogramm um eine App für ein mobiles Computergerät.
-
4. Kurze Beschreibung der Zeichnungen
-
In der folgenden detaillierten Beschreibung werden gegenwärtig bevorzugte Ausführungsbeispiele des erfindungsgemäßen Verfahrens sowie des erfindungsgemäßen mobilen Computergeräts unter Bezugnahme auf die folgenden Zeichnungen beschrieben:
-
1: eine schematische Aufsicht einer relativen Positionierung von mobilem Computergerät und Ball zur Durchführung des erfindungsgemäßen Verfahrens;
-
2: ein Ablaufdiagramm des erfindungsgemäßen Verfahrens;
-
3: eine beispielhafte Bildschirmansicht beim Aufnehmen einer Sequenz von Videobildern;
-
4: eine beispielhafte Bildschirmansicht bei einer Angabe der Ballposition durch den Benutzer;
-
5: eine weitere beispielhafte Bildschirmansicht bei einer Angabe der Ballposition durch den Benutzer;
-
6: eine beispielhafte Bildschirmansicht einer Darstellung der berechneten Geschwindigkeit, Flugweite und Abschusswinkel.
-
5. Detaillierte Beschreibung der bevorzugten Ausführungsbeispiele
-
Im Folgenden werden gegenwärtig bevorzugte Ausführungsbeispiele der vorliegenden Erfindung unter Bezugnahme auf ein Verfahren zur Messung einer Eigenschaft der Flugbahn eines Balls mit einem mobilen Computergerät beschrieben.
-
In der 1 ist eine schematische Aufsicht einer relativen Positionierung von mobilem Computergerät 1 und Ball 2 gezeigt, wie sie zur Durchführung des erfindungsgemäßen Verfahrens verwendet wird. Bei dem mobilen Computergerät 1 kann es sich beispielsweise um ein Smartphone, Tabletcomputer oder mobilen Medienplayer handeln. Bei der in 1 gezeigten Positionierung liegt der Ball 2 und ein Teil seiner zu erwartenden Flugbahn 4 im Blickfeld 5 einer Kamera 3 des mobilen Computergeräts 1. Um die Eigenschaft der Flugbahn 4 des Balls 2, z.B. seine Geschwindigkeit, mittels des erfindungsgemäßen Verfahrens möglichst exakt berechnen zu können, sollte die Mittelachse 6 des Blickfelds 5 der Kamera 3 im Wesentlichen rechtwinklig zur zu erwartenden Flugbahn 4 des Balls 2 sein. Abweichungen von einem rechten Winkel sind jedoch tolerierbar. So liefert das erfindungsgemäße Verfahren bei einer Abweichung von 10° vom rechten Winkel, also zwischen 80° und 100°, auch noch hinreichend genaue Messwerte.
-
Es ist außerdem vorteilhaft, wenn das mobile Computergerät 1, bzw. der Ball 2 so zueinander positioniert werden, dass ein möglichst großer Anteil der Flugbahn 4 des Balls 2 innerhalb des Blickfelds 5 der Kamera 3 liegt. Dadurch wird gewährleistet, dass zur Auswertung und Berechnung der Eigenschaft der Flugbahn 4 des Balls 2, z.B. seiner Geschwindigkeit, mindestens zwei Videobilder der mit der Kamera 3 aufzunehmenden Videosequenz den Ball 2 in Bewegung zeigen. Wie in der 1 gezeigt, kann dies erreicht werden, indem der Ball 2 von der Mittelachse 6 des Blickfelds 5 der Kamera 3 in einem gewissen Abstand positioniert wird. Mit anderen Worten wird der Ball 2 eher am Rand des von der Kamera erfassten Blickfelds 5 positioniert, bzw. die Kamera entsprechend gedreht. Ein bevorzugter Abstand von Kamera 3 und Ball 2 beträgt beispielsweise drei Meter. Das Verfahren kann aber auch bei anderen Abständen durchgeführt werden.
-
Der Ablauf des erfindungsgemäßen Verfahrens ist in der 2 gezeigt. In einem ersten Verfahrensschritt 21 wird eine Sequenz von Videobildern, die den Ball 2 zeigen, mit einer Kamera 3 des mobilen Computergeräts 1 aufgenommen. Im Allgemeinen sind die Kameras von mobilen Computergeräten geeignet, eine Sequenz von Videobildern in Form von Videofilmen aufzunehmen und zu speichern.
-
Die 3 zeigt eine beispielhafte Bildschirmansicht, wie sie sich dem Benutzer des mobilen Computergeräts 1 während des Aufnehmens der Sequenz von Videobildern präsentiert. Der Ball 2 liegt hier zum linken Rand des Blickfelds der Kamera versetzt, wie oben in Bezug auf Fig. 1 beschrieben. Eine eingeblendete Markierung 8 erleichtert es dem Benutzer des mobilen Computergeräts 1 einen optimalen Abstand zum Ball 2 zu finden. Der Ball 2 sollte auf der Bildschirmansicht nicht größer als die Markierung 8 sein. Andernfalls wäre die Kamera 3 des mobilen Computergeräts 1 zu nah am Ball 2, so dass möglicherweise bei einem harten Schuss der Ball 2 so schnell aus dem Blickfeld 5 der Kamera 3 fliegt, dass kein Videobild der aufgenommenen Sequenz den Ball 2 in Bewegung zeigt und die gewünschte Eigenschaft der Flugbahn 4 des Balls 2, z.B. seine Geschwindigkeit, nicht berechnet werden kann.
-
Ebenfalls ist in der 3 ein Fußballspieler 7 gezeigt, welcher im Folgenden den Ball 2 schießen wird. Das erfindungsgemäße Verfahren ist jedoch nicht auf Fußball beschränkt, sondern kann bei einer Vielzahl von Ballsportarten wie beispielsweise Tennis, Golf, Basketball, Tischtennis, American Football etc. Anwendung finden.
-
In der 3 ist auch eine Aufnahmetaste 9 auf dem berührungsempfindlichen Bildschirm des mobilen Computergeräts 1 gezeigt. Der Benutzer des mobilen Computergeräts 1 betätigt zunächst diese Aufnahmetaste, womit die Aufnahme einer Sequenz von Videobildern mit der Kamera 3 des mobilen Computergeräts 1 gestartet wird. Nach Betätigen der Aufnahmetaste 9 schießt der Fußballspieler 7 den Ball 2 möglichst rechtwinklig zur Mittelachse 6 des Blickfelds 5 der Kamera 3 wie oben in Bezug auf 1 beschrieben. Nachdem der Ball 2 das Blickfeld 5 der Kamera 3 verlassen hat, betätigt der Benutzer des mobilen Computergeräts 1 die Aufnahmetaste 9 erneut, um die Aufnahme der Sequenz von Videobildern zu beenden.
-
Alternativ kann die Aufnahme durch Drücken der Aufnahmetaste 9 gestartet und nach einer definierten Zeit (z.B. 5 Sekunden) automatisch beendet werden. Weiter alternativ wird die Aufnahme durch Drücken der Aufnahmetaste 9 gestartet und das mobile Computersystem 1 registriert, dass der Ball 2 geschossen wurde und aus dem Blickfeld der Kamera geflogen oder gerollt ist und stoppt die Aufnahme automatisch.
-
Alternativ kann der Benutzer den Aufnahmeknopf 9 drücken, positioniert das mobile Computergerät 1 so, dass die Kamera 3 auf den Ball 2 zeigt, bewegt sich zum Ball 2, macht ein definiertes Geräusch (z.B. einen Pfeiflaut, Klatschen, Rufen, etc.), wodurch die Aufnahme gestartet wird. Anschließend schießt der Benutzer den Ball 2 und macht wieder ein definiertes Geräusch (z.B. einen Pfeiflaut, Klatschen, Rufen, etc.), wodurch die Aufnahme beendet wird.
-
Weiter alternativ drückt der Benutzer den Aufnahmeknopf 9, positioniert das mobile Computergerät 1 so, dass die Kamera 3 auf den Ball 2 zeigt und bewegt sich zum Ball 2. Das mobile Computergerät 1 veranlasst dann die Erzeugung eines definierten Geräuschs mittels eines Lautsprechers des mobilen Computergeräts 1 (z.B. einen Pfeiflaut oder eine automatische Ansage) im Wesentlichen gleichzeitig mit dem Starten der Aufnahme. Anschließend schießt der Benutzer den Ball 2. Optional veranlasst das mobile Computergerät 1 ein definiertes Geräusch (z.B. einen Pfeiflaut oder ein automatische Ansage) im Wesentlichen zeitgleich mit dem Beenden der Aufnahme. Das mobile Computergerät 1 könnte dabei die Aufnahme beenden, wenn festgestellt wird, dass der Ball 2 das von der Kamera 3 abgedeckte Blickfeld 5 verlassen hat.
-
Während der gesamten Aufnahme hält der Benutzer das mobilen Computergerät 1 möglichst still, d.h. er folgt insbesondere mit der Kamera 3 nicht dem fliegenden oder rollenden Ball 2. Grundsätzlich ist es wichtig, dass das mobile Computergerät 1 während des Filmvorgangs still gehalten wird, da die Berechnung der Eigenschaft der Flugbahn 4 des Balls 2 sonst möglicherweise beeinträchtigt wird. Zu Beginn der Aufnahme kann dem Benutzer ein entsprechender Hinweis angezeigt werden.
-
Nachdem wie oben beschrieben die Sequenz von Videobildern des geschossenen Balls 2 aufgenommen wurde, werden in einem nächsten Verfahrensschritt 22 wie in 2 gezeigt die Bildkoordinaten des Balls 2 in einem ersten Videobild der Sequenz ermittelt. Hierzu muss zunächst der Ball 2 in dem ersten Videobild erkannt werden. Dies kann mit bekannten Mustererkennungsverfahren erfolgen, wie beispielsweise einem Kantendetektionsverfahren oder einem künstlichen neuronalen Netz.
-
Nachdem der Ball 2 in dem ersten Videobild erkannt wurde, werden seine Bildkoordinaten ermittelt. Diese Bildkoordinaten können sich beispielsweise auf den geometrischen Mittelpunkt des Balls 2 in dem ersten Videobild beziehen. Der Mittelpunkt kann beispielsweise durch einen Fit, basierend beispielsweise auf der Methode der kleinsten Quadrate, an die mittels eines Kantendetektionsverfahrens ermittelten Bildpunkte des Rands des Balls 2 ermittelt werden. Andere Verfahren sind denkbar. So kann beispielsweise auch das kleinste Quadrat oder Rechteck gesucht werden, in welches der Ball 2 in dem Videobild gerade hineinpasst. Die Kanten dieses Quadrats oder Rechtecks liegen dann also auf Tangenten des Balls 2 in dem Videobild. Die Bildkoordinaten könnten sich dann beispielsweise auf eine Ecke des Quadrats oder Rechtecks beziehen.
-
Die Bildkoordinaten können beispielsweise die Koordinaten des Mittelpunkts des Balls 2 in horizontaler Richtung (x-Koordinate) und vertikaler Richtung (y-Koordinate) in Pixeln, gerechnet beispielsweise von der linken oberen Ecke des Videobilds, angeben.
-
Um das Auffinden des Balls 2 in dem Videobild zu erleichtern, kann der Benutzer aufgefordert werden, in zumindest einem Videobild der Sequenz auf den Ball 2 zu zeigen oder zu tippen. Eine entsprechende beispielhafte Bildschirmansicht ist in 4 gezeigt. Hier hat der Benutzer auf den Ball 2 getippt und somit seine ungefähren Bildkoordinaten angegeben. Daraufhin wird der Ball 2 in dem Videobild ausgehend von den vom Benutzer angegebenen Bildkoordinaten gesucht. Dies erlaubt ein schnelleres Auffinden des Balls 2, da nicht das gesamte Videobild nach dem Ball 2 durchsucht werden muss. Außerdem wird so verhindert, dass fälschlicherweise andere runde Objekte in dem Videobild als Ball erkannt werden. Nachdem der Ball 2 ausgehend von den vom Benutzer angegebenen Bildkoordinaten gefunden wurde, kann dem Benutzer eine optische Rückmeldung gegeben werden. Im Beispiel der 4 ist dies eine rundliche Markierung 10, welche den Ball 2 umgibt.
-
Die Angabe des Benutzers zu den Bildkoordinaten des Balls 2 muss nicht unbedingt in Bezug auf ein Videobild erfolgen, welches zur Berechnung der Geschwindigkeit des Balls 2 verwendet wird. Bei der Angabe der Bildkoordinaten des Balls 2 durch den Benutzer kann der Ball 2 ruhen, wie im Beispiel der 4 gezeigt, er kann jedoch auch in Bewegung sein, wie im Beispiel der 5 gezeigt.
-
Nachdem, wie oben beschrieben, die Bildkoordinaten des Balls 2 in dem ersten Videobild ermittelt wurden, werden in einem nächsten Verfahrensschritt 23 wie in 2 gezeigt die Bildkoordinaten des Balls 2 in einem zweiten Videobild der Sequenz ermittelt. In Bezug auf das Auffinden des Balls 2 in dem zweiten Videobild und das Ermitteln seiner Bildkoordinaten, gilt das oben mit Bezug auf Verfahrensschritt 22
-
Gesagte:
-
Zunächst muss der Ball 2 in dem zweiten Videobild erkannt werden. Dies kann mit bekannten Mustererkennungsverfahren erfolgen, wie beispielsweise einem Kantendetektionsverfahren oder einem künstlichen neuronalen Netz.
-
Nachdem der Ball 2 in dem zweiten Videobild erkannt wurde, werden seine Bildkoordinaten ermittelt. Diese Bildkoordinaten können sich beispielsweise auf den geometrischen Mittelpunkt des Balls 2 in dem zweiten Videobild beziehen. Der Mittelpunkt kann beispielsweise durch einen Fit, basierend beispielsweise auf der Methode der kleinsten Quadrate, an die mittels eines Kantendetektionsverfahrens ermittelten Bildpunkte des Rands des Balls 2 ermittelt werden. Andere Verfahren sind denkbar. So kann beispielsweise auch das kleinste Quadrat oder Rechteck gesucht werden, in welches der Ball 2 in dem Videobild gerade hineinpasst. Die Kanten dieses Quadrats oder Rechtecks liegen dann also auf Tangenten des Balls 2 in dem Videobild. Die Bildkoordinaten könnten sich dann beispielsweise auf eine Ecke des Quadrats oder Rechtecks beziehen.
-
Die Bildkoordinaten können beispielsweise die Koordinaten des Mittelpunkts des Balls 2 in horizontaler Richtung (x-Koordinate) und vertikaler Richtung (y-Koordinate) in Pixeln, gerechnet beispielsweise von der linken oberen Ecke des zweiten Videobilds, angeben.
-
Um das Auffinden des Balls 2 auch in dem zweiten Videobild zu erleichtern, kann der Benutzer aufgefordert werden, in zumindest einem Videobild der Sequenz auf den Ball 2 zu zeigen oder zu tippen, wie dies in Bezug auf 4 erläutert wurde. Eine entsprechende beispielhafte Bildschirmansicht ist in 5 gezeigt. Hier hat der Benutzer auf den in Bewegung befindlichen Ball 2 getippt und somit seine ungefähren Bildkoordinaten angegeben. Daraufhin wird der Ball 2 in dem zweiten Videobild ausgehend von den vom Benutzer angegebenen Bildkoordinaten gesucht.
-
Zumindest in einem der beiden Videobilder sollte der Ball 2 in Bewegung sein, d.h. bereits geschossen, geschlagen oder geworfen worden sein, damit eine Eigenschaft der Flugbahn 4 des Balls 2 in dem nachfolgenden Verfahrensschritt 24 berechnet werden kann. Beispielsweise kann es sich bei dem ersten Videobild um das letzte Videobild der Sequenz handeln, in welchem der Ball 2 noch ruht, während das unmittelbar darauf folgende zweite Videobild den Ball 2 in Bewegung zeigt. Alternativ kann auch das erste Videobild den Ball 2 in Bewegung zeigen. Beispielsweise können das erste und das zweite Bild aus einer Teilsequenz von Videobildern ausgewählt werden, welche den Ball 2 in Bewegung, beispielsweise im Flug, zeigen. Das zeitlich erste Videobild einer solchen Teilsequenz kann beispielsweise mit einem binären Suchalgorithmus ermittelt werden. Bei einem binären Suchalgorithmus wird zunächst für ein Videobild aus der Mitte der Sequenz ermittelt, ob es den Ball 2 in Bewegung zeigt. Ist dies der Fall, so wird ein Videobild aus der Mitte der ersten Hälfte der Sequenz ausgewählt und erneut ermittelt. Ist dies nicht der Fall, so wird ein Videobild aus der Mitte der letzten Hälfte der Sequenz ausgewählt und erneut ermittelt. Auf diese Weise wird der Anfang der Teilsequenz in höchstens |log2(n)| Schritten gefunden, wobei n die Anzahl der Videobilder der Sequenz ist und die Funktion |.| auf die nächste ganze Zahl aufrundet.
-
Im nächsten Verfahrensschritt 24 des erfindungsgemäßen Verfahrens wird eine Eigenschaft der Flugbahn 4 des Balls 2 basierend auf dem Unterschied der ersten und zweiten Bildkoordinaten, eines Zeitabstands zwischen dem ersten und zweiten Videobild und einer Referenzgröße, die basierend auf der Form und / oder Größe des Balls 2 in einem mit der Kamera 3 aufgenommen Bild ermittelt wird, berechnet. Beispielsweise könnte aus dem Unterschied der Bildkoordinaten die Geschwindigkeit des Balls 2 berechnet werden, wie im Folgenden beschrieben.
-
Der Unterschied der Bildkoordinaten des Balls
2 in dem ersten und zweiten Videobild kann beispielsweise als Differenz der x- und y-Koordinaten in den beiden Videobildern berechnet werden. Sind die Bildkoordinaten in dem ersten Videobild beispielsweise (x
1, y
1) und in dem zweiten Bild (x
2, y
2), so beträgt der Unterschied der Bildkoordinaten (x
2 – x
1, y
2 – y
1). Um den Absolutbetrag der Geschwindigkeit des Balls
2 zu erhalten, kann aus diesem vektoriellen Unterschied auf bekannte Art und Weise die zwischen dem ersten und zweiten Videobild zurückgelegte Strecke s ermittelt werden:
-
In die zu berechnende Geschwindigkeit fließt neben der zurückgelegten Strecke s auch der Zeitabstand t zwischen dem ersten und dem zweiten Videobild ein. Dieser Zeitabstand kann aus der von der Kamera 3 des mobilen Computergeräts 1 gelieferten Bildwiederholfrequenz ermittelt werden. Der Zeitabstand zwischen zwei aufeinanderfolgenden Videobildern ergibt sich aus dem Kehrwert dieser Bildwiederholfrequenz. Liefert die Kamera 3 beispielsweise 30 Bilder pro Sekunde, so beträgt der Abstand zwischen zwei aufeinanderfolgenden Bildern 1/30 Sekunden, also etwa 33 Millisekunden. Folgen das erste und zweite Videobild nicht unmittelbar aufeinander, so ist dies entsprechend zu berücksichtigen. Liegen beispielsweise zwei weitere Videobilder zwischen dem ersten und zweiten Videobild, so beträgt bei einer Bildwiederholfrequenz von 30 Bildern pro Sekunde der Abstand zwischen dem ersten und zweiten Videobild 0,1 Sekunden, also 100 Millisekunden.
-
Die Geschwindigkeit ließe sich jetzt in bekannter Art und Weise als Quotient aus Strecke und Zeit, also s/t, berechnen. Allerdings bezieht sich die aus dem Unterschied der Bildkoordinaten des Balls 2 berechnete Strecke s auf die zur Angabe der Bildkoordinaten verwendete Einheit, also üblicherweise Pixel. Gewünscht ist jedoch die Angabe der Geschwindigkeit in der Realität und nicht in der Sequenz von Videobildern. Deshalb wird zur Berechnung der Geschwindigkeit eine Referenzgröße verwendet, welche die zurückgelegte Strecke, bzw. Geschwindigkeit in der Sequenz in Beziehung setzt zur tatsächlich zurückgelegten Strecke, bzw. Geschwindigkeit in der Realität.
-
Die Referenzgröße kann beispielsweise angeben, dass ein von dem Ball 2 zurückgelegter Pixel in der Realität einem Zentimeter entspricht. Die Referenzgröße könnte auch die Geschwindigkeiten ins Verhältnis setzen und beispielsweise angeben, dass ein Pixel pro Sekunde einem hundertstel Meter pro Sekunde entspricht.
-
Die Referenzgröße wird basierend auf der Form und / oder Größe des Balls 2 in einem mit der Kamera 3 aufgenommen Bild ermittelt. Beispielsweise wird der Durchmesser oder Umfang des Balls 2 in einem Videobild der Sequenz ermittelt. Bei diesem Videobild könnte es sich beispielsweise um ein Videobild handeln, wie es in 4 gezeigt ist und in welchem der Ball 2 ruht, so dass sein Umfang oder Durchmesser besonders exakt bestimmt werden kann. Es muss sich aber nicht um ein Bild der Videosequenz handeln. Beispielsweise kann mit der Fotofunktion der Kamera 3 ein Foto geschossen werden, welches zur Ermittlung des Durchmessers oder Umfangs des Balls 2 verwendet wird. Statt Umfang oder Durchmesser kann auch die Kantenlänge eines Quadrats oder Rechtecks ermittelt werden, in welches der Ball 2 gerade hineinpasst.
-
In einem konkreten Beispiel wird der Durchmesser des Balls 2 in einem mit der Kamera 3 aufgenommenen Bild mit 50 Pixeln ermittelt. Da ein Fußball üblicherweise einen bekannten Durchmesser von 22 cm hat, ergibt sich eine Referenzgröße von 50/0,22 (≅ 227,27) Pixel pro Meter. Die Referenzgröße kann auch als Kehrwert, also 0,22/50 (≅ 0,0044) Meter pro Pixel angegeben werden. Entscheidend ist, dass die Referenzgröße eine Länge in einem Videobild in Beziehung setzt zu einer Länge in der Realität und dass die Referenzgröße basierend auf einer Form und /oder Größe des Balls 2 ermittelt wird.
-
In dem obigen Beispiel wurde die Referenzgröße basierend auf dem bekannten Durchmesser des Balls 2 ermittelt. Es ist denkbar, andere bekannte Größen zu verwenden, wie beispielsweise den Umfang oder die Länge einer Ellipsenhalbachse, falls es sich um einen nicht kugelförmigen Ball 2, wie beispielsweise einen American Football handelt. Auch ist es möglich, die Referenzgröße anhand einer Form des Balls 2 zu bestimmen, beispielsweise anhand der Krümmung seiner Oberfläche. Bei der Form und / oder Größe des Balls 2, kann es sich auch um die Form und / oder Größe eines auf dem Ball 2 aufgebrachten Musters handeln.
-
Der bekannte Durchmesser des Balls 2 (22 cm in obigem Beispiel) kann in dem mobilen Computergerät 1 gespeichert sein. Der Benutzer könnte z.B. auswählen bei welcher Ballsportart er gerne die Eigenschaften der Flugbahn 4 des Balls 2, z.B. die Geschwindigkeit, erhalten möchte. Entsprechend könnte ihm dann eine Auswahl an verschiedenen Bällen und / oder der zugehörigen Durchmesser präsentiert werden, aus denen er einen auswählen kann. Die Durchmesser (und gegebenenfalls weitere Daten) der verschiedenen Bälle könnten in dem mobilen Computergerät 1 gespeichert sein. Alternativ können die Durchmesser und weitere Daten auf einem Server gespeichert und bei Bedarf auf das mobile Computergerät 1 geladen werden.
-
Um das obige Beispiel fortzuführen, betrage die zwischen dem ersten und zweiten Videobild zurückgelegte Strecke des Balls 2 beispielsweise 100 Pixel. Dies entspricht mit der obigen Referenzgröße einer in der Realität zurückgelegten Strecke von 100·0,0044 = 0,44 Meter. Beträgt
-
die Bildwiederholfrequenz beispielsweise 30 Bilder pro Sekunde und folgen das erste und zweite Videobild unmittelbar aufeinander, so beträgt der Zeitabstand zwischen beiden Videobildern 1/30 (≅ 0,033) Sekunden. Die Geschwindigkeit des Balls 2 in der Realität berechnet sich daher zu 0,44 /(1/ 30) = 30·0,44 = 13,2 Meter pro Sekunde. Dies
-
entspricht einer Geschwindigkeit des Balls 2 von 47,52 Kilometer pro Stunde.
-
In der 6 ist beispielhaft gezeigt, wie dem Benutzer das Ergebnis des erfindungsgemäßen Verfahrens angezeigt wird. In dem Beispiel ergibt sich eine Geschwindigkeit von 110 Kilometer pro Stunde („KPH“), welche dem Benutzer angezeigt wird (Bezugszeichen 11). In der 6 ist dem gezeigten Videobild aus der Sequenz von Videobildern außerdem eine berechnete Flugbahn 12 des Balls 2 überlagert. Diese berechnete Flugbahn 12 kann aus der Sequenz von Videobildern berechnet werden, indem in jedem Videobild, welches den Ball 2 in Bewegung zeigt, die Bildkoordinaten des Balls 2 ermittelt werden und daraus eine Flugbahn beispielsweis interpoliert wird. Alternativ kann die Flugbahn 12 auch aus wenigen Videobildern berechnet und beispielsweise aus der berechneten Geschwindigkeit und / oder einem ermittelten Flugwinkel extrapoliert werden. Die Flugbahn 12 kann außerdem einem mit der Kamera 3 geschossenen Foto, statt einem Videobild überlagert werden.
-
Zusätzlich wird im Beispiel der 6 dem Benutzer die ermittelte Flugweite 13 von 29 Metern und der ermittelte Abschusswinkel 14 von vier Grad angezeigt.
-
In den beispielhaften Bildschirmansichten der 3 bis 6 werden jeweils in der linken oberen Ecke Symbole angezeigt, welche der Benutzer antippen oder anklicken kann, um bestimmte Funktionen aufzurufen. In der 3 wird in der linken oberen Ecke und in der 6 in der rechten unteren Ecke ein Symbol in Form eines Hauses angezeigt. Durch Antippen oder Anklicken dieses Symbols gelangt der Benutzer in ein Hauptmenü zurück. In den 4 und 5 wird in der linken oberen Ecke ein Symbol in Form eines horizontalen Pfeils angezeigt. Durch Antippen oder Anklicken dieses Symbols gelangt der Benutzer einen Schritt zurück. In der 6 wird in der linken oberen Ecke ein Symbol in Form eines kreisförmigen Pfeils angezeigt. Durch Antippen oder Anklicken dieses Symbols kann der Benutzer eine Aufnahme mit der Kamera 3 des mobilen Computergeräts 1 wiederholen, beispielsweise falls die vorherige Aufnahme nicht gut gelungen ist. Neben diesem Symbol wird ein dreieckiges Symbol angezeigt. Durch Antippen oder Anklicken dieses Symbols kann der Benutzer ein zuvor aufgenommenes Video abspielen lassen.
-
Die in den 3 bis 6 angezeigten Symbole können grundsätzlich auch an anderen Stellen auf dem Bildschirm angezeigt werden und müssen nicht die dargestellte Form aufweisen. Denkbar ist außerdem, dass Text statt Symbole angezeigt wird.
-
Die berechnete Geschwindigkeit des Balls 2 oder andere Eigenschaften der Flugbahn 4 können von dem mobilen Computergerät 1 an einen Server im Internet gesendet werden. Beispielsweise kann die Geschwindigkeit mit anderen Benutzern in einem sozialen Netzwerk wie Twitter® oder Facebook® geteilt werden. Es ist auch denkbar, dass auf dem Server eine Bestenliste von Spielern mit ihren jeweiligen Höchstgeschwindigkeiten oder Höchstflugweiten, etc. vorgehalten und veröffentlicht wird. Auch ist denkbar, dass die Geschwindigkeit oder Flugweite, etc. in einer persönlichen Trainingshistorie eines jeden Spielers gespeichert wird, um Leistungsverbesserungen zu dokumentieren. Denkbar ist auch, dass zumindest die ermittelte Eigenschaft der Flugbahn 4 des Balls 2 oder mehrere Eigenschaften der Flugbahn 4 auf einer Team-, App- oder Website gespeichert werden.
-
Mit dem erfindungsgemäßen Verfahren können Mehrspieler-Spiele durchgeführt werden, bei dem mehrere Spieler gegeneinander antreten können. Ein solches Spiel kann mit einem einzigen mobilen Computergerät 1 durchgeführt werden. Hierzu wird auf dem mobilen Computergerät 1 z.B. eine App gestartet und ein Spiel mit z.B. drei Spielern ausgewählt. Jeder Spieler führt dann das erfindungsgemäße Verfahren durch und tritt gegen jeden anderen Spieler an, d.h. vergleicht sich direkt mit zumindest einem anderen Spieler. Ein Spieler verliert und scheidet aus, wenn er eine geringere Leistung, z.B. eine geringeren Geschwindigkeit oder Flugweite erzielt als der Spieler, gegen den er unmittelbar antritt. Der Spieler, welcher bis zum Schluss im Spiel bleibt, d.h. alle direkten Vergleiche gewonnen hat, gewinnt. Alternativ treten die Spieler nicht direkt gegeneinander an, sondern jeder spielt z.B. drei Durchgänge, deren Ergebnisse addiert werden. Der Spieler mit der höchsten Summe (z.B. der Flugweiten oder Geschwindigkeiten) gewinnt.
-
Ein Mehrspieler-Spiel kann auch online durchgeführt werden. Hierbei treten Spieler über das Internet gegeneinander an, können also räumlich getrennt sein. Die Spieler können dabei z.B. eine App verwenden, welche mit dem Internet verbunden ist, eine soziale Internetseite (z.B. Facebook®) oder eine spezielle Webseite. Jeder Spieler kann dann online einem Wettbewerb („Battle“) beitreten und die erzielten Ergebnisse werden online verglichen.
-
Die Spieler können zusätzlich oder alternativ auch zeitlich getrennt sein, d.h. jeder für sich zu verschiedenen Zeiten spielen. Beispielsweise könnte ein Mehrspieler-Spiel zu einem bestimmten Zeitpunkt eröffnet werden und eine definierte Zeit lang laufen. Am Ende der Laufzeit wird ein Sieger festgestellt. Somit haben die Spieler die Möglichkeit, sich in ihren Ergebnissen durch mehrmalige Versuche zu verbessern, um so zu versuchen, den Wettbewerb am Ende zu gewinnen.
-
Es ist möglich, die wahrscheinliche Schussweite, d.h. das Auftreffen des Balls 2 auf dem Boden, aus der berechneten Geschwindigkeit und einem aus den Videobildern der Sequenz ermittelten Flugwinkel zu berechnen. Hierzu können bekannte ballistische Gleichungen verwendet werden, welche den Luftwiderstand des Balls 2 berücksichtigen oder darauf zugunsten einer einfacheren Berechnung verzichten. Unter
-
Vernachlässigung des Luftwiderstandes ergibt sich die Reichweite R zu R = v² / g sin(2β), wobei v die berechnete Geschwindigkeit des Balls 2, g die Erdbeschleunigung (ungefähr 9,81 m/s2, abhängig vom Ort auf der Erde) und β der Flugwinkel ist. Bei kleinen Geschwindigkeiten, wie sie bei Ballsportarten üblicherweise auftreten, stellt diese Gleichung eine adäquate Näherung der Schussweite dar.
-
Das Verfahren kann mit verschiedenen Maßnahmen für die Durchführung auf einem mobilen Computergerät 1 optimiert werden. Eine solche Maßnahme ist beispielsweise das Extrapolieren der Bildkoordinaten des Balls 2 in einem Videobild der Sequenz. Beispielsweise kann die Position des Balls 2 ausgehend von dem letzten Videobild, welches den Ball 2 in Ruhe zeigt und zumindest einem nachfolgenden Videobild, in welchem sich der Ball 2 bewegt, in nachfolgenden Videobildern extrapoliert werden. Ausgehend von den extrapolierten Bildkoordinaten kann dann die tatsächliche Position des Balls 2 ermittelt werden. Dadurch wird vermieden, dass jeweils das ganze Videobild nach dem Ball 2 abgesucht werden muss und so Rechenzeit gespart. Außerdem kann auf diese Weise einfach abgeschätzt werden, wann der Ball 2 den Bildrand verlässt und ab welchem Videobild der Sequenz er nicht mehr zu sehen ist. Auf diesen Bildern muss dann gar nicht mehr nach dem Ball 2 gesucht werden.
-
Die Bildkoordinaten können extrapoliert werden, indem die Bildkoordinaten des Balls 2 in zwei verschiedenen, z.B. unmittelbar aufeinanderfolgenden Bildern ermittelt werden und aus dem Unterschied der Bildkoordinaten abgeschätzt wird, wie weit sich der Ball 2 auf jedem nachfolgenden Videobild bewegt hat.
-
Eine andere Maßnahme, welche die Genauigkeit der berechneten Eigenschaft der Flugbahn 4 des Balls 2, z.B. seiner Geschwindigkeit, erhöht, besteht darin, die zeitlich ersten Videobilder der aufgenommenen Sequenz nicht zu berücksichtigen. Es wurde festgestellt, dass Benutzer eines mobilen Computergeräts 1 unbewusst beim Drücken der Aufnahmetaste 9 die Aufnahme am Anfang verwackeln. So können beispielsweise die ersten sieben Videobilder in der Sequenz verwackelt sein. Um Ungenauigkeiten, z.B. bei der Ermittlung der Referenzgröße zu vermeiden, falls diese aus einem Videobild gewonnen wird, welches den Ball 2 in Ruhe zeigt, werden diese zeitlich ersten Videobilder nicht berücksichtigt.
-
Eine weitere Möglichkeit, ein Verwackeln zu vermeiden, besteht im automatischen Starten der Aufnahme, wie oben beschreiben, also z.B. zeitverzögert oder durch Geräusche. Zusätzlich oder alternativ kann der Benutzer das mobile Computergerät 1 auf einer möglichst festen Unterlage positionieren.
-
Statt Berechnungen durchzuführen, können auch sogenannte Lookup-Tabellen verwendet werden. Diese enthalten z.B. die Funktionswerte einer Funktion in Abhängigkeit ihres Arguments oder ihrer Argumente. Beispielsweise könnte die oben beschriebene Methode zur Berechnung der Flugweite aus einer ballistischen Gleichung mittels einer Lookup-Tabelle durchgeführt werden, in welcher die Flugweite in Abhängigkeit der Anfangsgeschwindigkeit und des Schusswinkels gespeichert ist. Die Tabelle wird dann nach der ermittelten Anfangsgeschwindigkeit und dem ermittelten Schusswinkel durchsucht und der Wert an der entsprechenden Stelle der Tabelle zurückgegeben.
-
Eine weitere Möglichkeit, das Verfahren für die Durchführung auf einem mobilen Computergerät 1 zu optimieren, besteht darin, die zu verarbeitenden Videobilder in einen Videopuffer einzulesen. Beispielsweise kann in dem Arbeitsspeicher des mobilen Computergeräts 1 ein Speicherbereich als Videopuffer reserviert werden und die zu verarbeitenden Videobilder sequentiell in diesen Videopuffer eingelesen und verarbeitet werden. Nach der Verarbeitung eines Videobildes wird das nächste Videobild eingelesen, wodurch das vorhergehende Videobild überschrieben wird. Die Verarbeitung kann beispielsweise in dem Suchen des Balls 2 in dem Videobild bestehen und in der Ermittlung der daraus abgeleiteten Referenzgröße. Falls ein verarbeitetes Videobild, z.B. das Ergebnis einer Kantenerkennung, in einem nachfolgenden Schritt noch einmal benötigt wird, so kann das verarbeitete Videobild in einem zweiten Videopuffer gespeichert werden.
-
Statt eines Bereichs im Arbeitsspeicher, kann auch ein Videopuffer in einem dedizierten Bauteil, beispielsweise in einem Videoprozessor oder einem Grafikbeschleunigerchip verwendet werden. Dem Verfahren kann eine feste Anzahl an Videopuffern, z.B. vier, zur Verarbeitung der Videobilder zugewiesen werden, um den durch das Verfahren benötigten Speicher zu begrenzen, welcher auf einem mobilen Computergerät 1 ohnehin knapp bemessen ist.
-
Für die Ermittlung von Objektparametern, z.B. von Kanten- oder Ballparametern, kann die sogenannte Hough-Transformation verwendet werden. Hierbei wird ein Bild in einen sogenannten Dualraum transformiert, welcher den Raum aller möglichen Parameter des zu erkennenden Objekts darstellt. Bei der Kantenerkennung ist der Dualraum z.B. zweidimensional. Die erste Dimension wird im Allgemeinen durch den Abstand einer Kante, welche durch eine Gerade idealisiert wird, zum Bildursprung repräsentiert, während die zweite Dimension den Winkel der Geraden z.B. zur x-Achse repräsentiert. Durch die Hough-Transformation vom Ursprungsbild in den Dualraum ergeben sich im Dualraum Häufungspunkte welche den Parametern der Geraden, bzw. Kanten im Ursprungsbild entsprechen. Durch Auffinden der Häufungspunkte im Dualraum können die Parameter der Geraden bzw. Kanten im Ursprungsbild ermittelt werden.
-
Der Hough-Transformation kann eine sogenannte Kantendetektion, z.B. mittels einer Faltungsoperation wie einem Canny- oder Sobelfilter vorausgehen, welche die in einem Bild vorhanden Kanten deutlicher hervorhebt. Die Hough-Transformation liefert dann die Parameter dieser hervorgehobenen Kanten.
-
Das erfindungsgemäße Verfahren kann direkt in der Hardware eines mobilen Computergeräts 1 implementiert werden. Das Verfahren kann auch durch ein Computerprogramm implementiert werden, welches Anweisungen aufweist, welche einen Prozessor des mobilen Computergeräts 1 veranlassen, das hierin beschriebene, erfindungsgemäßes Verfahren durchzuführen, wenn die Anweisungen auf dem Prozessor ausgeführt werden. Das Computerprogramm kann fest in das Betriebssystem des mobilen Computergeräts 1 integriert sein, oder es kann sich nachträglich durch den Benutzer installieren lassen, indem es z.B. über ein USB-Kabel, drahtlos über WLAN oder eine Mobilfunkverbindung auf das mobile Computergerät 1 übertragen wird.
-
Bei dem Computerprogramm kann es sich um eine App handeln, welche auf entsprechenden Marktplätzen im Internet (z.B. „iTunes“® von Apple und „Google Play“® von Google) angeboten wird.