Pelacakan posisi bola di cloud dengan PGA TOUR | Layanan Web Amazon

Pelacakan posisi bola di cloud dengan PGA TOUR | Layanan Web Amazon

Node Sumber: 3057379

PGA TOUR terus meningkatkan pengalaman golf dengan data real-time yang membawa penggemar lebih dekat dengan permainan tersebut. Untuk memberikan pengalaman yang lebih kaya, mereka sedang mengembangkan sistem pelacakan posisi bola generasi berikutnya yang secara otomatis melacak posisi bola di lapangan.

TOUR saat ini menggunakan ShotLink yang didukung oleh CDW, sistem penilaian utama yang menggunakan sistem kamera kompleks dengan komputasi di lokasi, untuk melacak dengan cermat posisi awal dan akhir setiap pengambilan gambar. TOUR ingin mengeksplorasi teknik visi komputer dan pembelajaran mesin (ML) untuk mengembangkan pipeline berbasis cloud generasi berikutnya untuk menemukan lokasi bola golf di lapangan golf.

Amazon Generative AI Innovation Center (GAIIC) mendemonstrasikan efektivitas teknik ini dalam contoh kumpulan data dari acara PGA TOUR baru-baru ini. GAIIC merancang pipeline modular yang mengalirkan serangkaian jaringan saraf konvolusional mendalam yang berhasil melokalisasi pemain dalam bidang pandang kamera, menentukan pemain mana yang melakukan putting, dan melacak bola saat bergerak menuju cup.

Dalam postingan ini, kami menjelaskan pengembangan pipeline ini, data mentah, desain jaringan neural konvolusional yang terdiri dari pipeline, dan evaluasi kinerjanya.

Data

TOUR menyediakan video berkelanjutan selama 3 hari dari turnamen baru-baru ini dari tiga kamera 4K yang ditempatkan di sekitar lapangan hijau dalam satu lubang. Gambar berikut menunjukkan bingkai dari satu kamera yang dipotong dan diperbesar sehingga penempatan pemain mudah terlihat. Perhatikan bahwa meskipun kameranya beresolusi tinggi, karena jaraknya yang jauh dari lapangan hijau, bola tampak kecil (biasanya berukuran 3×3, 4×4, atau 5×5 piksel), dan target sebesar ini mungkin sulit dilokalisasi secara akurat.

Selain umpan kamera, TOUR memberi GAIIC data penilaian beranotasi pada setiap pengambilan gambar, termasuk lokasi dunia dari posisi istirahatnya dan stempel waktunya. Hal ini memungkinkan visualisasi setiap putt di lapangan, serta kemampuan untuk menarik semua klip video dari putt pemain, yang dapat diberi label secara manual dan digunakan untuk melatih model deteksi yang membentuk pipeline. Gambar berikut menunjukkan tiga tampilan kamera dengan perkiraan hamparan jalur putt, berlawanan arah jarum jam dari kiri atas. Pin dipindahkan setiap hari, dengan hari ke-1 berwarna biru, hari ke-2 berwarna merah, dan hari ke-3 berwarna oranye.

Ikhtisar saluran pipa

Sistem keseluruhan terdiri dari jalur pelatihan dan jalur inferensi. Diagram berikut mengilustrasikan arsitektur alur pelatihan. Titik awalnya adalah penyerapan data video, baik dari modul streaming sejenisnya Amazon Kinesis untuk video langsung atau penempatan langsung ke dalamnya Layanan Penyimpanan Sederhana Amazon (Amazon S3) untuk video sejarah. Alur pelatihan memerlukan prapemrosesan video dan pelabelan tangan pada gambar Kebenaran Dasar Amazon SageMaker. Model dapat dilatih dengan Amazon SageMaker dan artefaknya disimpan dengan Amazon S3.

Pipa inferensi, yang ditunjukkan pada diagram berikut, terdiri dari sejumlah modul yang secara berturut-turut mengekstrak informasi dari video mentah dan pada akhirnya memprediksi koordinat dunia bola yang diam. Awalnya, warna hijau dipotong dari bidang pandang yang lebih besar dari setiap kamera, untuk mengurangi area piksel tempat model harus mencari pemain dan bola. Selanjutnya, jaringan saraf konvolusional dalam (CNN) digunakan untuk menemukan lokasi orang dalam bidang pandang. CNN lain digunakan untuk memprediksi tipe orang seperti apa yang ditemukan untuk menentukan apakah ada orang yang akan melakukan putt. Setelah kemungkinan putter terlokalisasi di bidang pandang, jaringan yang sama digunakan untuk memprediksi lokasi bola di dekat putter. CNN ketiga melacak bola selama pergerakannya, dan terakhir, fungsi transformasi dari posisi piksel kamera ke koordinat GPS diterapkan.

