Pallon sijainnin seuranta pilvessä PGA TOUR | Amazon Web Services

Pallon sijainnin seuranta pilvessä PGA TOUR | Amazon Web Services

Lähdesolmu: 3057379

PGA TOUR jatkaa golfkokemuksen parantamista reaaliaikaisilla tiedoilla, jotka tuovat fanit lähemmäs peliä. Tarjotakseen vieläkin rikkaampia kokemuksia, he kehittävät seuraavan sukupolven pallon sijainnin seurantajärjestelmää, joka seuraa automaattisesti pallon sijaintia vihreällä.

TOUR käyttää tällä hetkellä ShotLinkin tehostamaa CDW:tä, johtavaa pisteytysjärjestelmää, joka käyttää monimutkaista kamerajärjestelmää ja paikan päällä tapahtuvaa laskentaa seuratakseen tarkasti jokaisen kuvan aloitus- ja loppukohtaa. TOUR halusi tutkia tietokonenäön ja koneoppimisen (ML) tekniikoita kehittääkseen seuraavan sukupolven pilvipohjaisen putkilinjan golfpallojen paikantamiseksi viheriölle.

Amazon Generative AI Innovation Center (GAIIC) osoitti näiden tekniikoiden tehokkuuden esimerkkitietojoukossa äskettäisestä PGA TOUR -tapahtumasta. GAIIC suunnitteli modulaarisen putkilinjan, joka kaskadi sarjan syviä konvoluutiohermoverkkoja, jotka onnistuneesti paikantavat pelaajat kameran näkökenttään, määrittää, mikä pelaaja laittaa, ja seuraa palloa sen liikkuessa kohti kuppia.

Tässä viestissä kuvailemme tämän putkilinjan kehitystä, raakadataa, putkilinjan sisältävien konvoluutiohermoverkkojen suunnittelua ja sen suorituskyvyn arviointia.

Päiväys

TOUR tarjosi kolmen päivän jatkuvan videon äskettäisestä turnauksesta kolmella 3K-kameralla, jotka oli sijoitettu viheriön ympärille yhdessä reiässä. Seuraavassa kuvassa on yhden kameran kehys rajattu ja zoomattu niin, että pelaajan putoaminen on helposti nähtävissä. Huomaa, että kameroiden korkeasta resoluutiosta huolimatta, vihreästä etäisyydestä johtuen pallo näyttää pieneltä (yleensä 4×3, 3×4 tai 4×5 pikseliä), ja tämän kokoisia kohteita voi olla vaikea paikantaa tarkasti.

Kameran syötteiden lisäksi TOUR toimitti GAIIC:lle jokaisesta otoksesta huomautetut pisteytystiedot, mukaan lukien sen lepoasennon maailmansijainnin ja aikaleiman. Tämä mahdollisti visualisoinnin jokaisesta viheriölle putoamisesta sekä mahdollisuuden vetää kaikki videoleikkeet pelaajien putoamisesta, jotka voitiin merkitä manuaalisesti ja käyttää putkilinjan muodostavien tunnistusmallien kouluttamiseen. Seuraavassa kuvassa näkyy kolme kameranäkymää likimääräisinä puttipolun peittokuvin, vastapäivään ylhäältä vasemmalta. Neula siirretään joka päivä, jolloin päivä 1 vastaa sinistä, päivä 2 punaista ja päivä 3 oranssia.

Putkilinjan yleiskatsaus

Koko järjestelmä koostuu sekä koulutusputkista että päättelyputkista. Seuraava kaavio havainnollistaa koulutusputken arkkitehtuuria. Lähtökohtana on videodatan nieleminen joko suoratoistomoduulista, kuten Amazon kinesis live-videota tai sijoittelua varten suoraan Amazonin yksinkertainen tallennuspalvelu (Amazon S3) historialliseen videoon. Koulutusputki vaatii videon esikäsittelyä ja kuvien käsin merkitsemistä Amazon SageMaker Ground Totuus. Malleja voi kouluttaa Amazon Sage Maker ja heidän Amazon S3:lla tallennetut esineet.

Seuraavassa kaaviossa esitetty päättelyputki koostuu useista moduuleista, jotka poimivat peräkkäin tietoa raakavideosta ja ennustavat lopulta levossa olevan pallon maailmankoordinaatit. Aluksi vihreää leikataan kunkin kameran suuremmasta näkökentästä, jotta pienennetään pikselialuetta, josta mallien on etsittävä pelaajia ja palloja. Seuraavaksi syväkonvoluutiohermoverkkoa (CNN) käytetään ihmisten sijainnin etsimiseen näkökentässä. Toista CNN:tä käytetään ennustamaan, minkä tyyppinen henkilö on löydetty, jotta voidaan määrittää, onko kukaan puttauksessa. Kun todennäköinen putteri on lokalisoitu näkökenttään, samaa verkkoa käytetään ennustamaan pallon sijainti putterin lähellä. Kolmas CNN seuraa palloa sen liikkeen aikana, ja lopuksi käytetään muunnostoimintoa kameran pikselin sijainnista GPS-koordinaatteihin.

