Urmărirea poziției mingii în nor cu PGA TOUR | Amazon Web Services

Urmărirea poziției mingii în nor cu PGA TOUR | Amazon Web Services

Nodul sursă: 3057379

PGA TOUR continuă să îmbunătățească experiența de golf cu date în timp real care îi apropie pe fani de joc. Pentru a oferi experiențe și mai bogate, aceștia urmăresc dezvoltarea unui sistem de urmărire a poziției mingii de ultimă generație care urmărește automat poziția mingii pe teren.

TOURUL folosește în prezent ShotLink alimentat de CDW, un sistem de punctaj de prim rang care utilizează un sistem complex de camere cu calcul la fața locului, pentru a urmări îndeaproape poziția de început și de sfârșit a fiecărei fotografii. TOURUL a dorit să exploreze tehnicile de viziune computerizată și de învățare automată (ML) pentru a dezvolta o conductă de ultimă generație bazată pe cloud pentru a localiza mingile de golf pe terenul de joc.

Centrul de inovare Amazon Generative AI (GAIIC) a demonstrat eficacitatea acestor tehnici într-un exemplu de set de date dintr-un eveniment recent PGA TOUR. GAIIC a proiectat o conductă modulară în cascadă a unei serii de rețele neuronale convoluționale profunde care localizează cu succes jucătorii în câmpul vizual al camerei, determină ce jucător pune și urmărește mingea pe măsură ce se deplasează spre cupă.

În acest post, descriem dezvoltarea acestei conducte, datele brute, proiectarea rețelelor neuronale convoluționale care cuprind conducta și o evaluare a performanței acesteia.

Date

TURUL a oferit 3 zile de videoclipuri continue de la un turneu recent de la trei camere 4K poziționate în jurul verdelui pe o gaură. Următoarea figură arată un cadru dintr-o cameră decupat și mărit, astfel încât jucătorul plasat să fie ușor vizibil. Rețineți că, în ciuda rezoluției mari a camerelor, din cauza distanței față de verde, mingea pare mică (de obicei 3×3, 4×4 sau 5×5 pixeli), iar țintele de această dimensiune pot fi dificil de localizat cu precizie.

În plus față de fluxurile camerei, TURUL a furnizat GAIIC date de punctaj adnotate pentru fiecare fotografie, inclusiv locația mondială a poziției sale de repaus și marcajul de timp. Acest lucru a permis vizualizările fiecărui putt pe green, precum și posibilitatea de a extrage toate clipurile video ale jucătorilor care pun, care ar putea fi etichetate manual și utilizate pentru a antrena modelele de detectare care alcătuiesc conducta. Următoarea figură arată cele trei vederi ale camerei cu suprapuneri aproximative de traseu putt, în sens invers acelor de ceasornic din stânga sus. Pinul este mutat în fiecare zi, unde ziua 1 corespunde cu albastru, ziua 2 cu roșu și ziua 3 cu portocaliu.

Prezentare generală a conductei

Sistemul general constă atât dintr-o conductă de antrenament, cât și dintr-o conductă de inferență. Următoarea diagramă ilustrează arhitectura conductei de antrenament. Punctul de plecare este ingerarea de date video, fie dintr-un modul de streaming, cum ar fi Amazon Kinesis pentru videoclipuri live sau plasare direct în Serviciul Amazon de stocare simplă (Amazon S3) pentru videoclip istoric. Canalul de instruire necesită preprocesare video și etichetare manuală a imaginilor cu Amazon SageMaker Ground Adevăr. Modelele pot fi antrenate cu Amazon SageMaker și artefactele lor stocate cu Amazon S3.

Conducta de inferență, prezentată în diagrama următoare, constă dintr-un număr de module care extrag succesiv informații din videoclipul brut și, în cele din urmă, prezic coordonatele mondiale ale mingii în repaus. Inițial, verdele este decupat din câmpul vizual mai mare de la fiecare cameră, pentru a reduce zona de pixeli în care modelele trebuie să caute jucători și mingi. Apoi, o rețea neuronală convoluțională profundă (CNN) este utilizată pentru a găsi locațiile oamenilor în câmpul vizual. Un alt CNN este folosit pentru a prezice ce tip de persoană a fost găsit pentru a determina dacă cineva este pe cale să pună. După ce un putter probabil a fost localizat în câmpul vizual, aceeași rețea este folosită pentru a prezice locația mingii lângă putter. Un al treilea CNN urmărește mingea în timpul mișcării sale și, în sfârșit, se aplică o funcție de transformare de la poziția pixelilor camerei la coordonatele GPS.

