本公开涉及用于检测心电图(ecg)信号(诸如由用于健康监测的可穿戴设备获取的信号)中的异常的技术。
背景技术:
ecg信号中的异常检测是指找到不符合所监测的信号的预期行为的模式的问题。这些异常模式可以转化为显著信息,诸如心脏活动异常(心律失常)、感测过程中的故障等。
可穿戴设备可以连续地获取、存储和周期性地传输通常由主机设备实时处理的生理信号。ecg信号的形态特点可能对于不同的用户而显示出显著的变化,因此通用方法在可穿戴设备上可能表现不佳。例如,每次可穿戴设备被重新定位或受到意外移动时,ecg形态可能被修改。对于日常活动,心率和心跳的形态也可以改变。
技术实现要素:
在正常条件下获得的ecg心跳的特征在于特定的形态结构。另一方面,不符合这种结构的ecg获取可以被认为是异常。在一个实施例中,假设正常ecg心跳由稀疏模型很好地描述,诸如基于稀疏表示理论的模型。假设正常心跳s可以被建模为s=d·x+e,其中,d是未知字典(dictionary),x是稀疏系数向量,e是来自感测过程的随机噪声。在实施例中,以数据驱动方式(例如,直接从可穿戴设备获取的数据)来学习模型。在学习阶段期间,确定提供感测的训练数据集合的稀疏表示的字典d。在测试阶段中,对于每个获取的心跳s,计算稀疏系数向量x,使得重建误差||s-d·x||2最小(粗略地说,评估这种心跳对学习模型的拟合优度)。对于异常心跳,假设观察到的重建误差将超过所容许的噪声能量。
在实施例中,一种方法,包括:检测心跳信号中的搏动;将心率和加速度的能量与检测到的搏动相关联;基于与检测到的搏动相关联的心率和加速度的能量来将检测到的搏动选择性地包括检测到的搏动集合中;和执行以下各项中的至少一项:使用所检测到的搏动集合作为训练数据集合来生成稀疏近似(sparseapproximation)模型的字典;以及使用稀疏近似模型的字典来检测检测到的搏动集合中的异常搏动。在实施例中,该方法包括:将基于与检测到的搏动集合中的搏动相关联的心率和加速度的能量的搏动变换(beattransform)应用于所选择的搏动集合中的搏动,生成自适应的搏动(adaptedbeat);基于与检测到的搏动集合中的搏动相关联的心率和加速度的能量来将字典变换应用于字典,生成自适应的字典(adapteddictionary);生成相对于自适应的字典的自适应的搏动的稀疏近似;和基于所生成的稀疏近似来将检测到的搏动集合中的搏动分类为异常。在实施例中,基于稀疏近似来将搏动集合中的搏动分类为异常包括:确定与自适应的搏动的稀疏近似相关联的均方根误差;将均方根误差与阈值误差进行比较;以及基于比较来将搏动集合中的搏动分类为异常或正常。在实施例中,该方法包括:响应于将搏动集合中的搏动分类为异常,发起与搏动集合中的搏动有关的数据的传输。在实施例中,该方法包括:响应于搏动集合中的搏动被分类为异常,存储与搏动集合中的搏动有关的数据。在实施例中,心率是局部心率,并且将检测到的搏动选择性地包括在检测到的搏动集合中包括:确定检测到的搏动的准时心率是否是相对于与检测到的搏动相关联的局部心率的外点心率;确定检测到的搏动是否是相对于与检测到的搏动相关联的加速度的能量的外点搏动;当准时心率是相对于局部心率的外点心率并且检测到的搏动是相对于与检测到的搏动相关联的加速度的能量的外点搏动时,从检测到的搏动集合中排除检测到的搏动;当准时心率是相对于局部心率的内点心率并且检测到的搏动是相对于与检测到的搏动相关联的加速度的能量的内点搏动时,将所检测到的搏动包括在检测到的搏动集合中;和当准时心率是相对于局部心率的外点心率并且检测到的搏动是相对于与所检测到的搏动相关联的加速度的能量相关联的内点搏动时,从检测到的搏动集合中排除检测到的搏动并且将其分类为节律性异常搏动。在实施例中,该方法包括:将基于与检测到的搏动集合中的搏动相关联的心率和加速度的能量的搏动变换应用于所选择的搏动集合中的搏动,生成自适应的搏动;将基于与检测到的搏动集合中的搏动相关联的心率和加速度的能量的字典变换应用于字典,生成自适应的字典;生成相对于自适应的字典的自适应的搏动的稀疏近似;和基于自适应的搏动的所生成的稀疏近似来将检测到的搏动集合中的搏动分类为异常。在实施例中,该方法包括通过迭代地进行以下各项而使用检测到的搏动集合作为训练数据集合来生成稀疏表示字典:生成稀疏表示矩阵的系数;和优化字典和稀疏表示矩阵的系数。在实施例中,心率是与检测到的搏动集合相关联的参考心率,并且将检测到的搏动选择性地包括在检测到的搏动集合中包括:确定检测到的搏动的准时心率是否是相对于参考心率的外点心率;确定检测到的搏动是否是相对于与检测到的搏动相关联的加速度的能量的外点搏动;当准时心率是相对于参考心率的外点心率时,从检测到的搏动集合中排除检测到的搏动;当检测到的搏动是相对于与检测到的搏动相关联的加速度的能量的外点搏动时,从检测到的搏动集合中排除检测到的搏动。在实施例中,该方法包括:使用检测到的搏动集合作为训练数据集合来生成稀疏近似模型的字典,其中,心跳信号是训练心跳信号;检测测试心跳信号中的搏动;将局部心率和加速度的能量与测试心跳信号中的检测到的搏动相关联;基于与测试心跳信号中的检测到的搏动相关联的局部心率和加速度的能量来将检测到的搏动选择性地包括在测试搏动集合中;和使用稀疏近似模型的字典来检测测试搏动集合中的异常搏动。在实施例中,设备被配置成执行本文中所公开的方法中的一个或多个方法。
在实施例中,一种设备,包括:接口,被配置成接收测试心跳信号、以及一个或多个加速度信号;和信号处理电路,被配置成:检测测试心跳信号中的搏动;将心率和加速度的能量与检测到的搏动相关联;基于与检测到的搏动相关联的心率和加速度的能量来将检测到的搏动选择性地包括在测试搏动集合中;和使用稀疏近似模型的字典来检测测试搏动集合中的异常搏动。在实施例中,信号处理电路在操作中:将基于与测试搏动集合中的搏动相关联的心率和加速度的能量的搏动变换应用于所选择的搏动集合中的搏动,生成自适应的搏动;将基于与测试搏动集合中的搏动相关联的心率和加速度的能量的字典变换应用于字典,生成自适应的字典;生成相对于自适应的字典的自适应的搏动的稀疏近似;和基于所生成的稀疏近似来生成指示测试搏动集合中的搏动是否异常的信号。在实施例中,基于所生成的稀疏近似来生成指示测试搏动集合中的搏动是否异常的信号包括:确定与自适应的搏动的所生成的稀疏近似值相关联的均方根误差;将均方根误差与阈值误差进行比较;和基于比较来生成信号。在实施例中,当所生成的信号指示测试搏动集合中的搏动是异常的时,信号处理电路发起与测试搏动集合中的搏动有关的数据的传输。在实施例中,心率是局部心率,并且将检测到的搏动选择性地包括在测试搏动集合中包括:确定检测到的搏动的准时心率是否是相对于与检测到的搏动相关联的局部心率的外点心率;确定检测到的搏动是否是相对于与检测到的搏动相关联的加速度的能量的外点搏动;当准时心率是相对于局部心率的外点心率或检测到的搏动是相对于与检测到的搏动相关联的加速度的能量的外点搏动时,从检测到的搏动集合中排除检测到的搏动;和当准时心率是相对于局部心率的内点心率并且检测到的搏动是相对于与检测到的搏动相关联的加速度的能量的内点搏动时,将检测到的搏动包括在检测到的搏动集合中。在实施例中,接口被配置成接收训练心跳信号;并且信号处理电路被配置成:检测训练心跳信号的搏动;将参考心率和加速度的能量与训练心跳信号的检测到的搏动相关联;基于与训练心跳信号中的检测到的搏动相关联的心率和加速度的能量来将训练心跳信号的检测到的搏动选择性地包括在训练数据集合中;和使用训练数据集合来生成稀疏表示模型的字典。在实施例中,信号处理电路通过迭代地进行以下各项来生成稀疏表示模型的字典:生成稀疏表示矩阵的系数;以及优化字典和稀疏表示矩阵的系数。在实施例中,参考心率与训练心跳信号相关联,并且将训练心跳信号的检测到的搏动选择性地包括在训练数据集合中包括:确定训练心跳信号的检测到的搏动的准时心率是否是相对于参考心率的外点心率;确定训练心跳信号的检测到的搏动是否是相对于与训练心跳信号的检测到的搏动相关联的加速度的能量的外点搏动;当准时心率是相对于参考心率的外点心率时,从训练数据集合中排除训练心跳信号的检测到的搏动;和当训练心跳信号的检测到的搏动是相对于与训练心跳信号的检测到的搏动相关联的加速度的能量的外点搏动时,从训练数据集合中排除训练心跳信号的检测到的搏动。
在实施例中,一种系统,包括:传感器,被配置成生成心跳信号;加速度计,被配置成生成一个或多个加速度信号;以及信号处理电路,被配置成:检测测试心跳信号的搏动;将心率和加速度的能量与测试心跳信号的检测到的搏动相关联;基于与测试心跳信号的检测到的搏动相关联的心率和加速度的能量来将测试心跳信号的检测到的搏动选择性地包括在测试搏动集合中;和使用稀疏近似模型的字典来检测测试搏动集合中的异常搏动。在实施例中,信号处理电路在操作中:将基于与测试搏动集合中的搏动相关联的心率和加速度的能量的搏动变换应用于所选择的搏动集合中的搏动,生成自适应的搏动;将基于与测试搏动集合中的搏动相关联的心率和加速度的能量的字典变换应用于字典,生成自适应的字典;生成相对于自适应的字典的自适应的搏动的稀疏近似;和基于所生成的稀疏近似来生成指示测试搏动集合中的搏动是否异常的信号。在实施例中,信号处理电路被配置成:检测训练心跳信号的搏动;将参考心率和加速度的能量与训练心跳信号的检测到的搏动相关联;基于与训练心跳信号中的检测到的搏动相关联的心率和加速度的能量将训练心跳信号的检测到的搏动选择性地包括在训练数据集合中;和使用训练数据集合来生成稀疏表示模型的字典。在实施例中,信号处理电路通过迭代地进行以下各项来生成稀疏表示模型的字典:生成稀疏表示矩阵的系数;和优化字典和稀疏表示矩阵的系数。
在实施例中,一种非暂态计算机可读介质,其内容配置心率监测设备以执行一种方法,该方法包括:检测测试心跳信号的搏动;将心率和加速度的能量与测试心跳信号的检测到的搏动相关联;基于与测试心跳信号的检测到的搏动相关联的心率和加速度的能量来将测试心跳信号的检测到的搏动选择性地包括在测试搏动集合中;和使用稀疏近似模型的字典来检测测试搏动集合中的异常搏动。在实施例中,该方法包括:将基于与测试搏动集合中的搏动相关联的心率和加速度的能量的搏动变换应用于所选择的搏动集合中的搏动,生成自适应的搏动;将基于与测试搏动集合中的搏动相关联的心率和加速度的能量的字典变换应用于字典,生成自适应的字典;生成相对于自适应的字典的自适应的搏动的稀疏近似;和基于所生成的稀疏近似来生成指示测试搏动集合中的搏动是否异常的信号。在实施例中,该方法包括:检测训练心跳信号的搏动;将参考心率和加速度的能量与训练心跳信号的检测到的搏动相关联;基于与训练心跳信号中的检测到的搏动相关联的心率和加速度的能量来将训练心跳信号的检测到的搏动选择性地包括在训练数据集合中;和使用训练数据集合来生成稀疏表示模型的字典。在实施例中,该方法包括:通过迭代地进行以下各项来生成稀疏表示模型的字典:生成稀疏表示矩阵的系数;和优化字典和稀疏表示矩阵的系数。
在实施例中,一种系统,包括:用于生成心跳信号的装置;用于生成加速度信号的装置;以及用于通过以下各项来处理测试心跳信号的装置:检测测试心跳信号的搏动;将心率和加速度的能量与测试心跳信号的检测到的搏动相关联;基于与测试心跳信号的检测到的搏动相关联的心率和加速度的能量来将测试心跳信号的检测到的搏动选择性地包括在测试搏动集合中;和使用稀疏近似模型的字典来检测测试搏动集合中的异常搏动。在实施例中,处理测试心跳信号包括:将基于与测试搏动集合中的搏动相关联的心率和加速度的能量的搏动变换应用于所选择的搏动集合中的搏动,生成自适应的搏动;将基于与测试搏动集合中的搏动相关联的心率和加速度的能量的字典变换应用于字典,生成自适应的字典;生成相对于自适应的字典的自适应的搏动的稀疏近似;和基于所生成的稀疏近似来生成指示测试搏动集合中的搏动是否异常的信号。在实施例中,该系统包括:用于通过以下各项来处理训练心跳信号的装置:检测训练心跳信号的搏动;将参考心率和加速度的能量与训练心跳信号的检测到的搏动相关联;基于与训练心跳信号中的检测到的搏动相关联的心率和加速度的能量来将训练心跳信号的检测到的搏动选择性地包括在训练数据集合中;和使用训练数据集合来生成稀疏表示模型的字典。在实施例中,处理训练心跳信号包括:通过迭代地进行以下各项来生成稀疏表示模型的字典:生成稀疏表示矩阵的系数;和优化字典和稀疏表示矩阵的系数。
附图说明
图1图示了正常心跳的示例形态结构。
图2是实施例中的正交匹配追踪(omp)算法的迭代中的信号向量、稀疏表示系数向量和字典之间的关系的图形说明。
图3图示了应用omp算法的方法的实施例。
图4是学习的稀疏模型的实施例的图形说明。
图5图示了应用k-svd算法以生成字典的方法的实施例。
图6图示了检测异常心跳的方法的实施例。
图7是心跳和加速度数据的图形说明。
图8是用户状态和心率与所测量的加速度能量之间的示例关系的图形表示。
图9是应用于所测量的搏动和字典以考虑实施例中用户状态的改变的示例变换配对的图形表示。
图10图示了用于检测异常心跳的系统的实施例。
图11图示了检测异常心跳的方法的实施例。
图12图示了生成用于检测异常心跳的训练字典的子例程或方法的实施例。
图13是ecg迹线的一部分的图形表示。
图14是加速度计数据的图形表示。
图15是ecg迹线的加窗搏动的图形表示。
图16图示了使用训练字典、ecg迹线和加速度计数据来检测异常心跳的子例程或方法的实施例。
图17是ecg迹线的图形表示。
图18是从ecg迹线提取的搏动的示例的图形说明。
图19是处于休息状态的用户的示例搏动和用户在努力状态后的休息中的示例搏动的图形比较。
图20是实施例中的搏动自适应的示例应用的图形说明。
图21是实施例中的字典自适应的示例应用的图形说明。
图22是实施例中的正交匹配追踪(omp)算法的迭代中的自适应信号向量、稀疏表示系数向量和自适应字典之间的关系的图形说明。
图23a至图23d图示了来自研究中患者的示例搏动。
图24图示了以线框图的形式呈现的研究中的异常检测器的实施例的全局行为。
图25表示研究中样本患者的结果。
具体实施方式
专利或申请文件包含至少一张彩色图。具有彩色附图的本专利或专利申请公开的副本将由办公室根据请求并且支付必要的费用来提供。
在以下描述中,阐述了某些细节以便提供对设备、系统、方法和制品的各种实施例的透彻理解。然而,本领域技术人员应当理解,可以在没有这些细节的情况下实践其它实施例。在其它实例中,与例如可穿戴设备和信号处理电路(诸如晶体管、乘法器、发射器、nfc电路、集成电路等)相关联的公知结构和方法在一些附图中未详细示出或描述以避免不必要地模糊实施例的描述。
除非上下文另有要求,否则在下面的说明书和权利要求书中,词语“包括(comprise)”及其变型(诸如“包括(comprising)”和“包括(comprises)”)应以开放的、包含的意义来解释,也就是说,“包括但不限于”。
贯穿本说明书对“一个实施例”或“实施例”的引用意味着结合该实施例描述的特定特征、结构或特点包括在至少一个实施例中。因此,贯穿本说明书在各个地方出现的短语“在一个实施例中”或“在实施例中”不一定是指相同的实施例或所有实施例。更进一步地,特定特征、结构或特点可以在一个或多个实施例中以任何合适的方式组合以获得另外的实施例。
标题仅为了方便而提供,并且不解释本公开的范围或含义。
附图中的元件的尺寸和相对位置不一定按比例绘制。例如,各种元件的形状和角度不是按比例绘制的,并且这些元件中的一些元件被放大和定位以提高附图易读性。进一步地,所绘制的元件的特定形状不一定旨在传达关于特定元件的实际形状的任何信息,并且仅为了便于在附图中识别而选择。
在正常条件下获取的正常ecg信号的特征可以在于特定的形态结构或模式。另一方面,不符合这种结构的ecg获取可以被认为是异常。正常状态的形态可能是复杂的,并且分析或近似模型可能难以开发。
代替使用分析或近似模型,本公开提出采用数据驱动的学习过程,其在实施例中是用户特定的,适应于用户状态的改变,并且通过执行无监督和鲁棒的学习阶段来容易地重新配置。
在正常状态下获取的ecg心跳的特征可以在于特定的形态结构。图1图示了正常心跳的示例性形态结构,并且包括p,q,r,s和t波。在实施例中,从提供正常数据的稀疏表示的训练数据集合开发或学习模型。在测试阶段,可以监测重建误差,即,来自学习模型的测试信号的偏差,以便检测异常。例如,当重建误差超过阈值时,搏动可以被分类为异常。用户状态可以被表征为两个特征的组合,心率hr和加速度ee中的能量的测量。
稀疏表示可以允许通过稀疏线性组合来建模复杂信号,诸如构成字典的冗余原子集合中的仅少数系数是非零的线性组合。使用正常ecg信号的形态的稀疏表示建模可以有助于简化与检测异常心跳相关联的信号处理任务。
已经提出了非稀疏表示模型。参见li等人在proceedingsoftheacmconferenceonbioinformatics,computationalbiologyandbiomedicine,第210至217页,acm,2012中的detectingecgabnormalitiesviatransductivetransferlearning;lagerholm等人的clusteringecgcomplexesusinghermitefunctionsandself-organizingmaps,biomedicalengineering,ieeetransactionson,第47卷,第7期,第838至848页,2000;sivaraks等人的robustandaccurateanomalydetectioninecgartifactsusingtimeseriesmotifdiscovery,comp.math.methodsinmedicine2015。li的缺点是所有数据必须从可穿戴设备连续传送到主机,以便分析数据。lagerholm采用基于神经网络的无监督聚类过程,并且涉及几种不同类型的心跳的分类问题,而不是异常检测。lagerholm也可能难以在可穿戴设备上实现。sivaraks不支持实时检测。尽管alder等人的“sparsecodingwithanomalydetection”,proceedingsofieee,internationalworkshoponmachinelearningforsignalprocessing(mlsp),2003年9月,第1至6页,提出了学习用户的特定模型,但是alder的途径不鲁棒,并且不适应用户状态的改变。
术语“稀疏”是指涉及其非零项的数目的向量的可测量特性。
给定用于i=1,...,n的n个向量
其中列di被称为原子。如果m<n,则d被认为是过完备字典。
令
在上述问题中,如果稀疏向量
等式(2)的问题的更一般版本解决了数据中的噪声的存在,其是实际应用中的现实假设。更具体地,可以假设以下模型成立:
s=dx+e,(3)
其中,e是噪声项,其包括测量和近似模型中的误差。在这种情况下,信号s可以通过相对于字典d的稀疏表示来近似,s≈dx。令
如果稀疏向量
其中t是已知的固定值。该公式化在本文中被称为
正交匹配追踪(omp)是用于找到
图3图示了应用omp算法的方法300的实施例。该方法在302处开始,并且进行到304。在304处,例如通过检索、接收或生成字典d、数据向量s、噪声边界ε和/或目标稀疏度t来定义字典d、要近似的数据向量s、可选地噪声边界ε和目标稀疏度t。噪声边界ε设定限制,使得xs.t.||dx-s||2≤ε。目标稀疏度t设定条件||x||0≤t。该方法从304进行到306。
在306处,方法300设定残差r(0)=s,索引i=0和索引集合
另一omp算法的实施例在下文的表1中阐述。
表1:示例omp算法
在实施例中,异常的检测基于单次搏动的分析。从ecg记录中提取搏动。所提取的心跳可以被表示为
假设正常测试搏动s可以很好地近似为:
s≈dx(6)
其中,d是未知字典,并且系数向量x是稀疏的。以下解释如何与所提出的异常检测器一起计算实施例的字典d和系数向量x的示例,即,字典学习和异常检测。
在实施例中,给出属于正常类别的训练样本的数据库
||dj||2=1forj=1,...,n(7)
其中f表示frobenius范数。该条件||xi||0≤t约束训练集合中的每个向量中的表示的稀疏度,而||dj||2=1是对字典d的每个列的范数的约束,其避免了平凡解。注意,该公式是等式(5)的矩阵版本,其中,d是未知的。这种联合优化问题可以使用k-svd算法来求解。参见aharon等人的svd:analgorithmfordesigningovercompletedictionariesforsparserepresentation,signalprocessing,ieeetransactionson,第54卷,第11期,第4311至4322页,2006。图4中示出了学习稀疏模型的说明性示例。
k-svd是通过在d和x上交替最小化来解决问题(诸如等式7的问题)的迭代算法。k-svd开始于固定数目的迭代和初始字典d(0)(诸如具有完全随机项的字典、或具有训练向量的随机选择的子集的字典)。一般迭代在优化系数x和字典d之间交替。例如使用omp算法首先计算系数,然后与系数的更新一起执行字典更新。联合字典和系数更新包括对字典中每个原子的迭代,联合更新该原子和对应的系数元素。对于每个字典原子dl,其中l=1,...,n,残差被定义为:
其中,
由于dxt具有秩1,所以问题的最小元(例如,等式9的问题)可以被找到作为使用svd的el的最优秩-1近似。给定e-l=∪∑vt,el的svd,d和x可以被设定为d=u1和x=σ1v1。注意,该更新通常不会给出稀疏的x,因此x的列通常不会是稀疏的。这可以通过将
在图5中图示了应用k-svd算法来定义字典d的方法500的实施例。方法500在502开始,并且进行到504。在504处,例如通过检索、接收或生成字典d、训练集合s、噪声界限ε、目标稀疏度t和/或迭代次数j来定义初始字典d(0)、训练集s=[s1,…,sn]、目标稀疏度t、迭代次数j和噪声界限ε。该方法从504进行到506。
在506处,初始化omp算法的索引i,并且该方法进行到508。在508处,方法500使用例如omp算法来确定矩阵x的向量的系数。如所图示的,对于矩阵x中的第i个向量计算
在514处,初始化用于优化字典d和系数x的索引k,并且方法500进行到516。在516处,方法500优化字典d和系数x。如所图示的,这包括设定l等于其表示使用
在522处,方法500递增索引j并且进行到524。在524处,方法500确定是否发生了期望数量的迭代,如所图示的,这通过确定是否j=j+1来进行。当在524处确定需要更多迭代,则方法从524进行到506以开始下一迭代。当在524处确定已经完成了期望数量的迭代时,该方法从524进行到526,其中输出字典d(j)和系数矩阵x。方法500的实施例可以执行附加动作、可以执行较少动作、可以修改动作、并且可以以不同于所图示的顺序来执行动作。
另一k-svd算法的实施例在下文的表2中阐述。
表2:示例k-svd算法
观察到优化问题(诸如上文的等式9的问题)也可以是矩阵因式分解的术语。发现潜在字典的问题可以被视为与发现矩阵s的因式分解为dx的问题相同,其中,d和x具有指示的大小,并且x具有稀疏列。这个矩阵因式分解观点将这个问题与非负矩阵因式分解的相关问题(特别是稀疏非负矩阵因式分解)相关联。
现在假设给出测试信号
测试信号s的t稀疏近似x可以用作测量信号s是正常或异常的程度的工具。为了定量评估测试信号与正常信号的接近程度,可以使用测量稀疏近似精确程度的异常指示器。当通过d的几个原子的线性组合来近似异常信号时,可以预期重建误差的实质性偏差,因为d的原子被学习为表示正常数据。为此,在实施例中可行的异常指示器将是均方根误差(rmse):
该异常指示器可以被认为从
iα=[0,qα](11)
其中,qα表示rmse(9)的经验分布的α-分位数。特别地,如果
在实施例中,可以考虑四分位范围
在这种情况下,如果
如上文所提及的,用户状态的特征可以在于心率hr和所测量的加速度的能量ee。图7以图表形式表示可以从中测量心率的心跳702和可以从中确定加速度的能量的对应的加速度数据704。在日常活动期间,可以预期用户的心率和搏动的形态都响应于用户状态的改变而改变。实施例可以自动调整以补偿改变的用户状态。为了便于对这种变化的适应性,当前用户的状态的特征可以在于心率(hr)和对应的所测量的加速度(ee)的能量。心率可以以单位时间内的搏动来测量,诸如心脏每分钟的收缩数(bpm)。可以通过考虑每个例如10秒的固定大小的窗口来计算当前心率,并且对于每个窗口,计算窗口中的搏动的准时心率的鲁棒统计(在本文其它地方更详细地讨论)。加速度的能量可以被定义为与当前搏动相对应的加速度计数据的l2范数。
如图8所描绘的,组合这两个特征便于覆盖几个状态(例如,休息、行走、睡觉、努力后休息、努力后行走),以及相对于组合来标识外点搏动。观察到,而不是被视为对用户状态进行分类的练习,该过程可以被视为勾画特征空间(hr;ee)。例如,每个配对值(hr;ee)可以与要应用于搏动s和字典d的对应的变换配对p(hr;ee)和f(hr;ee)相关联,以便适应到对应的状态。例如sa=p(hr;ee)(s)和da=p(hr;ee)·f(hr;ee)(d),其中,sa和da分别表示自适应的搏动和字典。为了简单起见,复合p(hr;ee)·f(hr;ee)可以表示为g(hr,ee)。p(hr;ee)可以被认为是搏动变换,并且g(hr,ee)可以被认为是字典变换。
在实施例中,变换p和f可以是通用的,例如,它们不依赖于特定用户。例如,可以通过使用几个用户作为训练集合来学习变换。变换可以用于在用户状态改变时保持重建误差(分别在自适应之前和之后)基本不变。这样,可以使检测器相对于用户状态的改变而基本上不变。这样的变换可以经由例如统计分析(诸如procrustes分析、迁移学习、动态时间扭曲等)来离线地生成。
图8以图表形式表示示例用户状态(如所图示的,休息、行走、睡觉、努力后休息、努力后行走)、以及用户状态与心率hr和所测量的加速度的能量ee之间的示例关系。如上文所讨论的,可以定义和采用用于考虑用户状态的变换。图9图示了要应用于所测量的搏动和字典以考虑用户状态的改变的示例变换配对p(hr,ee)902和f(hr,ee)904。示例变换及其应用在本文其它地方进行更详细地讨论。可以定义和采用其它用户状态和关系。
图10图示了用于检测异常心跳的系统1000的实施例。如所图示的系统1000包括一个或多个处理器p、一个或多个存储器m和分立电路dc,其单独或以各种组合被配置成提供功能性和/或实现系统1000的电路。如所图示的,系统1000通信地耦合(例如,有线或无线耦合)到一个或多个传感器1002,该传感器1002向系统1000提供诸如ecg迹线和加速度计数据之类的数据。在一些实施例中,一个或多个传感器可以集成到系统1000。系统1000包括训练电路或模块1020,其在操作中使用例如本文中所讨论的方法之一的实施例来训练字典。系统1000包括检测电路或模块1030,其在操作中使用训练的字典和本文中所讨论的方法的实施例来检测异常心跳。如所图示的,系统1000还通信地耦合(例如,有线或无线耦合)到提供患者监测功能性的一个或多个远程或本地服务器1050,诸如本地主机(例如,蜂窝电话、移动设备等)和本地或远程服务器。在一些实施例中,系统1000可以通信地耦合到本地主机(例如,蜂窝电话),本地主机又通信地耦合到远程服务器(例如,健康监测服务器)。系统1000包括通信电路或模块1040,其在操作中控制系统1000和其它设备(诸如传感器1002和远程/本地服务器1050)之间的通信。
图11图示了例如可以由图10的系统1000的实施例采用的检测异常心跳的方法的实施例。为了方便起见,将参考图10的系统1000来讨论图11。方法1100在1102处开始并且进行到1104。在1104处,例如通过诸如图10的训练模块1020之类的训练模块使用数据(其可以是实时数据或所存储的数据,诸如ecg迹线和可选的加速度计数据)以训练稀疏模型字典d,其可以存储在例如图10的系统1000的存储器m中。数据可以是例如从诸如图10的传感器1002之类的传感器接收的实况数据,或所存储的训练数据,诸如从诸如图10的服务器1050之类的服务器接收的数据。输入可包括例如7分钟或更长的ecg迹线。七分钟的迹线通常将提供足够的搏动(例如,500或更多搏动)以生成足够的训练数据集合。在实施例中,训练数据集合可以是在训练时段期间处于相对休息状态的用户的数据集合。
方法1100从1104进行到1106。在1106处,例如通过诸如图10的系统1000的检测模块1030之类的检测模块,使用在1104处训练的稀疏模型字典,连同加速度计数据一起,以将连续的ecg迹线的搏动分类为正常或异常。方法1100从1106进行到1108,其中,如所图示的,该方法终止。方法1100可以包括图11中未示出的附加动作,可以不包括图11中所示的所有动作,并且可以将图11中所示的动作分成多个动作。例如,实施例可以包括响应于检测到异常心跳而启用或唤醒通信电路(诸如图10的通信电路1040)的附加动作。这可以通过在期望通信(诸如检测到异常心跳的指示)时启用通信电路来便于节省系统功率。
图12图示了训练用于检测异常心跳的字典的训练子例程或方法1200的实施例,其可以例如被图11的方法1100的实施例和/或被图10的系统1000的实施例来采用。训练是基于对单独搏动的分析,例如,用户的ecg迹线中的单独心跳的分析。训练阶段选择适当的样本搏动训练集合,并且基于样本搏动训练集合来生成稀疏字典d。图13是可以输入到训练子例程或方法1200的ecg迹线或流的一部分的图形表示。该阶段的输入可以是例如约七分钟的时间长度的ecg流,其可以提供约500搏动和加速度计数据,其中用户处于相对休息状态。输出是与固定稀疏度级别t相关联的字典d。
尽管心动周期在开始时以p波开始,但是实施例不需要精确地隔离心跳。相反,可以选择期望沿着时间重复并且彼此一致的追踪部分。在实施例中,r峰用作重复现象的参考点,并且在r峰周围选择固定窗口。在讨论中,心跳或简单的搏动是指窗口内部的样本的这样的集合。还有,实施例可以采用预处理和滤波步骤来分析信号。
方法1200从1202进行到1204,例如,响应于调用训练子例程。
在1204处,检测每个心跳的r峰值。这可以例如通过使用两个中值滤波器对ecg迹线进行滤波以去除基线、并且使用例如pan-tompkins算法检测滤波信号中的r峰来完成。参见pan等人的areal-timeqrsdetectionalgorithm,biomedicalengineering,ieeetransactionon,第3期,第230至236页,1985。r峰用作心跳的参考点。方法1200从1204进行到1206。
在1206处,估计心率。例如,可以估计准时心率(rr)和参考心率(rhr)。心率是心脏每分钟的收缩的数目,例如,每分钟的搏动。可以例如通过将搏动的r峰和相邻搏动的r峰之间的以秒计的时间差除以60来测量准时心率。参考心率可以被认为是休息条件下特定用户的参考心率,并且可以例如基于迹线的准时心率的统计分析来确定。例如,rhr可以被设定为准时心率的中值。实施例可以标识准时心率中的内点,并且排除外点。例如,可以通过确定单独准时心率是否在迹线的参考心率的阈值范围内(例如,[rhr-5bpm,rhr+5bpm])来标识内点。该方法从1206进行到1208。
在1208处,例如使用参考窗口大小的参考窗口对流的搏动进行窗口化,该参考窗口大小可以是固定大小,诸如例如,r-0.35秒、r+0.35秒。对于每个r峰,从ecg流中提取具有位于r峰中的中心的固定大小的窗口。例如,可以考虑大小为0:7s(围绕r峰值的0:35s)的窗口。观察到,由于rhr预期在60bpm至100bpm的范围内,0:7s的窗口便于选择当前搏动的所有pqrst波而不包括来自先前或后续搏动的波。所选择的固定大小的窗口大小可以被称为参考窗口大小(rws),并且被视为用于休息条件下的特定用户的参考窗口。在该水平下,心跳或简单的搏动是指在所选择的窗口内部的样本的收集。图15是ecg迹线的加窗搏动的示例的图形表示。该方法从1208进行到1210。
在1210处,执行运动估计。在实施例中,提供加速度计数据作为输入。ecg数据流和加速度计数据被同步或假定为同步。对于每个心跳,测量相关联的加速度计数据的加速度的能量(ee)。在实施例中,加速度的能量被定义为与围绕r峰的大小为rws的窗口相对应的加速度计数据的l2范数。可以沿着迹线基于滑动窗口使用例如置信区间来标识加速度计数据分布中的外点。参见图7至图8及其描述。图14是加速度计数据的示例的图形表示。该方法从1210进行到1212。
在1212处,选择搏动以获得具有几乎恒定心率的可靠训练数据集合。这可以通过丢弃在1206(rr外点)或1210(与外点加速度计数据相关联的搏动、和/或与休息状态不一致的搏动)处被标识为外点的搏动来完成。关于相对于准时心率rr的外点搏动,可以排除这种搏动,因为外点状态可以是搏动被噪声或运动伪像高度影响的指示器,或者由于例如用户的不随意移动而导致的感测过程中的故障。关于相对于加速度计数据的外点搏动,这种搏动可以类似地被排除为可能受到噪声或运动伪像的影响。关于与休息状态不一致的搏动,可以从用于训练集合的数据中排除这种搏动、和/或大量的这种搏动可以指示该迹线不适合在训练阶段中使用。在实施例中,可以为训练阶段选择具有内点准时心率和内点加速度计数据的搏动。所选择的搏动还可以在1212处经历预处理,诸如通过减去平均值来获得零均值向量(例如,垂直地平移搏动)。经预处理的选择的搏动形成训练数据集si,其也可以表示为:
如果训练数据集中所选择的搏动的数目太低(例如,小于阈值数目,诸如500次搏动),则可以分析附加搏动并且将其添加到训练集合。该方法从1212进行到1214。
在1214处,从训练数据集合si中学习字典。这可以例如使用图5的方法500的实施例和/或表2的k-svd算法的实施例来完成。该方法从1214进行到1216,其中子例程可以返回字典d,可能发生进一步的处理等。例如,字典d可以被提供给异常检测子例程,如本文中别处所讨论的。方法1200的实施例可以执行图12中未示出的附加动作,可以以不同顺序执行图12的动作,可以省略图12中所示的动作,并且可以组合或分割图12中所示的动作。例如,在实施例中,方法1200可以被修改以检查1212处的搏动选择是否指示ecg迹线不适合用于生成字典d,并且当确定ecg迹线不适合时,收集另一ecg迹线以用于训练字典d。
图16图示了使用例如训练的字典、当前ecg迹线和加速度计数据来检测异常心跳的子例程或方法1600的实施例。图17是可以作为子例程1600的输入提供的ecg迹线的图形表示。方法1600可以应用于单独搏动,并且可以顺序地应用于一系列单独搏动,或者并行地应用于单独搏动集合。每个搏动的输出是搏动是正常还是异常的指示。子例程1600从输入中的连续ecg流中提取单个心跳。还有,在分析信号之前可以采用一些预处理和滤波步骤。方法1600在1602开始并且进行到1604。
在1604,检测每个心跳的r峰。这可以例如通过对ecg迹线进行滤波来完成,例如,使用两个中值滤波器来去除基线,并且使用例如pan-tompkins算法来检测经滤波的信号中的r峰。参见pan等人的areal-timeqrsdetectionalgorithm,biomedicalengineering,ieeetransactionon,第3期,第230至236页,1985。图18是从ecg迹线提取的搏动的示例的图形说明。方法1600从1604进行到1606。
在1606处,例如通过计算搏动和相邻搏动的r峰之间的时间差来测量准时心率(rr)。为参考窗口(时间间隔)确定局部心率(hr),其可以是例如固定大小,诸如10秒。可以采用统计分析来确定局部心率hr,例如,在实施例中,可以将窗口中的搏动的准时心率的中值用作局部心率。在实施例中,也可以确定四分位范围iqr=q3-q1,其中,q3和q1分别是窗口中的rr的第三和第一四分位数。可以例如基于阈值来标识准时心率中的外点。例如,低于q1-1.5(iqr)或高于q3+1.5(iqr)的rr可以被标识为外点。可以采用标识外点的其它方法,诸如中值绝对偏差(mad)。应当指出,在实施例中可以采用不同的阈值和其它准则来标识训练和检测方法或例程中的外点。在异常检测之前可以去除被标识为外点的rr,如下文所描述的。
该方法从1606进行到1608。在1608处,例如使用参考窗口大小的参考窗口对流的搏动进行窗口化,参考窗口大小可以是固定大小,例如r-0.35秒,r+0.35秒。对于每个r峰,从ecg流中提取具有位于峰中的中心的固定大小的窗口。例如,可以考虑大小为0:7s(围绕r峰值的0:35s)的窗口。可以选择其它窗口大小,例如以便于选择当前搏动的所有pqrst波,而不包括来自先前或后续搏动的波。所选择的固定大小的窗口大小可以被称为参考窗口大小(rws),并且被认为是特定用户的参考窗口。在该水平下,心跳或简单的搏动是指在所选择的窗口内的样本的收集。图15是ecg迹线的加窗搏动的示例的图形表示。
该方法从1608进行到1610。在1610处,执行运动估计。在实施例中,提供加速度计数据作为输入。ecg数据流和加速度计数据被同步或假设为同步。对于每个心跳,测量相关联的加速度计数据的加速度的能量(ee)。在实施例中,加速度的能量被定义为与围绕r峰的大小为rws的窗口相对应的加速度计数据的l2范数。可以沿着迹线基于滑动窗口使用例如置信区间来标识加速度计数据分布中的外点。参见图7至图8及其描述。应当指出,在实施例中可以采用不同的阈值和其它准则来标识训练和检测方法或子例程中的外点。图14是加速度计数据的示例的图形表示。该方法从1610进行到1612。
在1612处,选择搏动以便排除可能引起异常的假阳性指示的搏动。在实施例中,这可以通过排除具有以下两项的搏动来完成:(i)相对于局部心率被标识为外点的准时心率和(ii)被标识为外点的对应的加速度计数据。可以排除这样的搏动,因为在两个准则下的外点状态可以是搏动被噪声或运动伪像高度影响的指示器,或者由于例如用户的不随意移动而导致的感测过程中的故障。应当指出,作为相对于rr分布的外点的、但是作为相对于加速度计数据的内点的搏动可以是异常搏动(例如,心房早搏、节律性异常搏动等)。因此,在实施例中,作为相对于条件(i)的外点的、但是作为相对于条件(ii)的内点的搏动可以包括在针对异常检测而选择的搏动中。在实施例中,作为相对于条件(i)的外点的、但是作为相对于条件(ii)作为内点的搏动可以在1612处被分类为异常,其中,搏动应当被考虑为异常的指示在1622处考虑,如图12中虚线1626所示。
还应当指出,在实施例中,因为相对于条件(i)的内点状态可以是保留搏动的形态的指示器,所以可以选择作为相对于条件(i)的内点但是作为相对于条件(ii)的外点的搏动,以用于异常检测,因此可以通过在分析中包括搏动来获得有用的信息。所选择的搏动还可以在1612处经历预处理,诸如通过减去平均值(例如,垂直地平移搏动)来获得零均值向量。该方法从1612进行到1614。
在1614处,每次搏动与一个配对的变换p(hr,ee)和f(hr,ee)相关联。参见例如图7至图9及其描述。该方法从1614进行到1616。在1616处,将搏动自适应应用于搏动以考虑当前用户状态。在实施例中,使用所标识的变换p来自适应当前搏动s,如下:
sa:=p(hr,ee)·s(13)
其中,sa是自适应的搏动。例如,如果对于当前搏动s,hr相对较高,而ee相对较低(相对于一些导出阈值),则这可以被视为当前用户状态在努力之后休息的指示。参见图8。
在这种情况下,变换p(hr,ee)可以简单地与尺寸小于窗口rws的窗口上的投影相重合。例如,如果心率较高,则搏动可以彼此跟随得更接近和更宽,窗口(例如,大小为rws的窗口)可以包括来自先前或后续搏动的波。参见图19,其图示了与在努力条件(底部)之后的休息中的示例搏动形成对比的休息条件(顶部)下的示例搏动。在数学术语中,p(hr,ee)可以与单位矩阵相对应,其中对角线的第一元素和最后元素中的一个或多个元素被设定为零。这种情形在图20中图示,图20是使用变换p(hr,ee)来自适应努力之后休息状态下的用户的搏动srws以生成自适应的搏动sa的实施例中的搏动自适应的示例应用的图形说明。方法1600从1616进行到1618。
在1618,将字典自适应应用于搏动以考虑当前用户状态。在实施例中,使用所标识的变换f来自适应电流d,如下:
da=p(hr,ee)·f(hr,ee)(d)=g(hr,ee)(d)(14)
其中,da是自适应的字典。例如,如果对于当前搏动s,hr是相对较高,而ee是相对较低(相对于一些导出阈值)(与在1616处的示例中讨论的相同的条件),这可以被看作是当前用户状态正在在努力之后休息。参见图8。在这种情况下,如上文所讨论的,变换p(hr,ee)可以简单地与尺寸小于窗口rws的窗口上的投影相重合。从图19可以看出,图19图示了与在努力条件(底部)之后的休息中的示例搏动形成对比的休息条件(顶部)下的示例搏动,可以看出,在努力状态之后的休息中,搏动pqrst的形态略有伸展。因此,在实施例中,f(hr,ee)可以是包含与拉伸波相对应的权重的带矩阵。参见图9,其示出了当搏动处于努力状态之后的休息中时可以由实施例采用的矩阵p902和矩阵f904的示例。注意,例如,当搏动与努力之后休息用户状态相对应时,g(hr,ee)=p(hr,ee)·f(hr,ee)可以是带矩阵,其还将字典的原子投影到大小比rws更小的窗口上,如图21所示。方法1600从1618进行到1620。
在1620处,相对于自适应的字典da来确定自适应的测试搏动sa的t稀疏近似x。注意,sa∈rma,s相对于自适应的字典da的自适应测试心跳。这可以使用omp算法(诸如图3的方法300或表1的算法)来完成,以提供对以下问题的近似解:
图22是在用于在努力状态之后的休息中的用户的实施例中的omp算法的迭代中的向量sa和x与字典da之间的关系的图形说明。
方法1600从1620进行到1622,其中,执行异常搏动的检测。这可以通过以下各项来完成:基于自适应的测试搏动sa相对于自适应的字典da的稀疏近似x来确定搏动s的异常指示器,将异常指示器与异常指示器的预期值或值的范围进行比较,以及基于比较来将搏动分类为正常或异常。示例异常指示器是均方根误差:
其中,sa是自适应的测试搏动向量,da是自适应的字典,x是自适应的测试搏动向量的稀疏近似。可以将均方根误差与均方根误差的期望值进行比较,并且可以基于比较将搏动分类为正常或异常。可以采用一个或多个阈值、一个或多个阈值范围和一个或多个查找表来将搏动分类为正常或异常。例如,如果
则搏动可以被认为是异常的,其中,γ是确定对异常的响应性的阈值,并且通常可以被设定为控制假阳性率,例如,被分类为异常的正常搏动的百分比。参见异常指示器的讨论和上文的图6。如上文关于1612所讨论的,作为相对于条件(i)的外点的但是作为相对于条件(ii)的内点的搏动可以在1612处被分类为异常,其中搏动应当被分类为异常的指示在1622处被考虑,如虚线1626所示。
方法1600从1622进行到1624,其中,子例程可以返回搏动是否是异常的指示,其中,可以发生进一步的处理等。方法1600的实施例可以执行图16中未示出的附加动作,可以以不同顺序执行图16的动作,可以省略图16中所示的动作,可以修改图16中所示的动作,并且可以组合或分割图16中所示的动作。例如,在实施例中,可以修改方法1600以检查附加搏动是否要在1622处分类,并且当确定附加的搏动仍然要被分类时,返回到1604以处理下一搏动。在另一示例中,可以修改子例程以执行误差处理,诸如响应于搏动被分类为异常,从而发起与被分类为异常的搏动有关的数据的传输。在另一示例中,例程1600可以被修改以追踪在阈值时间段内从在1612处选择的搏动中排除的搏动的比例,并且当该比例指示字典可能不再有效时(例如,由于传感器的改变位置),调用子例程来更新字典,诸如图12的子例程1200。可以采用阈值来确定字典是否可能不再有效。
通常,可穿戴设备连续地或周期性地将所有数据发送到主机设备,该主机设备可以进而将所有数据发送到远程应用服务器。这可能导致可穿戴设备和主机设备的强烈能量消耗。在实施例的一种操作模式中,训练阶段(例如,定义字典)可以在可穿戴设备上执行(参见图10的系统1000)。当检测到异常时,感测到的数据可以由可穿戴设备传输到主机(例如,蜂窝电话,参见图10的本地服务器1050),而不是周期性地或连续地。主机可以依次将数据发送到远程服务器(参见图10的远程服务器1050)。在实施例的一种操作模式中,训练数据可以由可穿戴设备传输到主机设备。字典可以由主机设备或远程服务器生成,并且被传输到可穿戴设备。当检测到异常时,感测到的数据可以由可穿戴设备传输到主机,而不是周期性地或连续地。
实施例可以提供相对于不同的用户状态(时间和移动变化的动态)是自适应的,易于可重新配置(重新训练)的用户特定字典(模型学习表征单个用户的心跳的形状),而不需要学习与每个不同用户状态相关联的搏动形状,并且其具有鲁棒的训练和测试(检测)阶段(例如,可以检测和移除噪声和运动伪像)及其各种组合。实施例可以在无监督训练模式下操作(可以从训练数据中滤波杂散信号)。在实施例中,训练和测试(检测)的全部或部分可以在可穿戴设备上执行,而非在主机或远程服务器上执行。在实施例中可以采用压缩数据(诸如使用压缩的感测数据)。
在实施例中,使用测试数据集合在脉冲传感器上实施测试(检测)阶段的执行,并且测试(检测)阶段的执行足够快以便于在可穿戴设备上的实时执行。下文对实验中使用的测试设置进行描述。使用mit-bih心律失常数据库来测试该程序。参见goldberger等人的physiobank,physiotoolkitandphysionet:componentsofanewresearchresourceforcomplexphysiologicsignals,circulation,第101卷,第23期,第e215至e220页,2000。
由于对于mit-bih心律失常数据库,每个患者的可用搏动数目不是非常高(在大多数情况下从1000至2500),通常执行k-交叉验证。在k折交叉验证中,将原始样本划分为k个相等大小的子样本。在k个子样本中,保留单个子样本作为用于测试模型的验证数据,并且剩余的k-1个子样本用作训练数据。交叉验证过程然后重复k次(折),其中k个子样本中的每一个子样本精确地使用一次作为验证数据。然后对来自折的k个结果进行平均以产生单个估计。
异常检测性能通常使用常规接收器操作特点(roc)曲线来评估,其中,参数是阈值γ。roc曲线绘制了真阳性检测率(tpr)(被定义为真阳性结果(正确检测的异常)的比例)与对应的假阳性率误差(fpr)(被定义为假阳性结果(检测为异常的正常信号)的比例)。当异常检测阈值γ变化时,这两个值相对于彼此而改变。回想一下,曲线下面积(通常被称为auc)等于检测器将排列高于随机选择的正常搏动的随机选择的异常的概率。
对于γ参数的固定值,还考虑以下因素:精确度(被定义为真实结果(真阳性和真阴性,例如,正确检测的异常和正确检测的正常搏动)在所检查的情况的总数中的比例)、精度(被定义为真阳性结果(正确检测的异常)对所有阳性结果(真阳性和假阳性,例如,正确检测的异常和被检测为异常的正常搏动)的比例)、以及假阴性率(fnr)(被定义为假阴性结果的比例(错误检测的异常))。
其它分析的参数包括稀疏度级别t、搏动m的长度和字典冗余度r:=n/m。
除非另有说明,否则本文中所讨论的程序一次处理来自一个单个导联的信号。
包括在mit-bih心律失常数据库中的ecg的源是在1975年至1979年期间由bethisraelhospitalarrhythmialaboratory获得的超过4000个长期holter记录的集合。大约60%的记录是从住院病人获得的。数据库包含从该集合中随机选择的23个记录(编号从100到124,包括一些缺失的编号),和从相同集合中选择的25个记录(编号从200到234,同样包括一些缺失的编号),以包括各种罕见但临床上重要的现象,该现象不会很好地由holter记录的小随机样本来表示。48个记录中的每个记录略长30多分钟。第一组旨在用作心律失常检测器在常规临床使用中可能遇到的各种波形和伪像的代表性样本。选择第二组中的记录以包括复杂的室性、交接性和室上性心律失常和传导异常。受试者为25名年龄32至89岁的男性,22名年龄23至89岁的女性。记录201和202来自同一个男性受试者。
对于每个患者,从两个导联来记录两个信号并且结合对搏动的注释。如在临床实践中预期的那样,受试者之间的导联不同。在大多数记录中,一个通道是通过将电极放置在胸部上作为动态ecg记录的标准实践获得的修改的肢体导联ii(mlii),并且另一个通道通常是v1(有时是v2,v4或v5,取决于受试者)。
采样频率为360hz。选择这个值以适应使用简单的数字陷波滤波器以去除60hz(电源频率)干扰。
对于每个记录,两个迹线给予独立工作的两个心脏病专家。心脏病专家添加了检测器丢失搏动的位置的附加的搏动标记,必要时删除假检测,并且改变所有异常搏动的标记。他们还添加了节奏标记、信号质量标记和评论。注释从纸图记录中转录。一旦给定记录的两组心脏病专家的注释都被转录和验证,它们就被自动地逐一搏动进行比较。每个偏差都通过协商一致进行审查和解决。一旦注释匹配,结果通常就附加在r波峰处。
在实验中,给定来自mit-bih心律失常数据库的ecg迹线,根据相关注释来提取和标记单独搏动。这里,简要描述实验程序。从所选择的导联中读取样本以及相关注释文件(注释与相关联的搏动的r峰的时间一起存储)。使用pan-tompkins's算法(参见pan等人的areal-timeqrsdetectionalgorithm,biomedicalengineering,ieeetransactionon,第3期,第230至236页,1985)检测r-峰,并且时间上最接近的标记被分配给每个峰。提取具有位于每个r峰中的中心的固定大小的窗口。选择分别与长度m=360、m=252或144的搏动相对应的1s、0.7s或0.4s的窗口大小。搏动被垂直平移以便具有零均值。
属于不同患者的正常心跳常常表现出显著差异。特别地,一些患者具有非常规则的迹线,而其他患者呈现几个不规则性。为了突出一些特定行为并且易于对结果的理解,在一些实验中,选择患者编号119,213和105作为样本。选择这样的患者是因为其正常搏动的形态显示不同的行为:来自患者119的正常搏动总是具有相同的规则形状,而对于患者213和105,形态变得越来越不规则。异常搏动通常从正常搏动中在视觉上可标识(如在三个所选示例中发生的)。由患者222表示特别不幸运的情况,其中不仅正常搏动显著混乱,而且异常搏动难以或不能与正常搏动区分开。
图23a至图23d示出了来自患者119,213,105和222的示例搏动。在图23a至图23d中,左侧的图像以黑色表示正常搏动,右侧的图像以黑色表示正常搏动,并且异常搏动以其它颜色表示。
如图24和图25所演示的,初步结果是令人鼓舞的。特别地,在图24中,描绘了异常检测器的全局行为,因为箱线图呈现了mit-bih数据库中所有患者的结果。图25替代为表示样本患者的结果。对于患者119而言获得最佳结果,对于患者105而言获得最差结果,这与预期结果一致。其他患者的结果可以看作是这两种极端情况之间的范围。
图24是mit-bih数据库中所有患者的roc曲线下面积(auc)的箱线图。箱线图的底部和顶部分别是auc的第一四分位数和第三四分位数,并且箱内部的红色带是中值auc值。晶须(whisker)的末端表示仍然在下四分位数的1.5iqr内的最低auc,并且最高auc仍然在上四分位数的1.5iqr内。不包括在晶须之间的数据被绘制为具有红色标记的外点。箱线图示出了稀疏度水平(spar)和冗余参数(红色)的不同值。在左侧列上,spar=1并且red=10,在中心列上,spar=4并且red=10,以及在右侧列上,spar=4并且red=25。窗口大小为0.7s。
图25图示了样本患者的检测性能。从顶部到底部,示出了来自患者119,213,105的结果。对于每个患者,在左侧列上示出了roc曲线。在中心列上,患者数目(dataset),分别用于训练(train)、评估(thres)和测试(test)阶段的负示例(#neg)(例如,正常波动)的数目,在测试阶段使用的正示例(#pos)(例如,异常搏动)的数目,稀疏度水平(sparsity)和字典大小(dict.size);所分析的特征是:通过设定与95百分位相对应的参数λ获得的roc曲线下面积(auc)、精确度、精度、预期假阴性率(efnr)和预期真阳性率(etpr=1-efnr),参见上文对特征的解释的讨论。在右侧列上图示了后验概率。
一些实施例可以采用或包括计算机程序产品的形式。例如,根据一个实施例,提供了一种包括适于执行上文所描述的方法或功能中的一个或多个的计算机程序的计算机可读介质。介质可以是诸如例如只读存储器(rom)芯片的物理存储介质,或诸如数字通用盘(dvd-rom)、压缩盘(cd-rom)、硬盘、存储器、网络或便携式媒体物品之类的盘以由适当的驱动器或经由适当的连接来读取,包括如以一个或多个条形码编码或存储在一个或多个这样的计算机可读介质上的并且可由适当的阅读器设备读取的其它有关代码。
更进一步地,在一些实施例中,系统和/或模块和/或电路和/或框中的一些可以以其它方式实现或提供,诸如至少部分地以固件和/或硬件,包括但不限于,一个或多个专用集成电路(asic)、数字信号处理器、分立电路、逻辑门、标准集成电路、状态机、查找表、控制器(例如,通过执行适当的指令,并且包括微控制器和/嵌入式控制器)、现场可编程门阵列(fpga)、复杂可编程逻辑器件(cpld)等、以及采用rfid技术的设备、及其各种组合。
可以组合上文所描述的各种实施例以提供另外的实施例。如果必要,则可以修改实施例的各方面以采用各种专利、申请和出版物的概念,以提供另外的实施例。
根据上文所详述的描述,可以对这些实施例进行这些改变和其它改变。通常,在所附权利要求中,所使用的术语不应被解释为将权利要求限制于说明书和权利要求中公开的具体实施例,而是应被解释为包括所有可能的实施例以及这些权利要求所授权的等同权利要求的全部范围。因此,权利要求不受本公开限制。