Pelaajan tunnistus

Vaikka olisi mahdollista käyttää CNN:ää pallon havaitsemiseksi koko 4K-kehyksellä tietyin väliajoin, ottaen huomioon pallon kulmakoon näillä kameraetäisyyksillä, mikä tahansa pieni valkoinen esine laukaisee havainnon, mikä johtaa moniin vääriin hälytyksiin. Jotta palloa ei etsitä koko kuvakehyksestä, on mahdollista hyödyntää korrelaatioita pelaajan asennon ja pallon sijainnin välillä. Laitettavan pallon on oltava pelaajan vieressä, joten pelaajien löytäminen näkökentästä rajoittaa suuresti pikselialuetta, josta ilmaisimen on etsittävä palloa.

Pystyimme käyttämään CNN:ää, joka oli valmiiksi koulutettu ennustamaan rajaavat laatikot kaikkien kohtauksen ihmisten ympärille, kuten seuraavassa kuvassa näkyy. Valitettavasti viheriöllä on usein useampi kuin yksi pallo, joten tarvitaan lisää logiikkaa kaikkien ihmisten etsimisen ja pallon etsimisen lisäksi. Tämä vaatii toisen CNN:n löytääkseen pelaaja, joka tällä hetkellä laittoi.

Pelaajien luokittelu ja pallon tunnistus

Rajataksemme entisestään, missä pallo voisi olla, hienosääsimme valmiiksi koulutetun esineentunnistus-CNN:n (YOLO v7) luokitellaksemme kaikki vihreällä olevat ihmiset. Tärkeä osa tätä prosessia oli kuvasarjan manuaalinen merkitseminen SageMaker Ground Truthilla. Tarrat antoivat CNN:lle mahdollisuuden luokitella pelaajan putoamisen erittäin tarkasti. Merkintäprosessissa pallo hahmoteltiin myös pelaajan putoamisen kanssa, joten tämä CNN pystyi myös suorittamaan pallon havaitsemisen, piirtämällä ensimmäisen rajoituslaatikon pallon ympärille ennen puttia ja syöttämällä paikkatiedot alavirran CNN:n palloseurantaan. .

Käytämme neljää erilaista etikettiä kuvien kohteiden merkitsemiseen:

  • pelaaja-putting – Pelaaja pitelee mailaa ja on putoamisasennossa
  • pelaaja ei laita – pelaaja, joka ei ole putto-asennossa (saattaa myös pitää mailaa)
  • toinen henkilö – Kuka tahansa muu henkilö, joka ei ole pelaaja
  • golfpallo – Golfpallo

Seuraava kuva osoittaa, että CNN on hienosäädetty käyttämällä SageMaker Ground Truthin tarroja jokaisen henkilön luokittamiseksi näkökentässä. Tämä on vaikeaa pelaajien, caddien ja fanien laajan visuaalisen ulkoasun vuoksi. Kun pelaaja oli luokiteltu putoamiseksi, CNN:n hienosäädetty pallon havaitsemiseen sovellettiin pienelle alueelle välittömästi kyseisen pelaajan ympärillä.

Pallonpolun seuranta

Kolmatta CNN:tä, ResNet-arkkitehtuuria, joka on esikoulutettu liikkeen seurantaan, käytettiin pallon seuraamiseen sen putoamisen jälkeen. Liikkeenseuranta on perusteellisesti tutkittu ongelma, joten tämä verkko toimi hyvin integroituna putkilinjaan ilman lisäsäätöä.

Putkilinjan lähtö

CNN-sarja asettaa rajoituslaatikoita ihmisten ympärille, luokittelee ihmiset viheriölle, havaitsee pallon alkuperäisen sijainnin ja seuraa palloa, kun se alkaa liikkua. Seuraavassa kuvassa näkyy putkilinjan merkitty videolähtö. Pallon pikselien sijaintia sen liikkuessa seurataan ja tallennetaan. Huomaa, että vihreällä olevia ihmisiä seurataan ja rajataan rajauslaatikoilla; alareunassa oleva putteri on merkitty oikein "pelaajan putoamiseksi", ja liikkuvaa palloa seurataan ja ääriviivat pieni sininen kehys.

Suorituskyky

Liukulinjan komponenttien suorituskyvyn arvioimiseksi tarvitaan merkittyjä tietoja. Vaikka meille annettiin pallon maan totuusmaailman sijainti, meillä ei ollut välipisteitä maaperän totuudelle, kuten pallon lopullinen pikselin sijainti tai pelaajan lyönnin pikselin sijainti. Tekemällämme merkintätyöllä kehitimme näille putkilinjan välituloille pohjatotuustietoja, joiden avulla voimme mitata suorituskykyä.

Pelaajien luokittelu ja pallontunnistustarkkuus

Pelaajan putoamisen ja pallon alkuperäisen sijainnin havaitsemiseksi nimesimme tietojoukon ja hienosääsimme YOLO v7 CNN -mallia aiemmin kuvatulla tavalla. Malli luokitteli edellisen henkilöntunnistusmoduulin tuotoksen neljään luokkaan: pelaaja putoamiseen, pelaaja ei putoamiseen, muut ihmiset ja golfpallo seuraavan kuvan mukaisesti.

