Method Article

使用心电图信号预测和分类早期心律失常的卷积神经网络-Transformer 模型

DOI:

10.3791/68227

July 3rd, 2025

In This Article

Summary

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

开发的模型旨在将早期心律失常分为 N、L、R、V 和 A 级。在这里,所有数据集都被组合起来创建一个主数据集,模型将其用作输入,以生成不同的心律失常类别作为输出。

Abstract

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

作为全球死亡的主要原因,心血管疾病(尤其是心律失常)需要创建精确的自动化技术以进行早期诊断和检测。为了从心电图 (ECG) 信号中识别心律失常,本文引入了一种基于深度学习的分类模型,该模型侧重于五种主要心跳类型:正常 (N)、左束支传导阻滞 (L)、右束支传导阻滞 (R)、房性早搏 (A) 和室性早搏 (V)。我们利用来自多个来源的导联 I 信号,例如 INCART 12 导联、心源性猝死动态心电图、室上和 MIT-BIH 心律失常数据库,产生了超过 390 万个训练和 112,575 个测试片段。

数据准备的示例包括 180 个样本、固定窗口分割、最小-最大归一化以及使用合成少数过采样技术 (SMOTE) 的类平衡。混合架构使用 Transformer 层对时间依赖关系进行建模,并使用 1D 卷积神经网络 (CNN) 来提取空间特征。具有 dropout 和 batch normalization 的 Adam 优化器用于正则化,用于训练模型。

所提出的系统优于 TN4 模型和其他尖端基准,在所有类别中实现了 99.99% 的准确率、精度和 F1 分数。通过应用深度混合架构和卷积神经网络,特征鲁棒性得到了进一步的提高,这些架构是由早期研究推动的。所建议的范式推进了人工智能驱动的个性化数字医疗保健,并在可扩展的实时心律失常识别方面有很大的希望。

Introduction

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

根据世界卫生组织 (WHO) 的数据,心血管疾病 (CVD) 仍然是全球主要的健康问题之一,每年占全球死亡人数的近 31%1。这些病例的一个重要子集涉及心律失常 - 心律不齐,范围从良性到危及生命。心律失常通常以不规则的时间为标志。这些中断极大地增加了患者的发病率和死亡率,增加了中风、心力衰竭和心脏骤停等严重健康问题的风险。因此,心律失常的早期识别和准确分类对于改善患者预后、管理医疗保健成本和提高心脏护理质量至关重要2

心电图 (ECG) 仍然是检测心律失常的关键无创诊断工具。通过将心脏的电活动捕获为视觉波形,心电图使临床医生能够识别可能指向特定心律失常模式的细微变化3。然而,由于从业者之间的个体差异,手动解释 ECG 信号非常耗时且容易出现变化,这引入了人为误差的余地。在处理大量数据集或识别细微的心律失常时,这些挑战会被放大。随着全球向数字医疗保健的转变,对能够提供一致、实时心电图分析的可靠和自动化诊断系统的需求越来越重要4

传统的机器学习模型已应用于 ECG 分析,并取得了一定的成功;但是,它们对手工功能和特定领域专业知识的依赖带来了明显的局限性。为了解决这一限制,该模型采用了合成少数过度采样技术 (SMOTE),该技术为代表性不足的类生成合成数据点,从而平衡数据集并提高模型在所有检测信号类型中泛化的能力。SMOTE 与我们的深度学习模型的集成增强了分类性能,尤其是对于罕见的心律失常,并支持更公平的诊断工具5。本研究的主要目标有三个。首先,目标是开发一个准确、可扩展的模型,能够实时检测心律失常,为全球向数字和个性化医疗保健的转变做出贡献。其次,展示混合 CNN-Transformer 架构在 ECG 分析中的有效性,强调其在准确性和稳健性方面优于传统方法的潜力6

最后,目标是开发一个在临床诊断中具有有意义应用的模型,加强心脏异常的早期检测。本研究旨在弥合深度学习进步与实际医疗应用之间的差距,将我们的方法定位为追求改善心脏护理和患者预后的重要工具6

