Sporing af boldposition i skyen med PGA TOUR | Amazon Web Services

Sporing af boldposition i skyen med PGA TOUR | Amazon Web Services

PGA TOUR fortsætter med at forbedre golfoplevelsen med realtidsdata, der bringer fans tættere på spillet. For at levere endnu rigere oplevelser, forfølger de udviklingen af ​​et næste generations boldpositionssporingssystem, der automatisk sporer boldens position på greenen.

TOUR'en bruger i øjeblikket ShotLink drevet af CDW, et førsteklasses scoringssystem, der bruger et komplekst kamerasystem med on-site beregning, til nøje at spore start- og slutpositionen for hvert skud. TOUR ønskede at udforske computervision og maskinlæringsteknikker (ML) for at udvikle en næste generations skybaseret pipeline til at lokalisere golfbolde på puttinggreenen.

Amazon Generative AI Innovation Center (GAIIC) demonstrerede effektiviteten af ​​disse teknikker i et eksempeldatasæt fra en nylig PGA TOUR-begivenhed. GAIIC designede en modulær pipeline, der kaskaderer en række dybe foldede neurale netværk, der med succes lokaliserer spillere inden for et kameras synsfelt, bestemmer, hvilken spiller der putter, og sporer bolden, når den bevæger sig mod koppen.

I dette indlæg beskriver vi udviklingen af ​​denne pipeline, de rå data, designet af de konvolutionelle neurale netværk, der omfatter pipelinen, og en evaluering af dens ydeevne.

data

TOUREN gav 3 dages kontinuerlig video fra en nylig turnering fra tre 4K-kameraer placeret rundt om greenen på ét hul. Følgende figur viser en ramme fra det ene kamera, der er beskåret og zoomet, så spilleren er let synlig. Bemærk, at på trods af kameraernes høje opløsning, på grund af afstanden fra green, virker bolden lille (normalt 3×3, 4×4 eller 5×5 pixels), og mål af denne størrelse kan være svære at lokalisere nøjagtigt.

Ball position tracking in the cloud with the PGA TOUR | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Ud over kamerafeeds forsynede TOUR GAIIC med kommenterede scoringsdata for hvert skud, inklusive verdensplacering for dens hvileposition og tidsstemplet. Dette gav mulighed for visualiseringer af hvert putt på green, såvel som muligheden for at trække alle videoklip af spillere, der puttede, som kunne mærkes manuelt og bruges til at træne detektionsmodeller, der udgør pipelinen. Den følgende figur viser de tre kameravisninger med omtrentlige puttbaneoverlejringer, mod uret fra øverst til venstre. Pinden flyttes hver dag, hvor dag 1 svarer til blå, dag 2 til rød og dag 3 til orange.

Ball position tracking in the cloud with the PGA TOUR | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Pipeline oversigt

Det overordnede system består af både en træningspipeline og inferenspipeline. Følgende diagram illustrerer træningspipelinens arkitektur. Udgangspunktet er indtagelse af videodata, enten fra et streamingmodul som f.eks Amazon Kinesis til live video eller placering direkte ind Amazon Simple Storage Service (Amazon S3) for historisk video. Uddannelsespipelinen kræver videoforbehandling og håndmærkning af billeder med Amazon SageMaker Ground Truth. Modeller kan trænes med Amazon SageMaker og deres artefakter gemt med Amazon S3.

Ball position tracking in the cloud with the PGA TOUR | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Inferenspipelinen, vist i det følgende diagram, består af et antal moduler, der successivt uddrager information fra den rå video og i sidste ende forudsiger verdenskoordinaterne for bolden i hvile. I første omgang beskæres greenen fra det større synsfelt fra hvert kamera, for at skære ned på pixelområdet, hvor modellerne skal søge efter spillere og bolde. Dernæst bruges et dybt konvolutionelt neuralt netværk (CNN) til at finde personers placering i synsfeltet. En anden CNN bruges til at forudsige, hvilken type person der er blevet fundet for at afgøre, om nogen er ved at putte. Efter at en sandsynlig putter er blevet lokaliseret i synsfeltet, bruges det samme netværk til at forudsige boldens placering nær putteren. En tredje CNN sporer bolden under dens bevægelse, og til sidst anvendes en transformationsfunktion fra kameraets pixelposition til GPS-koordinater.

Ball position tracking in the cloud with the PGA TOUR | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Spillergenkendelse

