ECG分析:基于深度学习的ECG心律失常分类入门(4)

news/2024/11/30 2:33:11/

ECG分析:基于深度学习的ECG心律失常分类入门(4)

在搭建模型之前,讲一下本次任务需要区分的类别,MITAB根据心拍类型划分了14个小类:
在这里插入图片描述
也可以用wfdb查看:

wfdb.show_ann_labels()
label_store symbol                                    description
0             0                              Not an actual annotation
1             1      N                                    Normal beat
2             2      L                  Left bundle branch block beat
3             3      R                 Right bundle branch block beat
4             4      a                Aberrated atrial premature beat
5             5      V              Premature ventricular contraction
6             6      F          Fusion of ventricular and normal beat
7             7      J              Nodal (junctional) premature beat
8             8      A                   Atrial premature contraction
9             9      S     Premature or ectopic supraventricular beat
10           10      E                        Ventricular escape beat
11           11      j                 Nodal (junctional) escape beat
12           12      /                                     Paced beat
13           13      Q                            Unclassifiable beat
14           14      ~                          Signal quality change
16           16      |                     Isolated QRS-like artifact
18           18      s                                      ST change
19           19      T                                  T-wave change
20           20      *                                        Systole
21           21      D                                       Diastole
22           22      "                             Comment annotation
23           23      =                         Measurement annotation
24           24      p                                    P-wave peak
25           25      B              Left or right bundle branch block
26           26      ^                      Non-conducted pacer spike
27           27      t                                    T-wave peak
28           28      +                                  Rhythm change
29           29      u                                    U-wave peak
30           30      ?                                       Learning
31           31      !                       Ventricular flutter wave
32           32      [      Start of ventricular flutter/fibrillation
33           33      ]        End of ventricular flutter/fibrillation
34           34      e                             Atrial escape beat
35           35      n                   Supraventricular escape beat
36           36      @  Link to external data (aux_note contains URL)
37           37      x             Non-conducted P-wave (blocked APB)
38           38      f                Fusion of paced and normal beat
39           39      (                                 Waveform onset
40           40      )                                   Waveform end
41           41      r       R-on-T premature ventricular contraction

根据AAMI标准,这14个小类集成为5个大类(N, SVEB, VEB, F, Q):
在这里插入图片描述我们的任务也是基于对这5个大类开展的,所以在截取心拍的时候,就要根据标签类型,将样本归类:

#这是截取中间步骤的代码块
if label[j]=='A' or label[j]=='a' or label[j]=='J' or label[j]=='S':Seg=record[label_index[j]-144:label_index[j]+180]segment=resample(Seg,251, axis=0) #根据文章要求,重采样到251个点SVEB_Seg.append(segment)           

