التنبؤ بأفعال الإنسان

مستودع المشروع على GitHub

skr

التفاصيل

كان هذا المشروع هو المشروع رقم 3 لفصل د. Zhang بعنوان الروبوتات المتمحورة حول الإنسان (CSCI473) في كلية Colorado School of Mines خلال فصل الربيع 2020. وقد صُمِّم لتقديم مقدمة إلى تعلّم الآلة في الروبوتات من خلال استخدام آلات المتجهات الداعمة (SVM). يمكن عرض مخرجات/وصف المشروع الأصلي هنا.

skr

في هذا المشروع، استُخدمت مجموعة بيانات MSR Daily Activity 3D (الشكل 2)، مع بعض التعديلات. تحتوي هذه المجموعة على 16 نشاطًا بشريًا جُمعت من مستشعر Xbox Kinetic وخُزِّنت على هيئة هياكل عظمية. الهياكل العظمية هي مصفوفة من الإحداثيات الواقعية (x, y, z) لـ 20 مفصلًا من مفاصل الإنسان المسجَّلة في إطار واحد. فيما يلي شكل يوضح ما هو الهيكل العظمي:

skr

لتحقيق التنبؤ بأفعال الإنسان، يجب تمثيل البيانات الخام بصيغة يمكن معالجتها بواسطة SVM. في هذا المشروع، استُخدمت التمثيلات التالية:

  • تمثيل الزوايا والمسافات النسبية (RAD)
  • تمثيل مدرج فروق مواضع المفاصل (HJPD)

من أجل التصنيف، يُرسَل التمثيل (أو التمثيلات) إلى SVM، مدعومًا بواسطة LIBSVM، لإنشاء نموذج يمكنه التنبؤ بأفعال الإنسان. سيتم إنشاء نموذجين: أحدهما باستخدام RAD والآخر باستخدام HJPD. الهدف هو جعل هذه النماذج دقيقة قدر الإمكان ومعرفة أي تمثيل يحقق أفضل أداء.

وبناءً على ذلك، فيما يلي نظرة عامة على ما يفعله الكود:

  1. تحميل البيانات الخام من مجموعة البيانات المعدلة
  2. إزالة أي بيانات شاذة و/أو بيانات خطأ من مجموعة البيانات المحمَّلة
  3. تحويل البيانات الخام النهائية إلى تمثيلي RAD وHJPD
  4. تُرسَل التمثيلات إلى SVM(s) مُحسَّنة لتوليد نموذجين
  5. بعد ذلك تُغذَّى النماذج بمعلومات الاختبار الخام ويُنشأ مصفوفة التباس لقياس أداء النموذج (النماذج).

النتائج

بعد تشغيل الكود وضبط النماذج بأفضل ما أستطيع، فيما يلي مصفوفة الالتباس النهائية لكلٍّ من نموذجي RAD و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

الخلاصة

بما أن كلتا الدقتين تتجاوزان 50%، فقد كان هذا المشروع ناجحًا. كما يبدو أن تمثيل HJPD هو التمثيل الأكثر دقة للاستخدام في هذا التصنيف. وبذلك، يوجد نموذج (أو نماذج) يتنبأ بأفعال الإنسان باستخدام بيانات الهيكل العظمي. النماذج هنا بعيدة كل البعد عن الكمال لكنها أفضل من العشوائية. كان هذا المشروع هو ما أدى لاحقًا إلى ولادة مشروع Moving Pose.

ملاحظات إضافية: