Code Monkey home page Code Monkey logo

birdclef2023's Introduction

Birdclef-2023

比赛背景/目标

这次比赛的目标是识别肯尼亚长录音中的鸣叫鸟类,这对于出于保护目的监测鸟类种群的科学家来说是一项重要任务。更准确的解决方案可以实现更全面的监控。参赛者需要使用机器学习技能通过声音识别东非鸟类,开发计算解决方案来处理连续的音频数据并通过它们的叫声识别物种。

解决方案流程

  1. 使用主要模型结构CNN::tf_efficientnetv2_b0 。
  2. 对音频进行预处理,包括声波形、Mel频谱图和数据增强。
  3. 设置模型参数,包括优化器、损失函数、学习率调度器等。
  4. 预训练模型,使用Birdclef 2021和2022的数据进行预训练。
  5. 处理数据不平衡问题,通过过采样使每个类至少有50个数据。
  6. 增加Nocall数据,将背景噪声音频设置为所有标签为0的Nocall数据。
  7. 划分数据集,采用分层的K折交叉验证策略,确保所有鸟类品种都被包含在训练数据中。

解决方案重要参数

音频处理:

  • 时长:5秒
  • 采样率:32000
  • Mel频谱图参数:
    • n_fft: 2048
    • win_length: 2048
    • hop_length: 320
    • f_min: 50
    • f_max: 14000
    • n_mels: 128
    • top_db: 80

模型参数:

  • drop_rate:0.5
  • drop_path_rate:0.2
  • 优化器:AdamW
  • 学习率调度器:OneCycleLR
  • epoch:30
  • batch_size:32

数据增强:

  • 波形:随机裁剪或提取音频的前5秒
  • Mel频谱图:使用Torchaudio的频率和时间掩码
  • Mixup和Cutmix增强 (alpha = 0.5)

预训练:

  • 预训练时长:15秒

  • 过采样:无

总结:

本次竞赛的目标是通过声音识别东非鸟类,具体来说,处理连续的音频数据并通过鸣叫声识别物种。我们采用了基于深度学习的方法,主要模型结构为 tf_efficientnetv2_b0 。首先,将音频数据转化为频谱图,然后使用预训练的网络进行特征提取。训练过程中采用BCEWithLogitsLoss损失函数,优化器为AdamW,采用OneCycleLR作为学习率调度器。此外,对训练数据进行了平衡处理,对少数类进行了过采样,使得每个类至少有50个样本。我们的模型在处理声音识别任务上取得了相当好的效果,结果在Kaggle上的排名4%名。

birdclef2023's People

Contributors

weixipin avatar

Stargazers

liubeibei avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.