如何检测(心电图)波的模式? [英] How to detect patterns in (electrocardiography) waves?
问题描述
我正在试着从心电图上读取一幅图像,并检测其中的每一个主要波(P波、QRS波和T波)。我可以读取图像并获得向量(如(4.2; 4.4; 4.9; 4.7; ...)
)。我需要一个算法,它可以遍历这个矢量,并检测每个波的开始和结束时间。示例:
如果它们的大小总是相同的,或者如果我事先知道ECG有多少个波,那就很容易了。给定波形:
我提取向量:
[0; 0; 20; 20; 20; 19; 18; 17; 17; 17; 17; 17; 16; 16; 16; 16; 16; 16; 16; 17; 17; 18; 19; 20; 21; 22; 23; 23; 23; 25; 25; 23; 22; 20; 19; 17; 16; 16; 14; 13; 14; 13; 13; 12; 12; 12; 12; 12; 11; 11; 10; 12; 16; 22; 31; 38; 45; 51; 47; 41; 33; 26; 21; 17; 17; 16; 16; 15; 16; 17; 17; 18; 18; 17; 18; 18; 18; 18; 18; 18; 18; 17; 17; 18; 19; 18; 18; 19; 19; 19; 19; 20; 20; 19; 20; 22; 24; 24; 25; 26; 27; 28; 29; 30; 31; 31; 31; 32; 32; 32; 31; 29; 28; 26; 24; 22; 20; 20; 19; 18; 18; 17; 17; 16; 16; 15; 15; 16; 15; 15; 15; 15; 15; 15; 15; 15; 15; 14; 15; 16; 16; 16; 16; 16; 16; 16; 16; 16; 15; 16; 15; 15; 15; 16; 16; 16; 16; 16; 16; 16; 16; 15; 16; 16; 16; 16; 16; 15; 15; 15; 15; 15; 16; 16; 17; 18; 18; 19; 19; 19; 20; 21; 22; 22; 22; 22; 21; 20; 18; 17; 17; 15; 15; 14; 14; 13; 13; 14; 13; 13; 13; 12; 12; 12; 12; 13; 18; 23; 30; 38; 47; 51; 44; 39; 31; 24; 18; 16; 15; 15; 15; 15; 15; 15; 16; 16; 16; 17; 16; 16; 17; 17; 16; 17; 17; 17; 17; 18; 18; 18; 18; 19; 19; 20; 20; 20; 20; 21; 22; 22; 24; 25; 26; 27; 28; 29; 30; 31; 32; 33; 32; 33; 33; 33; 32; 30; 28; 26; 24; 23; 23; 22; 20; 19; 19; 18; 17; 17; 18; 17; 18; 18; 17; 18; 17; 18; 18; 17; 17; 17; 17; 16; 17; 17; 17; 18; 18; 17; 17; 18; 18; 18; 19; 18; 18; 17; 18; 18; 17; 17; 17; 17; 17; 18; 17; 17; 18; 17; 17; 17; 17; 17; 17; 17; 18; 17; 17; 18; 18; 18; 20; 20; 21; 21; 22; 23; 24; 23; 23; 21; 21; 20; 18; 18; 17; 16; 14; 13; 13; 13; 13; 13; 13; 13; 13; 13; 12; 12; 12; 16; 19; 28; 36; 47; 51; 46; 40; 32; 24; 20; 18; 16; 16; 16; 16; 15; 16; 16; 16; 17; 17; 17; 18; 17; 17; 18; 18; 18; 18; 19; 18; 18; 19; 20; 20; 20; 20; 20; 21; 21; 22; 22; 23; 25; 26; 27; 29; 29; 30; 31; 32; 33; 33; 33; 34; 35; 35; 35; 0; 0; 0; 0;]
我要检测,例如:
[19 - 37]
中的P波。[51 - 64]
中的QRS复合波。- 等
推荐答案
我要做的第一件事是查看已有的内容。事实上,这个具体的问题已经得到了深入的研究。以下是一些非常简单的方法的简要概述:link。
我也必须回答另一个问题。我从事信号处理和音乐信息检索方面的研究。从表面上看,这个问题看起来确实类似于发病检测,但问题上下文并不相同。这种类型的生物信号处理,即P、QRS和T相的检测,可以利用这些波形中的每一个的特定时域特性的知识。实际上,MIR中的起病检测并不能做到这一点。(至少不可靠。)
可以很好地用于QRS检测(但不一定用于音符起始检测)的一种方法是动态时间扭曲。当时域特性保持不变时,DTW可以非常好地工作。以下是一篇使用DTW解决此问题的简短IEEE论文:link。这是一篇不错的IEEE杂志文章,它比较了许多方法:link。您将看到已经尝试过许多常见的信号处理模型。浏览一下这篇文章,然后尝试一篇您基本理解的文章。
编辑:在浏览了这些文章之后,基于小波的方法对我来说似乎是最直观的。DTW也会工作得很好,而且也有DTW模块,但对我来说,小波方法似乎是最好的。其他人通过利用信号的衍生品做出了回应。我的第一个链接检查了1990年以前的方法,但我怀疑它们没有更现代的方法那么健壮。
编辑:如果有机会,我会尝试给出一个简单的解决方案,但我认为小波适合的原因是因为它们在参数化各种形状方面很有用,无论时间或幅度缩放。换句话说,如果你有一个信号具有相同的重复时间形状,但在不同的时间尺度和幅度,小波分析仍然可以识别这些形状相似(粗略地说)。还请注意,我在某种程度上将过滤器组归入这一类别。类似的事情。
这篇关于如何检测(心电图)波的模式?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!