Access restricted. Please log in or start a trial to view this content.

Protocol

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

1. 获取数据集

  1. 获取公开可用的心电图 (ECG) 数据集,以开发和验证心律失常分类的深度学习模型7
  2. 结合来自 MIT-BIH 心律失常数据库、MIT-BIH 室上性心律失常数据库、圣彼得堡 INCART 12 导联心律失常数据库和心源性猝死动态心电图数据库的 Lead-I 数据集。
    注意:选择数据集是因为它们在患者人口统计学和心律失常类型的多样性,确保模型可以在不同的病例中泛化。每个数据集都提供高质量的带注释的 ECG 记录,涵盖一系列心跳类别。仅提取导联 I 数据并在所有数据集中使用,以标准化输入,保持一致性并专注于最具诊断相关性的信号。 如图 1 所示,导联 I 测量右臂(负极)和左臂(正极)之间的电位差,导联 II 测量右臂(负极)和左腿(正极)之间的电位差。 表 1 说明了主体数据集是通过组合 4 个数据集并消除 null 值创建的,该文件名为 Alldata.CSV。

2. 数据预处理

  1. 将 Alldata.CSV 中的数据分为两部分 - train 和 test。在预处理 2 中,从 Alldata.CSV 中过滤 N、L、R、A、V 类,然后将其分为两部分——训练和测试部分(图 2)。
  2. 将每个患者的心电图信号分成固定的 180 毫秒窗口,每个窗口根据相应的心律失常类别(如 N、L、R、A 和 V 类别)进行注释(图 3)。
    注意:此分割允许跨样本的输入长度一致,并捕获每个心跳段内的时间特征。
  3. 使用 Python 的库读取格式(.dat、.hea 和 .atr)的原始 ECG 文件。

3. 标准化

  1. 为确保信号振幅的均匀性,请使用 Min-Max 缩放对所有分割的 ECG 数据进行归一化,将每个样本转换为 0 到 1 之间的范围。
    注意:此处使用的归一化技术是 MinmaxScaler8

4. 使用 SMOTE 进行类平衡

注意:心律失常分类的一个常见挑战是显著的类别失衡,其中正常心跳的数量远远超过异常心跳的数量。

  1. 为了解决上述挑战,将合成少数类过采样技术 (SMOTE) 应用于训练集,该技术通过在现有实例之间插值来生成少数类的合成样本9.
    注意:新的合成样本增强了该模型在所有心律失常类型中的泛化能力,这保证了每个类别都得到公平的代表。

5. 训练-测试拆分

  1. 预处理后,使用 70-30 的拆分将数据拆分为训练集和测试集,并进行分层以保持集之间的类分布。
    注意:这种拆分确保了每个心律失常类别在训练和测试阶段都得到充分代表,从而可以可靠地评估模型的性能。

6. 数据集拆分和类分配

  1. 将最终的 Dataset 拆分为训练集和测试集,其中 70% 的数据用于训练,30% 的数据用于测试。
  2. 应用 SMOTE 来平衡类分布,确保每种心律失常类型在训练集和测试集中都得到充分表示,如 表 2 所示。
    注意:总共有 3,966,620 个 ECG 段用于训练, 112,575 个 ECG 段用于测试模型。如此大量的数据,以及心律失常类型的多样性,有助于该模型在真实世界 ECG 信号中检测不同类型的心律失常。

7. 方法

  1. 模型架构
    1. 为了实现准确的心律失常分类,请实施一个包含 1D 卷积神经网络 (CNN) 和 Transformer 层的混合深度学习模型。
      注意:混合模型架构经过专门设计,可利用 ECG 信号的空间和时间特征优势。它结合了特征提取和序列建模功能。
  2. 1D 卷积神经网络 (CNN) 模块
    1. 将 CNN 块设置为由两个 1D 卷积层组成,每个层后跟一个 ReLU 激活函数和一个最大池化层。这些层从输入 ECG 信号中提取空间依赖性。为了增强特征提取,请在 CNN 层10 中的每个转换步骤后添加更多 ReLU 激活函数。
      注意:此配置使模型能够有效地学习每个 segment 中的空间依赖关系。
    2. First Convolutional Layer:使用此层将 32 个大小为 3 的滤波器应用于输入信号。该作表示为:
      figure-protocol-1(1)
      其中 yi 代表输出, wj 是权重, x(i+j) 是输入心电图段,b 是偏置项,σ 是激活函数(在本例中为 ReLU)11
    3. 池化层:在每次卷积后,设置一个最大池化作,将空间维度减少 2 倍,定义为:
      figure-protocol-2(2)
      注意:此作保留了最突出的特征,同时降低了计算复杂性。
    4. Second Convolutional Layer:使用此层将 64 个 3 大小的滤波器应用于前一层的特征图,从而提取更高级别的特征12。在卷积后应用 ReLU 激活函数以引入非线性:
      figure-protocol-3(3)
      1. 附加激活层:在卷积后的每个中间阶段应用 ReLU 激活,以增强网络的表现力,确保模型专注于正激活13
    5. Dropout:在全连接层第14 节中指定 Dropout 率 0.5
  3. 变压器块:
    1. 要遵循此协议,请将 Transformer 模块设置为包含两个多头自注意力层,使模型能够捕获 ECG 信号15 不同部分的时间依赖关系。
    2. Multi-Head Self-Attention:此机制计算每对序列元素之间的关系。对于具有查询 Q、键 K 和值 V 的序列,将注意力计算为:
      figure-protocol-4 (4)
      其中 Q、K 和 V 分别是查询矩阵、键矩阵和值矩阵, dk 表示键向量的维数。
      注意:通过允许模型根据它们的相关性对不同的节段进行加权,这种机制增强了模型区分具有细微时间特征的心律失常的能力。
    3. 激活函数:跨层显式使用 ReLU
  4. 连续小波变换 (CWT):
    1. 在将数据馈送到 CNN 层之前,应用连续小波变换将 ECG 信号转换为时频表示16
      注意:这种转换通过捕获随时间的频率变化提供了更全面的功能集,这对于区分不同的心律失常类型至关重要。
  5. 培训过程:
    1. 要训练模型,请使用 Adam 优化器,它根据梯度的第一和第二矩动态调整学习率。将 Adam 的更新规则定义为:
      figure-protocol-5 (5)
      其中 mt vt 是第一和第二矩估计值,α 是学习率,ε 是一个小常数,以防止被零17 除以。
    2. 进行超过 100 个 epoch 的训练,批次大小为 64,利用早期停止来减少过拟合。
      注意:训练数据通过 PyTorch DataLoader 实用程序馈送到模型中,并应用 dropout 和批量归一化来正则化网络并提高收敛性。
  6. 超参数优化
    1. 使用提前停止、Adam 优化器、dropout、batch normalization 和 batch size 1024 执行手动优化
      注意:虽然本文没有明确提到网格或贝叶斯搜索,但这些选择反映了 实际的调优策略
  7. 验证技术
    1. 在应用 SMOTE18 后,使用 70-30 分层训练测试拆分
      注意:虽然不使用 k 折,但分层会保留类分布,这对于大型数据集来说通常就足够了。

Access restricted. Please log in or start a trial to view this content.

Results

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

所提出模型的性能指标
针对每个心律失常类别计算所提出模型的准确性、敏感性、特异性和 F1 评分。该模型的性能在 MIT-BIH 和其他相关的 ECG 数据库上进行评估。主要结果总结如下:

准确性:混合 CNN-Transformer 模型在 MITDB 数据集上达到 99.32% 的准确率,在组合数据库上达到 97.15% 的准确率,证明了该模型在不同心电图来源上的稳健性19

敏感性和特异性: 该模型的敏感性为 97.75%,特异性为 99.51%,分别突出了其在正确识别心律失常和非心律失常病例方面的有效性。高灵敏度对于确保临床诊断中最小的假阴性尤为重要。

与基线模型的比较分析
本节对所提出的模型与 TN4 模型和 ECG 心律失常分类中其他最先进的方法进行了比较分析。比较侧重于关键指标,例如灵敏度、特异性和准确性,以及各种模型的整体性能

Access restricted. Please log in or start a trial to view this content.

Discussion

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

本研究的结果表明,混合 CNN-Transformer 模型以更高的准确性、敏感性、特异性和 F1 评分熟练地对心电图心律失常进行分类,明显优于传统的仅 CNN 和 CNN-LSTM 模型。合并 Transformer 层增强了模型捕获时间依赖性的能力,这是 ECG 分析的关键要素。此外,连续小波变换 (CWT) 提供了广泛的时频特性,使 CNN 层能够区分心律失常类型之间的细微波形变化。这些发现强调了混合架构在管理心电图数据复杂性方面的有效性,尤其是在识别心律失常发作方面。

此外,该模型在不同数据集中表现出显着的泛化性,解决了心律失常分类研究中的关键差距。通过集成 SMOTE 等高级预处理方法,该研究确保了所有心律失常类型的平衡表示,尤其是不太常见的心律失常类型,这些类型在传统模型中经常被错误分类。事实证明,混合架构同时学习复杂空间和时间特征的能力对于稳健分类至关重要。

它的可扩展性表明具有更广泛的应用潜力,包括集成到可穿戴设备中以进行持续监控。这些进步强调...

Access restricted. Please log in or start a trial to view this content.

Disclosures

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

作者没有需要声明的利益冲突。

Acknowledgements

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

我要感谢 INTI 国际大学高级讲师 Azadeh Amoozegar 博士提供在线资源来训练数据集。

Access restricted. Please log in or start a trial to view this content.

Materials

List of materials used in this article
NameCompanyCatalog NumberComments
计算机系统(用于训练) 处理器:AMD Ryzen 7 7840HS,CPU RAM:16 GB,GPU RAM:6GBNVIDIA GeForce RTX 3050
不平衡python 包,用于重采样
pytorchPyTorch 是一个 Python 包,提供两个高级功能:
- 张量计算(如 NumPy),具有强大的 GPU 加速
- 基于基于磁带的autograd系统
Seaborn基于matplotlib的Python可视化库。
读取、写入、处理和绘制生理信号和注释数据WFDB
学习 是一个用于的

