心血管疾病(CVD)是全球死亡的主要原因,占2019年所有全球死亡的30%以上。为了有效地治疗CVD,准确诊断和评估心脏状况至关重要。心脏听诊(CA)是一种非侵入性方法,通过听取心脏产生的声音来检测和监测心脏状况。然而,由于CA的难度,诊断不确定性和患者预后不佳的情况经常发生。这个问题因为CA难以教学且需要专业技能而变得更加复杂。
最近,一种可穿戴的多通道电-phonocardiography(EPCG)设备被开发出来,其基本原理是利用同步的phonocardiogram(PCG)和心电图(ECG)数据来检测CVD。这些信号的结合可以产生更准确和鲁棒的分类结果。
目前的挑战包括缺乏高质量的数据和不平衡的数据集,大多数数据具有大量背景噪声,导致信噪比低。此外,有限的同步PCG和ECG记录数量限制了算法的有效性,尽管有大量的独立ECG和一些PCG数据可用。传统的增强方法可以帮助克服这些问题,通过将增强应用于现有信号。然而,这种方法在某种程度上是有限的,因为它并不总是能提高分布外性能,留下了进一步改进的空间。
本文第一次使用一个扩散模型,以创建依赖于现有ECG信号的PCG信号,允许在扩散模型创建相应的PCG信号后,从ECG数据集中使用额外的数据。
1 背景
1.1 心脏听诊信号(PCG)和心电图信号(ECG)
- PCG:由心脏瓣膜开闭和血液流动产生的振动引起,记录自胸壁。主要包含第一心音(S1)和第二心音(S2),还有第三心音(S3)、第四心音(S4)、喷射音、喀喇音、开瓣音和杂音等。这些声音包含诊断心血管疾病的重要信息。
- ECG:反映心脏的电活动,包含 P 波、QRS 波群、T 波和偶尔出现的 U 波。这些波形包含有助于心血管疾病诊断的信息,例如冠心病患者的 T 波倒置、ST-T 异常、左心室肥厚和室性早搏等。
1.2 模型鲁棒性
鲁棒泛化:模型在训练集之外的数据上表现良好的能力,包括:
- ID 泛化:模型在训练分布内但不在训练集上的数据上的表现。
- OOD 泛化:模型在训练分布之外的数据上的表现,例如亚群体变化、协变量变化和领域变化。
- 扰动鲁棒性:模型处理异常和显著不同数据的能力,例如噪声、缺失数据、间隙、频谱掩蔽、极端噪声和有缺陷的输入。
1.3 测量模型鲁棒性
混淆矩阵用于评估分类模型性能的工具,包含以下指标:
- 灵敏度(Sensitivity):正确分类阳性样本的比例。
- 特异性(Specificity):正确分类阴性样本的比例。
- 精确度(Precision):在分类为阳性样本中,正确分类的比例。
- 准确率(Accuracy):正确分类样本的总比例。
- 平衡准确率(Balanced Accuracy):灵敏度和特异性的平均值。
- F1 分数(F1-Score):精确度和灵敏度的调和平均数。
- Matthew 相关系数(MCC):比 F 分数更好的单一指标,用于评估分类器性能。
本文重点关注 ID 和 OOD 性能,并使用准确率、平衡准确率和 MCC 来衡量模型的总体性能。
1.4 生成模型
1.4.1 生成模型
学习数据底层分布并生成新样本的模型,目标是训练一个从潜在空间到数据空间的映射,使生成的样本与原始数据相似。
1.4.2 生成模型分类
- 自编码器(AEs):将输入数据编码到低维潜在空间,然后解码回数据空间,常用于去噪模型。
- 生成对抗网络(GANs):由生成器和判别器网络组成,生成器创建逼真的样本,判别器区分真实和合成样本,通过零和游戏提高两个网络。
- 扩散模型(DMs):向输入数据添加随机噪声,然后训练模型反转此过程,学习以结构化方式去噪数据,例如潜在扩散模型(LDMs)。
1.4.3 生成学习三难
模型通常在高质量样本、快速样本速度和大量样本种类这三个目标中只能实现两个。
1.5 生物医学信号增强
1.5.1 传统方法
通过改变音高、速度、节拍、抖动、音量和混音等方式对现有信号进行增强,例如:
- 随机组合:改变音高、速度、节拍、抖动、音量和混音等。
- 生理约束:遵循生理可能性进行变换,例如时间拉伸和音量调制。
- 频谱约束:保持频谱图的意义,例如音高变化和幅度调制。
1.5.2 生成模型方法
- 变分自编码器(VAEs):用于生成合成肺听诊声音,可以提高分类器性能。
- 生成对抗网络(GANs):用于生成合成心脏信号,可以提高分类器性能和训练效率。
- 扩散模型(DMs):用于生成高保真图像,在生物医学信号处理中的应用尚待探索。
1.6 条件去噪扩散概率模型(CDDPM)
- 去噪扩散概率模型(DDPM):一种扩散模型,通过添加随机噪声并将网络学习反转此过程来学习去噪数据。
- 条件生成:通过将 ECG 信号的 mel-spectrogram 作为条件输入,使用 WaveGrad 和 DiffWave 模型生成 PCG 信号。
- WaveGrad:一种用于音频合成的 DDPM,使用多级上采样块和下采样块,并包含特征级线性调制模块。
- DiffWave:另一种用于音频合成的 DDPM,使用一维卷积和 WaveNet 骨干网络,并包含局部条件和全局条件。
2 方法
2.1 数据增强流程
2.1.1 原始数据预处理
- 从 PhysioNet 和 Computing in Cardiology Challenge 2016 数据集中获取原始心音 (PCG) 和心电图 (ECG) 数据。
- 使用自定义方法对数据进行预处理,包括心音分割和心动周期提取。
2.1.2 传统音频增强
对 PCG 和 ECG 信号进行多种增强操作,以增加数据的多样性和鲁棒性。这些操作包括:
- HPSS 滤波:强调信号中的谐波和打击成分,用于突出心音的特征。
- 时间拉伸:改变信号的播放速度,模拟不同的生理状态或疾病情况。
- 幅度调制:改变信号的振幅,模拟不同的生理状态或疾病情况。
- 噪声添加:添加白噪声或来自其他数据集的临床噪声,模拟真实世界中的噪声环境。
- 参数均衡器:强调或抑制特定频率范围的信号,模拟不同的生理状态或疾病情况。
2.1.3 合成音频生成
- 使用 WaveGrad 和 DiffWave 扩散模型,根据 ECG 信号生成合成的 PCG 信号。
- 训练扩散模型时,使用来自 Incentia 数据集的 ECG 信号作为条件信息,并引入额外的标签来提高合成信号的逼真度。
- 为了减少模型对合成数据的过拟合,仅使用三个合成片段进行训练。
2.1.4 分类模型训练
- 使用基于 ResNet 的卷积神经网络模型进行分类,并使用 Adam 优化器和循环三角学习率调度器进行训练。
- 为了减少过拟合,对原始数据集和合成数据集采用不同的训练策略。
2.2 数据集
- PhysioNet 和 Computing in Cardiology Challenge 2016 数据集:用于训练和测试模型。PhysioNet和计算心脏病学挑战2016(CinC)是一个国际比赛,旨在鼓励开发心脏声音分类算法。数据来自九个独立数据库,但排除了专注于胎儿和产妇心脏声音的数据库。在九个数据库中,共有来自1297名患者的2435个录音。排除上述数据库并将较长录音分割成较小样本后,共有来自1072名患者的4430个样本,相当于233512个心脏声音,116865个心跳,以及近30小时的录音用于比赛。在他们发表时,这是世界上最大的开放获取心脏声音数据库。
- Synchronised Multichannel PCG 和 ECG 数据集:用于测试模型的 OOD 表现。
- Incentia 数据集:用于生成合成的 PCG 信号。此数据集包含11000名患者和277445987个标记的心跳,采样率为250 Hz,有541794个片段。每个心跳都被分类为正常、房性早搏、室性早搏和心律,从正常窦性心律、房颤动和心房扑动。
- EPHNOGRAM 数据集:用于 PCG 信号的噪声添加。
- MIT-BIH 数据集:用于 ECG 信号的噪声添加。
2.3 模型评估
- 使用准确率、平衡准确率、Matthews 相关系数 (MCC) 等指标评估模型的 ID 和 OOD 表现。
- 与仅在原始数据集上训练的模型进行比较,评估数据增强方法的有效性。
3 结果
3.1 ID 泛化(训练集上的性能)
增强数据集显著提高了模型的 ID 泛化性能。
3.1.1 PCG+ECG 模型
- 准确率提高了 2.5%。
- 平衡准确率提高了 4.1%。
- F1 分数提高了 1.9%。
- MCC 值提高了 0.066。
3.1.2 PCG 模型
- 准确率提高了 13.6%。
- 平衡准确率提高了 24.2%。
- F1 分数提高了 7.5%。
- MCC 值提高了 0.444。
3.2 OOD 泛化(测试集上的性能)
增强数据集也显著提高了模型的 OOD 泛化性能。
3.2.1 PCG+ECG 模型
- 在 CinC 数据集上,准确率提高了 3.6% 到 43.1%,平均提高了 18.5%。
- 平衡准确率提高了 1.5% 到 26.8%,平均提高了 12.5%。
- MCC 值提高了 0.026 到 0.616,平均提高了 0.242。
3.2.2 PCG 模型
- 在 CinC 数据集上,准确率提高了 3.3% 到 48.9%,平均提高了 22.4%。
- 平衡准确率提高了 1.6% 到 29.3%,平均提高了 13.9%。
- MCC 值提高了 0.020 到 0.489,平均提高了 0.231。
3.2.3 SMPECG 数据集
- PCG+ECG 模型的准确率提高了 5.7%,平衡准确率提高了 6.8%,MCC 值提高了 0.22。
- PCG 模型的准确率提高了 0.9%,平衡准确率提高了 1.4%,MCC 值提高了 0.056。
结论
增强数据集显著提高了模型的 ID 泛化和 OOD 泛化性能。
增强数据集可以平衡数据集,并提高分类器的鲁棒性。
PCG-only 模型在测试集上的表现优于 PCG+ECG 模型,这可能是由于测试集数据量较大。
尽管 OOD 泛化性能有所提高,但仍有改进空间。