首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Nature 新作:用神经网络去除可穿戴设备运动伪迹(徐升课题组新作)

Nature 新作:用神经网络去除可穿戴设备运动伪迹(徐升课题组新作)

作者头像
云深无际
发布2026-01-07 14:01:39
发布2026-01-07 14:01:39
2270
举报
文章被收录于专栏:云深之无迹云深之无迹

最近一篇论文挺火的:

没错,就是徐升老师的文章(就之前写超声波的那个)
没错,就是徐升老师的文章(就之前写超声波的那个)

没错,就是徐升老师的文章(就之前写超声波的那个)

设计一套系统:

能发 nature 的文章,图都是一大亮点
能发 nature 的文章,图都是一大亮点

能发 nature 的文章,图都是一大亮点

很简单,就是一些传感器,通过一个 RF 出来,用神经网络降噪(对,主要是说这个),然后控制一个机械臂。

现实中使用 IMU(加速度计+陀螺仪)做手势识别最大的问题就是:运动伪迹——IMU 不仅测手势,也会测到:走路身体上下颤动,跑步手臂摆动,高频震动(如按摩枪),重力方向变化导致的 baseline 改变,海浪造成的随机摇动;这些“运动伪迹”的频率和幅度与真正的手势信号重叠且无法简单滤波去除

对的
对的

对的

想到了海边的港科大
想到了海边的港科大

想到了海边的港科大

传统方法失效的原因

方法

为什么不行?

bandpass、wavelet、PCA

假设运动噪声与信号频率特性不同(对 IMU 不成立)

自适应滤波

需要参考噪声通道,难以获得

多 IMU 差分

IMU 不完全同步/对齐,震动不一致

传统 ML

通常只训练“模拟噪声”(Gaussian),不含真实运动环境

IMU 手势识别最棘手的问题在于: 噪声的幅度/频率往往比真实手势更大,并且与手势高度重叠。

作者的关键突破:用“深度学习 + 复合数据集”解决真实运动伪迹

核心方法在图 1(Page 2):

这是咱们信号链的重点部分
这是咱们信号链的重点部分

这是咱们信号链的重点部分

总体架构:

6 通道 IMU(acc x/y/z,gyro roll/yaw/pitch),EMG 两电极;蓝牙 MCU(数据处理 + 无线);可拉伸电池(Zn/Ag₂O,25mAh,可拉伸 20%);深度学习网络不是训练在干净数据上,而是训练在“复合数据集”上。

复合训练数据集(Composite Dataset)是什么?

见 Fig. 3a(Page 5)

作者做了:

采集纯手势信号

19 种前臂手势,对应六轴 IMU;姿势包括:向上/下、向左/右、旋转 wrist 等(Fig. 2a,Page 4)。

采集真实噪声(运动伪迹)

躺下姿态(重力方向变化 → baseline 大幅漂移);按摩枪高频震动(Fig. 2c);跑步摆臂(Fig. 2d);每种噪声都被分割成多个“片段(stage)”,确保不重复导致 overfitting(Extended Fig. 4)。

将手势信号 + 噪声进行叠加

生成 superimposed signal,如图 Fig. 3a;这一点是论文的最大贡献之一用真实噪声训练,使深度网络学会“去噪”并提取手势的主要成分。

CNN 网络结构(定制 LeNet-5)

结构在 Fig. 3c(Page 5):

输入:100 点 × 6 通道(一秒采样)

三层 1D 卷积(16 → 32 → 64 kernels)

三层 Max pooling

Flatten

三层 Fully connected

Loss = cross-entropy

所有 IMU 六通道先 reshape 成单一 channel 的 100×6 输入矩阵

效果:Recall、Precision、Specificity 都 >0.93;几个深度模型中 CNN 最好(Fig. 3b)

(神经网络不是行家,打住了,不卖弄学识了)

信号链设计

然后这个连线,上个文章也是这样的,大概就是电气 2 层,下面是电源
然后这个连线,上个文章也是这样的,大概就是电气 2 层,下面是电源

