Tech-Talk: Trackscore Videogenerator
Um Testdaten für ein automatisches Tennis-Line-Calling-System wurde ein Videogenerator entwickelt und in diesem Tech-Talk vorgestellt. Trackscore ist ein solches System und ein langjähriges IMVS Projekt. Trackscore verwendet pro Linie einen „Line Judge“ (LJ) – ein NVIDIA Jetson mit einer ~1000 fps Kamera – und eine „Central Unit“ (CU), welche beide Spielfeldhälften überwacht und die LJs koordiniert.

Das Aufnehmen von Video, die sich als Testdaten eigenen, ist schwierig und sehr zeitaufwendig. Deshalb wurde der Videogenerator entwickelt.
Simulation
Als Erstes wird eine Ballflugbahn realistisch simuliert. Dabei entstehen diskrete 2D Ballpositionen (Drall ist nicht modelliert). Die Herausforderung ist das Aufprallverhalten richtig zu berechnen; wie stark wird der Ball eingedrückt, wie lange bleibt er am Boden, wie bewegt er sich nach dem Abprallen etc.

Diese 2D Flugebene wird so verschoben, dass der Ball auf einer gewünschten Zielfläche landet. Die Ebene wird noch rotiert, wobei darauf geachtet wird, dass der Ball nicht durch das Netz fliegt.
Rendering
Zum Render der Frames wurde ein eigener Ray Caster entwickelt. Ein Ray Caster wirft Strahlen durch jeden Pixel der Kamera und je nach getroffenem Objekt wird Outputwert (z. B. Farbe) berechnet. Zum Vergleich, ein Ray Tracer macht dasselbe, aber von jedem Strahlentreffer werden noch neue Strahlen ausgesendet, die in die Berechnung mit einfliessen. Pro Frame wird jeweils nur eine kleine Region um den Ball in ein Hintergrundbild gerendert. Das Hintergrundbild kann bei der CU aus eine Bilddatei gelesen werden. Dann wird anhand von der Kamerakalibrierung und den Spielfeldecken die Kameraposition und Ausrichtung berechnet. Anderen Falls (und bei LJs) wird ein simpler Spielplatz gerendert und als Hintergrund verwendet.

Das Resultat sieht man in den folgenden Videos, der gleiche Schuss von drei Kameras.
Die Videos laufen auf 0.25-facher Geschwindigkeit und je nach Kamera ist der Ball immer noch kaum sichtbar. Es folgen die Standbilder des Aufpralls:


Im Vergleich zu einer Aufnahme sieht man, dass ein wichter Aspekt noch fehlt – die Tiefenunschärfe.
Metadaten
Um die Algorithmen in Trackscore auf Genauigkeit zu testen, muss bekannt sein was Korrekt wäre. Deshalb wird jedes generierte Video mit Metadaten / Labels in Form eines YAML-Files ausgestattet.
Darin stehen Kameraeigenschaften und Ballinformationen pro Frame. Diese beinhaltet eine bounding Box (rot), eine Aufprallfläche (gelb), 3D Position und ob der Ball vor oder hinter der Linie ist.

Trackscore Test
Bei einem Testdurchlauf von 32 LJ Videos hat Trackscore bei 72% davon den korrekten in/out Entscheid getroffen und hat demnach noch Verbesserungspotenzial.
Tech-Talk und Blog Beitrag: Janic Berger (janic.berger@fhnw.ch), Assistent IMVS FHNW und MSE Student
Kommentare
Keine Kommentare erfasst zu Tech-Talk: Trackscore Videogenerator