怎么用“可变形卷积”这样的深度学习模块,让 12 导联心电图的自动分类更聪明一点。

可变形卷积提升心电分类

论文题目是:

Automatic 12-Leading Electrocardiogram Classification Network with Deformable Convolution(EMBC 2021)

下面我将详细解读一下这篇工作。

一、为什么要折腾 12 导联心电图?

心血管疾病是全球主要死因之一,2016 年大约有 1790 万人死于心血管疾病,占全人类死亡人数的三分之一。
要发现这些问题,最常用的一种检查就是 心电图(ECG)

临床上完整的一次心电图检查通常会记录 12 个导联:I、II、III、aVR、aVL、aVF、V1–V6。每个导联都像是从不同角度“拍”心脏的电活动,因此 12 导联一起看,信息才是完整的。

问题是:

  • 心电信号本身噪声大、形态复杂;

  • 不同疾病在不同导联上的表现也不一样;

  • 诊断高度依赖医生经验,而且费时,很难做到实时监测。

所以,自动心电图分类 一直是 AI+医疗里一个很热门的方向。

二、传统 CNN 的短板:只会“挖局部坑”,不太会“看整体关系”

近年来已经有不少基于深度学习的 ECG 自动诊断方法,常见的有:

  • 一维 CNN、

  • LSTM / Bi-LSTM、

  • Encoder–Decoder 模型等。

但作者指出:普通 CNN 有一个关键短板——

卷积核位置是固定的,只能在一个局部邻域里滑动采样。
这对处理单导联的时间序列没问题,但难以显式地建模不同导联之间的相关性

直观理解:

  • 普通卷积就像拿一块 3×3 的小“模板”在特征图上平移,模板里每个格子的相对位置永远固定。

  • 对 12 导联 ECG 来说,我们希望模型有能力:

    • 有时候同时“看” V1 和 V6;

    • 有时候跳着“看” II、aVF 和 V3 ……
      但普通 CNN 的采样位置是均匀网格,很难做到这么灵活。

三、可变形卷积:让卷积核“长腿”,自己学会往哪里看

为了解决这个问题,论文采用了 Deformable Convolution(可变形卷积) 的思想。

1. 普通卷积怎么做?

普通卷积是这样的:

  • 假设有一个 3×3 卷积核,它在特征图上滑动;

  • 每个输出位置,都是周围 3×3 网格上 9 个采样点,按固定权重加权求和。

采样位置集合是固定的,比如:
{(-1,-1), (-1,0), …, (1,1)}

2. 可变形卷积怎么改?

可变形卷积在这个基础上,加了一个可学习的位移 offset

  • 对每个采样点,不再只看固定位置 (i+Δx, j+Δy),
    而是看 (i+Δx+Δx', j+Δy+Δy'),

  • 这里的 Δx'、Δy' 是网络学出来的、跟输入内容有关。

也就是说:

卷积核不再是一个规则方块,而是一组可以“变形”的采样点。

直观比喻:

  • 普通卷积:拿一个死板的九宫格遮罩,到处盖一下一次看 9 个点;

  • 可变形卷积:九宫格的 9 个“眼睛”可以伸长、拉近,自己找到更有代表性的 9 个点去看。

对 12 导联 ECG 而言,这意味著:

  • 卷积核可以横向在时间维度上看波形周期,

  • 也可以纵向跨导联跳着采样,从而自动挖掘 跨导联的相关性和节律特征

四、DCNet:由 4 个 DCN block 堆出来的心电网络

作者把可变形卷积嵌到一套专门为 12 导联 ECG 设计的网络里,称之为 DCNet(Deformable Convolution Network)。

1. 输入表示方式

  • 将 12 导联 ECG 按行排成一个矩阵,每一行对应一个导联;

  • 使用 一维卷积(1×3) 来抽取单导联上的局部时间特征。

由于导联之间的相关性与导联顺序无关,普通卷积难以利用“导联之间”的结构;这正是可变形卷积可以发挥作用的地方。

2. DCN block 结构

论文中提出了一个基础模块 DCN block,每个 block 包含:

  1. 两层 1×3 一维卷积 + ReLU

    • 先在每个导联内部,沿时间轴提取局部特征;

  2. 1×4 最大池化

    • 在时间维度上降采样,压缩序列长度;

  3. 一层 3×3 的可变形卷积 + ReLU

    • 在时间和导联两个维度上,自适应地选择采样点,进行信息整合和跨导联特征提取。

网络中一共 堆叠 4 个 DCN block,然后进入分类头:

  • 使用 Global Average Pooling(全局平均池化);

  • 接一个全连接层 + Softmax 输出 9 类心电类型的概率。

3. 实现细节

  • 框架:PyTorch 1.4.0;

  • 优化器:SGD,动量 0.5,初始学习率 0.0001;

  • 训练:batch size 8,最多 100 个 epoch,从中选验证集精度最高的模型;

  • 硬件:i9-9900K + 32GB 内存 + RTX 2080。

五、数据集与预处理:来自 CPSC 2018 的 12 导联心电

作者使用的是 China Physiological Signal Challenge 2018 (CPSC-2018) 公共数据集。

1. 数据情况

  • 数据来自 11 家不同医院;

  • 采样率 500 Hz,都是 12 导联;

  • 每条记录的时长不一致:最短 6 秒,最长 144 秒;

  • 一共 9 个类别

    • Normal(正常)

    • AF(房颤)

    • I-AVB(一度房室传导阻滞)

    • LBBB(左束支传导阻滞)

    • RBBB(右束支传导阻滞)

    • PAC(房性早搏)

    • PVC(室性早搏)

    • STD(ST 段压低)

    • STE(ST 段抬高)。

