Spåra bollposition i molnet med PGA TOUR | Amazon webbtjänster

Spåra bollposition i molnet med PGA TOUR | Amazon webbtjänster

Källnod: 3057379

PGA TOUR fortsätter att förbättra golfupplevelsen med realtidsdata som för fansen närmare spelet. För att leverera ännu rikare upplevelser fortsätter de utvecklingen av nästa generations bollpositionsspårningssystem som automatiskt spårar bollens position på green.

TOUREN använder för närvarande ShotLink som drivs av CDW, ett förstklassigt poängsystem som använder ett komplext kamerasystem med beräkning på plats, för att noggrant följa start- och slutpositionen för varje skott. TOUR ville utforska datorseende och maskininlärningstekniker (ML) för att utveckla en nästa generations molnbaserad pipeline för att lokalisera golfbollar på puttinggreen.

Amazon Generative AI Innovation Center (GAIIC) demonstrerade effektiviteten av dessa tekniker i ett exempeldataset från ett nyligen genomfört PGA TOUR-evenemang. GAIIC designade en modulär pipeline som kaskaderar en serie djupa konvolutionella neurala nätverk som framgångsrikt lokaliserar spelare inom kamerans synfält, bestämmer vilken spelare som sätter och spårar bollen när den rör sig mot koppen.

I det här inlägget beskriver vi utvecklingen av denna pipeline, rådata, utformningen av de konvolutionella neurala nätverken som utgör pipelinen och en utvärdering av dess prestanda.

Data

TOUREN gav 3 dagars kontinuerlig video från en nyligen genomförd turnering från tre 4K-kameror placerade runt green på ett hål. Följande bild visar en ram från en kamera beskuren och zoomad så att spelarens puttning är lätt synlig. Observera att trots kamerornas höga upplösning, på grund av avståndet från green, verkar bollen liten (vanligtvis 3×3, 4×4 eller 5×5 pixlar), och mål av denna storlek kan vara svåra att lokalisera exakt.

Förutom kameraflödena försåg TOUR GAIIC med kommenterade poängdata för varje skott, inklusive världsplatsen för dess viloposition och tidsstämpeln. Detta möjliggjorde visualiseringar av varje putt på green, såväl som möjligheten att dra alla videoklipp av spelarna som puttade, som kunde märkas manuellt och användas för att träna detekteringsmodeller som utgör pipelinen. Följande figur visar de tre kameravyerna med ungefärliga puttbanöverlägg, moturs uppifrån till vänster. Nålen flyttas varje dag, där dag 1 motsvarar blått, dag 2 rött och dag 3 orange.

Pipeline översikt

Det övergripande systemet består av både en träningspipeline och inferenspipeline. Följande diagram illustrerar utbildningspipelinens arkitektur. Utgångspunkten är intag av videodata, antingen från en streamingmodul som Amazon Kinesis för livevideo eller placering direkt i Amazon enkel lagringstjänst (Amazon S3) för historisk video. Utbildningspipelinen kräver videoförbearbetning och handmärkning av bilder med Amazon SageMaker Ground Sannhet. Modeller kan tränas med Amazon SageMaker och deras artefakter lagrade med Amazon S3.

Slutledningsledningen, som visas i följande diagram, består av ett antal moduler som successivt extraherar information från den råa videon och i slutändan förutsäger världskoordinaterna för bollen i vila. Inledningsvis beskärs greenen från det större synfältet från varje kamera, för att minska pixelområdet där modellerna måste söka efter spelare och bollar. Därefter används ett djupt konvolutionellt neuralt nätverk (CNN) för att hitta platser för människor i synfältet. Ett annat CNN används för att förutsäga vilken typ av person som har hittats för att avgöra om någon är på väg att putta. Efter att en trolig putter har lokaliserats i synfältet, används samma nätverk för att förutsäga platsen för bollen nära puttern. En tredje CNN spårar bollen under dess rörelse, och slutligen tillämpas en transformationsfunktion från kamerans pixelposition till GPS-koordinater.