Tämän moduulin suorituskykyä arvioidaan sekavuusmatriisilla, joka on esitetty seuraavassa kuvassa. Diagonaalilaatikoiden arvot osoittavat, kuinka usein ennustettu luokka vastasi todellista luokkaa pohjatotuusmerkinnöistä. Mallin muistaminen on 89 % tai parempi jokaiselle henkilöluokalle ja 79 % golfpalloille (mikä on odotettavissa, koska malli on esikoulutettu esimerkeillä ihmisten kanssa, mutta ei esimerkeillä golfpalloilla; tätä voitaisiin parantaa lisää merkittyjä golfpalloja harjoitussetissä).

Seuraava askel on laukaista pallonseurantalaite. Koska pallon tunnistuksen tulos on luottamustodennäköisyys, on myös mahdollista asettaa kynnys "havaitun pallon" arvolle ja tarkkailla, kuinka se muuttaa tuloksia, jotka on tiivistetty seuraavassa kuvassa. Tässä menetelmässä on kompromissi, koska korkeammalla kynnysarvolla on välttämättä vähemmän vääriä hälytyksiä, mutta myös joitain epävarmempia esimerkkejä palloista jää huomiotta. Testasimme 20 %:n ja 50 %:n luotettavuuden kynnysarvoja ja löysimme pallon havaitsemisen 78 %:n ja 61 %:n kohdalla. Tällä mittarilla 20 %:n kynnys on parempi. Kompromissi on ilmeinen siinä, että 20 % luottamuskynnyksellä 80 % kaikista havainnoista oli itse asiassa palloja (20 % vääriä positiivisia), kun taas 50 % luottamuskynnyksellä 90 % oli palloja (10 % vääriä positiivisia). Jos vääriä positiivisia tuloksia on vähemmän, 50 %:n luottamuskynnys on parempi. Molempia näitä toimenpiteitä voitaisiin parantaa käyttämällä enemmän merkittyjä tietoja suuremman harjoitussarjan osalta.

Havaitsemisliukuhihnan läpimenonopeus on luokkaa 10 kehystä sekunnissa, joten nykyisessä muodossaan yksittäinen esiintymä ei ole tarpeeksi nopea ajaakseen jatkuvasti syötteellä nopeudella 50 kehystä sekunnissa. 7 sekunnin pisteen saavuttaminen ulostulolle pallovaiheiden jälkeen vaatisi lisäoptimointia latenssille, ehkä ajamalla useita liukuhihnan versioita rinnakkain ja pakkaamalla CNN-malleja kvantisoinnin avulla (esimerkiksi).

Pallonpolun seurannan tarkkuus

MMTrackingin esikoulutettu CNN-malli toimii hyvin, mutta mielenkiintoisia vikatapauksia löytyy. Seuraavassa kuvassa on tapaus, jossa jäljittäjä aloittaa pallon, laajentaa rajausalueensa sisältämään sekä putterin pään että pallon, ja sitten valitettavasti seuraa putterin päätä ja unohtaa pallon. Tässä tapauksessa putterin pää näyttää valkoiselta (mahdollisesti peiliheijastuksen vuoksi), joten hämmennys on ymmärrettävää; merkitty data seurantaa ja seuranta-CNN:n hienosäätöä varten voisi auttaa parantamaan tätä tulevaisuudessa.

Yhteenveto

Tässä viestissä keskustelimme modulaarisen putkilinjan kehittämisestä, joka paikantaa pelaajat kameran näkökenttään, määrittää, mikä pelaaja laittaa ja seuraa palloa sen liikkuessa kohti kuppia.

Lisätietoja AWS-yhteistyöstä PGA TOURin kanssa on osoitteessa PGA TOUR yhdistää AWS:n fanikokemuksen uudelleen kuvittelemiseksi.


Tietoja Tekijät

James Golden on soveltava tutkija Amazon Bedrockissa, jolla on tausta koneoppimisesta ja neurotieteistä.

Henry Wang on soveltava tutkija Amazon Generative AI Innovation Centerissä, jossa hän tutkii ja rakentaa generatiivisia tekoälyratkaisuja AWS-asiakkaille. Hän keskittyy urheiluun sekä media- ja viihdeteollisuuteen ja on työskennellyt aiemmin eri urheiluliigojen, joukkueiden ja lähetystoiminnan harjoittajien kanssa. Vapaa-ajallaan hän pelaa tennistä ja golfia.

Tryambak Gangopadhyay on soveltava tutkija AWS Generative AI Innovation Centerissä, jossa hän tekee yhteistyötä organisaatioiden kanssa eri toimialoilla. Hänen tehtävänsä on suorittaa tutkimusta ja kehittää generatiivisia tekoälyratkaisuja ratkaisemaan liiketoiminnan tärkeitä haasteita ja nopeuttamaan tekoälyn käyttöönottoa.

Aikaleima:

Lisää aiheesta AWS-koneoppiminen