帕金森病(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特征等。这些特征可以帮助研究者更好地理解帕金森病患者的生理状态,并开发出更为精确的诊断模型。