Selvom det ville være muligt at køre en CNN til bolddetektion over en hel 4K-ramme med et bestemt interval, i betragtning af kuglens vinkelstørrelse ved disse kameraafstande, udløser enhver lille hvid genstand en detektion, hvilket resulterer i mange falske alarmer. For at undgå at søge i hele billedrammen efter bolden, er det muligt at drage fordel af sammenhænge mellem spillerens positur og boldens placering. En bold, der er ved at blive puttet, skal være ved siden af ​​en spiller, så at finde spillerne i synsfeltet vil i høj grad begrænse pixelområdet, hvor detektoren skal søge efter bolden.

Vi var i stand til at bruge en CNN, der var forudtrænet til at forudsige afgrænsningskasser omkring alle personerne i en scene, som vist i den følgende figur. Desværre er der ofte mere end én bold på greenen, så der kræves yderligere logik ud over blot at finde alle mennesker og søge efter en bold. Dette kræver en anden CNN for at finde den spiller, der i øjeblikket satte.

Ball position tracking in the cloud with the PGA TOUR | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Spillerklassificering og bolddetektion

For yderligere at indsnævre, hvor bolden kunne være, finjusterede vi en forudtrænet objektdetekterings-CNN (YOLO v7) for at klassificere alle mennesker på green. En vigtig komponent i denne proces var manuel mærkning af et sæt billeder ved hjælp af SageMaker Ground Truth. Etiketterne gjorde det muligt for CNN at klassificere spilleren med høj nøjagtighed. I mærkningsprocessen blev bolden også skitseret sammen med spillerens putting, så denne CNN var også i stand til at udføre bolddetektion ved at tegne en indledende afgrænsningsboks rundt om bolden før et putt og føre positionsinformationen ind i nedstrøms boldsporing CNN .

Vi bruger fire forskellige etiketter til at kommentere objekterne på billederne:

  • spiller-putting – Spilleren, der holder en kølle og er i putteposition
  • spiller-ikke-putter – Spilleren, der ikke er i puttepositionen (holder muligvis også en kølle)
  • anden person – Enhver anden person, der ikke er en spiller
  • golfbold – Golfbolden

Den følgende figur viser, at et CNN blev finjusteret ved hjælp af etiketter fra SageMaker Ground Truth til at klassificere hver person i synsfeltet. Dette er svært på grund af den brede vifte af visuelle optrædener af spillere, caddies og fans. Efter at en spiller blev klassificeret som putting, blev en CNN finjusteret til bolddetektion anvendt på det lille område umiddelbart omkring den spiller.

Ball position tracking in the cloud with the PGA TOUR | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Kuglebanesporing

En tredje CNN, en ResNet-arkitektur, der er præ-trænet til bevægelsessporing, blev brugt til at spore bolden, efter at den var blevet puttet. Bevægelsessporing er et grundigt undersøgt problem, så dette netværk klarede sig godt, når det blev integreret i pipelinen uden yderligere finjustering.

Pipeline output

Kaskaden af ​​CNN'er placerer afgrænsningskasser omkring mennesker, klassificerer folk på greenen, registrerer den oprindelige boldposition og sporer bolden, når den begynder at bevæge sig. Følgende figur viser det mærkede videooutput fra pipelinen. Kuglens pixelpositioner, når den bevæger sig, spores og registreres. Bemærk, at folk på greenen bliver sporet og omridset af afgrænsningsfelter; putteren i bunden er korrekt mærket som "player putting", og den bevægende bold bliver sporet og markeret af en lille blå afgrænsningsboks.

Ball position tracking in the cloud with the PGA TOUR | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Performance (Præstation)

For at vurdere ydeevnen af ​​komponenter i pipelinen er det nødvendigt at have mærkede data. Selvom vi blev forsynet med boldens jordsandhed-verdensposition, havde vi ikke mellempunkter for jordsandhed, som den endelige pixelposition for bolden eller pixelplaceringen af ​​spillerens putte. Med det mærkningsarbejde, vi udførte, udviklede vi sandhedsdata for disse mellemprodukter fra pipelinen, som giver os mulighed for at måle ydeevne.

Spillerklassificering og bolddetektionsnøjagtighed

Til detektering af spillerens putting og den indledende boldplacering mærkede vi et datasæt og finjusterede en YOLO v7 CNN-model som beskrevet tidligere. Modellen klassificerede outputtet fra det forrige persondetektionsmodul i fire klasser: en spiller, der putter, en spiller, der ikke putter, andre mennesker og golfbolden, som vist i den følgende figur.

