Pemain skateboard dapat dengan mudah mengenali trik yang dilakukan oleh pemain skateboard lainnya. Tujuan kami dalam proyek ini adalah untuk mengajarkan komputer mengenali trik skateboard. Diberikan video trik skateboard, dapatkah komputer mengklasifikasikan trik tersebut dengan probabilitas tinggi? Kami mengembangkan kumpulan data dan model pembelajaran mesin yang dapat membedakan dua trik skateboard paling umum, ollies dan kickflips.
Kami memulai dengan mengumpulkan lebih dari 200 video pendek (1 hingga 2 detik) tentang kickflip dan ollies. Kami mengadaptasi pendekatan yang dijelaskan dalam Hands on Computer Vision dengan Tensorflow ke kumpulan data baru kami. Data dimulai sebagai video, kemudian melewati jaringan saraf konvolusional (CNN), lalu melalui model memori jangka pendek (LSTM), dan terakhir ke keluaran probabilitas bahwa video tersebut menggambarkan setiap kelas trik.
Misalnya, di sini Stephen melakukan kickflip:
Model memperkirakan ini adalah kickflip dengan probabilitas 0,9, sehingga berfungsi dengan baik. Kami menemukan bahwa video jernih yang menampilkan seluruh tubuh pemain skateboard memiliki kinerja lebih baik dibandingkan video yang hanya menampilkan kaki pemain skateboard. Kami juga menemukan bahwa model tersebut mampu memprediksi dengan tepat kickflip menuruni tangga, meskipun semua data pelatihannya berupa trik di permukaan datar. Hal ini menunjukkan bahwa model mampu melakukan generalisasi pada situasi baru dan berbeda.
Untuk mengembangkan pekerjaan ini lebih jauh, kita dapat menambahkan lebih banyak trik selain kickflip dan ollies, serta kombinasi trik, misalnya, kickflip 180 bagian belakang. Dengan lebih banyak data pelatihan dan lebih banyak penyesuaian model, model ini bisa menjadi cukup baik untuk menyaingi pemain skateboard manusia.
Terima kasih kepada Justin Wang dan Vessela Ensberg atas bantuan mereka dalam proyek ini.
Data video berlabel ada di direktori Tricks
repositori ini. Ada dua subdirektori, Ollie
, yang berisi 108 video pemain skateboard melakukan ollie, dan Kickflip
, yang berisi 114 video pemain skateboard melakukan kickflip. Masing-masing file dalam direktori ini adalah klip pendek, sekitar 2 detik, dalam format .mov
(QuickTime). Untuk menggunakan data ini untuk pembelajaran mesin yang diawasi, latih model pada data di direktori Tricks
, menggunakan subdirektori sebagai label.
Anda bebas menggunakan data ini untuk tujuan akademis, asalkan Anda mengutip karya ini.
Mengklasifikasikan trik skateboard
Proyek ini dengan kata paling sederhana mengklasifikasikan trik skateboard. Kami mencoba menggunakan pembelajaran mesin untuk mengklasifikasikan setiap trik skateboard. Ada banyak trik skateboard yang kami pilih dua untuk diklasifikasikan di antaranya. Kami memilih antara Ollie dan Kickflip.
Sehingga algoritme tersebut akan mengambil masukan seperti di atas dan mengeluarkan kemungkinan seberapa yakinnya itu adalah ollie atau kickflip.
16 Juni TODO:
TANGGAL 23 JUNI:
30 JUNI YANG HARUS DILAKUKAN:
7 Juli:
15 Juli:
21 Juli:
28 Juli:
4 Agustus:
Tujuan kami adalah menghasilkan pengklasifikasian trik yang masuk akal untuk klip video berdurasi 1-2 detik. Kami berencana untuk menggunakan pendekatan apa pun yang paling nyaman dan mampu untuk menyukseskannya.
Rencana kami untuk melakukan pra-pemrosesan data adalah dengan mengambil sampel video hingga jumlah frame dan resolusi yang konsisten. Misalnya setiap video dapat terdiri dari 30 frame yang masing-masing berupa gambar berukuran 480 x 360 (360p), sehingga setiap video menjadi array 3d (atau tensor) berdimensi 480 x 360 x 30. Ini adalah input ke model. Warna tidak penting untuk klasifikasi trik, jadi kita juga bisa mengubahnya menjadi hitam putih.
Ide umumnya adalah membangun jaringan saraf konvolusional (CNN), yang secara kasar mengikuti pendekatan klasifikasi gambar.
CNN untuk gambar menggabungkan informasi lokal spasial dari piksel terdekat menggunakan filter konvolusi. Haruskah kita melakukan hal yang sama dengan piksel-piksel yang berdekatan? Tutorial Google menggunakan konvolusi 2d. Apakah ada alasan mengapa kita tidak bisa menggunakan konvolusi 3d? Tentu, Tensorflow punya satu. Dan ada banyak makalah akademis populer yang melakukan hal ini. Mudah-mudahan kita dapat mengembangkan ide-ide ini.