Suivi de la position de la balle dans le cloud avec le PGA TOUR | Services Web Amazon

Suivi de la position de la balle dans le cloud avec le PGA TOUR | Services Web Amazon

Le PGA TOUR continue d'améliorer l'expérience du golf avec des données en temps réel qui rapprochent les fans du jeu. Pour offrir des expériences encore plus riches, ils poursuivent le développement d'un système de suivi de la position de la balle de nouvelle génération qui suit automatiquement la position de la balle sur le green.

Le TOUR utilise actuellement ShotLink optimisé par CDW, un système de notation de premier ordre qui utilise un système de caméra complexe avec calcul sur site, pour suivre de près la position de début et de fin de chaque plan. Le TOUR souhaitait explorer les techniques de vision par ordinateur et d'apprentissage automatique (ML) pour développer un pipeline basé sur le cloud de nouvelle génération pour localiser les balles de golf sur le green.

L'Amazon Generative AI Innovation Center (GAIIC) a démontré l'efficacité de ces techniques dans un exemple d'ensemble de données provenant d'un récent événement PGA TOUR. Le GAIIC a conçu un pipeline modulaire mettant en cascade une série de réseaux neuronaux convolutifs profonds qui localisent avec succès les joueurs dans le champ de vision d'une caméra, déterminent quel joueur est en train de mettre et suivent le ballon à mesure qu'il se déplace vers la coupe.

Dans cet article, nous décrivons le développement de ce pipeline, les données brutes, la conception des réseaux de neurones convolutifs comprenant le pipeline et une évaluation de ses performances.

Données

Le TOUR a fourni 3 jours de vidéo continue d'un tournoi récent à partir de trois caméras 4K positionnées autour du green sur un trou. La figure suivante montre une image d'une caméra recadrée et zoomée afin que le joueur putting soit facilement visible. Notez que malgré la haute résolution des caméras, en raison de la distance du green, la balle apparaît petite (généralement 3×3, 4×4 ou 5×5 pixels), et les cibles de cette taille peuvent être difficiles à localiser avec précision.

Suivi de la position de la balle dans le cloud avec le PGA TOUR | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

En plus des flux de caméra, le TOUR a fourni au GAIIC des données de notation annotées sur chaque tir, y compris l'emplacement mondial de sa position de repos et l'horodatage. Cela a permis de visualiser chaque putt sur le green, ainsi que la possibilité d'extraire tous les clips vidéo des joueurs qui mettent, qui pourraient être étiquetés manuellement et utilisés pour entraîner les modèles de détection qui composent le pipeline. La figure suivante montre les trois vues de la caméra avec des superpositions approximatives du chemin de putt, dans le sens inverse des aiguilles d'une montre à partir du coin supérieur gauche. L'épingle est déplacée chaque jour, le jour 1 correspondant au bleu, le jour 2 au rouge et le jour 3 à l'orange.

Suivi de la position de la balle dans le cloud avec le PGA TOUR | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Présentation du pipeline

Le système global se compose à la fois d’un pipeline de formation et d’un pipeline d’inférence. Le diagramme suivant illustre l’architecture du pipeline de formation. Le point de départ est l'ingestion de données vidéo, soit depuis un module de streaming comme Amazon Kinésis pour une vidéo en direct ou un placement directement dans Service de stockage simple Amazon (Amazon S3) pour la vidéo historique. Le pipeline de formation nécessite un prétraitement vidéo et un étiquetage manuel des images avec Vérité au sol Amazon SageMaker. Les modèles peuvent être formés avec Amazon Sage Maker et leurs artefacts stockés avec Amazon S3.

Suivi de la position de la balle dans le cloud avec le PGA TOUR | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Le pipeline d'inférence, illustré dans le diagramme suivant, se compose d'un certain nombre de modules qui extraient successivement des informations de la vidéo brute et prédisent finalement les coordonnées mondiales de la balle au repos. Initialement, le green est recadré dans le champ de vision plus large de chaque caméra, afin de réduire la zone de pixels dans laquelle les modèles doivent rechercher des joueurs et des balles. Ensuite, un réseau neuronal convolutif profond (CNN) est utilisé pour localiser les personnes dans le champ de vision. Un autre CNN est utilisé pour prédire quel type de personne a été trouvé afin de déterminer si quelqu'un est sur le point de putter. Une fois qu'un putter probable a été localisé dans le champ de vision, le même réseau est utilisé pour prédire l'emplacement de la balle à proximité du putter. Un troisième CNN suit la balle pendant son mouvement et enfin, une fonction de transformation de la position des pixels de la caméra en coordonnées GPS est appliquée.

Suivi de la position de la balle dans le cloud avec le PGA TOUR | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Détection des joueurs

Bien qu'il soit possible d'exécuter un CNN pour la détection de balle sur une image 4K entière à un intervalle défini, étant donné la taille angulaire de la balle à ces distances de caméra, tout petit objet blanc déclenche une détection, entraînant de nombreuses fausses alarmes. Pour éviter de rechercher le ballon dans toute l’image, il est possible de tirer parti des corrélations entre la pose du joueur et l’emplacement du ballon. Une balle sur le point d'être mise doit se trouver à côté d'un joueur, donc trouver les joueurs dans le champ de vision limitera considérablement la zone de pixels dans laquelle le détecteur doit rechercher la balle.

Nous avons pu utiliser un CNN pré-entraîné pour prédire les cadres de délimitation autour de toutes les personnes présentes dans une scène, comme le montre la figure suivante. Malheureusement, il y a souvent plus d'une balle sur le green, donc une logique plus poussée est nécessaire au-delà de la simple recherche de toutes les personnes et de la recherche d'une balle. Cela nécessite un autre CNN pour trouver le joueur qui mettait actuellement.

Suivi de la position de la balle dans le cloud avec le PGA TOUR | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Classement des joueurs et détection de balle

Pour affiner davantage l'endroit où la balle pourrait se trouver, nous avons affiné un CNN de détection d'objets pré-entraîné (YOLO v7) pour classer toutes les personnes sur le green. Un élément important de ce processus consistait à étiqueter manuellement un ensemble d'images à l'aide de SageMaker Ground Truth. Les étiquettes ont permis à CNN de classer les joueurs avec une grande précision. Dans le processus d'étiquetage, la balle était également délimitée avec le joueur qui effectuait son putt, de sorte que ce CNN était également capable d'effectuer une détection de balle, en dessinant une zone de délimitation initiale autour de la balle avant un putt et en transmettant les informations de position au CNN de suivi de balle en aval. .

Nous utilisons quatre étiquettes différentes pour annoter les objets dans les images :

  • joueur-putting – Le joueur tenant un club et en position de putting
  • joueur qui ne met pas – Le joueur n’est pas en position de putting (peut aussi être titulaire d’un club)
  • autre personne – Toute autre personne qui n’est pas joueur
  • balle de golf – La balle de golf

La figure suivante montre qu'un CNN a été affiné à l'aide des étiquettes de SageMaker Ground Truth pour classer chaque personne dans le champ de vision. Cela est difficile en raison du large éventail d’apparences visuelles des joueurs, des cadets et des supporters. Une fois qu'un joueur a été classé comme putting, un CNN affiné pour la détection de balle a été appliqué à la petite zone immédiatement autour de ce joueur.

Suivi de la position de la balle dans le cloud avec le PGA TOUR | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Suivi de la trajectoire de la balle

Un troisième CNN, une architecture ResNet pré-entraînée pour le suivi de mouvement, a été utilisé pour suivre la balle après son putt. Le suivi de mouvement est un problème soigneusement étudié, de sorte que ce réseau a bien fonctionné lorsqu'il a été intégré au pipeline sans ajustement supplémentaire.

Sortie du pipeline

La cascade de CNN place des cadres de délimitation autour des personnes, classe les personnes sur le green, détecte la position initiale de la balle et suit la balle une fois qu'elle commence à bouger. La figure suivante montre la sortie vidéo étiquetée du pipeline. Les positions des pixels de la balle lors de son déplacement sont suivies et enregistrées. Notez que les personnes sur le green sont suivies et délimitées par des cadres de délimitation ; le putter en bas est correctement étiqueté comme « joueur putting » et la balle en mouvement est suivie et délimitée par un petit cadre de délimitation bleu.

Suivi de la position de la balle dans le cloud avec le PGA TOUR | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Performance

Pour évaluer les performances des composants du pipeline, il est nécessaire de disposer de données étiquetées. Bien que nous ayons reçu la position réelle de la balle dans le monde, nous n'avions pas de points intermédiaires pour la vérité terrain, comme la position finale en pixels de la balle ou l'emplacement en pixels du joueur qui roule. Avec le travail d'étiquetage que nous avons réalisé, nous avons développé des données de vérité terrain pour ces sorties intermédiaires du pipeline qui nous permettent de mesurer les performances.

Classification des joueurs et précision de la détection du ballon

Pour la détection du putting du joueur et de l'emplacement initial de la balle, nous avons étiqueté un ensemble de données et affiné un modèle CNN YOLO v7 comme décrit précédemment. Le modèle a classé les résultats du module de détection de personne précédent en quatre classes : un joueur qui met, un joueur qui ne met pas, d'autres personnes et la balle de golf, comme le montre la figure suivante.