Ball position tracking in the cloud with the PGA TOUR | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Dette moduls ydeevne vurderes med en forvirringsmatrix, vist i den følgende figur. Værdierne i de diagonale felter viser, hvor ofte den forudsagte klasse matchede den faktiske klasse fra grundsandhedsetiketterne. Modellen har 89% tilbagekaldelse eller bedre for hver personklasse, og 79% tilbagekaldelse for golfbolde (hvilket kan forventes, fordi modellen er fortrænet på eksempler med mennesker, men ikke på eksempler med golfbolde; dette kunne forbedres med flere mærkede golfbolde i træningssættet).

Ball position tracking in the cloud with the PGA TOUR | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Næste trin er at udløse kuglesporeren. Fordi bolddetektionsoutputtet er en konfidenssandsynlighed, er det også muligt at indstille tærsklen for "detekteret bold" og observere, hvordan det ændrer resultaterne, opsummeret i den følgende figur. Der er en afvejning i denne metode, fordi en højere tærskel nødvendigvis vil have færre falske alarmer, men også gå glip af nogle af de mindre sikre eksempler på bolde. Vi testede tærskler på 20 % og 50 % konfidens og fandt bolddetektion på henholdsvis 78 % og 61 %. Ved denne foranstaltning er tærsklen på 20 % bedre. Afvejningen er tydelig ved, at for 20 % konfidensgrænsen var 80 % af de samlede detektioner faktisk bolde (20 % falsk positive), mens 50 % for 90 % konfidensgrænsen var bolde (10 % falsk positive). For færre falske positive er 50 % konfidensgrænsen bedre. Begge disse foranstaltninger kunne forbedres med flere mærkede data til et større træningssæt.

Ball position tracking in the cloud with the PGA TOUR | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Detektionspipeline-gennemløbet er i størrelsesordenen 10 billeder i sekundet, så i sin nuværende form er en enkelt instans ikke hurtig nok til at blive kørt kontinuerligt på inputtet med 50 billeder i sekundet. At opnå 7-sekunders mærket for output efter kugletrinene ville kræve yderligere optimering for latens, måske ved at køre flere versioner af pipelinen parallelt og komprimere CNN-modellerne via kvantisering (for eksempel).

Kuglebanesporingsnøjagtighed

Den fortrænede CNN-model fra MMTracking fungerer godt, men der er interessante fejlsager. Følgende figur viser et tilfælde, hvor trackeren starter på bolden, udvider sin afgrænsningsboks til at omfatte både putterhovedet og bolden, og så desværre sporer putterhovedet og glemmer bolden. I dette tilfælde fremstår putterhovedet hvidt (muligvis på grund af spejlende refleksion), så forvirringen er forståelig; mærkede data til sporing og finjustering af sporingen CNN kunne hjælpe med at forbedre dette i fremtiden.

Ball position tracking in the cloud with the PGA TOUR | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Konklusion

I dette indlæg diskuterede vi udviklingen af ​​en modulær pipeline, der lokaliserer spillere inden for et kameras synsfelt, bestemmer, hvilken spiller der putter, og sporer bolden, når den bevæger sig mod koppen.

For mere information om AWS samarbejde med PGA TOUR, se PGA TOUR starter med AWS for at genskabe fanoplevelsen.


Om forfatterne

Ball position tracking in the cloud with the PGA TOUR | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.James Golden er en anvendt videnskabsmand hos Amazon Bedrock med en baggrund i maskinlæring og neurovidenskab.

Ball position tracking in the cloud with the PGA TOUR | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Henry Wang er anvendt videnskabsmand ved Amazon Generative AI Innovation Center, hvor han forsker i og bygger generative AI-løsninger til AWS-kunder. Han fokuserer på sport og medie- og underholdningsindustrier og har tidligere arbejdet med forskellige sportsligaer, hold og tv-selskaber. I sin fritid kan han lide at spille tennis og golf.

Ball position tracking in the cloud with the PGA TOUR | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Tryambak Gangopadhyay er en Applied Scientist ved AWS Generative AI Innovation Center, hvor han samarbejder med organisationer på tværs af en bred vifte af industrier. Hans rolle involverer at udføre forskning og udvikle Generative AI-løsninger til at løse vigtige forretningsmæssige udfordringer og fremskynde AI-adoption.

Tidsstempel:

Mere fra AWS maskinindlæring