Detectarea jucătorului

Deși ar fi posibil să rulați un CNN pentru detectarea mingii pe un întreg cadru 4K la un interval stabilit, având în vedere dimensiunea unghiulară a mingii la aceste distanțe ale camerei, orice obiect mic alb declanșează o detectare, rezultând multe alarme false. Pentru a evita căutarea mingii în întregul cadru de imagine, este posibil să profitați de corelațiile dintre poziția jucătorului și locația mingii. O minge care urmează să fie pusă trebuie să fie lângă un jucător, astfel încât găsirea jucătorilor în câmpul vizual va restricționa foarte mult zona pixelilor în care detectorul trebuie să caute mingea.

Am putut folosi un CNN care a fost pre-antrenat pentru a prezice cutii de delimitare în jurul tuturor persoanelor dintr-o scenă, așa cum se arată în figura următoare. Din păcate, există frecvent mai multe mingi pe teren, așa că este necesară o logică suplimentară dincolo de simpla găsire a tuturor oamenilor și căutarea unei mingi. Acest lucru necesită un alt CNN pentru a găsi jucătorul care punea în prezent.

Clasificarea jucătorilor și detectarea mingii

Pentru a restrânge și mai mult unde ar putea fi mingea, am ajustat un CNN pre-antrenat de detectare a obiectelor (YOLO v7) pentru a clasifica toți oamenii de pe teren. O componentă importantă a acestui proces a fost etichetarea manuală a unui set de imagini folosind SageMaker Ground Truth. Etichetele au permis CNN să clasifice jucătorul care punea cu mare precizie. În procesul de etichetare, mingea a fost, de asemenea, conturată împreună cu punerea jucătorului, astfel încât acest CNN a putut efectua și detectarea mingii, desenând o casetă de delimitare inițială în jurul mingii înainte de un putt și introducând informațiile despre poziție în CNN de urmărire a mingii din aval. .

Folosim patru etichete diferite pentru a adnota obiectele din imagini:

  • jucător-puting – Jucătorul care ține o bâtă și se află în poziția de putting
  • jucător-nu-pune – Jucătorul care nu se află în poziția de punere (poate ține și o crosă)
  • alta persoana – Orice altă persoană care nu este jucător
  • minge de golf – Mingea de golf

Următoarea figură arată că un CNN a fost ajustat folosind etichetele de la SageMaker Ground Truth pentru a clasifica fiecare persoană în câmpul vizual. Acest lucru este dificil din cauza gamei largi de apariții vizuale ale jucătorilor, caddiilor și fanilor. După ce un jucător a fost clasificat ca putting, un CNN reglat fin pentru detectarea mingii a fost aplicat în zona mică din jurul respectivului jucător.

Urmărirea traseului mingii

Un al treilea CNN, o arhitectură ResNet pre-antrenată pentru urmărirea mișcării, a fost folosită pentru urmărirea mingii după ce a fost pusă. Urmărirea mișcării este o problemă cercetată temeinic, astfel încât această rețea a funcționat bine atunci când a fost integrată în conductă, fără o reglare fină suplimentară.

Ieșire conductă

Cascada de CNN-uri plasează cutii de delimitare în jurul oamenilor, clasifică oamenii pe teren, detectează poziția inițială a mingii și urmărește mingea odată ce începe să se miște. Următoarea figură arată ieșirea video etichetată a conductei. Pozițiile pixelilor mingii pe măsură ce se mișcă sunt urmărite și înregistrate. Rețineți că oamenii de pe verde sunt urmăriți și conturați de casete de delimitare; putter-ul din partea de jos este etichetat corect ca „player putting”, iar mingea în mișcare este urmărită și conturată de o mică casetă de delimitare albastră.

Performanţă

Pentru a evalua performanța componentelor conductei, este necesar să aveți date etichetate. Deși ni s-a oferit poziția mondială a mingii la sol, nu am avut puncte intermediare pentru adevărul la sol, cum ar fi poziția finală a pixelilor mingii sau locația pixelului jucătorului care pune. Odată cu munca de etichetare pe care am realizat-o, am dezvoltat date de adevăr la sol pentru aceste rezultate intermediare ale conductei care ne permit să măsuram performanța.

Clasificarea jucătorilor și acuratețea detectării mingii

