AI在医学领域:使用生成式深度学习和信号处理技术增强心脏听诊信号

      心血管疾病(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 泛化性能有所提高,但仍有改进空间。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/448659.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

日语学习零基础生活日语口语柯桥外语学校|股票用日语怎么说?

在日语中,“股票”可以说: • 株(かぶ) 这是最常用的表达方式,直接表示“股票”。 例如: 株を買う - 买股票 株を売る - 卖股票 • 株式(かぶしき) 这个词也是“股票”的意…

【C语言刷力扣】1832.判断句子是否为全字母句

题目&#xff1a; 法一 bool checkIfPangram(char* sentence) {int str[256];memset(str, 0, sizeof(int));for (int i 0; i < strlen(sentence); i) {str[ sentence[i] ];}for (int j a; j < z; j) {if (!str[j]) return false;}return true; } 法二 动态分配 typ…

微课录制 “绊脚石”,电脑录屏时PPT 与画板冲突及解决全析

在教育数字化转型的浪潮中&#xff0c;微课录制成为教师传授知识的新方式。最近&#xff0c;一位用户在评论区提出了一个常见问题&#xff1a;在使用画板功能辅助标注时&#xff0c;PPT无法正常切换&#xff0c;影响了微课的流畅性。这是一个典型的技术冲突问题&#xff0c;关系…

安防综合管理系统EasyCVR视频汇聚平台Linux环境下如何测试UDP端口是否正常开启?

视频汇聚EasyCVR安防监控视频系统采用先进的网络传输技术&#xff0c;支持高清视频的接入和传输&#xff0c;能够满足大规模、高并发的远程监控需求。平台灵活性强&#xff0c;支持国标GB/T 28181协议、部标JT808、GA/T 1400协议、RTMP、RTSP/Onvif协议、海康Ehome、海康SDK、大…

kernel32.dll下载地址:如何安全地恢复系统文件

关于从网络上寻找kernel32.dll的下载地址&#xff0c;这通常不是一个安全的做法&#xff0c;而且可能涉及到多种风险。kernel32.dll是Windows操作系统的核心组件之一&#xff0c;负责内存管理、进程和线程管理以及其他关键系统功能。因为kernel32.dll是系统的基础文件&#xff…

国家海洋环境预报中心李本霞:全国首个海浪智能预报系统已投入业务化运行,AI助力海浪预报多项突破

近日&#xff0c;在第 20 届 CCF HPC China 2024 大会中&#xff0c;第六届海洋数值预报与高性能计算论坛圆满举办。在本次大会上&#xff0c;国家海洋环境预报中心海浪预报室主任李本霞以「人工智能在海浪预报中的应用」为主题展开演讲&#xff0c; HyperAI超神经在不违原意的…

Leetcode—1188. 设计有限阻塞队列【中等】(多线程)

2024每日刷题&#xff08;183&#xff09; Leetcode—1188. 设计有限阻塞队列 C实现代码 class BoundedBlockingQueue { public:BoundedBlockingQueue(int capacity) {sem_init(&enSem, 0, capacity);sem_init(&deSem, 0, 0);}~BoundedBlockingQueue() {sem_destroy(…

2024年10月15日读书笔记

前面已经提到了我们要使用自上而下的方法去构建金字塔结构 下面让我们用一个例子试试&#xff1a; 下面举例说明应用以上方法时思维的发展过程。 表3-1是美国某大型饮料公司财务部主管写的一份备忘录&#xff0c;我们将试着用以上方法改写该备忘录。 表3-1 答非所问的例子 收…

解读华为云Kuasar多沙箱容器技术,带来更强隔离性和安全性

摘要&#xff1a;沙箱技术的引入&#xff0c;为容器提供了更强的隔离性和安全性&#xff0c;成为云原生技术的重要组成部分。 本文来源 《华为云DTSE》第五期开源专刊&#xff0c;作者&#xff1a;华为云云原生开源团队研发工程师。 近年来&#xff0c;云原生容器技术飞速发展&…

软件供应链十年:探索开源的增长、风险和未来

回顾软件供应链状况报告的 10 年既是一个里程碑&#xff0c;也是一次行动号召。在过去十年中&#xff0c;开源消费改变了软件开发的世界。我们看到了前所未有的创新&#xff0c;但也出现了新的挑战&#xff0c;特别是在管理软件供应链的安全性和完整性方面。 在 Sonatype&…

【AcWing】算法基础课-数据结构

目录 1、单链表 2、双链表 3、栈 3.1 模拟栈 3.2 表达式求值 4、队列 5、单调栈 6、滑动窗口 7、KMP字符串 8、Trie字符串统计 方法一 方法二 9、并查集 9.1 合并集合 9.2 连通块中点的数量 10、堆 10.1 堆排序 10.2 模拟堆 11、哈希表 11.1 模拟散列表 拉…

内核提供的通用I2C设备驱动I2C-dev.c分析:file_ops篇

往期内容 I2C子系统专栏&#xff1a; I2C&#xff08;IIC&#xff09;协议讲解-CSDN博客SMBus 协议详解-CSDN博客I2C相关结构体讲解:i2c_adapter、i2c_algorithm、i2c_msg-CSDN博客内核提供的通用I2C设备驱动I2c-dev.c分析&#xff1a;注册篇 总线和设备树专栏&#xff1a; 总线…

从零开始实现大语言模型(十二):文本生成策略

1. 前言 大语言模型GPTModel通过多轮推理生成连续自然语言文本&#xff0c;每轮推理仅生成一个token。对输入文本做tokenization&#xff0c;将输入文本转换成包含num_tokens个token ID的列表&#xff0c;并输入大语言模型GPTModel&#xff0c;可以得到num_tokens个维度为voca…

第T4周:TensorFlow实现猴痘识别

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 目标&#xff1a; 实现猴痘病例图片的准确实别 具体实现&#xff1a; &#xff08;一&#xff09;环境&#xff1a; 语言环境&#xff1a;Python 3.10 编 译…

mysql innodb 引擎如何直接复制数据库文件?

mysql innodb 引擎如何直接复制数据库文件&#xff1f;介绍如下&#xff1a; 1、首先找到数据库文件所在位置 一般可以看my.conf/my.ini配置的文件的“datadir” 看示例&#xff1a; “MAMP”在Macos下的数据库文件位置&#xff1a; /Library/Application Support/appsolu…

DAY35||452.用最少数量的箭引爆气球 |435.无重叠区间 |763.划分字母区间

重叠区间专场。 452.用最少数量的箭引爆气球 题目:452. 用最少数量的箭引爆气球 - 力扣&#xff08;LeetCode&#xff09; 有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组 points &#xff0c;其中points[i] [xstart, xend] 表示水平直径在 xst…

恢复已删除文件的 10 种安卓数据恢复工具

由于我们现在在智能手机上存储了大量重要文件&#xff0c;因此了解数据恢复工具变得很重要。您永远不会知道什么时候需要使用 安卓 数据恢复工具。 由于不乏 Windows 数据恢复工具&#xff0c;因此从崩溃的计算机中恢复文件很容易。但是&#xff0c;当涉及到从 安卓恢复数据时…

论文笔记:Ontology-enhanced Prompt-tuning for Few-shot Learning

论文来源&#xff1a;WWW 2022 论文地址&#xff1a;https://arxiv.org/pdf/2201.11332.pdfhttps://arxiv.org/pdf/2201.11332.pdf 论文代码&#xff1a;暂未公开 笔记仅供参考&#xff0c;撰写不易&#xff0c;请勿恶意转载抄袭&#xff01; Abstract 小样本学习旨在基于…

深入浅出:MySQL索引优化指南

一、引言 在数据库应用开发中&#xff0c;性能优化是一个永恒的话题。而索引作为提高数据库查询效率的关键手段&#xff0c;其设计和使用直接影响着系统的性能表现。本文将深入探讨MySQL索引的原理、类型以及优化策略&#xff0c;帮助读者更好地理解和应用索引&#xff0c;从而…

FreeRTOS:事件标志组

目录 一、简介 二、 事件控制块 三、相关API 四、 应用场景 一、简介 在FreeRTOS中&#xff0c;使用信号量可以实现同步&#xff0c;但是使用信号量来同步的话任务只能与单个的任务进行同步。有时候某个任务可能会需要与多个任务进行同步&#xff0c;此时信号量就无能为力。…