انسانی اعمال کی پیش گوئی

پروجیکٹ کا GitHub ریپوزٹری

اسکیلیٹن

تفصیلات

یہ پروجیکٹ کولوراڈو اسکول آف مائنز میں موسمِ بہار 2020 کے سمسٹر کے دوران ڈاکٹر ژانگ کی ہیومن سینٹرڈ روبوٹکس (CSCI473) کلاس کے لیے پروجیکٹ نمبر 3 تھا۔ اسے سپورٹ ویکٹر مشینز (SVM) کے استعمال کے ذریعے روبوٹکس میں مشین لرننگ کا تعارف فراہم کرنے کے لیے بنایا گیا تھا۔ اصل پروجیکٹ کی فراہم کردہ اشیا/تفصیل یہاں دیکھی جا سکتی ہے۔

اسکیلیٹن

اس پروجیکٹ کے لیے MSR ڈیلی ایکٹیویٹی 3D ڈیٹاسیٹ (شکل 2) کو کچھ ترامیم کے ساتھ استعمال کیا گیا۔ اس ڈیٹاسیٹ میں Xbox Kinetic سینسر سے حاصل کی گئی اور اسکیلیٹن کے طور پر محفوظ کی گئی 16 انسانی سرگرمیاں شامل ہیں۔ اسکیلیٹن حقیقی دنیا کے (x, y, z) کوآرڈینیٹس کی ایک صف ہے، جو ایک فریم میں انسان کے 20 جوڑوں کے ہوتے ہیں۔ یہاں ایک شکل ہے جو دکھاتی ہے کہ اسکیلیٹن کیا ہوتا ہے:

اسکیلیٹن

انسانی عمل کی پیش گوئی حاصل کرنے کے لیے خام ڈیٹا کو ایسی شکل میں ظاہر کرنا ضروری ہے جسے SVM کے ذریعے پراسیس کیا جا سکے۔ اس پروجیکٹ کے لیے درج ذیل نمائندگیوں کا استعمال کیا گیا:

  • متعلقہ زاویوں اور فاصلوں (RAD) کی نمائندگی
  • جوڑوں کی پوزیشن کے فرق کا ہسٹوگرام (HJPD) کی نمائندگی

درجہ بندی کے لیے نمائندگی(وں) کو LIBSVM سے تقویت یافتہ SVM میں بھیجا جاتا ہے تاکہ ایسا ماڈل بنایا جا سکے جو انسانی اعمال کی پیش گوئی کر سکے۔ دو ماڈل بنائے جائیں گے، ایک 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 پروجیکٹ کی پیدائش کا سبب بنا۔

اضافی نوٹس: