التقاط إشارة نشاط العضلات في نظام تعلم الآلة

منذ حوالي ستة أشهر ، توصلت إلى فكرة إنشاء إطار مفتوح للواجهات العصبية.


في هذا الفيديو ، يتم التقاط إشارة العضلات EMG باستخدام مستشعر EMG ذو ثماني قنوات على الساعد. وبالتالي ، فإننا نزيل من خلال الجلد نمطًا غير مشفر ومحسّن من تنشيط الخلايا العصبية الحركية.

تذهب الإشارة الخام من المستشعر عبر Bluetooth إلى تطبيق Android / Android Things .

لتدريب النظام ، سنقوم بتعيين فئة من الحركة لفتة يد محددة. على سبيل المثال ، إذا كنا بحاجة إلى حالة "التوقف" ، بالإضافة إلى دوران محركين في اتجاهين ، فسوف نسجل خمس إيماءات في المجموع. نقوم بجمع كل شيء في الملفات وإرسالها للدراسة على الشبكة العصبية . عند إدخال الشبكة ، لدينا نشاط عصبي ، عند الإخراج ، فئة معترف بها من الحركة.

مثال بنية شبكة Keras:

model = Sequential() # 8     8   model.add(Dense(36, activation='relu', input_dim=64)) model.add(Dense(20, activation='relu')) model.add(Dropout(0.2)) model.add(Dense(16, activation='relu')) # 5   model.add(Dense(5, activation='softmax')) sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True) model.compile(loss='categorical_crossentropy', optimizer=sgd, metrics=['accuracy']) 

https://www.kaggle.com/kyr7plus/naive-classifier

يتم استخدام خادم للاتصال التطبيق والشبكة العصبية. يسهل حل العميل-الخادم من تعلم الآلة النصية باستخدام TensorFlow ، دون تغيير رمز التطبيق وتجنب عمليات إعادة التثبيت المستمرة أثناء تصحيح الأخطاء.

يمكنك استخدام المصنفات الناتجة باستخدام TFLite أو TF Serving

رمز النظام هنا

في الخطط المستقبلية:

  • إنشاء مستشعر EMG متعدد القنوات مفتوح المصدر يعمل عبر USB
  • تجارب تعلم الآلة لتحسين موثوقية الإدارة


يتحدث صديقي غارستار عن مغامرات أندرويد لدينا مع واجهات عصبية في هذه المقالة .

Source: https://habr.com/ru/post/ar437888/


All Articles