然后这个连线,上个文章也是这样的,大概就是电气 2 层,下面是电源

一眼 Nordic,但是这个走线还是比较考究的,因为要在一层走的差不多
一眼 Nordic,但是这个走线还是比较考究的,因为要在一层走的差不多

一眼 Nordic,但是这个走线还是比较考究的,因为要在一层走的差不多

image-20251124103723541
image-20251124103723541

顶层总览:从人体到机械臂的一条链

用一句话概括整条链路:

人体手势 & 肌电 → IMU/EMG 传感 → 模拟前端放大&滤波 → nRF51822 内置 ADC/I²C → BLE 无线 → PC(MATLAB+Python)→ CNN 手势识别 + EMG 开/关判决 → 串口控制机械臂各关节动作

可以拆成 3 个层级:

BOM
BOM

BOM

可穿戴端(硬件+本地采样层)

柔性电池(Zn–Ag₂O)供电 3 V

6 轴 IMU(LSM6DS3)采集前臂姿态/运动

干电极 EMG(Cu/CNT/PDMS)+ AD8426 仪表放大器采集抓/放肌电

我就说芯片封装有点眼熟,原来是 INA
我就说芯片封装有点眼熟,原来是 INA

我就说芯片封装有点眼熟,原来是 INA

nRF51822 BLE MCU:

其实这个已经是算老片子了,但是没有关系
其实这个已经是算老片子了,但是没有关系

其实这个已经是算老片子了,但是没有关系

I²C 读 IMU

内置 10-bit ADC 采 EMG

BLE 发到 PC

上位机端(信号处理+决策层)

PC 上的 BLE 接收器收 IMU+EMG 数据

IMU → Python:CNN 手势分类(1 s 滑窗,0.25 s 步长)

EMG → MATLAB:数字滤波(30–200 Hz BP + 60 Hz notch)→ RMS → 阈值判决抓/放

Python 与 MATLAB 通过 TCP/IP 交互预测结果(CNN 输出 → MATLAB 控制)

可穿戴端硬件信号链

电源 & 机械结构

柔性层叠结构:

底层织物基底,上面叠加:伸缩电池 → 多层 Cu 互连电路 → EMG 电极 → IMU/MCU 器件,通过柔性硅胶/SEBS 封装、VIAs 连接各层

电池:Ag₂O–Zn 伸缩电池

工作原理:Zn/Ag₂O 半电池反应(碱性电解质,PVA hydrogel)

标称电压约 1.56 V,叠层后给 3 V 系统供电

容量约 25 mAh,可在 20% 拉伸下多次循环,>4 h 运行时间,传感器总功耗约 15 mW

热行为:30 min 运行后表面温度约 27.7 ℃,低于皮肤,热安全性 OK(Supplementary Fig.4)

IMU 信号链(姿态/运动)

传感器:LSM6DS3(ST)

3 轴加速度计(电容式 MEMS,采用双电容板+质量块结构)

3 轴陀螺仪(测角速度,重力不影响其 baseline)

电路连接:

IMU 电源端:0.1 µF 去耦电容(C2 等)

I²C 线(SCL/SDA):10 kΩ 上拉电阻到 3 V(R9 等),所有参数按 LSM6DS3 datasheet 推荐值设计

信号特性:

加速度信号同时包含:

前臂手势信号;重力分量(姿态改变→baseline 变化);外界运动伪迹(跑步、震动、海浪等);陀螺仪基线不受重力影响,只对角速度敏感(Supplementary Fig.8)

IMU→MCU 接口:

nRF51822 通过 I²C 读 6 通道数据

每 1 秒收集固定长度的时间序列(用于 CNN 的 1 s 窗口)

这里 IMU 没有额外模拟前端,走完全数字链路:传感 → 数模内部调理 → 数字寄存器 → I²C。

EMG 信号链(抓/放检测)

电极结构:

Tri-layer 干电极:

上层:Cu 薄膜岛(可焊接,低阻)

