PPINtonus (深度学习音调分析)帕金森病早期检测系统

      帕金森病(Parkinson’s Disease,简称PD)是一种主要影响运动功能的进行性神经退行性疾病。这种疾病主要是由于大脑中一个名为黑质(substantia nigra)的区域失去产生多巴胺的神经元而引起的。PD的主要运动症状包括震颤、肌肉僵硬、运动迟缓(动作缓慢)和姿势不稳。这些症状显著影响了个体的生活质量,并且随着时间的推移通常会逐渐恶化。除了运动症状外,还会出现非运动症状,如认知障碍、情绪障碍和睡眠障碍,这进一步复杂化了疾病的管理。

     早期检测PD至关重要,因为它允许及时开始治疗,这些治疗可以缓解症状并可能减缓疾病进程。然而,早期阶段的PD往往很难诊断,因为症状可能很微妙,并且可能与其他疾病重叠。PD的传统诊断方法包括临床评估,包括神经学检查和患者的医疗史。虽然这些方法有效,但它们在很大程度上依赖于医疗专业人员的专业知识,并且在某种程度上是主观的

    PPINtonus系统是专门为早期检测帕金森病(Parkinson’s Disease, PD)设计的,它利用深度学习音调分析和生物医学声音测量值(Biomedical Voice Measurements, BVMs)来评估声音样本。该系统与帕金森声音项目(Parkinson’s Voice Project, PVP)合作,并通过使用条件生成对抗网络(Conditional Generative Adversarial Network, cGAN)来增强训练数据集。

1 模型架构

PPINtonus软件流程:包括语音测试、数据采集、预处理、特征提取、神经网络分类模型训练、评估和微调等步骤。

1.1 语音测试

  • 持续元音发音: 让患者持续发音某个元音(例如/i/),并记录其语音信号。该测试可以有效地揭示声带振动和控制的异常,例如 jitter 和 shimmer 增大。
  • 快速音节重复: 让患者快速重复发音某个音节序列(例如/pa-ta-ka/),并记录其语音信号。该测试可以评估患者的运动计划能力,例如 diadochokinetic rate 减慢。
  • 句子朗读: 让患者朗读预先设定的句子,并记录其语音信号。该测试可以评估患者的语音控制能力,例如音高和音量调制范围减小、停顿和犹豫增多。
  • 复杂语音任务: 包括自发言语、叙事任务和快速重复音节等,可以更全面地评估患者的语音能力。

1.2 数据采集

使用 Parselmouth 库(PRAAT 的 Python 接口)采集语音信号。

将语音信号转换为数字格式,并进行预处理,例如去除静音、归一化等。

1.3 预处理

  • 数据增强: 向语音信号中添加各种类型的噪声,例如白噪声、背景杂音、家庭噪音等,以模拟真实环境中的噪声情况,提高模型的泛化能力。
  • 噪声消除: 使用深度学习技术,例如深度学习去噪自动编码器,降低背景噪声,提高语音信号质量。
  • 麦克风校准: 校正不同麦克风之间的差异,确保模型在不同设备上的鲁棒性。

1.4 特征提取

使用 PRAAT 语音软件提取关键语音特征,包括:

  • 基频 (F0): 声音的平均音调,反映声带振动的频率。
  • jitter: 声音周期之间的频率变化,反映声音的稳定性。
  • shimmer: 声音周期之间的振幅变化,反映声音的清晰度。
  • 谐波噪声比 (HNR): 谐波成分与噪声成分的比值,反映声音的质量。
  • 共振峰频率 (F1, F2, F3): 声道共振频率,对元音发音至关重要。
  • 强度: 声音的响度,反映声音的能量。
  • 发声起始时间 (VOT): 辅音释放与声带振动之间的间隔,反映声门动作的协调性。
  • 语速: 说话的速度,反映说话时的运动控制能力。
  • 快速交替运动速率 (DDK): 快速交替运动的能力,反映神经肌肉协调性。
  • 音调范围: 最高音和最低音之间的范围,反映声音的灵活性。
  • 连续说话基频 (SFF): 连续说话时的平均音调。
  • 最长发音时间 (MPT): 持续发音一个元音的最长时间,反映呼吸控制能力。
  • 倒谱峰突显度 (CPP): 声音质量的一个指标,数值越高表示声音越清晰。
  • 声音范围轮廓 (VRP): 音调和强度的范围,反映声音的容量。
  • 发音阈值压力 (PTP): 初始化发音所需的最小喉部压力。
  • 振幅扰动商 (APQ): 短期振幅变化的一个指标。
  • 归一化噪声能量 (NNE): 噪声能量与声音信号总能量的比值。

1.5 深度神经网络

使用多层深度神经网络进行分类,模型结构可能包括:

  • 多个全连接层(dense layer)
  • ReLU 激活函数
  • Dropout 层
  • Sigmoid 激活函数(输出层)

1.6 训练和评估

使用真实数据和 cGAN 生成的合成数据训练模型。

使用准确率、精确率、召回率等指标评估模型性能。

1.7 输出

模型输出 PD 的概率分数,根据阈值判断患者是否患有 PD。

2 方法

2.1 数据收集

  • 主要数据集: 使用 UC Irvine 帕金森病检测数据集,该数据集包含了大量帕金森病患者和健康对照的语音样本。
  • 补充数据: 与帕金森病语音项目和生物医学工程专家合作,收集更多语音样本,以增强数据集的多样性和可靠性。

2.2 数据预处理

  • 数据清洗: 去除数据中的异常值和噪声,提高数据质量。
  • 独热编码: 将类别变量转换为数值格式,以便进行机器学习模型的训练。
  • 标准化: 将数据缩放到相同的范围,以便模型更好地学习。

2.3 合成数据生成

  • cGAN 模型: 使用条件生成对抗网络(cGAN)生成与真实数据相似的合成数据,以扩大训练数据集,提高模型的泛化能力。
  • 训练过程: 训练生成器和判别器,生成器学习生成与真实数据相似的数据,判别器学习区分真实数据和合成数据。
  • 数据验证: 对生成的合成数据进行验证,确保其质量符合要求。

2.4 特征提取

  • PRAAT 语音软件: 使用 PRAAT 语音软件提取关键语音特征,例如基频、 jitter、 shimmer、谐波噪声比等。
  • 特征选择: 使用特征选择方法,例如递归特征消除或主成分分析(PCA),选择对 PD 检测最相关的特征。

2.5 深度学习方法

  • 神经网络模型: 设计多层深度神经网络进行分类,模型结构可能包括全连接层、ReLU 激活函数、Dropout 层和 Sigmoid 激活函数。
  • 训练过程: 使用真实数据和 cGAN 生成的合成数据训练模型,使用准确率、精确率、召回率等指标评估模型性能。
  • 模型优化: 使用贝叶斯优化等方法微调模型超参数,提高模型性能。

2.6噪声处理

  • 数据增强: 向语音信号中添加各种类型的噪声,例如白噪声、背景杂音、家庭噪音等,以模拟真实环境中的噪声情况,提高模型的泛化能力。
  • 噪声消除: 使用深度学习技术,例如深度学习去噪自动编码器,降低背景噪声,提高语音信号质量。
  • 麦克风校准: 校正不同麦克风之间的差异,确保模型在不同设备上的鲁棒性。

2.7 实时PD检测

  • 选择有效的语音测试: 选择持续元音发音、句子朗读和复杂语音任务等,以提取可靠的 BVMs。
  • 开发 PPINtonus 软件: 开发 PPINtonus 软件,用于指导患者完成语音测试、采集语音数据、进行预处理和特征提取,并将数据输入深度神经网络模型进行分类。

2.8 模型评估和部署

  • 模型评估: 使用准确率、精确率、召回率等指标评估模型性能,并分析不同语音测试提取 BVMs 的准确性。
  • 模型部署: 将模型部署到移动设备或云服务器上,以便进行实时 PD 检测。

3 结论

  • 模型性能: 深度学习模型在 PD 检测方面取得了较高的准确率、精确率和召回率,证明了该方法的有效性。
  • 语音测试: 研究发现,持续元音发音和快速音节重复是最有效的语音测试,能够提供可靠的 BVMs 用于 PD 检测。
  • 数据集: 研究发现,模型在当前数据集上表现良好,但其泛化能力有待进一步提高,需要扩大数据集,包括更多样化和真实世界的音频样本,特别是来自第三世界国家的样本。

4 相关数据集

4.1 生物医学声音测量值(Biomedical Voice Measurements, BVMs)数据集(需要可留言直接发送邮箱)