Spelarens upptäckt

Även om det skulle vara möjligt att köra en CNN för bolldetektering över en hel 4K-bildruta med ett visst intervall, med tanke på bollens vinkelstorlek på dessa kameraavstånd, utlöser vilket litet vitt föremål som helst en detektering, vilket resulterar i många falska larm. För att undvika att söka igenom hela bildramen efter bollen är det möjligt att dra fördel av sambanden mellan spelarens ställning och bollens placering. En boll som är på väg att puttas måste vara bredvid en spelare, så att hitta spelarna i synfältet kommer att kraftigt begränsa pixelområdet där detektorn måste söka efter bollen.

Vi kunde använda ett CNN som var förutbildat för att förutsäga gränsande rutor runt alla personer i en scen, som visas i följande figur. Tyvärr finns det ofta mer än en boll på green, så ytterligare logik krävs utöver att bara hitta alla människor och söka efter en boll. Detta kräver en annan CNN för att hitta spelaren som just nu satte.

Spelarklassificering och bolldetektering

För att ytterligare begränsa var bollen kunde vara finjusterade vi en förtränad objektdetektering CNN (YOLO v7) för att klassificera alla personer på green. En viktig komponent i denna process var att manuellt märka en uppsättning bilder med SageMaker Ground Truth. Etiketterna gjorde det möjligt för CNN att klassificera spelarens puttning med hög noggrannhet. I märkningsprocessen skisserades bollen också tillsammans med spelarens puttning, så detta CNN kunde också utföra bolldetektering, rita en första bounding box runt bollen före en putt och mata in positionsinformationen till nedströms bollspårnings-CNN .

Vi använder fyra olika etiketter för att kommentera objekten i bilderna:

  • spelar-putting – Spelaren som håller en klubba och i puttposition
  • spelar-inte-puttar – Spelaren som inte är i puttposition (kan också hålla en klubba)
  • Annan person – Alla andra personer som inte är en spelare
  • golfboll – Golfbollen

Följande figur visar att ett CNN finjusterats med etiketter från SageMaker Ground Truth för att klassificera varje person i synfältet. Detta är svårt på grund av det stora utbudet av visuella framträdanden av spelare, caddies och fans. Efter att en spelare klassificerats som putting applicerades en CNN finjusterad för bolldetektering på det lilla området omedelbart runt spelaren.

Spårning av bollbanor

En tredje CNN, en ResNet-arkitektur förutbildad för rörelsespårning, användes för att spåra bollen efter att den puttats. Rörelsespårning är ett grundligt undersökt problem, så detta nätverk fungerade bra när det integrerades i pipelinen utan ytterligare finjustering.

Rörledningsutgång

Kaskaden av CNN placerar begränsningsrutor runt människor, klassificerar människor på green, upptäcker den ursprungliga bollpositionen och spårar bollen när den börjar röra sig. Följande bild visar den märkta videoutgången för pipelinen. Bollens pixelpositioner när den rör sig spåras och registreras. Observera att personer på greenen spåras och markeras av begränsningsrutor; puttern längst ner är korrekt märkt som "player putting", och den rörliga bollen spåras och markeras av en liten blå ram.

prestanda

För att bedöma prestanda för komponenter i pipelinen är det nödvändigt att ha märkta data. Även om vi var försedda med bollens världsposition för jordens sanning, hade vi inga mellanpunkter för markens sanning, som bollens slutliga pixelposition eller pixelplatsen för spelaren som puttade. Med märkningsjobbet som vi utförde utvecklade vi sanningsdata för dessa mellanliggande utdata från pipelinen som gör att vi kan mäta prestanda.

Spelarklassificering och noggrannhet för bolldetektering

För att detektera spelarens puttning och den ursprungliga bollplatsen märkte vi en datauppsättning och finjusterade en YOLO v7 CNN-modell som beskrivits tidigare. Modellen klassificerade resultatet från den tidigare persondetekteringsmodulen i fyra klasser: en spelare som puttar, en spelare som inte puttar, andra personer och golfbollen, som visas i följande figur.

