489. BirdCLEF 2022 | birdclef-2022
这是我第一次参加 Kaggle 比赛,我投入了大量时间。我很荣幸能参与其中,非常感谢主办方、Kaggle 和所有参赛者。
我从 @kaerunantoka 的公开 notebook 开始,修改了梅尔频谱图的 hop length 和输入形状 [224, 512],并在提交结果中添加了类别权重。
权重数组是用 500 除以每种鸟类的数量,并将其最大值限制为 10。然后我将模型输出乘以权重数组。Public LB 得分为 0.77。
我尝试了这种方法,对次要标签使用了 0.3、0.4 和 0.5 的标签值。通过集成学习,我在 LB 上获得了 0.79 的分数。
针对波形:
Compose([OneOf(
[AddGaussianNoise(min_amplitude=0.001, max_amplitude=0.011, p=1),
NoiseInjection(p=1, max_noise_level=0.04)], p=0.4),
PitchShift(min_semitones=-4, max_semitones=4, p=0.1),
Shift(min_fraction=-0.5, max_fraction=0.5, p=0.1),
Gain(min_gain_in_db=-12, max_gain_in_db=12, p=0.2),
Normalize(p=1.) ])
针对频谱图:
torchaudio.transforms.FrequencyMasking(24)
torchaudio.transforms.TimeMasking(96)
以 tf_efficientnet_b0_ns 为主干的 SED 模型。
我使用 f1-macro 指标在 7 折交叉验证上验证模型。F1 的阈值范围为:[0.5, 0.1, 0.15, 0.20, 0.25, 0.30, 0.35, 0.4, 0.45, 0.5]。最佳检查点根据 0.3 和 0.5 阈值选择。
同上。
同上。
以 tf_efficientnet_b0_ns 为主干的 SED 模型。