识别身体噪音(即非口语)

信息处理 声音的 声音
2022-02-11 16:36:24

我被一系列stackoverflow帖子指向这里。我是一名软件开发人员,希望制作一个能够识别鼻息和咳嗽等噪音的模块。这是我关于 stackoverflow 的原始问题这里是我找到这个 SE 板的地方

简而言之,我正在尝试使用 Raspberry Pi 和麦克风来接收诸如打鼾、咳嗽、打喷嚏等噪音,作为判断某人是否生病的概念证明。我不太确定从哪里开始,因为我上面链接的那些帖子有很多信息。我也遇到过这篇文章,但我不确定这是否有帮助。

我在这里和这个特定的概念很新,所以任何和所有的帮助都将不胜感激。

2个回答

您很可能对将在您的 Pi 上运行的非常简单的方法感兴趣。我将要提到的一些方法可以使用编写得不错的 C 代码实时运行。可能你会从 HMM 和 MFCC 开始——一开始这不是一个坏主意,但正如你将看到的——人们为这种应用开发了更先进的方法。特征的选择相当明显,预处理和机器学习取决于你——这将对你的结果产生最大的影响。

这里列出了一些您可能会感兴趣的论文。它们都针对咳嗽识别问题,适用于其他类型的声音。

类似HMM方法:

高桥 S.,等。-用于家庭保健的口语对话系统中的咳嗽检测

乐莎莎,胡卫平——基于希尔伯特边缘谱的咳嗽声音识别

马托斯 S.,等人。-使用 HMM 检测连续录音中的咳嗽信号

春梅 Z.,等。-使用通过子带能量变换改进的特征识别咳嗽

胡伟,等。-基于EMD分析和HMM识别的咳嗽声检测

Karhunen–Loève- like方法:

刘 Y.,等。-一种基于时频能量分布的咳嗽声识别算法

类似决策树的方法:

拉尔森。E,等人。-使用低成本麦克风进行准确且隐私保护的咳嗽感应

Martinek J.,等人。-区分咳嗽与上呼吸道日常活动产生的其他声音

类似SVM方法:

贾明 L.,等。-使用 Gammatone 倒谱系数识别咳嗽信号

绝对是可爱的;

据我了解,您的项目是检测和区分家庭环境中的鼻息、咳嗽等声音。因此,您对其他声音不感兴趣,例如人类语音或其他可能的噪音。

如果这是正确的,一种表面上的方法是使用学习方案和一组有效的特征来classify系统的输入声音。一个可以告诉您特定音频帧(馈送到系统)是否属于您正在寻找的类型的功能。

关于您的项目的一个有希望的事实是,人体发出的声音通常与背景声音截然不同。这是男性音轨的特殊特征的结果,它可以拥有(或多或少)独特的属性。

因此,我建议您执行以下步骤:

  1. 收集您正在寻找的声音的足够数据库,这些声音由不同类型的人(男人、女人、儿童、老人等)产生,全部由您自己的麦克风和高质量的。您还应该收集相反类别的数据库:您希望省略的那些。
  2. 开始分析声音。这可能有点技术性,您需要搜索可以在 2 个类之间产生合理差异的功能。这可能是基音周期、倒谱系数、谐波能量衰减率等特征的组合。顺便说一句,找到有用的功能可能是该项目的最重要步骤。
  3. 使用像 SVM 这样的学习方案(分类例程)来分离类。实际上,您将在收集的数据库上训练机器以对新的测试输入进行分类。
  4. 查看真实的新数据。使用训练数据库中未包含的音频帧测试您的分类并观察结果。通常会有一小部分错误,但应该通过修改特征和训练集或更改分类方法来修改大错误。

我希望这会有所帮助,祝你好运!