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
What happened?
- 01
The question
Can a species be recognised from its call alone, in a noisy field recording?
- 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.
- 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.
- 04
The build
Team work: mel spectrogram extraction with Librosa, then fine-tuning a pretrained ResNet for multi-species classification.
- 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.
- 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.
- 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.
- 08
The next frontier
Try audio-native models (BirdNET, PANNs, EfficientNet on spectrograms), and handle rare species and background noise better.