Suivi de la position de la balle dans le cloud avec le PGA TOUR | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Les performances de ce module sont évaluées à l'aide d'une matrice de confusion, illustrée dans la figure suivante. Les valeurs dans les cases diagonales montrent à quelle fréquence la classe prédite correspond à la classe réelle à partir des étiquettes de vérité terrain. Le modèle a un rappel de 89 % ou mieux pour chaque classe de personne, et un rappel de 79 % pour les balles de golf (ce qui est normal car le modèle est pré-entraîné sur des exemples avec des personnes mais pas sur des exemples avec des balles de golf ; cela pourrait être amélioré avec plus de balles de golf étiquetées dans le kit d'entraînement).

Suivi de la position de la balle dans le cloud avec le PGA TOUR | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

L'étape suivante consiste à déclencher le tracker de balle. Étant donné que le résultat de la détection de balle est une probabilité de confiance, il est également possible de définir le seuil de « balle détectée » et d'observer comment cela modifie les résultats, résumés dans la figure suivante. Il y a un compromis dans cette méthode car un seuil plus élevé entraînera nécessairement moins de fausses alarmes mais manquera également certains des exemples de balles les moins certains. Nous avons testé des seuils de confiance de 20 % et 50 % et avons trouvé une détection de balle à 78 % et 61 %, respectivement. Par cette mesure, le seuil de 20 % est meilleur. Le compromis est évident dans la mesure où pour le seuil de confiance de 20 %, 80 % du total des détections étaient en réalité des balles (20 % de faux positifs), alors que pour le seuil de confiance de 50 %, 90 % étaient des balles (10 % de faux positifs). Pour moins de faux positifs, le seuil de confiance de 50 % est meilleur. Ces deux mesures pourraient être améliorées avec davantage de données étiquetées pour un ensemble de formation plus large.

Suivi de la position de la balle dans le cloud avec le PGA TOUR | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Le débit du pipeline de détection est de l'ordre de 10 images par seconde, donc dans sa forme actuelle, une seule instance n'est pas assez rapide pour être exécutée en continu sur l'entrée à 50 images par seconde. Atteindre la barre des 7 secondes pour la sortie après les étapes de balle nécessiterait une optimisation supplémentaire de la latence, peut-être en exécutant plusieurs versions du pipeline en parallèle et en compressant les modèles CNN via la quantification (par exemple).

Précision du suivi de la trajectoire de la balle

Le modèle CNN pré-entraîné de MMTracking fonctionne bien, mais il existe des cas d'échec intéressants. La figure suivante montre un cas dans lequel le tracker commence sur la balle, étend son cadre de délimitation pour inclure à la fois la tête du putter et la balle, puis suit malheureusement la tête du putter et oublie la balle. Dans ce cas, la tête du putter apparaît blanche (peut-être à cause d’une réflexion spéculaire), la confusion est donc compréhensible ; des données étiquetées pour le suivi et le réglage fin du suivi CNN pourraient contribuer à améliorer cela à l'avenir.

Suivi de la position de la balle dans le cloud avec le PGA TOUR | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Conclusion

Dans cet article, nous avons discuté du développement d'un pipeline modulaire qui localise les joueurs dans le champ de vision d'une caméra, détermine quel joueur est en train de mettre et suit le ballon à mesure qu'il se déplace vers la coupe.

Pour plus d'informations sur la collaboration AWS avec le PGA TOUR, reportez-vous à PGA TOUR s'associe à AWS pour réinventer l'expérience des fans.


À propos des auteurs

Suivi de la position de la balle dans le cloud avec le PGA TOUR | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.James d'or est un scientifique appliqué chez Amazon Bedrock avec une formation en apprentissage automatique et en neurosciences.

Suivi de la position de la balle dans le cloud avec le PGA TOUR | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Henri Wang est un scientifique appliqué au Amazon Generative AI Innovation Center, où il recherche et crée des solutions d'IA générative pour les clients AWS. Il se concentre sur les secteurs du sport, des médias et du divertissement et a travaillé dans le passé avec diverses ligues, équipes et diffuseurs sportifs. Pendant son temps libre, il aime jouer au tennis et au golf.

Suivi de la position de la balle dans le cloud avec le PGA TOUR | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Tryambak Gangopadhyay est un scientifique appliqué au AWS Generative AI Innovation Center, où il collabore avec des organisations dans un large éventail d'industries. Son rôle consiste à mener des recherches et à développer des solutions d'IA générative pour relever des défis commerciaux cruciaux et accélérer l'adoption de l'IA.

Horodatage:

Plus de Apprentissage automatique AWS