Approches innovantes pour la classification des chants d'oiseaux
Une équipe s'attaque aux défis d'identification des chants d'oiseaux dans la compétition BirdCLEF 2024.
― 8 min lire
Table des matières
- Défi de l'identification des chants d'oiseaux
- Notre approche
- Contexte sur la classification des chants d'oiseaux
- Apprentissage par transfert et embeddings
- Exploration des données
- Le processus d'expérimentation
- Pertes d'entraînement
- Résultats et comparaisons
- Temps d'inférence
- Discussion sur les résultats
- Directions futures
- Conclusion
- Source originale
- Liens de référence
Les oiseaux produisent différents sons, et reconnaître ces chants aide à étudier leur comportement et à préserver la biodiversité. En 2024, une compétition appelée BirdCLEF a eu lieu, où des équipes devaient identifier des espèces d'oiseaux à partir d'enregistrements réalisés dans les Ghâts occidentaux de l'Inde. La tâche consistait à analyser de longs enregistrements et à prédire quels oiseaux vocalisaient dans chaque segment de 5 secondes.
Défi de l'identification des chants d'oiseaux
Identifier les chants d'oiseaux est compliqué pour plusieurs raisons. Différentes espèces ont des sons uniques, mais leurs appels peuvent varier considérablement. De plus, le bruit de fond peut rendre difficile l'écoute claire des chants. La compétition s'est concentrée sur 182 espèces cibles, ce qui a ajouté à la complexité. Les participants avaient des délais stricts pour le traitement des enregistrements ; ils devaient analyser environ 4400 minutes de son en seulement 120 minutes de temps CPU.
Notre approche
Notre équipe a utilisé une méthode appelée Apprentissage par transfert, qui consiste à prendre des connaissances d'un modèle et à les appliquer à une autre tâche. On a utilisé des modèles établis comme le Classificateur de Vocalisation des Oiseaux de Google et BirdNET, qui sont conçus pour la reconnaissance des chants d'oiseaux. Le but était de faire face aux défis présentés lors de la compétition.
Comme les enregistrements sonores avec lesquels nous avons travaillé étaient non étiquetés, nous avons développé une stratégie pour attribuer des Pseudo-étiquettes. Cela signifie que nous avons créé des étiquettes basées sur les prédictions faites par nos modèles. En analysant comment les sons changeaient entre les données d'entraînement et les données non étiquetées, nous pouvions affiner notre approche.
Contexte sur la classification des chants d'oiseaux
La classification des chants d'oiseaux utilise généralement des enregistrements audio pour interpréter les sons. Des techniques de traitement d'image peuvent aider, comme la conversion des sons en Spectrogrammes, qui sont des représentations visuelles montrant comment les fréquences sonores changent au fil du temps. De nombreux modèles performants utilisent des réseaux de neurones convolutionnels (CNN) pour analyser ces spectrogrammes.
BirdNET est un modèle bien connu de classification des chants d'oiseaux qui bénéficie de l'utilisation de spectrogrammes. Le Classificateur de Vocalisation des Oiseaux de Google, entraîné sur une grande variété de sons d'oiseaux, aide également dans ce domaine. Ces modèles ont montré de bons résultats dans l'identification des chants d'oiseaux.
Apprentissage par transfert et embeddings
L'apprentissage par transfert profite des modèles précédemment appris pour améliorer de nouvelles tâches. Dans notre cas, nous avons utilisé des modèles entraînés pour identifier les chants d'oiseaux et appliqué leurs connaissances à notre problème. Chaque modèle crée des embeddings – des représentations condensées des données audio qui capturent des caractéristiques importantes pour la classification.
Nous avons évalué l'efficacité de ces embeddings pour transférer des connaissances. En analysant les similitudes et les différences dans la manière dont divers modèles classaient les chants d'oiseaux, nous pouvions trouver la meilleure approche pour nos participations à la compétition.
Exploration des données
Avant de plonger dans le modélisation, nous avons analysé les ensembles de données sonores d'entraînement et non étiquetés pour voir comment les espèces d'oiseaux étaient réparties. Nous soupçonnions que les données d'entraînement ne représentaient pas complètement les sons des données non étiquetées, étant donné les différentes méthodes de collecte. Les données d'entraînement, collectées à partir d'enregistrements crowdsourcés, incluaient probablement des chants plus clairs, tandis que les données non étiquetées des Ghâts occidentaux pouvaient refléter un paysage sonore plus complexe.
Nous avons regardé la fréquence de présence de différentes espèces dans les enregistrements. Nos résultats ont montré que de nombreuses espèces dans les données d'entraînement n'étaient pas présentes dans les enregistrements non étiquetés. Comprendre cette distribution a aidé à affiner notre stratégie de modélisation.
Le processus d'expérimentation
Pour trouver le meilleur modèle, nous avons mené plusieurs expériences. Nous avons testé différentes configurations en utilisant l'apprentissage par transfert pour optimiser la classification des chants d'oiseaux. Nous avons mis en place un flux de travail de bout en bout pour former efficacement nos modèles.
Pour les expériences d'apprentissage par transfert, nous avons utilisé le Classificateur de Vocalisation des Oiseaux de Google comme modèle de base. Nous avons utilisé ses prédictions comme pseudo-étiquettes pour entraîner un modèle de classification multi-étiquettes. Différentes fonctions de perte ont été appliquées pour trouver la manière la plus efficace de mesurer la performance de nos modèles.
Pertes d'entraînement
Une partie cruciale de notre processus était l'utilisation de fonctions de perte, qui nous aident à comprendre comment notre modèle performe. Nous avons essayé différents types de pertes :
Binary Cross-Entropy : C'est une fonction de perte simple qui traite chaque étiquette comme une tâche de classification binaire séparée. Elle a été utilisée comme référence pour la comparaison.
Asymmetric Loss (ASL) : Cette fonction de perte pénalise les erreurs différemment pour les faux positifs et les faux négatifs. Elle était bénéfique pour notre tâche puisque nos données avaient des étiquettes qui se chevauchent et floues.
Sigmoid F1 Loss : Au lieu d'utiliser des métriques traditionnelles, cette approche a optimisé directement pour le score F1, nous donnant des informations sur la performance de notre modèle à travers diverses classes.
En évaluant ces pertes, nous visons à trouver le meilleur équilibre entre précision et efficacité.
Résultats et comparaisons
Après avoir réalisé nos expériences, nous avons compilé les résultats pour comparer différents modèles et approches. Nous avons remarqué que l'utilisation des embeddings de BirdNET entraînait généralement de meilleures performances par rapport au modèle de Vocalisation des Oiseaux de Google seul.
Nous avons également découvert que l'accès à l'étiquette d'espèce pour chaque dossier améliorait considérablement nos scores. Cela suggère que disposer de plus d'informations contextuelles peut grandement améliorer la précision du modèle.
Temps d'inférence
Le temps de traitement est une considération critique dans des compétitions comme BirdCLEF. Nous avons suivi combien de temps il fallait pour analyser des paysages sonores avec nos modèles. Bien que certains de nos modèles aient bien fonctionné dans les limites de temps, d'autres, comme le modèle de Vocalisation des Oiseaux, ont dépassé le temps autorisé en raison de leur complexité.
En optimisant nos modèles pour la performance, nous nous sommes assurés qu'ils pouvaient gérer la charge de travail efficacement dans les contraintes de la compétition.
Discussion sur les résultats
Nos expériences ont mis en avant le potentiel de l'apprentissage par transfert dans la classification des chants d'oiseaux. Bien que les résultats soient prometteurs, il y avait encore des domaines à améliorer. Les modèles entraînés uniquement sur des paysages sonores n'ont pas aussi bien performé que ceux entraînés sur l'ensemble de données d'origine. Cela a soulevé des questions sur comment mieux incorporer des environnements d'enregistrement divers dans nos modèles.
De plus, l'approche d'utilisation de pseudo-étiquettes s'est avérée précieuse, mais elle a mis en lumière la nécessité de modèles de base plus précis pour fournir de meilleures prédictions pour l'apprentissage par transfert.
Directions futures
En regardant vers l'avenir, nous prévoyons d'explorer d'autres manières d'intégrer les motifs de co-occurrence des espèces dans nos modèles. Cela pourrait améliorer la précision de la classification en tirant parti d'informations contextuelles supplémentaires sur les espèces susceptibles d'être trouvées ensemble.
Nous visons également à optimiser encore plus l'efficacité computationnelle et à explorer d'autres architectures de modèles qui pourraient mieux convenir à la gestion des caractéristiques spécifiques des données audio. Notre objectif sera de développer des méthodes qui peuvent équilibrer complexité et performance, permettant un traitement plus rationalisé sans sacrifier la précision.
Conclusion
Notre travail dans la compétition BirdCLEF 2024 a mis en avant l'efficacité de l'apprentissage par transfert dans la classification des chants d'oiseaux. En combinant des embeddings de modèles pré-entraînés et en explorant diverses stratégies d'entraînement, nous avons atteint une performance notable. Bien qu'il reste encore beaucoup à apprendre et à améliorer, nos résultats contribuent à l'effort continu de surveillance et de conservation des espèces d'oiseaux à travers des techniques d'analyse audio avancées.
Titre: Transfer Learning with Pseudo Multi-Label Birdcall Classification for DS@GT BirdCLEF 2024
Résumé: We present working notes for the DS@GT team on transfer learning with pseudo multi-label birdcall classification for the BirdCLEF 2024 competition, focused on identifying Indian bird species in recorded soundscapes. Our approach utilizes production-grade models such as the Google Bird Vocalization Classifier, BirdNET, and EnCodec to address representation and labeling challenges in the competition. We explore the distributional shift between this year's edition of unlabeled soundscapes representative of the hidden test set and propose a pseudo multi-label classification strategy to leverage the unlabeled data. Our highest post-competition public leaderboard score is 0.63 using BirdNET embeddings with Bird Vocalization pseudo-labels. Our code is available at https://github.com/dsgt-kaggle-clef/birdclef-2024
Auteurs: Anthony Miyaguchi, Adrian Cheung, Murilo Gustineli, Ashley Kim
Dernière mise à jour: 2024-07-08 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2407.06291
Source PDF: https://arxiv.org/pdf/2407.06291
Licence: https://creativecommons.org/licenses/by/4.0/
Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.
Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.
Liens de référence
- https://www.kaggle.com/models/google/bird-vocalization-classifier/TensorFlow2/bird-vocalization-classifier
- https://pygments.org/
- https://pypi.python.org/pypi/Pygments
- https://yamadharma.github.io/
- https://kmitd.github.io/ilaria/
- https://conceptbase.sourceforge.net/mjf/
- https://name.example.com
- https://ctan.org/pkg/booktabs
- https://goo.gl/VLCRBB
- https://github.com/borisveytsman/acmart
- https://www.ctan.org/tex-archive/macros/latex/contrib/els-cas-templates
- https://github.com/yamadharma/ceurart
- https://www.overleaf.com/project/5e76702c4acae70001d3bc87
- https://www.overleaf.com/latex/templates/template-for-submissions-to-ceur-workshop-proceedings-ceur-ws-dot-org/pkfscdkgkhcq
- https://linkedin.com/in/acmiyaguchi
- https://linkedin.com/in/acheunggt
- https://linkedin.com/in/murilo-gustineli
- https://www.linkedin.com/in/-ashleykim/
- https://github.com/dsgt-kaggle-clef/birdclef-2024
- https://stackoverflow.com/questions/1673942/latex-table-positioning
- https://docs.google.com/spreadsheets/d/1-jUdjgyu4ytiWMHpZuvwUeqB2diHBewsYtdq-UcRi8s/edit