İnsan Eylemlerini Tahmin Et

Projenin GitHub Deposu

skr

Detaylar

Bu proje, Colorado School of Mines’te Dr. Zhang’ın İnsan Merkezli Robotik (CSCI473) dersinde 2020 Bahar dönemi sırasında proje #3 idi. Destek Vektör Makineleri (SVM) kullanımıyla robotikte makine öğrenimine bir giriş sağlamak için tasarlandı. Orijinal proje teslimatları/açıklaması burada görüntülenebilir.

skr

Bu proje için MSR Daily Activity 3D Dataset (Şekil 2), bazı değişikliklerle kullanıldı. Bu veri seti, bir Xbox Kinetic sensöründen toplanan ve iskeletler olarak depolanan 16 insan aktivitesi içerir. İskeletler, bir çerçevede kaydedilen bir insanın 20 ekleminin gerçek dünya (x, y, z) koordinatlarından oluşan bir dizidir. İşte bir iskeletin ne olduğunu gösteren bir şekil:

skr

İnsan eylem tahmini gerçekleştirmek için, ham veri bir SVM tarafından işlenebilecek bir biçimde temsil edilmelidir. Bu proje için aşağıdaki temsiller kullanıldı:

  • Göreceli Açılar ve Mesafeler (RAD) temsili
  • Eklemlerin Pozisyon Farkları Histogramı (HJPD) temsili

Sınıflandırma için, temsiller LIBSVM tarafından desteklenen bir SVM’ye gönderilir ve insan eylemlerini tahmin edebilen bir model oluşturulur. RAD kullanan bir ve HJPD kullanan bir olmak üzere iki model oluşturulacak. Amaç, bu modelleri mümkün olduğunca doğru yapmak ve hangi temsiliyin en iyi performansı gösterdiğini görmek.

Bunu bilerek, işte kodun ne yaptığının bir özeti:

  1. Değiştirilmiş veri setinden ham veriyi yükle
  2. Yüklenen veri setinden herhangi bir aykırı ve/veya hatalı veriyi kaldır
  3. Son ham veriyi RAD ve HJPD temsillerine dönüştür
  4. Temsiller ayarlanmış SVM’lere gönderilerek iki model oluşturulur
  5. İki model daha sonra test ham verisiyle beslenir ve bir karışıklık matrisi oluşturularak model(lerin) performansı ölçülür.

Sonuçlar

Kodu çalıştırıp modelleri elimden geldiğince ayarladıktan sonra, RAD ve HJPD modelleri için son karışıklık matrisleri aşağıdadır:

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

Sonuç

Her iki doğruluk oranı da %50’nin üzerinde olduğu için, bu proje bir başarıydı. Ayrıca, HJPD temsili bu sınıflandırmalar için kullanılacak daha doğru temsili gibi görünüyor. Bununla birlikte, iskelet verilerini kullanarak insan eylemlerini tahmin eden bir model(ler) mevcut. Buradaki model(ler) mükemmel olmasa da rastgele olmaktan daha iyidir. Bu proje, daha sonra ortaya çıkan Moving Pose projesine yol açtı.

Ek Notlar: