0%

Toward a generalizable deep CNN for neural drive estimation across muscles and participants

当前在线估计方法在不同天或者不同人的情况下需要重新离线训练,这限制了在线算法的广泛使用。这篇文章主要是为了研究神经驱动在不同session、muscle和participants之间的估计结果。这篇文章的引言部分值得重点关注,同时ANOVA的部分也值得重点关注。

1. Introduction

关于neural drive的阐述:

the neural drive to muscles is composed of discrete spike signals, which are then amplified and transformed to continuous motor unit action potential (MUAP) signals by the innervated muscle.

为什么要分解:sEMG只是粗略的估计,并没有线性地关联到神经驱动,由于动作电位的叠加幅值抵消

如果提出一个新的分解算法:必须使用two-source validation protocol验证。

虽然阶段性更新策略能够解释MUAP的缓慢变化,但是分离向量在离线训练后只能识别到固定的MU数目,使得这些方法只能用于同一个session里面的同一个肌肉。

  • 募集的MU数目对于不同的肌肉和不同的患者是不同的
  • amplitude和duration受肌纤维的直径影响
  • 不同肌肉不同患者的MUAP波形是不一样的
  • MUAP的特性受电极和肌纤维之间的相对位置影响
  • 不同天、不同session,MUAP也会改变

2. Method

时间间隔:两个session间隔20个月

实验范式:

  • 3次最大自愿等长收缩,每次3-5s,相邻两次间隔2分钟
  • 第一个session,根据屏幕提示执行3次小于最大收缩的等长收缩,曲线为梯形,上升10s、水平10s、下降10s,为最大值的25%。每次执行完后休息30s
  • 第二个session,梯形改为上升5s、水平20s、下降5s。每次休息60s

电极贴片:两片13×5,电极间距8mm,ELSCH064NM2

导电膏:conductive paste

泡胶:bi-adhesive foam layer

人工检查:在是用盲源分离算法后人工检查剔除错误

MU 筛选:选取 PNR 大于30的 MU(能够保证 SIL 大于90%,FP 小于2%)

CNN:

  • 输入:一个时间窗的高密度肌电信号,时间窗的长度为40个数据点(左右各扩充10各数据点),步长为20个数据点
  • 输出:设置了4个节点,对应窗口内的MU spikes的数目。如果没有检测到spike,那么所有节点的输出为0;如果窗口中有一个尖峰,则将第一个节点设置为一;如果窗口中有两个尖峰,则前两个节点设置为1。但是,如果窗口中有四个以上的尖峰,我们将所有四个节点都设置为1。因此,可能会丢失训练和测试数据中的一些尖峰(最多只有4个节点),但当将深度CNN的输出与从BSS提取的完整CST进行比较时,这是最好的选择。将CST窗口化,窗口长20个数据点,步长20个数据点,没有数据重叠
  • 输入和输出帧中心对齐
  • six parametric layers (four convolutional layers and two fully connected layers)
  • three non-parametric layers (two max pooling layers and one flatten layer)

python 实现的开源代码https://github.com/ywen3/dcnn_mu_decomp

双因素分析:

  • 因素一:validation method
  • 因素二:data source

3. Results

  • 使用BSS分解算法得到的结果: