Sledenje položaju žoge v oblaku s PGA TOUR | Spletne storitve Amazon

Sledenje položaju žoge v oblaku s PGA TOUR | Spletne storitve Amazon

Izvorno vozlišče: 3057379

PGA TOUR še naprej izboljšuje izkušnjo golfa s podatki v realnem času, ki navijače približajo igri. Da bi zagotovili še bogatejše izkušnje, si prizadevajo za razvoj sistema za sledenje položaja žoge naslednje generacije, ki samodejno sledi položaju žoge na zelenici.

TOUR trenutno uporablja ShotLink, ki ga poganja CDW, vrhunski sistem točkovanja, ki uporablja zapleten sistem kamer z izračunom na kraju samem, da natančno sledi začetni in končni položaj vsakega posnetka. TOUR je želel raziskati tehnike računalniškega vida in strojnega učenja (ML), da bi razvil cevovod naslednje generacije v oblaku za iskanje žogic za golf na zelenici.

Amazon Generative AI Innovation Center (GAIIC) je pokazal učinkovitost teh tehnik v primeru nabora podatkov iz nedavnega dogodka PGA TOUR. GAIIC je zasnoval modularni cevovod, ki kaskadira vrsto globokih konvolucijskih nevronskih mrež, ki uspešno lokalizira igralce v vidnem polju kamere, določi, kateri igralec postavlja žogo, in sledi žogi, ko se premika proti skodelici.

V tej objavi opisujemo razvoj tega cevovoda, neobdelane podatke, zasnovo konvolucijskih nevronskih mrež, ki sestavljajo cevovod, in oceno njegove učinkovitosti.

datum

TOUR je zagotovil 3 dni neprekinjenega videa z nedavnega turnirja s tremi kamerami 4K, nameščenimi okoli zelenice na eni luknji. Naslednja slika prikazuje okvir iz ene kamere, obrezan in povečan, tako da je igralec, ki ga postavlja, zlahka viden. Upoštevajte, da je žoga kljub visoki ločljivosti kamer zaradi oddaljenosti od zelenice videti majhna (običajno 3 × 3, 4 × 4 ali 5 × 5 slikovnih pik), tarče te velikosti pa je težko natančno določiti.

Poleg virov kamere je TOUR zagotovil GAIIC-u označene podatke o točkovanju za vsak posnetek, vključno s svetovno lokacijo njegovega položaja mirovanja in časovnim žigom. To je omogočilo vizualizacije vsakega udarca na zelenici, pa tudi zmožnost pridobivanja vseh videoposnetkov igralcev, ki igrajo, ki jih je bilo mogoče ročno označiti in uporabiti za urjenje modelov zaznavanja, ki sestavljajo cevovod. Naslednja slika prikazuje tri poglede kamere s približnimi prekrivanjem poti udarca, v nasprotni smeri urinega kazalca od zgoraj levo. Žebljiček se premakne vsak dan, pri čemer 1. dan ustreza modri, 2. dan rdeči in 3. dan oranžni.

Pregled cevovoda

Celoten sistem je sestavljen iz cevovoda za usposabljanje in cevovoda za sklepanje. Naslednji diagram ponazarja arhitekturo cevovoda za usposabljanje. Začetna točka je zaužitje video podatkov, bodisi iz pretočnega modula, kot je Amazon Kinesis za video v živo ali umestitev neposredno v Preprosta storitev shranjevanja Amazon (Amazon S3) za zgodovinski video. Cevovod usposabljanja zahteva predhodno obdelavo videa in ročno označevanje slik Amazon SageMaker Ground Truth. Modele je mogoče trenirati z Amazon SageMaker in njihove artefakte, shranjene z Amazon S3.

Sklepni cevovod, prikazan v naslednjem diagramu, je sestavljen iz številnih modulov, ki zaporedoma izvlečejo informacije iz surovega videa in na koncu napovejo svetovne koordinate žogice v mirovanju. Na začetku je zelenica obrezana iz večjega vidnega polja vsake kamere, da se zmanjša območje slikovnih pik, v katerem morajo modeli iskati igralce in žoge. Nato se globoka konvolucijska nevronska mreža (CNN) uporablja za iskanje lokacij ljudi v vidnem polju. Drugi CNN se uporablja za napovedovanje, katera vrsta osebe je bila najdena, da se ugotovi, ali bo kdo udaril. Ko je verjeten udarec lokaliziran v vidnem polju, se isto omrežje uporabi za napovedovanje lokacije žogice blizu igralca. Tretji CNN sledi žogi med njenim gibanjem in nazadnje se uporabi funkcija transformacije iz položaja slikovnih pik kamere v koordinate GPS.

Zaznavanje igralcev

Čeprav bi bilo mogoče zagnati CNN za zaznavanje žoge čez celoten okvir 4K v nastavljenem intervalu, glede na kotno velikost krogle na teh razdaljah kamere vsak majhen bel predmet sproži zaznavo, kar ima za posledico številne lažne alarme. Da bi se izognili iskanju žoge po celotnem okvirju slike, je mogoče izkoristiti korelacije med položajem igralca in lokacijo žoge. Žogica, ki jo nameravate vstaviti, mora biti poleg igralca, zato bo iskanje igralcev v vidnem polju močno omejilo območje slikovnih pik, v katerem mora detektor iskati žogo.

Lahko smo uporabili CNN, ki je bil vnaprej usposobljen za predvidevanje mejnih okvirjev okoli vseh ljudi v prizoru, kot je prikazano na naslednji sliki. Na žalost je na zelenici pogosto več kot ena žogica, zato je potrebna nadaljnja logika poleg preprostega iskanja vseh ljudi in iskanja žogice. To zahteva drug CNN, da najde igralca, ki je trenutno postavljal.

Klasifikacija igralcev in zaznavanje žoge

Da bi še bolj zožili, kje bi lahko bila žogica, smo natančno prilagodili vnaprej usposobljen CNN za zaznavanje predmetov (YOLO v7), da razvrsti vse ljudi na zelenici. Pomembna komponenta tega procesa je bilo ročno označevanje nabora slik z uporabo SageMaker Ground Truth. Oznake so CNN-u omogočile, da je igralca z visoko natančnostjo razvrstil. V procesu označevanja je bila žogica označena skupaj z igralčevim udarcem, tako da je ta CNN lahko izvedel tudi zaznavanje žoge, narisal začetno omejevalno polje okoli žogice pred udarcem in posredoval informacije o položaju v CNN za sledenje žogi. .

Za označevanje predmetov na slikah uporabljamo štiri različne oznake:

  • igralec – Igralec, ki drži palico in je v položaju za polaganje
  • igralec-ne-dajanje – Igralec, ki ni v položaju za spuščanje (lahko drži tudi palico)
  • druga oseba – Katera koli druga oseba, ki ni igralec
  • žogica za golf – Žogica za golf

Naslednja slika prikazuje, da je bil CNN natančno nastavljen z uporabo oznak iz SageMaker Ground Truth za razvrstitev vsake osebe v vidnem polju. To je težko zaradi široke palete vizualnih pojavov igralcev, caddyjev in navijačev. Potem ko je bil igralec razvrščen kot igralec, je bil CNN, natančno nastavljen za zaznavanje žoge, uporabljen na majhnem območju neposredno okoli tega igralca.

Sledenje poti žogice

Tretji CNN, arhitektura ResNet, ki je bila predhodno usposobljena za sledenje gibanju, je bil uporabljen za sledenje žoge po tem, ko je bila žogica postavljena. Sledenje gibanju je temeljito raziskan problem, zato se je to omrežje dobro obneslo, ko je bilo integrirano v cevovod brez nadaljnjega natančnega prilagajanja.

Izhod cevovoda

Kaskada CNN-jev postavlja omejevalne okvire okoli ljudi, razvršča ljudi na zelenico, zazna začetni položaj žoge in sledi žogi, ko se začne premikati. Naslednja slika prikazuje označeni video izhod cevovoda. Položaji slikovnih pik žoge med premikanjem se spremljajo in beležijo. Upoštevajte, da ljudje na zelenici sledijo in označujejo mejna polja; žogica na dnu je pravilno označena kot »igralec postavlja«, premikajočo se žogico pa spremlja in obroblja majhno modro omejevalno polje.

Uspešnost

Za oceno delovanja komponent cevovoda je potrebno imeti označene podatke. Čeprav nam je bil zagotovljen položaj žogice v svetu resnice na terenu, nismo imeli vmesnih točk za resnico na terenu, kot je končni položaj žoge v slikovnih pikah ali lokacija piksla igralca, ki igra. Z nalogo označevanja, ki smo jo izvedli, smo razvili temeljne resnične podatke za te vmesne rezultate cevovoda, ki nam omogočajo merjenje uspešnosti.

Klasifikacija igralcev in natančnost zaznavanja žoge