2. 预处理方法

为了适应 DCNet 的结构,作者做了几步简单预处理:

  1. 去掉少量“特别异常”的记录(例如严重缺失或噪声极大);

  2. 下采样到 250 Hz,减小数据量、提高训练效率;

  3. 统一时长为 30 秒

    • 对短于 30 秒的记录,通过“重复填充”的方式补长;

    • 统一后,长度为 7500 个采样点;

  4. 最终得到 5850 条 ECG 记录,划分为:

    • 3510 条作训练集;

    • 1170 条作验证集;

    • 1170 条作测试集。

可以看到,作者刻意保持了预处理流程的简单,不做复杂的波形分段或特征工程,而是让网络自己学习特征。

六、实验结果:DCNet 的表现到底怎样?

1. 评价指标

论文使用的是 分类准确率(Accuracy) 作为主要指标。

这里没有用 F1-score / AUC 等更细致的指标,这是一个可以讨论的点(见后面的“局限与思考”)。

2. 不同网络结构组合的对比(消融实验)

作者先研究了:

  • DCN block 堆多少层合适?

  • 每个 block 里放几层普通卷积合适?

不同组合的对比结果整理在 Table II 中:

结论是:

  • 4 个 DCN block

  • 每个 block 内有 2 层普通卷积 + 1 层可变形卷积

这一组合的测试集准确率最高,达到了 86.3%(0.863)

另外,从训练曲线来看,这个结构在大约 50 个 epoch 左右就基本收敛。

3. 与经典网络的横向对比

作者把 DCNet 和几种常见结构做了对比:

  • LSTM;

  • VGG16;

  • ResNet18;

  • ResNet50;

  • “同层数普通 CNN”(与 DCNet 层数相同,但全部用 3×3 普通卷积)。

在相同数据集、相同预处理、相同划分下,得到的 加权平均准确率 如下(基于测试集):

模型加权平均 Accuracy
LSTM0.773
VGG160.813
ResNet180.798
ResNet500.779
普通 CNN0.801
DCNet0.863

可以看到,DCNet 的整体准确率明显优于其他模型,比排在第二的 VGG16 还高 0.05 左右,比普通 CNN 高出约 0.062。

如果拆到具体类别,DCNet 在多类上都表现最好,比如:

  • AF:0.945

  • RBBB:0.942

  • PVC:0.937

  • 对难度较大的 PAC,准确率也达到 0.716,显著优于 LSTM 和 VGG16 等。

当然,在某些类别上(比如 STD、STE),DCNet 并不是绝对第一,但总体加权表现最好。

七、这篇工作的意义在哪里?

1. 临床层面的意义

论文最后也强调了这点:

他们的模型可以实现高精度的 12 导联心电自动分类,有望减轻医务人员的工作负担,实现更实时的心电监测。

注意这里的关键词:

  • 12 导联:更贴近真实临床心电,而不是单导联/少导联采集;

  • 自动分类:可嵌入监护设备、云平台等,做前筛查或辅助诊断。

2. 工程 / 算法层面的启发

这篇文章最核心的启发是:

对多通道医疗信号(不仅仅是 ECG),可变形卷积是一种很自然的建模方式。

因为很多这种信号都有类似特点:

  • 通道之间存在丰富但不规则的相关性;

  • 这些相关性不一定遵守“相邻通道更相关”这样的简单假设;

  • 比如多导联 ECG、多通道脑电(EEG)、多导睡眠监测信号(PSG)等。

在这些情况下,让卷积核的采样位置自己“长腿”,去自由选择更有用的采样点,有时比用固定网格更适合。

八、局限与个人思考

最后简单聊聊这篇工作的局限性和可以改进之处(论文里有些是隐含的,我这里稍微延展一下):

  1. 评价指标偏单一

    • 仅使用准确率作为指标,在类别严重不平衡(例如 STE、LBBB 样本较少)的情况下,可能掩盖某些类别上的问题。

    • 若能提供每类 F1-score、宏平均 F1、混淆矩阵等,会更全面。

  2. 数据集单一

    • 所有实验只在 CPSC-2018 上进行,对模型的跨医院、跨设备、跨人群泛化能力,仍需要更多验证。

    • 特别是导联放置方式、噪声形态的变化,可能会影响可变形卷积的偏好。

  3. 固定 30 秒截断 / 填充的策略

    • 通过重复填充把短记录补到 30 秒,这在工程上简单有效,但不一定与临床场景完全匹配;

    • 一些疾病的关键特征可能只出现在局部窗口,未来可以考虑基于心拍分段或注意力机制来做可变长度建模。

  4. 模型结构上还有扩展空间

    • 目前 DCNet 本质上仍是 CNN + DCN 的堆叠,可以想象:

      • 自注意力 / Transformer 与可变形卷积结合;

      • 或在 DCN 的基础上加入显式的 导联间图结构(Graph Neural Network)

    • 这些方向都有潜力进一步挖掘 12 导联之间的时空关系。

九、总结:一篇“把可变形卷积用在对地方”的论文

用一句话概括这篇 EMBC 2021 论文:

作者把可变形卷积用在了一个非常适合它的任务上——多导联心电分类
并通过针对 ECG 特性的网络设计和简单预处理,在 CPSC-2018 上取得了明显优于传统 CNN / LSTM / ResNet / VGG 的效果。

如果你之后打算:

  • 复现这篇工作;

  • 在自己的 ECG 项目中尝试可变形卷积;

  • 或者把思路迁移到 EEG、PSG 等其他多通道生理信号上,

这篇论文都可以作为一个不错的起点和参考实现。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值