基于嵌入式系统的实时房颤检测算法研究

2023-09-05 09:27胡焱铭鄢苏鹏平钦文李韵池李永勤龚渝顺
医疗卫生装备 2023年7期
关键词:节律心电房颤

魏 良,胡焱铭,鄢苏鹏,平钦文,李韵池,左 锋,李永勤,龚渝顺*

(1.陆军军医大学生物医学工程与影像医学系医学仪器与计量学教研室,重庆400038;2.陆军军医大学基础医学院,重庆400038;3.陆军军医大学第一附属医院信息科,重庆400038)

0 引言

房颤(atrial fibrillation,AF)是临床上最常见的快速性心律失常之一,其患病率随着年龄的增长而增加。房颤使得全因死亡、心血管病死亡和脑卒中死亡的风险增加,因此早发现、早干预对治疗房颤显得尤为重要[1]。然而房颤起病隐匿、无明显症状,且早期房颤又多为阵发性,极易漏诊而耽误病情。目前,主要采用动态心电图(electrocardiogram,ECG)延长诊断时间以提升房颤检出率[2-3],但该方法存在佩戴不便、诊断延时等问题,并且由于需医生开具检查才能佩戴动态心电图设备,检查次数和适用人群受限。当前,随着穿戴式健康监测技术的发展,基于嵌入式系统的心电监测设备逐渐进入家庭[4-5],使得房颤的动态检测成为可能,而房颤实时检测算法是实现该技术的关键[6-8]。

近年来,针对房颤自动检测算法的研究逐渐增多。综合分析现有文献发现,现有算法主要从传统的信号特征提取以及深度学习2 个研究方向来实现房颤的自动检测,其性能评估结果均与算法测试采用的数据之间存在显著关系[9-15]。一方面,数据集的类型对检测准确率影响较大。对于采用MIT-BIH 公开数据集的研究,房颤检测准确率通常高达95%以上,甚至有些能达到99%[9-12];而采用房颤检测挑战竞赛数据库的研究,房颤检测准确率则明显偏低,通常小于90%[13-15]。这是由于采用MIT-BIT 公开数据集的算法,其测试数据库来源于少量的患者心电数据,有效样本量较小,且算法只区分了房颤和正常窦性心律,使得这些研究报道的房颤检测准确率通常很高。但这类结果并不能完全反映算法的真实性能,其对房颤与早搏、心律不齐以及房性心动过速等异常心电节律类型的鉴别能力有待进一步验证。而采用房颤检测挑战赛数据库的研究,其数据样本类型相对丰富,除了房颤以外还包含多种异常心电节律,而复杂的心电节律样本类型严重影响了房颤检测算法的效果。据2018 年的一项研究报道,因受早搏的影响,房颤检测的准确率仅有86%[16]。因此,此类采用竞赛数据库的研究报道的结果相对较低[17]。另一方面,数据集的样本量和独立性严重影响算法性能评估的有效性。目前,大量研究采用的测试数据是通过重复地从同一患者的数据中截取得到的,数据样本之间不具备患者独立性,而随机分组又使得来自不同患者的数据同时出现在训练集和测试集中,造成数据交叠和泄漏的情况,导致在以患者为单位对训练集和测试集进行分组以后,即跨患者模式下,算法的识别准确率明显下降[15]。除上述问题以外,目前大部分的房颤检测算法均是在上位机完成,算法复杂度高,并不适合穿戴式应用场景下的实时检测,嵌入式移植以后的实际效果也并不明确。因此,开发一种适用于穿戴式设备的低复杂度实时房颤检测算法[18],提高复杂心电节律背景及跨患者模式下的检测准确率,对未来穿戴式房颤检测的普及具有重要的意义。

针对当前房颤检测存在的问题,本研究提出一种适用于嵌入式系统的基于P 波平衡性特征及叠加平均比例2 项形态学指标的实时房颤检测算法,并通过课题组收集的大样本临床数据集对算法性能进行评估。

1 实时房颤检测算法设计

1.1 算法设计流程