Pentru detectarea punerii jucătorului și locația inițială a mingii, am etichetat un set de date și am reglat fin un model CNN YOLO v7 așa cum este descris mai devreme. Modelul a clasificat rezultatul din modulul anterior de detectare a persoanei în patru clase: un jucător care pune, un jucător care nu pune, alți oameni și mingea de golf, așa cum se arată în figura următoare.

Performanța acestui modul este evaluată cu o matrice de confuzie, prezentată în figura următoare. Valorile din casetele diagonale arată cât de des clasa prezisă se potrivea cu clasa reală din etichetele de adevăr de bază. Modelul are 89% de reamintire sau mai bine pentru fiecare clasă de persoane și 79% de reamintire pentru mingi de golf (ceea ce este de așteptat deoarece modelul este antrenat în prealabil pe exemple cu oameni, dar nu pe exemple cu mingi de golf; acest lucru ar putea fi îmbunătățit cu mai multe mingi de golf etichetate în setul de antrenament).

Următorul pas este declanșarea tracker-ului de minge. Deoarece ieșirea de detectare a mingii este o probabilitate de încredere, este, de asemenea, posibil să setați pragul pentru „mingea detectată” și să observați modul în care aceasta modifică rezultatele, rezumate în figura următoare. Există un compromis în această metodă, deoarece un prag mai mare va avea neapărat mai puține alarme false, dar va rata și unele dintre exemplele mai puțin sigure de mingi. Am testat praguri de încredere de 20% și 50% și am găsit detectarea mingii la 78% și, respectiv, 61%. Prin această măsură, pragul de 20% este mai bun. Compensația este evidentă prin faptul că, pentru pragul de încredere de 20%, 80% din totalul detecțiilor au fost de fapt bile (20% fals pozitiv), în timp ce pentru pragul de încredere de 50%, 90% au fost bile (10% fals pozitiv). Pentru mai puține rezultate false pozitive, pragul de încredere de 50% este mai bun. Ambele măsuri ar putea fi îmbunătățite cu mai multe date etichetate pentru un set de antrenament mai mare.

Debitul conductei de detectare este de ordinul a 10 cadre pe secundă, astfel încât, în forma sa actuală, o singură instanță nu este suficient de rapidă pentru a fi rulată continuu pe intrare la 50 de cadre pe secundă. Atingerea marcajului de 7 secunde pentru ieșire după pașii mingii ar necesita o optimizare suplimentară pentru latență, poate prin rularea mai multor versiuni ale conductei în paralel și comprimarea modelelor CNN prin cuantizare (de exemplu).

Precizia urmăririi traseului mingii

Modelul CNN pre-antrenat de la MMTracking funcționează bine, dar există cazuri de eșec interesante. Următoarea figură arată un caz în care tracker-ul începe pe minge, își extinde căsuța de delimitare pentru a include atât capul putter-ului, cât și mingea și apoi, din păcate, urmărește capul putter-ului și uită mingea. În acest caz, capul putterului apare alb (posibil din cauza reflexiei speculare), deci confuzia este de înțeles; datele etichetate pentru urmărirea și reglarea fină a urmăririi CNN ar putea ajuta la îmbunătățirea acestui lucru în viitor.

Concluzie

În această postare, am discutat despre dezvoltarea unei conducte modulare care localizează jucătorii în câmpul vizual al camerei, determină ce jucător pune și urmărește mingea pe măsură ce se deplasează spre cupă.

Pentru mai multe informații despre colaborarea AWS cu PGA TOUR, consultați PGA TOUR face parte din AWS pentru a reimagina experiența fanilor.


Despre Autori

James Golden este un om de știință aplicat la Amazon Bedrock, cu experiență în învățarea automată și neuroștiință.

Henry Wang este un om de știință aplicat la Amazon Generative AI Innovation Center, unde cercetează și construiește soluții generative AI pentru clienții AWS. El se concentrează pe industriile sportului și media și divertismentului și a lucrat cu diverse ligi sportive, echipe și radiodifuzori în trecut. În timpul liber, îi place să joace tenis și golf.

Tryambak Gangopadhyay este un om de știință aplicat la Centrul de inovare AWS Generative AI, unde colaborează cu organizații dintr-un spectru divers de industrii. Rolul său implică efectuarea de cercetări și dezvoltarea de soluții generative de inteligență artificială pentru a aborda provocările cruciale ale afacerii și pentru a accelera adoptarea inteligenței artificiale.

Timestamp-ul:

Mai mult de la Învățare automată AWS