Memprediksi Tindakan Manusia

Repositori GitHub Proyek

skr

Rincian

Proyek ini adalah proyek #3 untuk kelas Human Centered Robotics (CSCI473) Dr. Zhang di Colorado School of Mines selama semester Spring 2020. Proyek ini dirancang untuk memberikan pengenalan pada pembelajaran mesin dalam robotika melalui penggunaan Support Vector Machines (SVM). Deliverable/deskripsi proyek asli dapat dilihat di sini.

skr

Untuk proyek ini, MSR Daily Activity 3D Dataset (Gambar 2), dengan beberapa modifikasi, digunakan. Dataset ini berisi 16 aktivitas manusia yang dikumpulkan dari sensor Xbox Kinetic dan disimpan sebagai kerangka. Kerangka adalah sebuah array dari koordinat dunia nyata (x, y, z) dari 20 sendi manusia yang direkam dalam satu frame. Berikut adalah sebuah gambar yang menunjukkan apa itu kerangka:

skr

Untuk mencapai prediksi tindakan manusia, data mentah harus direpresentasikan dalam bentuk yang dapat diproses oleh SVM. Untuk proyek ini, representasi berikut digunakan:

  • Representasi Relative Angles and Distances (RAD)
  • Representasi Histogram of Joint Position Differences (HJPD)

Untuk klasifikasi, representasi tersebut dikirim ke SVM, yang didukung oleh LIBSVM, untuk membuat model yang dapat memprediksi tindakan manusia. Dua model akan dibuat, satu menggunakan RAD dan satu lagi menggunakan HJPD. Tujuannya adalah membuat model-model ini seakurat mungkin dan melihat representasi mana yang berkinerja terbaik.

Dengan mengetahui hal ini, berikut adalah gambaran umum tentang apa yang dilakukan kode tersebut:

  1. Memuat data mentah dari dataset yang telah dimodifikasi
  2. Menghapus data outlier dan/atau data error dari dataset yang dimuat
  3. Mengonversi data mentah akhir ke dalam representasi RAD dan HJPD
  4. Representasi dikirim ke SVM yang telah disetel untuk menghasilkan dua model
  5. Kedua model kemudian diberi data mentah uji dan matriks kebingungan dihasilkan untuk mengukur bagaimana model tersebut berkinerja.

Hasil

Setelah menjalankan kode dan menyetel model sebaik kemampuan saya, berikut adalah matriks kebingungan akhir untuk kedua model RAD dan HJPD:

Representation: RAD
Accuracy: 62.5%
LIBSVM Classification   8.0   10.0  12.0  13.0  15.0  16.0
Actual Activity Number
8.0                        8     0     0     0     0     0
10.0                       1     5     0     0     1     1
12.0                       0     1     1     0     3     3
13.0                       0     0     0     6     1     1
15.0                       0     0     0     1     5     2
16.0                       0     0     0     0     3     5
Representation: HJPD
Accuracy: 70.83%
LIBSVM Classification   8.0   10.0  12.0  13.0  15.0  16.0
Actual Activity Number
8.0                        7     1     0     0     0     0
10.0                       1     5     0     0     0     2
12.0                       0     0     7     0     1     0
13.0                       2     0     1     5     0     0
15.0                       0     0     0     0     7     1
16.0                       0     2     0     0     3     3

Kesimpulan

Karena kedua akurasi berada di atas 50%, proyek ini berhasil. Selain itu, representasi HJPD tampaknya merupakan representasi yang lebih akurat untuk digunakan dalam klasifikasi ini. Dengan ini, terdapat model yang memprediksi tindakan manusia menggunakan data kerangka. Model-model di sini jauh dari sempurna tetapi lebih baik daripada acak. Proyek ini adalah yang melahirkan proyek Moving Pose di kemudian hari.

Catatan Tambahan: