我们教计算机识别声音:了解DCASE竞赛并在30分钟内组装您的音频分类器

本文是与ananaskelly一起撰写的


引言


大家好,哈勃! 在圣彼得堡的语音技术中心工作,我们在解决声音事件的分类和检测问题方面积累了一点经验,并决定与您共享。 本文的目的是向您介绍一些任务并谈论DCASE 2018自动声音处理竞赛 。 告诉您比赛的内容,我们将不需要复杂的与机器学习有关的公式和定义 ,因此,本文的一般含义将为广大读者所理解。


对于那些对分类器的程序集 感兴趣 的人 ,我们准备了一个小的python代码,并使用github上的链接,您可以找到一个笔记本,在该笔记本中,我们使用DCASE竞赛第二轨道的示例在keras上创建一个简单的卷积网络,对音频文件进行分类。 在这里,我们讨论了网络和用于训练的功能,以及如何使用简单的体系结构获得接近基线的结果( MAP @ 3 = 0.6)。



此外,这里将介绍组织者提出的解决问题的基本方法(基准)。 将来还将有几篇文章,我们将更详细地讨论我们参加比赛的经验以及其他参赛者提出的解决方案。 这些文章的链接将逐渐在此处显示。


当然,很多人对任何一种“ DCASE”一无所知 ,因此让我们弄清楚它是哪种水果以及与哪种水果一起食用。 “ DCASE ”竞赛每年举行一次,每年有数项任务专门用于解决录音分类和声音事件检测方面的问题。 任何人都可以参加比赛,它是免费的,为此,只需在网站上注册即可参加。 竞赛的结果是召开了相同主题的会议,但是与竞赛本身不同的是,参加竞赛已经获得报酬,因此我们不再赘述。 通常不依靠最佳决策的奖励,但是也有例外(例如,2018年的第三项任务)。 今年,组织者提出了以下五项任务:


  1. 声音场景的分类(分为3个子任务)
    A.记录在同一设备上的培训和测试数据集
    B.记录在不同设备上的培训和测试数据集
    C.允许使用组织者未提供的数据进行培训
  2. 声音事件的分类
  3. 鸟鸣探测
  4. 使用弱标签数据集检测家庭中的声音事件
  5. 根据多通道记录对房间中的家庭活动进行分类

关于检测和分类


如我们所见,所有任务的名称都包含两个单词之一:“检测”或“分类”。 让我们澄清一下这些概念之间的区别是什么,以免造成混淆。


想象一下,我们有一个音频记录,狗在某一时刻咆哮,猫在另一时刻鸣叫,而且那里根本没有其他事件。 然后,如果我们想确切地了解这些事件何时发生,则需要解决检测声音事件的问题。 也就是说,我们需要找出每个事件的开始和结束时间。 解决了检测问题后,我们可以准确地确定事件发生的时间,但是我们不知道是谁准确发出了声音-然后我们需要解决分类问题,即确定在给定时间段内到底发生了什么。


要理解比赛任务的描述,这些示例就足够了,这意味着介绍部分已经完成,我们可以继续对任务本身进行详细描述。




曲目1.声音场景的分类


第一项任务是确定录制音频的环境(声学场景),例如“地铁站”,“机场”或“步行街”。 该问题的解决方案在使用人工智能系统评估环境时非常有用,例如在具有自动驾驶仪的汽车中。



在此任务中,展示了由坦佩雷理工大学(芬兰)准备的TUT Urban Acoustic Sc​​enes 2018和TUT Urban Acoustic Sc​​enes 2018 Mobile数据集进行培训。 本文中详细描述了数据集的准备工作以及基本解决方案。


总共为比赛展示了10个声学场景,参赛者必须对其进行预测。


子任务A


正如我们已经说过的,该任务分为3个子任务,每个子任务的录音质量都不同。 例如,在子任务A中,使用特殊的麦克风记录人耳中的声音。 因此,使立体声录音更接近人类对声音的感知。 与会者有机会使用这种方法进行录音,以提高对声音场景的识别质量。


子任务B


在子任务B中,其他设备(例如,移动电话)也用于记录。 来自子任务A的数据被转换为单声道格式,降低了采样频率,在此任务的数据集中没有人模拟声音的“可听性”,但是还有更多数据可供训练。


子任务C


子任务C的数据集与子任务A中的数据集相同,但是在解决此问题时,允许使用参与者可以找到的任何外部数据。 解决此问题的目的是找出是否有可能通过使用第三方数据来改善子任务A中获得的结果。


通过“ 准确度”度量标准评估了此轨道上的决策质量。


此任务的基础是一个两层卷积神经网络 ,该网络从原始音频数据的小频谱图的对数中学习 。 提出的体系结构使用标准的BatchNormalization和Dropout技术。 GitHub上的代码可以在这里看到。




专题2.声音事件的分类


在此任务中,建议创建一个对声音事件进行分类的系统。 这样的系统可以添加到智能家居中,在拥挤的地方提高安全性,或使有听力障碍的人的生活更轻松。



此任务的数据集包含从Freesound数据集中获取的文件,并使用Google的AudioSet中的标签进行了标记。 更详细地,竞赛组织者准备的文章描述了准备数据集的过程。


让我们回到具有多个功能的任务本身。


首先,参与者必须创建一个模型,该模型能够识别性质非常不同的声音事件之间的差异。 数据集分为41类,它表示各种乐器,人类,动物发出的声音,家庭声音等。


其次,除了通常的数据标记外,还有关于手动检查标签的其他信息。 就是说,参与者知道该人检查了数据集中的哪些文件符合标签要求,哪些没有。 如实践所示,以某种方式使用了这些附加信息的参与者在解决该问题上获得了奖励。


另外,必须说数据集中记录的持续时间变化很大:从0.3秒到30秒。 在此问题中,需要在其上训练模型的每个类别的数据量也相差很大。 最好将其描述为直方图, 从此处获取用于构建的代码。



从直方图中可以看出,所提供类的手动标记也不平衡,如果要在训练模型时使用此信息,则会增加难度。
使用平均准确性度量(均值精度,MAP @ 3)评估了该跟踪中的结果,可以在此处找到使用示例和代码计算该度量的相当简单的演示。




音轨3.鸟类唱歌检测


下一道是探测鸟鸣。 例如,在各种自动监测野生动植物的系统中也会出现类似的问题-这是在进行分类之前处理数据的第一步。 这样的系统通常需要调整,对新的声学条件不稳定,因此,该系统的目标是借助机器学习的力量来解决此类问题。


此曲目是伦敦圣玛丽大学在2017/2018年举办的“鸟声音检测挑战的扩展版本。 对于那些感兴趣的人您可以阅读比赛作者的文章,其中提供了有关数据形成,比赛本身的组织以及做出的决策分析的详细信息。


但是,回到DCASE任务。 组织者提供了六个数据集-三个用于训练,三个用于测试-它们都是非常不同的-在不同的声学条件下,使用各种记录设备记录的背景下,存在各种噪音。 因此,主要信息是该模型不应依赖于环境或不能适应环境。 尽管名称的含义是“检测”,但任务不是确定事件的边界,而是通过简单的分类-最终的解决方案是一种二进制分类器,该分类器会接收简短的音频输入并确定是否有鸟儿在唱歌。 。 AUC度量标准用于评估准确性。


通常,参与者试图通过各种数据扩充来实现概括和适应。 其中一个命令描述了各种技术应用-更改提取特征中的频率分辨率,初步降噪,基于针对不同数据集的二阶统计量对齐的自适应方法 。 但是,正如许多参与者所指出的那样,这种方法以及不同类型的扩充对基本解决方案的增加很小。


作为基本解决方案,作者对原始“鸟音频检测挑战”竞赛中最成功的解决方案进行了修改。 像往常一样,该代码可在github上找到




轨迹4。使用标记较弱的数据集检测房屋中的声音事件。


在第四道中,检测问题已经直接解决。 为参与者提供了相对较小的标记数据集-总共1578个音频记录,每个记录10秒,仅带有类别标记:已知文件包含这些类别的一个或多个事件,但是没有临时标记。 此外,还提供了两个未分配数据的大型数据集-14412个文件,其中包含与训练样本和测试样本中相同类别的目标事件,以及39999个文件,其中包含未包含在目标中的任意事件。 所有数据都是google编译庞大音频集数据集的子



因此,参与者需要创建一个模型,该模型能够从标记较弱的数据中学习,以找到事件开始和结束(事件可能相交)的时间戳,并尝试使用大量未标记的附加数据进行改进。 另外,值得注意的是,此轨道中使用了相当严格的度量标准-必须以200毫秒的精度预测事件的时间标签。 通常,参与者必须解决创建适当模型的相当艰巨的任务,而实际上却没有用于培训的良好数据。
大多数解决方案基于卷积递归网络-卷积递归网络-最近在检测声事件领域中相当流行的体系结构( 此处可以阅读示例)。


作者的基本解决方案(也涉及卷积递归网络)基于两个模型。 模型具有几乎相同的架构:三个卷积层和一个递归层。 唯一的区别是输出网络。 第一个模型经过训练,可以标记未分配的数据以扩展原始数据集-因此,在输出处,事件文件中存在类。 第二个是直接解决检测问题的,也就是说,在输出处我们获得了文件的临时标记。 链接的代码。




轨迹5:根据多通道记录对房间中的家庭活动进行分类。


最后一个曲目与其他曲目的主要不同之处在于,为参与者提供了多通道录音。 任务本身在分类中:有必要预测记录中发生的事件的类别。 与以前的曲目不同,该任务稍微简单一些-众所周知,记录中只有一个事件。



该数据集由在4个麦克风的线性麦克风阵列上大约200小时的记录表示。 事件是各种日常活动-烹饪,洗碗,社交活动(电话交谈,访问和个人对话)等,并且突出显示了没有任何事件的类别。


该曲目的作者强调,任务的条件相对简单,因此参与者可以直接专注于使用多通道录音中的空间信息。 参与者也有机会使用其他数据和预先训练的模型。 根据F1评估质量。


作为基本解决方案,该曲目的作者提出了一个具有两个卷积层的简单卷积网络。 在他们的解决方案中,未使用空间信息-来自四个麦克风的数据被独立用于训练,并且在测试过程中将预测结果取平均值。 链接中提供描述和代码。




结论


在本文中,我们试图简要地谈谈声音事件的检测以及诸如DCASE之类的竞争。 也许他们能够吸引某人参加2019年比赛-比赛于三月开始。

Source: https://habr.com/ru/post/zh-CN437818/


All Articles