Ballpositionsverfolgung in der Cloud mit der PGA TOUR | Amazon Web Services

Ballpositionsverfolgung in der Cloud mit der PGA TOUR | Amazon Web Services

Quellknoten: 3057379

Die PGA TOUR verbessert das Golferlebnis weiterhin mit Echtzeitdaten, die den Fans das Spiel näher bringen. Um noch reichhaltigere Erlebnisse zu bieten, verfolgen sie die Entwicklung eines Ballpositionsverfolgungssystems der nächsten Generation, das automatisch die Position des Balls auf dem Grün verfolgt.

Die TOUR nutzt derzeit ShotLink powered by CDW, ein erstklassiges Punktesystem, das ein komplexes Kamerasystem mit Rechenleistung vor Ort nutzt, um die Start- und Endposition jeder Aufnahme genau zu verfolgen. Die TOUR wollte Techniken des Computersehens und des maschinellen Lernens (ML) erforschen, um eine cloudbasierte Pipeline der nächsten Generation zur Lokalisierung von Golfbällen auf dem Putting Green zu entwickeln.

Das Amazon Generative AI Innovation Center (GAIIC) demonstrierte die Wirksamkeit dieser Techniken in einem Beispieldatensatz einer kürzlich durchgeführten PGA TOUR-Veranstaltung. Das GAIIC hat eine modulare Pipeline entwickelt, die eine Reihe tiefgreifender neuronaler Faltungsnetze kaskadiert, die erfolgreich Spieler im Sichtfeld einer Kamera lokalisiert, bestimmt, welcher Spieler gerade spielt, und den Ball verfolgt, während er sich in Richtung des Pokals bewegt.

In diesem Beitrag beschreiben wir die Entwicklung dieser Pipeline, die Rohdaten, das Design der Faltungs-Neuronalen Netze, aus denen die Pipeline besteht, und eine Bewertung ihrer Leistung.

Daten-Management

Die TOUR lieferte drei Tage lang ununterbrochene Videos von einem kürzlich stattgefundenen Turnier von drei 3K-Kameras, die rund um das Grün eines Lochs positioniert waren. Die folgende Abbildung zeigt ein Bild einer Kamera, zugeschnitten und gezoomt, sodass der Spieler beim Putten gut sichtbar ist. Beachten Sie, dass der Ball trotz der hohen Auflösung der Kameras aufgrund der Entfernung zum Grün klein erscheint (normalerweise 4×3, 3×4 oder 4×5 Pixel) und es schwierig sein kann, Ziele dieser Größe genau zu lokalisieren.

Zusätzlich zu den Kamera-Feeds versorgte die TOUR das GAIIC mit kommentierten Bewertungsdaten zu jedem Schuss, einschließlich der weltweiten Position seiner Ruheposition und des Zeitstempels. Dies ermöglichte die Visualisierung jedes Putts auf dem Grün sowie die Möglichkeit, alle Videoclips der Putts der Spieler abzurufen, die manuell beschriftet und zum Trainieren von Erkennungsmodellen verwendet werden konnten, aus denen die Pipeline besteht. Die folgende Abbildung zeigt die drei Kameraansichten mit ungefähren Überlagerungen des Puttpfads, entgegen dem Uhrzeigersinn von oben links. Der Stift wird jeden Tag verschoben, wobei Tag 1 Blau, Tag 2 Rot und Tag 3 Orange entspricht.

Pipeline-Übersicht

Das Gesamtsystem besteht sowohl aus einer Trainingspipeline als auch aus einer Inferenzpipeline. Das folgende Diagramm veranschaulicht die Architektur der Trainingspipeline. Der Ausgangspunkt ist die Aufnahme von Videodaten, entweder von einem Streaming-Modul wie Amazon Kinesis für Live-Video oder Platzierung direkt in Amazon Simple Storage-Service (Amazon S3) für historische Videos. Die Trainingspipeline erfordert eine Videovorverarbeitung und eine manuelle Beschriftung der Bilder mit Amazon Sagemaker Ground Truth. Modelle können mit trainiert werden Amazon Sage Maker und ihre mit Amazon S3 gespeicherten Artefakte.

Die im folgenden Diagramm dargestellte Inferenzpipeline besteht aus einer Reihe von Modulen, die nacheinander Informationen aus dem Rohvideo extrahieren und letztendlich die Weltkoordinaten des ruhenden Balls vorhersagen. Zunächst wird das Grün aus dem größeren Sichtfeld jeder Kamera abgeschnitten, um den Pixelbereich zu verkleinern, in dem die Modelle nach Spielern und Bällen suchen müssen. Als nächstes wird ein Deep Convolutional Neural Network (CNN) verwendet, um die Standorte von Personen im Sichtfeld zu ermitteln. Ein weiteres CNN wird verwendet, um vorherzusagen, welche Art von Person gefunden wurde, um festzustellen, ob jemand im Begriff ist zu putten. Nachdem ein wahrscheinlicher Putter im Sichtfeld lokalisiert wurde, wird dasselbe Netzwerk verwendet, um die Position des Balls in der Nähe des Putters vorherzusagen. Ein drittes CNN verfolgt den Ball während seiner Bewegung und schließlich wird eine Transformationsfunktion von der Kamerapixelposition in GPS-Koordinaten angewendet.

Spielererkennung

Obwohl es angesichts der Winkelgröße des Balls bei diesen Kameraabständen möglich wäre, ein CNN zur Ballerkennung über ein gesamtes 4K-Bild in einem festgelegten Intervall laufen zu lassen, löst jedes kleine weiße Objekt eine Erkennung aus, was zu vielen Fehlalarmen führt. Um zu vermeiden, dass der gesamte Bildrahmen nach dem Ball durchsucht wird, können Korrelationen zwischen der Pose des Spielers und der Position des Balls genutzt werden. Ein Ball, der geputtet werden soll, muss sich neben einem Spieler befinden. Wenn Sie also die Spieler im Sichtfeld finden, wird der Pixelbereich, in dem der Detektor nach dem Ball suchen muss, stark eingeschränkt.

Wir konnten ein vorab trainiertes CNN verwenden, um Begrenzungsrahmen um alle Personen in einer Szene vorherzusagen, wie in der folgenden Abbildung dargestellt. Leider liegt häufig mehr als ein Ball auf dem Grün, sodass eine weitere Logik erforderlich ist, die über das einfache Finden aller Personen und die Suche nach einem Ball hinausgeht. Dazu ist ein weiteres CNN erforderlich, um den Spieler zu finden, der gerade geputtet hat.

Spielerklassifizierung und Ballerkennung

Um die Position des Balls weiter einzugrenzen, haben wir ein vorab trainiertes Objekterkennungs-CNN (YOLO v7) optimiert, um alle Personen auf dem Grün zu klassifizieren. Ein wichtiger Bestandteil dieses Prozesses war die manuelle Beschriftung einer Reihe von Bildern mit SageMaker Ground Truth. Die Etiketten ermöglichten es CNN, den Putt des Spielers mit hoher Genauigkeit zu klassifizieren. Im Kennzeichnungsprozess wurde der Ball auch zusammen mit dem Putten des Spielers umrissen, sodass dieses CNN auch eine Ballerkennung durchführen konnte, indem es vor einem Putt einen anfänglichen Begrenzungsrahmen um den Ball zeichnete und die Positionsinformationen in das nachgeschaltete Ballverfolgungs-CNN einspeiste .

Wir verwenden vier verschiedene Beschriftungen, um die Objekte in den Bildern zu kommentieren:

  • Spieler-Putting – Der Spieler, der einen Schläger hält und sich in der Putting-Position befindet
  • Spieler-nicht-Putting – Der Spieler befindet sich nicht in der Putting-Position (kann auch einen Schläger halten)
  • andere Person – Jede andere Person, die kein Spieler ist
  • Golfball – Der Golfball

Die folgende Abbildung zeigt, wie ein CNN mithilfe von Beschriftungen von SageMaker Ground Truth verfeinert wurde, um jede Person im Sichtfeld zu klassifizieren. Dies ist aufgrund der großen Bandbreite an visuellen Erscheinungsbildern von Spielern, Caddies und Fans schwierig. Nachdem ein Spieler als Puttender eingestuft wurde, wurde ein für die Ballerkennung optimiertes CNN auf den kleinen Bereich unmittelbar um diesen Spieler herum angewendet.

Ballwegverfolgung

Ein drittes CNN, eine für Bewegungsverfolgung vortrainierte ResNet-Architektur, wurde zum Verfolgen des Balls nach dem Putten verwendet. Bewegungsverfolgung ist ein gründlich erforschtes Problem, daher funktionierte dieses Netzwerk gut, wenn es ohne weitere Feinabstimmung in die Pipeline integriert wurde.

Pipeline-Ausgabe

Die CNN-Kaskade platziert Begrenzungsrahmen um Personen, klassifiziert Personen auf dem Grün, erkennt die anfängliche Ballposition und verfolgt den Ball, sobald er sich zu bewegen beginnt. Die folgende Abbildung zeigt die beschriftete Videoausgabe der Pipeline. Die Pixelpositionen des Balls während seiner Bewegung werden verfolgt und aufgezeichnet. Beachten Sie, dass Personen auf dem Grün durch Begrenzungsrahmen verfolgt und umrissen werden. Der Putter unten ist korrekt als „Spieler putten“ gekennzeichnet und der sich bewegende Ball wird verfolgt und durch einen kleinen blauen Begrenzungsrahmen umrandet.

Leistung

Um die Leistung von Komponenten der Pipeline beurteilen zu können, sind gekennzeichnete Daten erforderlich. Obwohl uns die Ground-Truth-Weltposition des Balls zur Verfügung gestellt wurde, hatten wir keine Zwischenpunkte für die Ground-Truth, wie etwa die endgültige Pixelposition des Balls oder die Pixelposition des Puttens des Spielers. Mit der von uns durchgeführten Kennzeichnungsaufgabe haben wir grundlegende Daten für diese Zwischenergebnisse der Pipeline entwickelt, die es uns ermöglichen, die Leistung zu messen.

Spielerklassifizierung und Ballerkennungsgenauigkeit

Zur Erkennung des Puttens des Spielers und der anfänglichen Ballposition haben wir einen Datensatz beschriftet und ein YOLO v7 CNN-Modell wie zuvor beschrieben verfeinert. Das Modell klassifizierte die Ausgabe des Moduls zur Erkennung vorheriger Personen in vier Klassen: einen Spieler, der puttet, ein Spieler, der nicht puttet, andere Personen und den Golfball, wie in der folgenden Abbildung dargestellt.

Die Leistung dieses Moduls wird anhand einer Verwirrungsmatrix bewertet, die in der folgenden Abbildung dargestellt ist. Die Werte in den diagonalen Kästchen zeigen, wie oft die vorhergesagte Klasse mit der tatsächlichen Klasse aus den Ground-Truth-Labels übereinstimmte. Das Modell hat für jede Personenklasse eine Rückrufquote von 89 % oder besser und für Golfbälle eine Rückrufquote von 79 % (was zu erwarten ist, da das Modell anhand von Beispielen mit Personen vorab trainiert wurde, jedoch nicht anhand von Beispielen mit Golfbällen; dies könnte mit verbessert werden weitere beschriftete Golfbälle im Trainingsset).

Der nächste Schritt besteht darin, den Ball-Tracker auszulösen. Da es sich bei der Ballerkennungsausgabe um eine Konfidenzwahrscheinlichkeit handelt, ist es auch möglich, den Schwellenwert für „erkannten Ball“ festzulegen und zu beobachten, wie sich dadurch die Ergebnisse ändern, zusammengefasst in der folgenden Abbildung. Bei dieser Methode gibt es einen Kompromiss, da ein höherer Schwellenwert zwangsläufig zu weniger Fehlalarmen führt, aber auch einige der weniger sicheren Beispiele von Bällen übersieht. Wir haben Schwellenwerte mit einer Konfidenz von 20 % und 50 % getestet und festgestellt, dass die Ballerkennung bei 78 % bzw. 61 % liegt. Nach dieser Maßnahme ist die 20 %-Schwelle besser. Der Kompromiss wird dadurch deutlich, dass es sich bei der 20 %-Konfidenzschwelle bei 80 % aller Erkennungen tatsächlich um Bälle handelte (20 % falsch positiv), während es sich bei der 50 %-Konfidenzschwelle um 90 % Bälle handelte (10 % falsch positiv). Für weniger falsch positive Ergebnisse ist die 50 %-Konfidenzschwelle besser. Beide Maßnahmen könnten durch mehr gekennzeichnete Daten für einen größeren Trainingssatz verbessert werden.

Der Durchsatz der Erkennungspipeline liegt in der Größenordnung von 10 Bildern pro Sekunde, sodass eine einzelne Instanz in ihrer aktuellen Form nicht schnell genug ist, um kontinuierlich mit 50 Bildern pro Sekunde am Eingang ausgeführt zu werden. Um die 7-Sekunden-Marke für die Ausgabe nach den Ballschritten zu erreichen, wäre eine weitere Optimierung der Latenz erforderlich, möglicherweise durch die parallele Ausführung mehrerer Versionen der Pipeline und die Komprimierung der CNN-Modelle durch Quantisierung (zum Beispiel).

Genauigkeit der Ballbahnverfolgung

Das vorab trainierte CNN-Modell von MMTracking funktioniert gut, es gibt jedoch interessante Fehlerfälle. Die folgende Abbildung zeigt einen Fall, in dem der Tracker mit dem Ball beginnt, seinen Begrenzungsrahmen erweitert, um sowohl den Putterkopf als auch den Ball einzubeziehen, und dann leider den Putterkopf verfolgt und den Ball vergisst. In diesem Fall erscheint der Putterkopf weiß (möglicherweise aufgrund der Spiegelreflexion), sodass die Verwirrung verständlich ist. Gekennzeichnete Daten zur Verfolgung und Feinabstimmung des Tracking-CNN könnten dazu beitragen, dies in Zukunft zu verbessern.

Zusammenfassung

In diesem Beitrag haben wir die Entwicklung einer modularen Pipeline besprochen, die Spieler im Sichtfeld einer Kamera lokalisiert, bestimmt, welcher Spieler putzt, und den Ball verfolgt, während er sich in Richtung des Pokals bewegt.

Weitere Informationen zur AWS-Zusammenarbeit mit der PGA TOUR finden Sie unter PGA TOUR arbeitet mit AWS zusammen, um das Fan-Erlebnis neu zu gestalten.


Über die Autoren

Jakob Golden ist ein angewandter Wissenschaftler bei Amazon Bedrock mit einem Hintergrund in maschinellem Lernen und Neurowissenschaften.

Henry Wang ist angewandter Wissenschaftler am Amazon Generative AI Innovation Center, wo er generative KI-Lösungen für AWS-Kunden erforscht und entwickelt. Er konzentriert sich auf die Sport- und Medien- und Unterhaltungsbranche und hat in der Vergangenheit mit verschiedenen Sportligen, Teams und Rundfunkanstalten zusammengearbeitet. In seiner Freizeit spielt er gerne Tennis und Golf.

Tryambak Gangopadhyay ist angewandter Wissenschaftler am AWS Generative AI Innovation Center, wo er mit Organisationen aus einem breiten Spektrum von Branchen zusammenarbeitet. Zu seinen Aufgaben gehört die Forschung und Entwicklung generativer KI-Lösungen, um entscheidende geschäftliche Herausforderungen anzugehen und die KI-Einführung zu beschleunigen.

Zeitstempel:

Mehr von AWS Maschinelles Lernen