Deteksi pemain

Meskipun CNN dapat dijalankan untuk mendeteksi bola pada keseluruhan frame 4K pada interval yang ditentukan, mengingat ukuran sudut bola pada jarak kamera ini, objek putih kecil apa pun akan memicu deteksi, sehingga menghasilkan banyak alarm palsu. Untuk menghindari pencarian bola di seluruh bingkai gambar, Anda dapat memanfaatkan korelasi antara pose pemain dan lokasi bola. Bola yang akan dimasukkan harus berada di sebelah pemain, sehingga menemukan pemain dalam bidang pandang akan sangat membatasi area piksel di mana detektor harus mencari bola.

Kami dapat menggunakan CNN yang telah dilatih sebelumnya untuk memprediksi kotak pembatas di sekitar semua orang dalam sebuah adegan, seperti yang ditunjukkan pada gambar berikut. Sayangnya, sering kali terdapat lebih dari satu bola di lapangan, sehingga logika lebih lanjut diperlukan lebih dari sekadar menemukan semua orang dan mencari bola. Ini memerlukan CNN lain untuk menemukan pemain yang sedang memasang.

Klasifikasi pemain dan deteksi bola

Untuk lebih mempersempit lokasi bola, kami menyempurnakan CNN pendeteksi objek terlatih (YOLO v7) untuk mengklasifikasikan semua orang di lapangan. Komponen penting dari proses ini adalah memberi label secara manual pada sekumpulan gambar menggunakan SageMaker Ground Truth. Label tersebut memungkinkan CNN untuk mengklasifikasikan pemain yang melakukan puting dengan akurasi tinggi. Dalam proses pelabelan, bola juga digariskan bersama dengan putt pemain, sehingga CNN ini juga dapat melakukan deteksi bola, menggambar kotak pembatas awal di sekitar bola sebelum putt dan memasukkan informasi posisi ke dalam pelacakan bola hilir CNN .

Kami menggunakan empat label berbeda untuk memberi anotasi pada objek dalam gambar:

  • penempatan pemain – Pemain yang memegang klab dan dalam posisi putting
  • pemain-tidak-putting – Pemain tidak dalam posisi putting (mungkin juga sedang memegang klab)
  • orang lain – Orang lain yang bukan pemain
  • bola golf – Bola golf

Gambar berikut menunjukkan CNN telah disempurnakan menggunakan label dari SageMaker Ground Truth untuk mengklasifikasikan setiap orang dalam bidang pandang. Hal ini sulit dilakukan karena beragamnya tampilan visual pemain, caddies, dan fans. Setelah seorang pemain diklasifikasikan sebagai putting, CNN yang disesuaikan untuk deteksi bola diterapkan ke area kecil di sekitar pemain tersebut.

Pelacakan jalur bola

CNN ketiga, arsitektur ResNet yang telah dilatih sebelumnya untuk pelacakan gerak, digunakan untuk melacak bola setelah bola tersebut dilempar. Pelacakan gerak adalah masalah yang diteliti secara menyeluruh, sehingga jaringan ini bekerja dengan baik ketika diintegrasikan ke dalam pipeline tanpa penyesuaian lebih lanjut.

Keluaran pipa

Rangkaian CNN menempatkan kotak pembatas di sekitar orang, mengklasifikasikan orang di lapangan, mendeteksi posisi awal bola, dan melacak bola setelah bola mulai bergerak. Gambar berikut menunjukkan keluaran video berlabel dari alur. Posisi piksel bola saat bergerak dilacak dan dicatat. Perhatikan bahwa orang-orang di lapangan hijau sedang dilacak dan dibatasi oleh kotak pembatas; putter di bagian bawah diberi label dengan benar sebagai "puting pemain", dan bola yang bergerak dilacak dan dibatasi oleh kotak pembatas kecil berwarna biru.

Performance

Untuk menilai kinerja komponen pipeline, data perlu diberi label. Meskipun kami diberikan kebenaran dasar posisi bola dunia, kami tidak memiliki titik perantara untuk kebenaran dasar, seperti posisi piksel akhir bola atau lokasi piksel penempatan pemain. Dengan tugas pelabelan yang kami lakukan, kami mengembangkan data kebenaran dasar untuk keluaran perantara dari pipeline ini yang memungkinkan kami mengukur kinerja.

Klasifikasi pemain dan akurasi deteksi bola