References

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,
  1. Jamil, S., Rahman, M. A. Novel deep-learning-based framework for the classification of cardiac arrhythmia. J Imaging. 9 (3), 70(2020).
  2. Reegu, F. A., et al. Blockchain-based framework for interoperable electronic health records for an improved healthcare system. Sustainability. 15 (8), 6337(2023).
  3. Aseeri, A. O. Uncertainty-aware deep learning-based cardiac arrhythmias classification model of electrocardiogram signals. Computers. 11 (6), 82(2021).
  4. Tesfai, H., et al. Lightweight ShuffleNet-based CNN for arrhythmia classification. IEEE Access. 12, 111842-111854 (2022).
  5. Pandey, S. K., Janghel, R. R. Automatic detection of arrhythmia from imbalanced ECG database using CNN model with SMOTE. Australas Phys Eng Sci Med. 42 (4), 1129-1139 (2019).
  6. Hu, R., Chen, J., Zhou, L. Transformer-based deep neural network for arrhythmia detection using continuous ECG signals. Comput Biol Med. 105, 325(2022).
  7. Dang, H., et al. Novel deep arrhythmia-diagnosis network for atrial fibrillation classification using electrocardiogram signals. IEEE Access. 7, 75577-75590 (2019).
  8. Li, J., Zhang, Y., Gao, L., Li, X. Arrhythmia classification using biased dropout and morphology-rhythm feature with incremental broad learning. IEEE Access. 9, 66132-66140 (2021).
  9. Joddoa, A. S. Heart disease prediction system using SMOTE-balanced dataset and decision classifier. AIP Conf. Proc. 2834, 050006(2023).
  10. Li, Y., Qian, R., Li, K. Inter-patient arrhythmia classification with improved deep residual convolutional neural network. Comput Methods Programs Biomed. 214, 106582(2022).
  11. Kiranyaz, S., Ince, T., Gabbouj, M. Real-time patient-specific ECG classification by 1-D convolutional neural networks. IEEE Trans Biomed Eng. 63 (3), 664-675 (2016).
  12. Attention is all you need. Vaswani, A., et al. Proceedings of the 31st International Conference on Neural Information Processing Systems, Long Beach, California, USA, , 6000-6010 (2017).
  13. Rajpurkar, P., et al. Cardiologist-level arrhythmia detection with convolutional neural networks. arXiv. , preprint arXiv:1707.01836 (2017).
  14. Zihlmann, M., Perekrestenko, D., Tschannen, M. Convolutional recurrent neural networks for electrocardiogram classification. arXiv. , preprint arXiv:1710.06122 (2018).
  15. Kim, D., Lee, K. Novel hybrid CNN-transformer model for arrhythmia detection without R-peak identification using Stockwell transform. Sci Rep. 15, 7817(2025).
  16. Diker, A., Aydin, K. Transformer-based attention model for arrhythmia detection using ECG signals. Biomed Signal Process Control. 68, 102679(2021).
  17. Convolutional neural network hyperparameter tuning with Adam optimizer for ECG classification. Sen, S. Y., Ozkurt, N. 2020 Innovations in Intelligent Systems and Applications Conference (ASYU), , 50717(2020).
  18. Smote, N. V. C. Synthetic minority over-sampling technique for handling class imbalance. J Artif Intell Res. 6, 321-357 (2002).
  19. Xia, Y., Wulan, N., Wang, K., Zhang, H. Detecting atrial fibrillation by deep convolutional neural networks. Comput Biol Med. 116, 103345(2020).
  20. Mohonta, S. C., Motin, M. A., Kumar, D. K. Electrocardiogram-based arrhythmia classification using wavelet transform with deep learning model. Sensing Bio-Sensing Res. 37, 100502(2022).
  21. Oh, S. L., Ng, E. Y. K., Tan, R. S., Acharya, U. R. Automated diagnosis of arrhythmia using combination of CNN and LSTM techniques with variable-length heart beats. Comput Biol Med. 102, 278-287 (2018).
  22. Izci, E., Ozdemir, M. A., Degirmenci, M., Akan, A. Cardiac arrhythmia detection from 2D ECG images by using deep learning technique. 2019 Medical Technologies Congress (TIPTEKNO). , 1-4 (2019).
  23. Zheng, Z., Chen, Z., Hu, F., Zhu, J., Tang, Q., Liang, Y. Automatic diagnosis of arrhythmias using a combination of CNN and LSTM technology. Electronics. 9 (1), 121(2020).
  24. Isin, A., Ozdalili, S. Cardiac arrhythmia detection using deep learning. Procedia Comput Sci. 120, 268-275 (2017).
  25. Huang, J., Chen, B., Yao, B., He, W. ECG arrhythmia classification using STFT-based spectrogram and convolutional neural network. IEEE Access. 7, 92871-92880 (2019).
  26. Wang, T., Lu, C., Sun, Y., Yang, M., Liu, C., Ou, C. Automatic ECG classification using continuous wavelet transform and convolutional neural network. Entropy. 23 (1), 119(2021).

Access restricted. Please log in or start a trial to view this content.

Reprints and Permissions

Request permission to reuse the text or figures of this JoVE article

Request Permission

Tags

Arrhythmia ClassificationElectrocardiogram SignalConvolutional Neural NetworkTransformer ModelDeep Learning ModelHeartbeat ClassificationLead I ECGTemporal DependenciesClass BalancingDigital Healthcare
Video Coming Soon

Related Articles