如何快速上手ESC-50:环境声音分类数据集完整指南

如何快速上手ESC-50:环境声音分类数据集完整指南

【免费下载链接】ESC-50 ESC-50: Dataset for Environmental Sound Classification 【免费下载链接】ESC-50 项目地址: https://gitcode.com/gh_mirrors/es/ESC-50

ESC-50是一个包含2000个环境音频记录的标注数据集,适用于环境声音分类方法的基准测试。本文将带你快速了解这个强大的数据集,从基本概念到实际应用,让你轻松入门环境声音分类领域。

📋 什么是ESC-50数据集?

ESC-50数据集是一个精心整理的环境声音集合,包含50个语义类别,每个类别有40个5秒长的音频样本。这些样本被巧妙地分为5个主要类别,涵盖了从动物叫声到城市噪音的各种环境声音。

主要类别概览

数据集的50个类别被分为以下5个主要类别:

动物自然声音与水声人类非语音声音室内/家庭声音室外/城市噪音
狗雨声婴儿哭泣敲门声直升机
公鸡海浪打喷嚏鼠标点击链锯
猪火焰噼啪声拍手键盘打字警笛
牛蟋蟀声呼吸声门吱吱声汽车喇叭
青蛙鸟鸣声咳嗽声开罐头引擎声

每个音频文件都采用统一的命名格式:{FOLD}-{CLIP_ID}-{TAKE}-{TARGET}.wav,其中:

  • {FOLD} - 交叉验证折数索引
  • {CLIP_ID} - 原始Freesound剪辑ID
  • {TAKE} - 来自同一原始剪辑的不同片段的字母标识
  • {TARGET} - 数字格式的类别[0, 49]

🎧 数据集文件结构

ESC-50项目的文件结构清晰明了,主要包含以下几个部分:

  • 音频文件:所有音频文件都存储在audio/目录下,格式为WAV,采样率44.1 kHz,单声道。
  • 元数据:meta/目录包含两个重要文件:
    • esc50.csv:包含所有音频文件的详细信息,如文件名、折数、目标类别、所属大类等
    • esc50-human.xlsx:包含众包实验(人类分类准确性)的附加数据
  • 测试代码:tests/目录下包含测试相关的Python文件
  • 配置文件:项目根目录下的pytest.ini和requirements.txt

元数据详解

meta/esc50.csv文件包含以下字段:

字段名描述
filename音频文件名
fold交叉验证折数
target目标类别编号
category类别名称
esc10是否属于ESC-10子集(10个精选类别,CC BY许可)
src_file原始Freesound文件名
take片段标识

🚀 快速开始使用ESC-50

1. 获取数据集

首先,你需要克隆ESC-50仓库到本地:

git clone https://gitcode.com/gh_mirrors/es/ESC-50
cd ESC-50

2. 安装依赖

项目提供了requirements.txt文件,你可以使用pip安装所需依赖:

pip install -r requirements.txt

3. 探索数据集

音频文件存储在audio/目录下,你可以使用任何音频播放器直接聆听这些样本。例如,你可以播放"狗叫声"类别中的一个样本:

# 示例:播放fold 5中ID为231762的狗叫声样本
play audio/5-231762-A-0.wav

4. 查看元数据

你可以使用pandas库来加载和分析元数据:

import pandas as pd

# 加载元数据
metadata = pd.read_csv('meta/esc50.csv')

# 查看前5行数据
print(metadata.head())

# 统计每个类别的样本数量
print(metadata['category'].value_counts())

🔍 音频可视化示例

下面是一个音频样本的频谱图示例,展示了狗叫声的频谱特征:

ESC-50音频频谱图示例

图:ESC-50数据集中狗叫声样本的频谱图

📊 性能基准

ESC-50已成为环境声音分类的标准基准数据集,许多机器学习和信号处理方法都在其上进行了评估。以下是一些最新的性能结果:

方法描述准确率
HTSAT-22基于自然语言监督预训练的模型98.25%
BEATs使用声学分词器预训练的Transformer模型98.10%
HTS-AT具有分层结构和令牌语义模块的Transformer模型97.00%
CLAP基于自然语言监督预训练的CNN模型96.70%
AST在AudioSet上预训练的纯注意力模型95.70%

数据来源:ESC-50官方README

值得注意的是,人类在该数据集上的分类准确率约为81.30%,而一些先进的深度学习模型已经远远超过了人类水平。

📝 数据集使用注意事项

  1. 许可问题:ESC-50数据集采用知识共享署名-非商业性使用许可(CC BY-NC)。较小的子集(标记为ESC-10)采用CC BY许可。

  2. 信息泄露:在使用ESC-50训练模型时要注意潜在的信息泄露,因为一些原始Freesound录音可能已经以依赖于类别的方式进行了预处理(主要是带宽限制)。

  3. 引用规范:如果你在学术环境中使用此数据集,请引用以下论文:

@inproceedings{piczak2015dataset,
  title = {{ESC}: {Dataset} for {Environmental Sound Classification}},
  author = {Piczak, Karol J.},
  booktitle = {Proceedings of the 23rd {Annual ACM Conference} on {Multimedia}},
  date = {2015-10-13},
  url = {http://dl.acm.org/citation.cfm?doid=2733373.2806390},
  doi = {10.1145/2733373.2806390},
  location = {{Brisbane, Australia}},
  isbn = {978-1-4503-3459-4},
  publisher = {{ACM Press}},
  pages = {1015--1018}
}

🎯 应用场景

ESC-50数据集可用于多种应用场景:

  1. 环境监测:通过声音识别来监测特定环境变化
  2. 智能家居:识别家庭中的各种声音事件
  3. 辅助技术:为视障人士提供声音环境描述
  4. 音频检索:基于内容的音频搜索和分类
  5. 机器学习研究:开发和测试新的声音分类算法

📚 进一步学习资源

通过本指南,你已经了解了ESC-50数据集的基本情况和使用方法。现在,你可以开始探索这个丰富的环境声音数据集,并应用它来开发自己的声音分类模型了!祝你在环境声音分类的旅程中取得成功!

【免费下载链接】ESC-50 ESC-50: Dataset for Environmental Sound Classification 【免费下载链接】ESC-50 项目地址: https://gitcode.com/gh_mirrors/es/ESC-50

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值