到这里,心拍截取好了,也归类了。下面就是模型的搭建(这里就不再专门介绍卷积神经网络了,需要很长篇幅)直接开始模型搭建吧:
模型搭建
这个模型其实没什么新意的,2层卷积2层池化和3个全连接层,算是最入门的了,不过这里作者用了一个“多头”输入(笑cry…)3个输入都是同一条数据,只不过每一个分支设置的卷积核参数不一样,例如第一层的三个通道的卷积核尺寸分别是4,6,8,个人觉得这里没有使用图像处理中的3x3,1x1等更小卷积核,是因为我们的ECG是一个基于幅值的低频数据,小的感受野不一定能够包含一个较大范围的幅值变化,也就是较小的局部区域,很难构成特征性较强的波形。而为什么没有使用诸如16,32之类的大卷积核呢?因为我们的心拍本身就是一个短时间数据,过度关注整体上的变化而忽略了局部,所谓“过犹不及”,所以选择了三个中等大小的卷积核。总的来说,调参是一部分,还有一部分是要基于问题本身,从数据层面的分析,再到模型层面的分析。
在这里插入图片描述原本是324的心拍长度,看到这里的时候,输入是251,作者好像是没提,为了尽可能复现,在这里我就重采样到了251。
交叉验证
拿到文章的第一眼先看看作者做的是关于inter-patient,还是intra-patinet,(关于两种分类模式,推荐看我有一个师兄的博客inter-patient和intra-patienthttps://blog.csdn.net/qq_15746879/article/details/80487543,介绍得很清楚)
读到下面的流程图,一眼就看出来了(其实看最后的结果展示,也看得出来):
在这里插入图片描述
这里,作者是先截取心拍,然后数据集划分,采用了三个不同折的交叉验证:
在这里插入图片描述
基于intra-patient的分类,完全不考虑个体差异性问题,训练集和测试集可以来自同一个病人,个体差异性带来的消极影响最小,实现难度很小,
很容易就可以达到很高的性能。所以,这里我只采用了5折交叉验证的例子(即Experiment3)

总结

本篇就介绍到这里,如果存在错误和疏漏,欢迎提出批评指正!具体代码实现,我会上传到个人的GitHub上https://github.com/cay846545867上,记得给颗小星星鼓励一下哦(点个赞也行的)!!!笔芯笔芯~~~
下一篇笔记将会对实验结果做一个评估和分析。


http://www.ppmy.cn/news/763212.html

相关文章

半监督方法:不确定性感知自增强模型

半监督方法:不确定性感知自增强模型 文献:Uncertainty-aware Self-ensembling Model for Semi-supervised 3D Left Atrium Segmentation(半监督方法:不确定性感知自增强模型) 原文:https://arxiv.org/abs…

[渝粤教育] 中国地质大学 会计专业英语 复习题 (2)

《会计专业英语》模拟题 一.单选题 1.The Realization Principle indicates that revenue usually should be recognized and recorded in the accounting record(). A.when goods are sole or services are rendered to customers B.when cash is collected from customers …

MIT-BIH心律失常数据库目录(译)

目录 MIT-BIH心律失常数据库目录(译)1. 前言2. 介绍Symbols符号表 3. 记录记录100 (MLII,V5;男性,69岁)Record 101 (MLII, V1; female, age 75) 4. 表格 MIT-BIH心律失常数据库目录(译&#xff…

this application was created using the trial version of the xtrareports 解决方法

XtraReport3 xtraReport new XtraReport3(); var mlc sp.tiaoma.ToList(); xtraReport.DataSource mlc;ReportPrintTool tool new ReportPrintTool(xtraReport);//操作要显示什么按钮 tool.PrintingSystem.SetCommandVisibility(new PrintingSystemCommand[]{ PrintingSyst…

浅谈心电信号处理(2)--心电数据库

所谓“工欲善其事,必先利其器“,我们在完成软件算法的设计后,必须通过数据进行验证,否则再好的算法也只能是空中楼阁,水中月镜中花。只有通过大量的数据验证后,才能说设计的算法是合格的,当然这…

CVPR 2022数据集汇总|包含目标检测、多模态等方向

编辑丨极市平台 M5Product Dataset 论文地址:https://arxiv.org/abs/2109.04275 数据集地址:https://xiaodongsuper.github.io/M5Product_dataset/index.html M5Product 数据集是一个大规模的多模态预训练数据集,具有针对电子产品的粗粒度和细…

LAHeart2018左心房分割实战

2018 Atrial Segmentation Challenge 数据准备 The Left Atrium (LA) MR dataset from the Atrial Segmentation Challenge 数据集下载地址:Data – 2018 Atrial Segmentation Challenge (cardiacatlas.org) 数据集结构: Training_Set ├── 0RZDK2…

MIT-BIH Atrial Fibrillation Database(afdb)房颤数据库的介绍以及读取

MIT-BIH Atrial Fibrillation Database(afdb)房颤数据库 数据库地址:https://archive.physionet.org/cgi-bin/atm/ATM 数据库包括25例心房颤动(阵发性颤动)的受试者的长期ECG记录。其中23例数据包括两个ECG信号(.dat文件&#x…