生物医学声音测量值(Biomedical Voice Measurements, BVMs)数据集主要用于帕金森病(Parkinson's Disease, PD)的检测和分析。这些数据集包含了多种生物医学语音测量值,涵盖了不同阶段的帕金森病患者。

该数据集由31人的一系列生物医学语音测量组成,其中23人患有帕金森病(PD)。表中的每一列都是一个特定的语音测量值,每一行对应这些人195个语音记录中的一个(“名称”列)。数据的主要目的是根据“状态”栏区分健康人和帕金森病患者,健康状态栏设置为0,帕金森病状态栏设置为1。

4.2 UC Irvine帕金森病检测数据集(需要可留言直接发送邮箱)

UC Irvine帕金森病检测数据集是一个用于机器学习和深度学习研究的标准测试数据集。该数据集由加州大学欧文分校(University of California, Irvine)提供,属于UCI数据库的一部分。

该数据集包含188个患有帕金森病的患者的相关数据,其中包括107名男性和81名女性,年龄分布在33岁到87岁之间。这些数据主要用于检测和分类帕金森病,具有重要的临床意义,因为早期、准确的诊断对于及时干预和个性化治疗至关重要。

数据集中的变量包括多种特征,如时间频率特征、梅尔频率倒谱系数(Mel Frequency Cepstral Coefficients, MFCCs)、小波变换特征、声带特征和TWQT特征等。这些特征可以帮助研究者更好地理解帕金森病患者的生理状态,并开发出更为精确的诊断模型

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

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

相关文章

FreeRTOS学习笔记-基于stm32(9)信号量总结(二值信号量、计数型信号量、互斥信号量、优先级翻转、优先级继承)

一、什么是信号量 信号量是一种队列,用于任务间同步和资源管理的机制,主要用来传递状态。就像是一种特殊的“旗子”或“钥匙”,用来在不同的任务之间进行沟通和协调,确保它们能够正确地配合工作,不会互相干扰。 二、二…

人形机器人:工业领域的得力助手

人行机器人近2年显示出强劲的增长势头,根据最新数据预测,到2026年,中国人形机器人产业规模将突破200亿元,这一数字预示着人形机器人在未来社会中将扮演更加重要的角色。 在工业领域,由于工业环境复杂多变,对…

Spring类加载机制揭秘:深度解析“卸载”阶段

1. 引言 在Spring框架中,类的加载和卸载是一个复杂但至关重要的过程。加载主要涉及将类的字节码加载到JVM中,创建对应的Class对象,并准备使其可用的过程。而卸载,则是指当一个类不再被需要时,将其从JVM中清除&#xf…

识别图片二维码

文档地址: uni-app : wx.previewImage(Object object) | 微信开放文档 微信小程序:wx.previewImage(Object object) | 微信开放文档 longpress"seeQRcode(url)”) show-menu-by-longpress"true" //识别 这个地方不触发 …

Flutter StatefulWidget 和 StatelessWidget 的区别

在 Flutter 中,StatefulWidget 和 StatelessWidget 是两种不同类型的 Widget,它们的主要区别在于它们是否能够携带和管理状态。 StatelessWidget StatelessWidget 是不可变的,这意味着一旦它们被创建,它们的属性就不能改变。它们…

网络协议二

一、套接字Socket 基于 TCP UDP 协议的 Socket 编程,在讲 TCP 和 UDP 协议的时候,我们分客户端和服务端,在写程序的时候,我们也同样这样分。 在网络层,Socket 函数需要指定到底是 IPv4 还是 IPv6,分别对应设…

基于RNN和Transformer的词级语言建模 代码分析 log_softmax

基于RNN和Transformer的词级语言建模 代码分析 log_softmax flyfish Word-level Language Modeling using RNN and Transformer word_language_model PyTorch 提供的 word_language_model 示例展示了如何使用循环神经网络RNN(GRU或LSTM)和 Transformer 模型进行词级语言建模…

三丰云免费虚拟主机及免费云服务器评测

三丰云是一家专业的云服务提供商,其免费虚拟主机和免费云服务器备受好评。三丰云提供稳定可靠的服务,完全免费的虚拟主机和云服务器让用户可以轻松搭建自己的网站或应用。自从开始使用三丰云的免费虚拟主机和免费云服务器后,我的网站访问速度…

thinkphp3.1中怎么使model查询以其中一个字段为key,另一个字段为值的数组?

在ThinkPHP 3.1中,如果你想要以一个字段作为键(key),另一个字段作为值(value)来获取数组,可以通过查询结果集然后手动构建数组来实现。这里有一个简单的示例: // 假设我们有一个名为…

bash、zsh、fish三种流行Unix shell的区别

bash、zsh、fish三种流行Unix shell的区别 一、功能上的区别二、使用体验上的区别三、以下是每种 Shell 的常用命令行示例:BashZshFish 一、功能上的区别 bash:bash 是 Bourne Again SHell 的缩写,是 Linux 系统中默认的 Shell。bash 的特点是…

SQL性能优化 ——OceanBase SQL 性能调优实践分享(3)

相比较之前的两篇《连接调优》和《索引调优》,本篇文章主要是对先前两篇内容的整理与应用,这里不仅归纳了性能优化的策略,也通过具体的案例,详细展示了如何分析并定位性能瓶颈的步骤。 SQL 调优 先给出性能优化方法和分析性能瓶…

为什么基于 Django 和 Scrapy 的项目需要 @sync_to_async 装饰器

在现代 web 开发中,异步编程正变得越来越重要,特别是对于需要处理大量 I/O 操作的应用程序。Scrapy 是一个用于 web 抓取的异步框架,而 Django 是一个流行的 web 框架,主要采用同步编程模型。将这两个框架结合在一个项目中时&…

YT-DLP 超好用的开源视频下载工具

YT-DLP 是一个功能丰富的命令行音频/视频下载器,是 youtube-dl 的一个分支。由于 youtube-dl 已经停止更新,YT-DLP 不仅继承了其功能,还进行了多项改进和扩展。YT-DLP 不仅可以下载 YouTube 视频,还支持众多站点,包括国…

# RocketMQ 实战:模拟电商网站场景综合案例(二)

RocketMQ 实战:模拟电商网站场景综合案例(二) 一、SpringBoot 整合 Dubbo :dubbo 概述 1、dubbo 概述 Dubbo :是阿里巴巴公司开源的一款高性能、轻量级的 Java RPC 框架,它提供了三大核心能力&#xff1a…

Ubuntu系统本地搭建WordPress网站并发布公网实现远程访问

文章目录 前言1. 搭建网站:安装WordPress2. 搭建网站:创建WordPress数据库3. 搭建网站:安装相对URL插件4. 搭建网站:内网穿透发布网站4.1 命令行方式:4.2. 配置wordpress公网地址 5. 固定WordPress公网地址5.1. 固定地…

阿里云安装python依赖报错 Requirements should be satisfied by a PEP 517 installer.

Collecting basicsr1.4.2 (from -r requirements.txt (line 16))Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/86/41/00a6b000f222f0fa4c6d9e1d6dcc9811a374cabb8abb9d408b77de39648c/basicsr-1.4.2.tar.gz (172 kB)━━━━━━━━━━━━━━━━━━━━…

功能安全TSC

TSC 与 FSR 的基本概念 一、引言 在功能安全领域中,TSC(Technical Safety Concept,技术安全概念)和 FSR(Functional Safety Requirements,功能安全要求)是两个至关重要的概念。它们对于确保系统的安全性和可靠性起着关键作用。本文将详细阐述 TSC 和 FSR 的定义、内涵,…

QQ号码采集器

寅甲QQ号码采集软件, 一款采集QQ号、QQ邮件地址,采集QQ群成员、QQ好友的软件。可以按关键词采集,如可以按地区、年龄、血型、生日、职业等采集。采集速度非常快且操作很简单。

电能质量在线监测装置

安科瑞电气股份有限公司 祁洁 15000363176 一、装置概述 APView500电能质量在线监测装置采用了高性能多核平台和嵌入式操作系统,遵照IEC61000-4-30《测试和测量技术-电能质量测量方法》中规定的各电能质量指标的测量方法进行测量,集谐波分析、波形采…

如何应对Android面试官 -> 玩转 MVx(MVC、MVP、MVVM、MVI)

前言 本章主要基于以下几个方向进行 MVx 的讲解,带你玩转 MVx; MVC、MVP、MVVM、MVI 它们到底是什么? 分文件、分模块、分模式 一个文件打天下 为什么不要用一个页面打天下? 页面是给用户看的,随着版本的迭代&…