嵌入式实时房颤检测算法设计主要包括上位机房颤检测算法设计和基于嵌入式系统的算法移植2个阶段,设计流程如图1 所示。首先,在上位机设计房颤检测算法,通过ECG 信号预处理、特征参数提取和建立分类数学模型等步骤完成算法构建,其中特征参数提取涵盖了心率变异性指标分析以及本文提出的2 项心电形态学指标,数学模型则采用支持向量机(support vector machine,SVM)对各心电特征参数进行多特征融合。上位机房颤检测算法测试完成后,将其移植到本研究设计的嵌入式房颤检测设备,封装成可调用应用层函数,通过软件程序接口与硬件系统衔接,实现基于嵌入式系统的房颤实时检测功能。

图1 房颤检测算法设计流程图

1.2 上位机房颤检测算法设计

上位机房颤检测算法采用SVM 建立数学模型对心率变异性指标以及形态学特征的指标进行融合,其流程主要包括信号预处理、特征提取以及SVM模型建立3 个步骤。

1.2.1 信号预处理

本研究采用Ⅱ导ECG 信号进行算法设计。在进行房颤检测之前,需要对ECG 信号进行预处理。先将ECG 信号截取成时长为8 s 的数据段,再采用通带截止频率为0.5~20 Hz 的带通滤波器对信号进行滤波,以抑制低频漂移与高频噪声。

1.2.2 特征参数提取

在预处理完成之后,对信号进行分析,提取特征参数。房颤的ECG 信号具有RR 间期绝对不规则以及形态上P 波消失、f 波出现2 个重要的特征,因此本研究采用心率变异性指标以及形态学指标作为信号特征进行房颤检测。

(1)心率变异性指标。

本研究采用全程正常窦性RR 间期(NN 间期)的总体标准差(standarddeviationofNNintervals,SDNN)[19]来刻画房颤RR 间期分布不规则的特点。为提取心率变异性指标SDNN,首先采用Pan-Tompkins 检测算法[20]识别R 波,然后提取RR 间期,通过公式(1)计算RR 间期的SDNN:

式中,TSDNN为SDNN;TRR,i为第i个RR 间期的值;为所有RR 间期的均值。

(2)形态学指标。

除了RR 间期不齐的特征以外,ECG 信号P 波的消失以及f 波的出现也是判断房颤的重要依据[21]。形态学特征的提取有助于弥补RR 间期特征在区分房颤以及心律不齐、房室传导阻滞、早搏等异常心电节律上的缺陷,提供更加全面的信息用于房颤的准确识别。对于正常的ECG 信号,P 波代表心房激动,多数情况下,P 波的出现具有严格的相位关系,PR间期相对固定;而当出现房颤时,心房电活动的紊乱导致ECG 信号中的P 波被f 波取代,代表心房活动的心电特征失去相位关系。针对这一特点,本研究提出P 波平衡性特征以及叠加平均比例2 项形态学指标用于构建房颤检测数学模型。

在计算P 波平衡性特征时,首先利用定位的R 波截取每一个RR 间期后半段的数据段Si(如图2所示),然后将第i个RR 间期的数据段Si分为前后两部分——Si1和Si2,计算前后两部分数据的平衡性指标Bi:

式中,L为数据段Si1及Si2的长度;j为数据段中采样点的索引。最后,计算8 s 数据中所有Bi的均值B,计算公式如下:

由于正常ECG 信号PR 间期相对稳定,P 波的相位在切割的数据段Si中较为固定,而紊乱的f 波没有严格的相位关系,所以将8 s 数据中的各数据段Si进行叠加平均,正常ECG 信号的P 波能量会得到增强,而房颤ECG 信号中的f 波因正负抵消,能量会被削弱。基于这一特点,本研究采用叠加平均比例RPEAK对数据段的形态学特性进行描述,计算公式如下:

式中,为各数据段Si峰峰值的均值;VPP-a为所有数据段Si叠加平均后信号Sa的峰峰值。和VPP-a的计算公式如下:

进行叠加平均时,由于RR 间期存在差异,Si的长度有可能会不同。因此,在计算叠加平均信号Sa时先将所有信号右对齐,左侧数据以数据长度最大的Si为基准进行补空。

与传统算法不同,本研究提出的P 波平衡性指标B以及叠加平均比例RPEAK的计算不需要定位P波,而是通过数据段的分布特征进行描述,计算更加简单。同时,在计算过程中,少数R 波的漏检对这2项形态学指标的计算影响极小,从而使算法具有较高的鲁棒性。正常心电节律与房颤节律叠加平均比例示例如图3 所示,可见正常心电节律的VPP-a幅度明显高于房颤节律。

图3 正常ECG 信号与房颤ECG 信号的叠加平均比例示例

1.2.3 房颤分类数学模型

在完成了ECG 信号特征指标的提取之后,采用SVM 作为分类器建立数学模型。SVM 模型本质上是特征空间中最大化间隔的线性分类器,是一种二分类模型[22]。本研究中,描述房颤特征的3 项指标SDNN、B和RPEAK作为SVM 模型输入参数,模型输出为房颤和非房颤识别结果。

1.3 基于嵌入式系统的算法移植

1.3.1 嵌入式房颤检测设备设计与实现

本研究设计的嵌入式房颤检测设备主要包括心电采集模块、微控制单元(microcontroller unit,MCU)、液晶显示屏和存储器4 个部分。心电采集模块采用ADS1292R(德州仪器,美国)集成式检测芯片,MCU采用STM32F405RGT6(意法半导体,意大利)型单片机。MCU 通过串行外设接口(serial peripheral interface,SPI)总线与ADS1292R 通信,读取数字化后的ECG 信号,然后再对信号进行处理和分析,判断当前心电节律是否为房颤节律,最后将分析结果及ECG 信号波形显示在液晶显示屏上,同时记录在存储器中。嵌入式房颤检测设备设计框图和实物如图4 所示。

图4 嵌入式房颤检测设备硬件设计

1.3.2 基于嵌入式系统的实时房颤检测算法移植

算法移植主要是将上位机算法以及训练获得的SVM 参数重新编写为可在嵌入式系统运行的C语言代码,并封装成可调用的房颤检测函数。系统运行过程中,MCU 不断采集ECG 数据,每2 s 调用一次房颤检测函数,判断当前节律是否为房颤节律,并将判断结果输出显示,从而实现实时房颤检测功能。

2 实验及结果分析

房颤检测算法的性能评估包括上位机算法性能评估以及嵌入式房颤检测设备的房颤检测性能评估2 个方面。上位机算法性能评估是对房颤检测算法的准确性进行测试,并对不同特征参数以及不同心电节律的效果进行分析。嵌入式房颤检测设备的房颤检测性能评估是对嵌入式房颤检测设备的实时应用效果进行测试,评估算法在实际使用过程中的性能。

2.1 性能验证数据集

本算法的设计、训练以及效果验证所使用的数据均来自患者或体检者在陆军军医大学第一附属医院进行12 导心电图检查时,由心电图机(上海光电ECG-2350、ECG-9620P,美国通用MAC5500 等)记录的ECG 信号[于2021 年在该院的医院信息系统(hospital information system,HIS)中搜集,并建立了完整的ECG 信号数据库]。本研究已通过陆军军医大学伦理委员会以及陆军军医大学第一附属医院伦理委员会的批准。

本研究使用的数据是随机从上述数据库中选取的。在截取数据样本时,从每名患者的记录中仅提取一段长度为8 s 的Ⅱ导ECG 信号用于构建数据集。该数据集主要包括房颤与非房颤2 类心电数据,其中非房颤类心电数据包含了窦性心动过速、窦性心律不齐、房室传导阻滞、房性心动过速、房性早搏、分支传导阻滞、交界性早搏、室性早搏、束支传导阻滞以及正常心电10 种不同的心电节律。选取的心电数据分为2 个完全独立的数据集。第一个数据集用于上位机房颤检测算法的设计、模型训练以及性能测试。此数据集中,房颤样本随机选取了1 500 例,非房颤样本每种节律选取了150 例,以使房颤与非房颤的数据达到平衡。第二个数据集独立于第一个数据集,用于嵌入式房颤检测设备的性能验证。此数据集中,房颤样本随机选取了700 例,非房颤样本每种节律选取了70 例。2 个数据集共包含4 400 例ECG数据样本。由专家对样本进行清洗,剔除不符合条件的数据,剔除标准为:(1)样本中存在严重干扰;(2)心电节律类型不正确;(3)同一样本中存在多种心电节律。

