当前在线估计方法在不同天或者不同人的情况下需要重新离线训练,这限制了在线算法的广泛使用。这篇文章主要是为了研究神经驱动在不同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分解算法得到的结果:
![image-20231023205249557](/2023/10/19/%E8%AE%BA%E6%96%87/Across%20Day/Toward-a-generalizable-deep-CNN-for-neural-drive-estimation-across-muscles-and-participants/image-20231023205249557.png)