技术文章及通讯

开发检测算法以减少重症监护病房的误报

菲利普·普莱辛格,捷克科学院科学仪器研究所


来自心电图、脉搏血氧计和其他患者监测设备的虚假警报是重症监护病房(ICUs)的一个严重问题。一项研究发现,高达86%的ICU警报是假的1,另一项研究表明,只有不到10%的人对患者管理是重要的2.假警报的噪音会干扰患者的睡眠,而且假警报的频率会导致临床工作人员对警告变得不敏感,导致反应时间变慢。

最近的一项心脏病学挑战中的物理网络/计算旨在减少ICU假警报的发生率。竞争对手的任务是开发一种算法,可以区分ICU监测设备记录的信号中的真假警报。

我和同事用MATLAB开发的算法®在挑战的实时类别中获得第一名,在回顾类别中获得第二名。我们的算法产生的真阳性率(TPR)和真阴性率(TNR)分别为92%和88%。

心脏病学中的物理网络/计算挑战的目标和要求

2015年的挑战重点是准确检测五种心律失常:

  • 心跳停止-心跳停止4秒或更长时间
  • 心动过缓-连续5次心跳低于每分钟40次
  • 心动过速-连续17次心跳速率高于140 bpm
  • 室性心动过速- 5次或以上心室跳动(始于心室而非心房的心跳),心率高于每分钟100次
  • 心室颤动-持续4秒或更长时间的心脏颤动

研究人员向研究小组提供了750份5分钟的ICU数据记录,这些记录来自Physionet数据库,采样频率为250 Hz。每个记录包括两个ECG通道和来自ABP监控器、PPG设备或两者的信号。

提交给PhysioNet/CinC挑战的算法分为两类:实时和回顾性。在实时类别中,评估算法仅使用实际警报触发前的可用数据正确识别真假警报的能力。在回溯类别中,算法可以使用警报触发后最多30秒的额外记录数据。

挑战赛组织者用500份之前未向参赛者公开的录音对提交的算法进行了测试。算法根据一个公式进行评分,该公式奖励真阳性和真阴性,同时惩罚假阳性和假阴性。所有算法都在国际计算心脏病学会议上展示。会议结束后,组织者宣布了挑战的“后续”阶段,在这个阶段,参赛者被鼓励进一步改进他们的算法。后续阶段于2016年2月结束。

选择方法

虽然参与者被允许用他们选择的任何语言编写算法,但组织者通过将数据集作为MATLAB文件提供,并提供用MATLAB编写的检测算法示例和免费的MATLAB许可证,为MATLAB提供了整体支持。金宝app我通常用c#或Java编程®我是MATLAB的新手,但我决定使用MATLAB,因为它可以让我专注于算法开发。我需要的许多功能都是现成的。例如,当我需要生成直方图、计算快速傅里叶变换(FFT)或应用有限脉冲响应(FIR)滤波器时,我所要做的就是调用适当的MATLAB函数。

查找和消除无效数据

这一挑战中最令人惊讶也是最令人头疼的方面之一是重症监护病房监测设备产生的信号状况不佳。信号质量差不是PhysioNet的错;这是一种常见的情况,可能是由患者移动、布线问题、导线错位、设备配置错误和许多其他问题引起的。信号质量差的一个症状是饱和,当波形在其最高振幅处变平时,会导致失真(图1)。

图1所示。显示失真的饱和信号,其值被剪切。所提出的算法可以在这样的信号中检测到QRS。

图1所示。显示失真的饱和信号,其值被剪切。所提出的算法可以在这样的信号中检测到QRS。

为了尽量减少饱和和信号噪声的影响,我的MATLAB算法必须从输入信号中识别和消除无效数据。算法以两秒为单位分析每个信号的统计特性。对于每个块,将最大振幅、最小振幅和标准偏差与有效数据的既定限值进行比较。算法通过检查70-90 Hz频率范围内信号的幅度包络来识别高频噪声区域。该算法通过计算信号幅度的直方图,并将直方图的第一个和最后一个箱的值与中间箱的值进行比较来识别信号饱和度。

其余用于检测心跳的算法将忽略任何被识别为无效的数据。出于这个原因,我不得不调整无效数据检测算法,使其不会消除太多数据。(如图1所示,饱和信号仍可能包含有意义的信息。)

QRS复合体检测

在心电图中,心跳的特征是轨迹偏离基线的三次连续偏移(图2)。这些偏移被统称为QRS复合体,反映了心室的激活。它们是诊断心脏骤停、心动过缓和心动过速的重要标志。

图2。心电图信号的QRS复合体。

图2。心电图信号的QRS复合体。

为了检测ECG通道中的QRS复合体,我们开发的算法使用信号处理工具箱中的傅里叶变换函数在三个频率范围内计算振幅包络。通过分析和比较这三个包膜的振幅,该算法可以检测QRS复合物,区分正常和心室心跳,并过滤出由心脏起搏器刺激引起的虚假QRS复合物。