中间:CNT/PDMS 导电弹性层

下层:柔性基底,与皮肤贴合(“岛-桥”蛇形结构提升伸缩性)

干电极 → 无 gel,长期佩戴无刺激;通过 CNT 提高导电性、降低皮肤阻抗。

皮肤-电极阻抗随湿度/汗水降低(运动后 SNR 从 60 dB 提升到 78 dB)

模拟前端:AD8426 仪表放大器

输入:左右 EMG 电极的差分信号

输入高通滤波: 两端之间串联一个 200 kΩ 电阻 + 0.1 µF 电容构成高通,切掉 DC 与极低频运动伪迹

截止频率 (量级)

增益设定:

R3 = 499 Ω → 增益约 100(按 AD8426 datasheet 推荐)

输出端串联一个电阻 R6,限流/限压,避免过载 MCU ADC 输入。

EMG→MCU ADC:

nRF51822 内置 10-bit ADC 采样 EMG 模拟输出

模拟前端只做初级滤波 + 放大 + DC 抑制,频域清理主要在上位机数字滤波完成(下面会讲)。

MCU & BLE 通信链路

核心器件:nRF51822(BLE MCU)

负责:I²C 采集 IMU 数据;ADC 采集 EMG;BLE 协议栈 & 无线发送;供电:3 V 电池

去耦电容 C9–C13,时钟使用:32.768 kHz 晶振(低功耗模式);16 MHz 晶振(正常运行)

射频前端:

2.4 GHz 天线 + 匹配网络(L、C 元件,具体值见 Supplementary Table 1)

BLE 功耗:传输时电流瞬时上升(power meter 波形有“毛刺”);整体平均功耗 15 mW(电池供电下可运行>4 h)

水下通信特性:

Supplementary Fig.37 测了不同水深下 BLE RSSI,发现水下通信距离只有几米级甚至更短,原因是:海水电导率高 → 射频衰减系数 α = √(π f μ σ) 很大;BLE 发射功率本来就小(为了省电 + 小天线);论文附加讨论了可改用声学波/光学波/复合声光通信作远距水下链接(表 3,对比三种物理层)

EMG 数字滤波 + 判决链

Supplementary Note 7 给出了完整 EMG 处理方案:

原始 EMG 噪声成分:

低频基线漂移 / 运动伪迹;工频 60 Hz 干扰;ECG / 其他肌肉串扰

数字滤波:

高通:模拟上已经用 8 Hz 左右的高通去掉 DC

数字带通:30–200 Hz(保留主要 EMG 能量带)

Notch:60 Hz 抑制电源噪声

Supplementary Fig.10 用 STFT 对比滤波前后频谱,明显看到低频/60 Hz 成分被压制

特征提取:

计算 EMG 的 RMS(移动窗口) 作为力度指标

由于 EMG 只承担“开/关”功能,对 SNR 要求不如进行复杂模式识别那么苛刻,干电极 + 10-bit ADC 足够用 。

后记

这次应该是真的可以做出来,论文写的还是非常的细节和用心;也不愧为 Nature 文章,但是问题是还是需要电脑这种上位机来处理广泛的数据,可能还是局限性非常大。(里面有一个 69 页的补充文件,很多图片来自于此,论文是公开下载的)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-11-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云深之无迹 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 作者的关键突破:用“深度学习 + 复合数据集”解决真实运动伪迹
    • 总体架构:
  • 复合训练数据集(Composite Dataset)是什么?
    • 采集纯手势信号
    • 采集真实噪声(运动伪迹)
    • 将手势信号 + 噪声进行叠加
  • CNN 网络结构(定制 LeNet-5)
  • 信号链设计
    • 顶层总览:从人体到机械臂的一条链
    • 可穿戴端硬件信号链
      • 电源 & 机械结构
      • IMU 信号链(姿态/运动)
      • EMG 信号链(抓/放检测)
      • MCU & BLE 通信链路
      • EMG 数字滤波 + 判决链
    • 后记
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档