Untuk mendeteksi penempatan pemain dan lokasi awal bola, kami memberi label pada kumpulan data dan menyempurnakan model CNN YOLO v7 seperti yang dijelaskan sebelumnya. Model tersebut mengklasifikasikan keluaran dari modul deteksi orang sebelumnya ke dalam empat kelas: pemain yang melakukan putting, pemain yang tidak melakukan putting, orang lain, dan bola golf, seperti terlihat pada gambar berikut.

Kinerja modul ini dinilai dengan matriks konfusi seperti yang ditunjukkan pada gambar berikut. Nilai dalam kotak diagonal menunjukkan seberapa sering kelas yang diprediksi cocok dengan kelas sebenarnya dari label kebenaran dasar. Model ini memiliki ingatan 89% atau lebih baik untuk setiap kelas orang, dan 79% ingatan untuk bola golf (hal ini diharapkan karena model telah dilatih sebelumnya mengenai contoh dengan orang tetapi tidak pada contoh dengan bola golf; hal ini dapat ditingkatkan dengan lebih banyak bola golf berlabel di set pelatihan).

Langkah selanjutnya adalah memicu pelacak bola. Karena keluaran deteksi bola adalah probabilitas keyakinan, ambang batas untuk “bola terdeteksi” juga dapat ditetapkan dan mengamati bagaimana hal tersebut mengubah hasilnya, yang dirangkum dalam gambar berikut. Terdapat trade-off dalam metode ini karena ambang batas yang lebih tinggi akan menghasilkan lebih sedikit alarm palsu namun juga melewatkan beberapa contoh bola yang kurang pasti. Kami menguji ambang batas kepercayaan 20% dan 50%, dan menemukan deteksi bola masing-masing sebesar 78% dan 61%. Dengan ukuran ini, ambang batas 20% lebih baik. Hal ini terlihat jelas pada ambang batas kepercayaan 20%, 80% dari total deteksi sebenarnya adalah bola (20% positif palsu), sedangkan untuk ambang batas kepercayaan 50%, 90% adalah bola (10% positif palsu). Untuk kesalahan positif yang lebih sedikit, ambang batas kepercayaan 50% lebih baik. Kedua langkah ini dapat ditingkatkan dengan lebih banyak data berlabel untuk kumpulan pelatihan yang lebih besar.

Throughput pipeline deteksi berada pada urutan 10 frame per detik, jadi dalam bentuknya saat ini, satu instance tidak cukup cepat untuk dijalankan terus-menerus pada input dengan kecepatan 50 frame per detik. Untuk mencapai tanda 7 detik untuk keluaran setelah langkah bola akan memerlukan pengoptimalan latensi lebih lanjut, mungkin dengan menjalankan beberapa versi pipeline secara paralel dan mengompresi model CNN melalui kuantisasi (misalnya).

Akurasi pelacakan jalur bola

Model CNN terlatih dari MMTracking berfungsi dengan baik, tetapi ada kasus kegagalan yang menarik. Gambar berikut menunjukkan kasus di mana pelacak memulai pada bola, memperluas kotak pembatasnya untuk menyertakan kepala putter dan bola, lalu sayangnya melacak kepala putter dan melupakan bola. Dalam hal ini, kepala putter tampak putih (mungkin karena pantulan cermin), sehingga kebingungannya dapat dimengerti; data berlabel untuk pelacakan dan penyempurnaan pelacakan CNN dapat membantu meningkatkan hal ini di masa depan.

Kesimpulan

Dalam postingan ini, kami membahas pengembangan pipeline modular yang melokalisasi pemain dalam bidang pandang kamera, menentukan pemain mana yang melakukan putting, dan melacak bola saat bergerak menuju cup.

Untuk informasi selengkapnya tentang kolaborasi AWS dengan PGA TOUR, lihat PGA TOUR bekerja sama dengan AWS untuk menata ulang pengalaman penggemar.


Tentang Penulis

James Emas adalah ilmuwan terapan di Amazon Bedrock dengan latar belakang pembelajaran mesin dan ilmu saraf.

Henry Wang adalah ilmuwan terapan di Amazon Generative AI Innovation Center, tempat dia meneliti dan membangun solusi AI generatif untuk pelanggan AWS. Dia berfokus pada industri olahraga dan media & hiburan, dan telah bekerja dengan berbagai liga, tim, dan penyiaran olahraga di masa lalu. Di waktu luangnya, dia suka bermain tenis dan golf.

Tryambak Gangopadhyay adalah Ilmuwan Terapan di AWS Generative AI Innovation Center, tempat dia berkolaborasi dengan organisasi di beragam spektrum industri. Perannya meliputi melakukan penelitian dan mengembangkan solusi AI Generatif untuk mengatasi tantangan bisnis yang penting dan mempercepat adopsi AI.

Stempel Waktu:

Lebih dari Pembelajaran Mesin AWS