最终,共3 746 例数据样本纳入研究,数据的具体情况见表1。

表1 数据样本量单位:例

2.2 房颤检测算法性能验证

2.2.1 性能评价指标

本研究基于提取的3 种ECG 信号特征指标,构建SVM 数学模型对房颤进行检测,并采用临床采集的患者数据集对算法进行分析和评估,评估指标包括准确率(accuracy,Acc)、敏感度(sensitivity,Sen)、特异度(specificity,Spe)、阳性预测率(predictive ratio,P+)以及F1值。各指标计算公式如下:

式中,TP 表示实际为房颤检测结果也为房颤;FN 表示实际为房颤检测结果为非房颤;TN 表示实际为非房颤检测结果也为非房颤;FN 表示实际为非房颤检测结果为房颤;F1值为精确度P(即阳性预测率P+)和召回率R(即敏感度Sen)的调和平均数。

2.2.2 特征参数性能评估

本研究采用SDNN、RPEAK和B3 项ECG 信号特征指标来构建SVM 模型,为评估各参数在区分房颤与不同的非房颤心电类型之间的能力,分别绘制了3 项指标在不同心电节律与房颤对比下的ROC 曲线,如图5 所示。从图5 中可以看出,不同指标在区分房颤与不同心电节律的能力上存在差异,3 项指标的信息相互补充,可进一步提高房颤检测模型的性能。

图5 3 项信号特征参数在不同心电节律与房颤对比下的ROC 曲线

对于正常窦性心律、束支传导阻滞、分支传导阻滞以及窦性心动过速4 种类型的心电节律,其RR 间期相对稳定,P 波特征明显,与房颤ECG 信号的特征具有非常大的差异。因此,3 项指标的性能差异不大,多数情况下AUC 值均大于0.95,尤其对于正常窦性心律和窦性心动过速2 种节律来说,分类效果明显。但对于早搏和窦性心律不齐的心电节律,由于RR间期不齐,SDNN 的AUC 值明显下降,而形态学指标仍然能够保持在相对较高的水平,AUC 面积基本稳定在0.90 以上。这也进一步说明,仅通过ECG 信号获取RR 间期的心律不齐特性进行房颤的识别,虽然在区分房颤与正常心律的情况下具有很高的鉴别能力,但对异常心律的鲁棒性较低。对于房室传导阻滞,由于PR 间期发生改变,P 波的出现失去了相位稳定性,因此对指标RPEAK的影响较为明显。而对于房性心动过速,心率不稳定以及心电形态发生改变,使得3 项指标的AUC 值均有明显降低。

2.2.3 房颤检测性能测试

为评估基于3 项ECG 特征指标构建的SVM 房颤检测模型的总体性能以及在不同心电节律下的效果,本研究随机选取142 例房颤数据(非房颤心律中样本量最大值)分别与各类非房颤数据进行十折交叉验证,将所有数据随机分为10 份,轮流使用其中的9 份作为训练数据,剩下的1 份进行性能测试,最终以10 次测试结果的平均值对各心电节律与房颤的鉴别能力进行评估。之后,再利用样本集中的1 334例房颤数据和1 299 例非房颤数据对SVM 房颤检测模型进行训练,完成十折交叉验证并进行评估,结果见表2。

表2 十折交叉验证的结果

由表2 可知,该算法识别房颤的准确率为93.40%,F1值为0.94,尤其是在区分房颤与正常窦性心律时准确率可达到98.56%,F1值为0.99。但是对于室性早搏以及房性心动过速2 种节律,房颤的识别准确率低于90%。结果进一步证明,对于早搏以及房性心动过速等异常心律,房颤检测的效果会受到较大影响。

2.3 嵌入式房颤检测设备的房颤检测性能评估

2.3.1 实验方案

为验证嵌入式房颤检测设备的房颤检测性能,本研究采用数模转换实验平台输出嵌入式房颤检测验证集中的1 113 例ECG 数据样本,由嵌入式房颤检测设备进行实时信号采集与房颤检测。数模转换平台采用NI 公司的MCCUSB-231 型16 bit 多功能数据采集卡搭建。样本数据通过上位机LabVIEW 2020 设计的控制程序输出,经采集卡转换为模拟信号后由嵌入式房颤检测设备采集分析。为减小信号输出的失真,数模转换的采样率设置为1 000 Hz。因ECG 信号极其微弱,为确保数模转换后输出的信号准确无误,采用BMA-400 生物信号放大器对采集卡输出的模拟ECG 信号进行了1 000 倍放大,并由数字示波器对放大后的信号进行显示,与原输出信号进行幅值、时间以及形态的比对和确认。