Prestandan för denna modul bedöms med en förvirringsmatris, som visas i följande figur. Värdena i de diagonala rutorna visar hur ofta den förutsagda klassen matchade den faktiska klassen från marksanningsetiketterna. Modellen har 89 % återkallelse eller bättre för varje personklass, och 79 % återkallelse för golfbollar (vilket är att förvänta eftersom modellen är förtränad på exempel med människor men inte på exempel med golfbollar; detta skulle kunna förbättras med fler märkta golfbollar i träningssetet).

Nästa steg är att trigga bollspåraren. Eftersom bolldetekteringsutgången är en konfidenssannolikhet, är det också möjligt att ställa in tröskeln för "detekterad boll" och observera hur det förändrar resultaten, sammanfattat i följande figur. Det finns en avvägning i denna metod eftersom en högre tröskel nödvändigtvis kommer att ha färre falsklarm men också missa några av de mindre säkra exemplen på bollar. Vi testade trösklar på 20 % och 50 % konfidens, och hittade bolldetektering vid 78 % respektive 61 %. Med detta mått är tröskeln på 20 % bättre. Avvägningen är uppenbar genom att för tröskeln på 20 % konfidens var 80 % av de totala upptäckterna faktiskt bollar (20 % falskt positiva), medan för tröskeln på 50 % konfidens var 90 % bollar (10 % falskt positiva). För färre falskt positiva är tröskeln på 50 % bättre. Båda dessa åtgärder skulle kunna förbättras med mer märkta data för en större utbildningsuppsättning.

Detektionsrörledningens genomströmning är i storleksordningen 10 bilder per sekund, så i sin nuvarande form är en enda instans inte tillräckligt snabb för att köras kontinuerligt på ingången med 50 bilder per sekund. Att uppnå 7-sekundersmärket för utdata efter kulstegen skulle kräva ytterligare optimering för latens, kanske genom att köra flera versioner av pipelinen parallellt och komprimera CNN-modellerna via kvantisering (till exempel).

Noggrannhet för spårning av bollbanan

Den förtränade CNN-modellen från MMTracking fungerar bra, men det finns intressanta misslyckanden. Följande figur visar ett fall där trackern börjar på bollen, expanderar sin bounding box till att omfatta både putterhuvudet och bollen och sedan tyvärr spårar putterhuvudet och glömmer bollen. I det här fallet verkar putterhuvudet vitt (möjligen på grund av spegelreflektion), så förvirringen är förståelig; märkta data för spårning och finjustering av spårningen CNN kan hjälpa till att förbättra detta i framtiden.

Slutsats

I det här inlägget diskuterade vi utvecklingen av en modulär pipeline som lokaliserar spelare inom kamerans synfält, bestämmer vilken spelare som lägger och spårar bollen när den rör sig mot koppen.

För mer information om AWS samarbete med PGA TOUR, se PGA TOUR startar med AWS för att ombilda fansupplevelsen.


Om författarna

James Golden är tillämpad vetenskapsman på Amazon Bedrock med bakgrund inom maskininlärning och neurovetenskap.

Henry Wang är tillämpad forskare vid Amazon Generative AI Innovation Center, där han forskar och bygger generativa AI-lösningar för AWS-kunder. Han fokuserar på sport- och media- och underhållningsbranscher och har tidigare arbetat med olika sportligor, lag och sändare. På fritiden spelar han gärna tennis och golf.

Tryambak Gangopadhyay är en tillämpad forskare vid AWS Generative AI Innovation Center, där han samarbetar med organisationer inom ett brett spektrum av branscher. Hans roll innebär att bedriva forskning och utveckla generativa AI-lösningar för att hantera viktiga affärsutmaningar och påskynda AI-anpassningen.

Tidsstämpel:

Mer från AWS maskininlärning