在机器学习系统中捕获肌肉活动信号

大约六个月前,我想到了为神经接口创建开放框架的想法。


在此视频中,使用前臂上的八通道EMG传感器捕获EMG肌肉信号。 因此,我们通过皮肤去除了运动神经元激活的未加密的,肌肉增强的模式。

来自传感器的原始信号通过蓝牙进入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编写机器学习脚本变得容易,而无需更改应用程序代码并避免在调试期间不断重新安装。

您可以通过TFLiteTF服务使用生成的分类器

系统代码在这里

在未来的计划中:

  • 通过USB创建开放源多通道EMG传感器
  • 机器学习实验以提高管理可靠性


我的朋友garastard本文中讨论了我们的神经接口Android冒险。

Source: https://habr.com/ru/post/zh-CN437888/


All Articles