返回列表

28th Place Solution: SED with Segment-Based Voice Removal & Progressive Pseudo-Label Training

654. BirdCLEF+ 2025 | birdclef-2025

开始: 2025-03-10 结束: 2025-06-05 环境监测 数据算法赛
```html 第 28 名解决方案:带有基于片段人声移除和渐进式伪标签训练的 SED

第 28 名解决方案:带有基于片段人声移除和渐进式伪标签训练的 SED

作者: Ryenhails, ziyi777
发布日期: 2025-06-06
竞赛排名: 28

首先,我要感谢竞赛组织者举办这次充满挑战和教育意义的比赛,并祝贺所有参赛者的杰出工作!特别感谢我的队友 @ziyi777 在整个比赛过程中的协作努力!

解决方案概述

我们的最终解决方案采用了 声音事件检测 (SED) 模型,使用了 5 种不同的骨干网络,通过几乎相同的流程进行训练,并通过两轮渐进式伪标签融合训练和复杂的集成技术进行了增强。

模型性能

骨干网络 (Backbone) 公共榜 (Public) 私有榜 (Private) 集成权重
efficientnetv2_b3 0.878 0.893 0.2
efficientnet_b0 0.868 0.896 0.1
efficientnetv2_s 0.875 0.899 0.2
seresnext26t_32x4d 0.885 0.898 0.4
eca_nfnet_l0 0.866 0.886 0.1
加权集成 (Weighted Ensemble) 0.893 0.909 -

特别令人鼓舞的是,我们的 SED 单模型在公共榜和私有榜之间表现出惊人的一致性,我们认为这反映了我们数据处理和模型训练流程的强大泛化能力。

关键技术创新

1. 基于片段的人声移除处理

人声处理(尤其是 CSA 文件)是本次竞赛的一个挑战性方面。通过广泛的实验,我们开发了一种方法,该方法在提高单模型公共榜性能的同时增强了稳定性。

该算法的设计基于一个关键洞察:音频文件是人工拼接的,由多个片段(鸟鸣片段 + 人声解说片段)组成,片段之间以静默间隔作为过渡。该算法利用预先计算的人声检测结果(感谢你的出色工作!@kdmitrie)来识别音频文件中的人声区域。

算法流程图

算法步骤:

基于静默的分割

  • 检测静默间隔(振幅 < 0.001,持续时间 > 0.3 秒),这些间隔作为拼接片段之间的边界
  • 根据这些静默边界将音频分割成独立的片段

人声检测

  • 使用预先计算的人声检测数据分析每个片段,以识别人声区域
  • 计算每个片段与已知人声区域的重叠度,以确定人声内容百分比

片段选择策略

  • 单片段:不进行处理(非人工拼接,预计无人声解说片段)
  • 多片段:仅保留人声内容百分比最低的片段

生成干净音频

  • 连接剩余的片段以形成干净的音频

通过这种预处理,我们可以自信地移除多余的人声解说,同时保留作为背景增强的环境人声

2. 基于 RMS 的随机五秒采样

在人声移除过程生成干净音频后,该算法确保我们提取最高质量的 5 秒片段用于训练。我们从清理后的音频中随机采样 3 个 5 秒片段,计算每个片段的 RMS(均方根)能量,并选择能量最高的片段。

这种方法在保持音频选择随机性的同时,增加了鸟鸣出现在随机 5 秒片段中的概率,这对于评估中使用的 5 秒推理窗口至关重要。

采样策略有效性(按性能排序):

  1. 基于 RMS 的选择(我们的选择):通过选择能量最大的片段获得最高性能
  2. 随机 5 秒采样:标准随机选择基线
  3. 前 5 秒采样:简单但次优的方法

由于截止日期临近,我们将精力集中在完善 5 秒窗口方法上,而不是探索 10 秒训练窗口,这需要在未来进行更多实验。

3. 渐进式伪标签融合

我们采用并显著改进了去年第 2 名解决方案的伪标签策略:从未标记的测试集中随机选择的 5 秒音频片段以动态概率添加到训练样本中。在混合两个音频信号之前,两个波形的振幅都乘以随机因子。训练样本的目标向量(主要和次要物种位置为 1.0,其他位置为零)与伪标签(具有预测概率的向量)通过取两者的最大值进行组合,形成新的目标向量。

我们的关键创新:渐进式伪标签 Mixup

最初,我们发现使用固定概率(35%, 45%)并没有提高新模型的性能,反而使其更加不稳定。我们假设固定概率的伪标签混合可能会阻碍模型对声景领域的泛化。

我们的直觉:在训练的早期阶段,模型需要“更硬”的 ground truth 来学习基础知识,而在后期阶段,“更软”的指导可以帮助模型逐渐泛化到声景空间。

基于这种直觉,我们选择随着 epoch 线性增加混合概率,最终发现 0.2-0.5 是一个最佳范围。这种渐进式方法允许模型:

  • 在早期专注于从高质量的 ground truth 中学习
  • 逐渐适应未标记声景数据的分布
  • 在不损害基础学习的情况下实现更好的泛化

伪标签训练的关键优化:

  • 更大的 Batch Size:我们在伪标签融合训练期间将 batch size 增加到 128,并按比例调整学习率。这种更大的 batch size 在混合真实数据和伪标签数据时提供了更稳定的梯度估计。
  • 特定骨干网络的训练 Epochs:通过广泛的实验,我们单独确定了每个骨干网络的最佳训练 epochs,然后在完整数据集上训练,最后进行 LB 验证。这种仔细的 epoch 选择防止了欠拟合和过拟合(我们很感激这种方法没有受到榜单震荡的影响!)。

4. 后处理

时间平滑:

我们使用精心调整的权重对 1 分钟声景预测进行时间平滑:

# 对于中间片段 (i ∈ [1, N-2]) - 我们优化的 0.2-0.6-0.2 窗口:
new_pred[i] = 0.6 * pred[i] + 0.2 * pred[i-1] + 0.2 * pred[i+1]

# 对于边界片段:
new_pred[0] = 0.8 * pred[0] + 0.2 * pred[1]
new_pred[-1] = 0.8 * pred[-1] + 0.2 * pred[-2]

这个 0.2-0.6-0.2 的加权方案是经过广泛实验后选择的,它在时间一致性和片段独立性之间提供了最佳平衡。

结论

我们的解决方案表明,渐进式伪标签结合复杂的音频预处理和集成技术可以在基于声景的鸟类物种识别中实现强大的性能。关键见解包括人声移除预处理的重要性、基于 RMS 的采样策略以及对伪标签训练的仔细超参数优化。

由于我们在比赛早期在 CNN 模型和许多无关细节上挣扎,直到最后一个月才找到迭代改进的正确方向,我们相信如果有更多时间,我们可以取得更好的结果。

我们希望我们的见解能对社区有所帮助。再次感谢所有参与者和组织者,让这次经历如此有益!

```
同比赛其他方案