Za odkrivanje igralca, ki postavlja žogo in začetno lokacijo žoge, smo označili nabor podatkov in natančno prilagodili model YOLO v7 CNN, kot je opisano prej. Model je razvrstil izhod prejšnjega modula za zaznavanje oseb v štiri razrede: igralec, ki igra, igralec, ki ne igra, drugi ljudje in žogica za golf, kot je prikazano na naslednji sliki.

Delovanje tega modula je ocenjeno z matriko zmede, prikazano na naslednji sliki. Vrednosti v diagonalnih poljih kažejo, kako pogosto se je predvideni razred ujemal z dejanskim razredom iz osnovnih oznak resnice. Model ima 89 % ali več za vsak razred osebe in 79 % priklic žogic za golf (kar je pričakovano, ker je model vnaprej naučen na primerih z ljudmi, ne pa na primerih z žogicami za golf; to bi lahko izboljšali z več označenih žogic za golf v kompletu za trening).

Naslednji korak je sprožitev sledilnika žog. Ker je rezultat zaznavanja žoge verjetnost zaupanja, je mogoče nastaviti tudi prag za "zaznano žogo" in opazovati, kako to spremeni rezultate, povzete na naslednji sliki. Pri tej metodi obstaja kompromis, saj bo višji prag nujno imel manj lažnih alarmov, a bo tudi zgrešil nekaj manj zanesljivih primerov žogic. Preizkusili smo pragove 20 % in 50 % zaupanja in ugotovili, da je zaznavanje žogice 78 % oziroma 61 %. Po tem merilu je 20-odstotni prag boljši. Kompromis je očiten v tem, da je bilo pri 20-odstotnem pragu zaupanja 80 % vseh zaznav dejansko kroglic (20 % lažno pozitivnih), pri 50-odstotnem pragu zaupanja pa je bilo 90 % kroglic (10 % lažno pozitivnih). Za manj lažnih pozitivnih rezultatov je boljši 50-odstotni prag zaupanja. Oba ukrepa bi lahko izboljšali z bolj označenimi podatki za večji nabor usposabljanja.

Prepustnost cevovoda zaznavanja je reda velikosti 10 sličic na sekundo, tako da v trenutni obliki en primerek ni dovolj hiter, da bi se neprekinjeno izvajal na vhodu pri 50 sličicah na sekundo. Doseganje 7-sekundne oznake za izhod po krogličnih korakih bi zahtevalo dodatno optimizacijo zakasnitve, morda z vzporednim izvajanjem več različic cevovoda in stiskanjem modelov CNN prek kvantizacije (na primer).

Natančnost sledenja poti žogice

Vnaprej usposobljen model CNN iz MMTracking deluje dobro, vendar obstajajo zanimivi primeri napak. Naslednja slika prikazuje primer, ko sledilnik začne na žogici, razširi svoje omejevalno polje, tako da vključuje tako glavo kotalke in žogico, nato pa na žalost sledi glavi in ​​žogo pozabi. V tem primeru je glava udarca videti bela (verjetno zaradi zrcalnega odboja), zato je zmeda razumljiva; označeni podatki za sledenje in natančno prilagajanje sledenja CNN bi to lahko pomagali izboljšati v prihodnosti.

zaključek

V tej objavi smo razpravljali o razvoju modularnega cevovoda, ki lokalizira igralce v vidnem polju kamere, določi, kateri igralec postavlja žogo, in sledi žogi, ko se premika proti skodelici.

Za več informacij o sodelovanju AWS s PGA TOUR glejte PGA TOUR se združuje z AWS, da bi na novo zamislil izkušnjo oboževalcev.


O avtorjih

James Golden je uporabni znanstvenik pri Amazon Bedrock z izkušnjami na področju strojnega učenja in nevroznanosti.

Henry Wang je uporabni znanstvenik v Amazon Generative AI Innovation Center, kjer raziskuje in gradi generativne rešitve AI za stranke AWS. Osredotoča se na šport ter medijsko in zabavno industrijo, v preteklosti pa je sodeloval z različnimi športnimi ligami, ekipami in izdajatelji televizijskih programov. V prostem času rad igra tenis in golf.

Tryambak Gangopadhyay je uporabni znanstvenik v AWS Generative AI Innovation Center, kjer sodeluje z organizacijami v različnih panogah. Njegova vloga vključuje izvajanje raziskav in razvoj rešitev generativne umetne inteligence za reševanje ključnih poslovnih izzivov in pospešitev sprejemanja umetne inteligence.

Časovni žig:

Več od Strojno učenje AWS