05

BirdCLEF 2026 — Recognising species by ear

Team Kaggle competition: identify the animal species present in field sound recordings by fine-tuning a pretrained ResNet. A demanding evaluation: macro ROC-AUC, which weighs rare species as much as common ones.

Macro ROC-AUC: 0.87 (team)

Stack

PythonPyTorchLibrosaKaggle

What happened?

  1. 01

    The question

    Can a species be recognised from its call alone, in a noisy field recording?

  2. 02

    The problem

    Hundreds of species, noisy recordings (wind, rain, other animals), heavily imbalanced classes, and a metric, macro ROC-AUC, that does not forgive ignoring rare species.

  3. 03

    The hypothesis

    Sound can be looked at as an image: turned into a spectrogram, it lets a ResNet pretrained on images be fine-tuned to recognise sound patterns.

  4. 04

    The build

    Team work: mel spectrogram extraction with Librosa, then fine-tuning a pretrained ResNet for multi-species classification.

  5. 05

    The failure

    We struggled, without always managing to pinpoint where the problem came from. Kaggle compute time was limited, so were submissions, and results did not deliver what we hoped. Every attempt was expensive.

  6. 06

    The discovery

    Unfreezing more ResNet layers or enlarging the classification head does not necessarily give better results. With a limited compute and submission budget, you have to pick your experiments instead of trying everything.

  7. 07

    The result

    A team macro ROC-AUC of 0.87. Not at the top of the leaderboard, but a real first encounter with a large-scale, real-world audio problem.

  8. 08

    The next frontier

    Try audio-native models (BirdNET, PANNs, EfficientNet on spectrograms), and handle rare species and background noise better.

Spider-Verse · homage