由于截取的数据段长度仅为8 s,为使得数据持续输出,本研究采用循环输出的方式。数模转换设备开始输出信号后,启动嵌入式房颤检测设备进行房颤检测,并记录检测结果。嵌入式房颤检测设备验证实验平台如图6 所示。

图6 嵌入式房颤检测设备验证实验平台

2.3.2 实验结果

本研究对嵌入式房颤检测设备将房颤心律识别为“房颤”以及其余各种异常心电节律的非房颤心律识别为“非房颤”的准确率进行了测试。房颤检测的总准确率为91.37%,识别房颤的敏感度为96.48%,识别非房颤的特异度为87.04%,其结果见表3。

表3 嵌入式房颤检测设备的房颤检测结果

从实验验证结果来看,房颤检测算法移植入嵌入式系统中后,在实时ECG 采集与房颤检测过程中,由于信号采集过程的误差以及嵌入式程序计算偏差的存在,其准确率略低于上位机测试结果。从不同心电节律的结果来看,嵌入式房颤检测设备对于早搏、房性心动过速与房颤的鉴别能力较差,与上位机测试结果一致。这进一步证明在房颤检测过程中,正确区分上述几类异常心电节律是提高实际应用中房颤检测准确率的关键。

3 讨论

本研究设计了基于嵌入式系统的实时房颤检测算法,并通过上位机平台和嵌入式平台对算法进行了测试。在构建数据集时,每个数据段相互独立,均来自不同的患者,2 个平台测试时所用的数据集没有交叉,保证测试是在跨患者模式下进行。同时数据集涵盖了包括房颤在内的多达11 种心电节律,更符合实际应用情况。实验结果表明,相比于近年来众多基于深度神经网络的房颤检测模型,本算法能够以更低的算法复杂度实现较高的识别准确率,更容易实现嵌入式系统的部署开发;同时实验验证结果也说明,嵌入式房颤检测设备能够在复杂的心电节律类型中有效地识别房颤,实现实时的房颤监测,尤其对窦性节律以及部分异常心电节律具有很好的鉴别能力。

但实验结果也同样反映出目前的房颤检测算法还存在一些问题和不足。首先,算法在区分房颤与房性早搏、室性早搏以及房性心动过速等异常心电节律的能力上还存在缺陷。这也进一步说明了目前各项研究报道中因为数据样本类型的选择不同而导致结果存在差异的原因。其次,软件算法在进行硬件设备部署时,有可能会受到信号采集或硬件算力的影响而降低算法的性能。最后,本研究中没有将存在ECG 干扰的情况纳入到数据样本中。在今后的研究中,设计具有抗干扰能力、能够有效区分房颤与各种异常心电节律以及能够有效进行硬件部署的房颤检测算法,是本研究领域需要关注的重要方向。

4 结语

本研究提出了基于心率变异性指标以及P 波平衡性和叠加平均比例2 项形态学指标的房颤检测算法,并完成了嵌入式硬件系统的设计以及房颤检测算法的移植,通过临床采集的大样本数据集对算法的性能以及嵌入式房颤检测设备的实时分析性能进行了测试。结果表明,设计的算法具备跨患者模式下的较高准确率和适应嵌入式系统的低复杂度,研究成果可为基于穿戴式设备的房颤实时监测提供技术支撑,对房颤的早期筛查具有积极的意义。

猜你喜欢
节律心电房颤
老年房颤患者,日常有哪些注意事项
心电向量图诊断高血压病左心室异常的临床应用
基于非接触式电极的心电监测系统
穿戴式心电:发展历程、核心技术与未来挑战
更正启事
预防房颤有九“招”
阵发性房颤应怎样治疗
蚬木扦插苗人工幼林生长节律
慢性给予GHRP-6对小鼠跑轮运动日节律的影响
模拟微重力对NIH3T3细胞近日节律基因的影响