检测PPG和ABP通道中的QRS复合物需要不同的方法。对于这些信道,算法应用信号处理工具箱中的一个简单的低通滤波器,然后在滤波后的信号中识别局部极小值。该算法对每个最小值两侧的信号执行线性插值,并检查结果线的斜率,以确定最小值是否来自QRS复数。

检查正常心律

QRS复合体检测算法的输出是每个QRS复合体中R峰在每个信号的最后10-16秒内出现的次数数组。(我们没有分析整个五分钟的录音;《Physionet Challenge》要求触发警报的事件必须在每个文件的第300秒之后的10秒内发生。)从R峰值数组中,算法计算RR间隔,它测量两次连续心跳之间的时间。

为了检查正常的心律,算法调用Statistics和Machine Learning Toolbox™函数来执行RR间隔的统计分析。除了求和和计算间隔的平均值和标准偏差外,算法还计算最小和最大心率。他们将这些计算的所有结果与正常节奏的既定极限进行比较,以识别具有合理QRS复杂分布的节拍系列。如果可用的通道之一- ECG、PPG或ABP -通过测试,则认为心律正常,并报告虚报。仅这一分析就揭示了训练数据中约35%的假警报。

评估警报

如果算法在所有通道上都检测到异常心脏活动,下一步就是证明或否认ICU设备上报的警报。

心跳停止的测试使用一种投票算法,其中每个通道都按其无效率加权。无效率越低的通道对结果的影响越强。该算法将每个信道的信号分成3.2秒的片段。对于每个段,算法更新一个结果向量R,添加任何没有心跳的信道的加权投票值,并减去任何检测到心跳的信道的加权投票值。当结果向量R中的任何值为正数时,算法声明它已识别出心脏停止(图3)。

图3。两个ECG信号和一个PPG信号显示心脏骤停。投票在结果向量R中累积,正值反映一致认为没有心跳

图3。两个ECG信号和一个PPG信号显示心脏骤停。投票在结果向量R中累积,正值反映一致认为没有心跳

心动过缓、心动过速和室性心动过速的测试使用最可靠的通道(通常是ECG)的RR间隔来计算bpm。如果心率低于每分钟46次,算法就会报告心动过缓。如果心率超过130次/分钟或95次/分钟室性心动过速,算法将分别报告心动过速或室性心动过速。

最后一项测试是心室颤动或扑动。纤颤识别不依赖于QRS检测结果,因为当心脏处于纤颤时,没有QRS复合物。相反,该算法使用信号处理工具箱对移动窗口执行短时傅里叶变换。然后它寻找频率峰值高于2hz,这是一个指示颤振或扑动(图4)。

我们考虑过使用机器学习方法对心律失常进行分类,但选择了传统的统计方法,原因有两个:我们对数据中的哪些特征可以用于确认或否认特定警报有良好的现有领域知识,机器学习算法通常更难在硬件中实现和校准,这对于在ICU中部署是必要的。

图4。室颤时频分析。频率峰值在3-6Hz范围内表明颤振或扑动。

图4。室颤时频分析。频率峰值在3-6Hz范围内表明颤振或扑动。

赢得心内科物理网络/计算挑战赛

在开发了算法之后,在由PhysioNet/Computing in Cardiology Challenge组织者提供的训练数据上对它们进行了测试,并对它们进行了改进,以使数据的性能最大化,我将它们提交给了评委。当我的算法在500个录音的测试集上运行时,它们正确地分类了92%的真警报和88%的假警报。在244个参赛作品中,他们在实时部分获得了最高的总分。在挑战的后续阶段,我们的结果更高,我们在实时类别中获得了最高分。

我的同事和我期待看到这些算法中应用的技术在硬件上实现,并用于ICU以减少误报。

关于生理网

该项目成立于1999年,是美国国家卫生研究院赞助的复杂生理信号研究资源,生理网在生物医学的数据和软件资源中占有卓越的地位。它的数据档案PhysioBank是世界上第一个,也是世界上最大、最全面、使用最广泛的时变生理信号和高分辨率临床ICU数据存储库。其软件集合PhysioToolkit支持对PhysioBank和类似数据的探索和金宝app定量分析,该软件具有广泛的文档完备、经过严格测试的开源软件,可以在任何平台上运行。其孵化实验室PhysioNetWorks成立于2011年,允许合作的研究人员安全地私下分享和研究他们自己的数据和软件,然后将它们贡献给PhysioNet进行开放分发。

PhysioNet资源可以在网络上免费获得,并在ODC公共领域奉献和许可v1.0下提供。PhysioNet由美国国金宝app家普通医学科学研究所(NIGMS)和美国国家生物医学成像和生物工程研究所(NIBIB)支持,NIH资助号为2R01GM104987-09。

1S.T. Lawless,《狼来了:儿科重症监护病房的假警报》重症监护医学1994;22(6): 981-985。

2C.L. Tsien, J.C. Fackler,“重症监护病房现有监护仪预后不良”,重症监护医学, 25(4)(1997),页614-619四月

发布日期:2016年9月19日

查看相关功能的文章

查看相关行业的文章