论文题目是:
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×3 一维卷积 + ReLU
-
先在每个导联内部,沿时间轴提取局部特征;
-
-
1×4 最大池化
-
在时间维度上降采样,压缩序列长度;
-
-
一层 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 的结构,作者做了几步简单预处理:
-
去掉少量“特别异常”的记录(例如严重缺失或噪声极大);
-
下采样到 250 Hz,减小数据量、提高训练效率;
-
统一时长为 30 秒:
-
对短于 30 秒的记录,通过“重复填充”的方式补长;
-
统一后,长度为 7500 个采样点;
-
-
最终得到 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 |
|---|---|
| LSTM | 0.773 |
| VGG16 | 0.813 |
| ResNet18 | 0.798 |
| ResNet50 | 0.779 |
| 普通 CNN | 0.801 |
| DCNet | 0.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)等。
在这些情况下,让卷积核的采样位置自己“长腿”,去自由选择更有用的采样点,有时比用固定网格更适合。
八、局限与个人思考
最后简单聊聊这篇工作的局限性和可以改进之处(论文里有些是隐含的,我这里稍微延展一下):
-
评价指标偏单一
-
仅使用准确率作为指标,在类别严重不平衡(例如 STE、LBBB 样本较少)的情况下,可能掩盖某些类别上的问题。
-
若能提供每类 F1-score、宏平均 F1、混淆矩阵等,会更全面。
-
-
数据集单一
-
所有实验只在 CPSC-2018 上进行,对模型的跨医院、跨设备、跨人群泛化能力,仍需要更多验证。
-
特别是导联放置方式、噪声形态的变化,可能会影响可变形卷积的偏好。
-
-
固定 30 秒截断 / 填充的策略
-
通过重复填充把短记录补到 30 秒,这在工程上简单有效,但不一定与临床场景完全匹配;
-
一些疾病的关键特征可能只出现在局部窗口,未来可以考虑基于心拍分段或注意力机制来做可变长度建模。
-
-
模型结构上还有扩展空间
-
目前 DCNet 本质上仍是 CNN + DCN 的堆叠,可以想象:
-
将 自注意力 / Transformer 与可变形卷积结合;
-
或在 DCN 的基础上加入显式的 导联间图结构(Graph Neural Network);
-
-
这些方向都有潜力进一步挖掘 12 导联之间的时空关系。
-
九、总结:一篇“把可变形卷积用在对地方”的论文
用一句话概括这篇 EMBC 2021 论文:
作者把可变形卷积用在了一个非常适合它的任务上——多导联心电分类,
并通过针对 ECG 特性的网络设计和简单预处理,在 CPSC-2018 上取得了明显优于传统 CNN / LSTM / ResNet / VGG 的效果。
如果你之后打算:
-
复现这篇工作;
-
在自己的 ECG 项目中尝试可变形卷积;
-
或者把思路迁移到 EEG、PSG 等其他多通道生理信号上,
这篇论文都可以作为一个不错的起点和参考实现。
可变形卷积提升心电分类
1673

被折叠的 条评论
为什么被折叠?



