基于通道分离卷积的心电肢体电极错接检测方法
作者: 张伯政
摘要:针对心电图采集过程中常见的肢体电极错接问题,文章提出了一种结合通道混合卷积、通道分离卷积与 GRU 的模型,并采用 Focal Loss 作为损失函数。利用 PTB-XL 数据集作为训练集,CSE 数据集作为测试集,从电极错接原理出发,设计了数据生成方法以构建训练和测试数据。最终在 CSE 测试集上实现了 99.91% 的特异度,假阳性率首次低于肢体电极错接的实际发生率,五种错接类别的 Macro-F1 指标达到 99.46%。通过与现有研究的比较,验证了文章方法达到了当前的最高水平。
关键词:通道分离卷积;肢体电极错接;心电采集质量控制;Focal Loss;融合模型
中图分类号:TP181 文献标识码:A
文章编号:1009-3044(2025)01-0036-05 开放科学(资源服务) 标识码(OSID) :
0 引言
近年来,随着心电远程诊断的大规模商业化推广,心电远程诊断在各级医疗机构中得到了广泛应用[1]。在大型医疗机构中,原本需要在心电图室进行的心电图采集工作被逐步下放到各个科室的住院部[2]。而在基层医疗机构(如村医、卫生室、诊所、乡镇卫生院等不具备心电报告出具能力或心电图解读能力较弱的部门) ,通过心电网络系统,将心电图发送到具备诊断能力的医疗机构或区域心电中心进行判读和报告出具[3]。
随着心电远程诊断技术的广泛普及,心电图采集过程中的质量控制变得愈发重要[4]。通过对三家三级医疗机构为期一年的数据调研,在共计82 899份远程心电图报告中,发现 437 份存在肢体电极错接问题,发生率达到5.3‰,这一结果与 SK Roy 等人[5] 研究中得到的 4‰ 数据基本一致。由于远程心电诊断从采集完毕到报告出具通常需要一定时间,被测者完成心电图采集后往往会暂时离开采集地点。这导致如果在采集过程中出现肢体电极错接问题,接收到错接反馈后再次进行采集的时间将大大延长。这不仅可能对许多重要的心电疾病造成诊断延误,也降低了患者的就诊体验。
1 当前研究进展
随着人工智能技术在心电领域的迅猛发展,众多专注于心电诊断的人工智能系统被设计并应用于临床实践,为临床工作带来了极大便利。通过在心电图采集后采用人工智能方法判断是否存在肢体电极错接问题,并及时提醒采集者进行纠正,或在判读前自动提醒和校正,可大幅降低因工作疏忽导致的不良就诊体验。
早在1998年,马骏[6]通过总结大量电极错接的心电图,提出了电极错接的人工判读方法。此后,诸如M Bickerton、A Pearce、R Lynch 等人的研究均指出,应通过制度建设以及采集人员的持续培训来降低电极错接的发生率[7-9]。
2012年,Henian Xia在研究中对比了基于规则系统、基于神经网络以及结合特征工程的神经网络方法[10]。由于当时技术条件的限制,其采用的神经网络是简单的MLP网络。对于正常心电图,这些方法的最高识别准确度可达98.4%,但对于心律失常患者,准确率则下降至36.1%到78.4%之间。
2020年,K Rjoob等人对该领域的研究进行了全面回顾和比较[11]。目前准确率最高的方法是Jekova I 等人提出的基于人工识别特征填表打分的方法[12],其敏感度达到97.9%,特异度达到99.2%。尽管这些数字看似较高,但由于肢体电极错接的实际发生率仅为4‰,99.2%的特异度意味着误报数量远远超出实际发生数量。此外,该方法在执行过程中需要人工填表打分,耗费大量人力资源,难以实际推广。
因此,利用更为先进的深度学习方法,设计能够在实际医疗环境中应用的全自动、高精度肢体电极错接检测算法,具有重要的研究价值。
2 方法设计
2.1 肢体电极错接对心电图的影响分析
心电图的采集基于心脏每次心跳周期中产生的微小电流变化。这些电流通过人体组织传导至体表,放置在特定位置的电极捕捉到这些电信号,并将其转换成可记录和分析的心电图波形。在标准十二导联心电图中,肢体电极共有4个:左手电极(LA) 、右手电极(RA) 、左腿电极(LL) 和右腿电极(RL) 。
通常使用右腿电极(RL) 作为 0 电位参照点来确定其他各电极的电压值。因此,本文中使用电极简称代指该电极相对于 RL 的电压值。
在标准十二导联心电图的肢体导联中,各导联与电极电压之间存在如下换算关系(见表 1) 。
由于大量研究验证表明,左腿导联(LL) 与右腿导联(RL) 的错接对心电图基本无影响,且不会妨碍心电图的进一步判读与报告出具[13]。因此,与 A. KhaledRjoob 等人的研究一致,本研究不再涉及与 RL 电极相关的错接情况[11]。
在排除涉及 RL 电极的错接后,所有肢体电极错接可分为以下5种情况进行探讨。
2.1.1 LA 与 RA 错接
根据表1的换算关系,可得出左手电极(LA) 与右手电极(RA) 错接后,与标准十二导联心电图的换算关系,如表2所示。
2.1.2 LA 与LL 错接
根据表1的换算关系,可得出左手电极(LA) 与左腿电极(LL) 错接后,与标准十二导联心电图的换算关系,如表3所示。
2.1.3 RA 与LL 错接
根据表 1 的换算关系,可得出右手(RA) 与左腿(LL) 错接后,与标准十二导联心电图的换算关系,如表 4 所示。
2.1.4 LA 接RA、RA 接LL、LL 接LA
根据表 1 的换算关系,可以得出LA接RA、RA接LL、LL接LA错接后,与标准十二导联心电图的换算关系,如表 5 所示。
2.1.5 LA 接LL、RA 接LA、LL 接RA
根据表1的换算关系,可以得出LA接LL、RA接LA、LL接RA错接后,与标准十二导联心电图的换算关系,如表6所示。
2.2 数据集构建
如2.1节所述,除右腿电极外,所有肢体电极错接情况下的导联波形均可通过标准十二导联的图形变换得到。因此,可以直接利用2.1节中表2至表6给出的变换关系,生成模拟的错接导联波形。
PTB-XL[14]数据库和 CSE[15]数据库均为标准十二导联心电数据库,可用于相关研究。PTB-XL数据库包含21 837份长度为10秒、采样率为1 000 Hz的心电数据,覆盖正常心电图、心肌梗死、ST-T改变、传导异常、心室肥大等常见心电图类型,数据量丰富,且不存在电极错接问题。CSE数据库数据量较少,共有1 220 份长度为10秒、采样率为500 Hz的心电数据,同样不存在电极错接问题。
本研究以 PTB-XL 数据库作为训练集,CSE 数据库作为测试集进行研究。
具体步骤如下:
1) 将原始的十二导联数据作为非电极错接数据;
2) 按照表2的变换关系,对原始数据中的肢体导联进行变换,生成LA与RA错接的模拟数据;
3) 按照表3的变换关系,生成LA与LL错接的模拟数据;
4) 按照表4的变换关系,生成RA与LL错接的模拟数据;
5) 按照表5的变换关系,生成LA连接RA、RA连接LL、LL连接LA的模拟数据;
6) 按照表6的变换关系,生成LA连接LL、RA连接LA、LL连接RA的模拟数据。
按照上述方法,对各种错接情况进行模拟数据生成,分别处理PTB-XL和CSE数据库。最终,获得总计131022条的PTB-XL训练集和总计7 320条的CSE测试集。
2.3 算法模型设计
一维卷积在对心电信号进行处理时,相较于其他类型的网络具有显著优势[16]。因此,本研究中所有的卷积层操作均采用一维卷积。
如表2至表6所示,电极错接对各个导联的影响既包括整体分布的宏观层面影响,也包括各个导联的独立影响。如果直接将所有12个导联视为一维信号输入的12个通道,深度学习网络会较早地将各导联的数据进行融合,这不利于各导联形态特征的独立提取。
为此,本研究在模型架构设计上,采用12通道分离卷积和12通道混合卷积两个分支进行处理。随后,通过GRU[17]和MaxPooling层对特征进行进一步提取,最后使用输出层激活函数为softmax的MLP层进行最终分类处理。模型架构如图1所示。
2.3.1 12通道混合卷积
输入模型的单个batch 的心电图为一个大小为(batch_size, 12, 10000)的矩阵。将其依次输入12通道混合卷积中的各个block,其中,SEblock为SENET中的squeeze and excitation 层[18],SEDblock 为将SEblock 中最后一个卷积操作的stride参数调整为2后得到的具有两倍降采样效果的卷积单元。
整个混合卷积部分包含10个block单元,除第一个单元的输入通道数为12、输出通道数为128外,其余9个block单元的输入和输出通道数均为128。经过全部10 个block 单元后,最终得到大小为(batch_size,128,313)的矩阵。
2.3.2 12通道分离卷积
将输入模型的单个batch的心电图矩阵沿导联的维度拆分成12 个矩阵,每个矩阵的维度均为(batch_size, 1, 10 000)。将每个导联的心电矩阵依次输入其对应的卷积处理层中。
通道分离卷积部分的结构与12通道混合卷积的结构基本一致,但中间各个block的输入和输出通道数从原来的128缩减到32。
每个导联分别经过其对应的卷积处理层后,得到12个大小为(batch_size, 32, 313)的矩阵。将这些矩阵沿通道维度进行合并,最终得到大小为(batch_size,384, 313)的矩阵。
2.3.3 GRU 处理层
由于Transformer在连续状态空间中的建模效果弱于传统的RNN[19],且GRU的参数量少于LSTM,因此本研究采用GRU作为最终的序列建模模块。
将12通道混合卷积的输出与12通道分离卷积的结果沿通道维度拼接,得到大小为(batch_size, 512,313)的矩阵。将其转置后输入到双层双向GRU 中(GRU的输入维度为512,单向输出维度为64,双向共计128) ,得到大小为(batch_size, 313, 128)的矩阵。
随后,对该矩阵沿313的维度进行MaxPooling操作,得到大小为(batch_size, 128)的矩阵。最后,将其输入激活函数为Softmax的 MLP 层中进行处理,得到最终的输出,大小为(batch_size, 6)的矩阵,用p̂表示。
2.3.4 损失计算
由于本研究中所采用的生成数据不存在标签错误问题,因此采用 Focal Loss 来进行损失计算,以提升模型对少量难学样本的处理能力[20]。
将一个batch对应的标签表示为p,其为一个大小(batch_size, 6)的One-Hot矩阵,损失计算的公式如式(1) 所示:
式中:pi,j 表示batch中第i 个数据的第j 个电极错接类别的标签,如果错接则该值 1 否则为 0。p̂i,j 表示模型对batch中第i 个数据的第j 个电极错接类别的概率估计结果。
2.4 模型实验
本研究所有的模型训练实验均采用AdamW优化器[21],学习率设置为0.001,β 值设置为(0.9, 0.999),权重衰减系数设置为 0.05。