Clasificando los cantos de aves africanas a través del análisis de audio
Un estudio sobre cómo usar grabaciones de sonido para identificar diferentes especies de aves en África.
― 7 minilectura
Tabla de contenidos
- Resumen del Proyecto
- Enfoque
- Espacio de Embedding y Aprendizaje por Transferencia
- Anotación Semi-Supervisada del Conjunto de Datos
- Implementación y Flujo de Trabajo
- Modelo Base
- Explorando un Modelo Binario
- Modelos de Embeddings Interpolados
- Modelos de Ensamble y Concatenados
- Desafíos en la Calidad de los Datos
- El Rol de la Separación de Fuentes de Audio
- Direcciones Futuras
- Fuente original
- Enlaces de referencia
La clasificación de cantos de aves es el proceso de identificar diferentes especies de aves según sus sonidos. En este contexto, nos enfocamos en clasificar aves africanas usando grabaciones de varios lugares. Nuestro proyecto analizó cómo podíamos mejorar el proceso de identificación usando dos técnicas principales: aprendizaje por transferencia y anotación semi-supervisada de conjuntos de datos.
Resumen del Proyecto
El objetivo principal de nuestro proyecto era clasificar especies de aves dentro de grabaciones sonoras de 10 minutos. Cada segmento de 5 segundos de estas grabaciones necesita ser etiquetado con la probabilidad de que diferentes especies de aves estén presentes. Teníamos una cantidad significativa de datos de entrenamiento, incluyendo casi 17,000 pistas de audio que sumaban más de 192 horas. Sin embargo, el desafío era que aunque teníamos información sobre las especies en estas pistas, no sabíamos exactamente dónde estaban los cantos en las grabaciones. Algunas especies solo estaban representadas por uno o dos ejemplos, lo que hacía nuestra tarea aún más difícil.
Enfoque
Nuestro objetivo era usar modelos existentes, como BirdNET y MixIT, para ayudar con la clasificación. BirdNET analiza clips de audio y puede identificar varias clases, que incluyen no solo aves, sino también ruidos como sonidos ambientales y voces humanas. Aprovechamos las representaciones aprendidas de BirdNET para crear un nuevo conjunto de datos anotados para entrenar nuestros modelos.
Espacio de Embedding y Aprendizaje por Transferencia
BirdNET procesa clips de audio en una forma estructurada llamada embeddings. Estos embeddings ayudan a representar los datos de audio de una manera que captura las características importantes mientras reduce el ruido. Usamos estos embeddings para entrenar un nuevo modelo de aprendizaje automático. Al visualizar los embeddings, podíamos ver patrones y agrupaciones que indicaban qué tan bien se podían distinguir diferentes especies de aves.
Anotación Semi-Supervisada del Conjunto de Datos
MixIT es un modelo que ayuda a separar diferentes sonidos en un track de audio. Por ejemplo, cuando tomamos un track que contenía múltiples sonidos, MixIT podía ayudar a aislar un canto de ave del ruido de fondo. Para gestionar nuestro procesamiento, usamos un sistema llamado Luigi para manejar el flujo de trabajo durante varios días. Dividimos los clips de audio para asegurarnos de que todos tuvieran menos de tres minutos de duración para facilitar el procesamiento.
A continuación, procesamos cada clip de audio para extraer embeddings para cada segmento de 3 segundos, etiquetando estos segmentos según las predicciones de BirdNET. Esto creó un conjunto de datos que pudimos usar para entrenar varios modelos de manera efectiva.
Implementación y Flujo de Trabajo
Organizamos nuestro trabajo en dos partes principales: entrenamiento e inferencia. La parte de entrenamiento se llevó a cabo en Google Cloud Platform, mientras que usamos un cuaderno de Kaggle para la inferencia. Al desarrollar un paquete compartido en Python, gestionamos las dependencias y facilitamos los procesos para ambas etapas.
En nuestro flujo de trabajo de inferencia, primero preparamos los datos sincronizándolos con los modelos requeridos. Una vez que los datos estaban listos, podíamos leer las grabaciones de audio, dividirlas en partes más pequeñas y luego ejecutar BirdNET para obtener embeddings y predicciones para cada segmento.
Modelo Base
Para iniciar el desarrollo de nuestro modelo, comenzamos con un enfoque básico que utilizaba el segmento de mayor energía de cada grabación. Supusimos que el sonido más fuerte probablemente era un canto de ave. Si la predicción máxima estaba por encima de un cierto nivel, lo etiquetábamos como un canto; de lo contrario, lo etiquetábamos como "sin canto". Aplicamos diferentes clasificadores, incluyendo regresión logística y máquinas de soporte vectorial, para ver cuál funcionaba mejor.
Nuestro modelo inicial de regresión logística tuvo un rendimiento razonablemente bueno, puntuando más alto que otro modelo común utilizado en competiciones similares. Esto nos animó a explorar otros clasificadores como árboles de decisión impulsados por gradientes, que podrían entrenar más rápido manteniendo buena precisión.
Explorando un Modelo Binario
Queríamos entender mejor nuestro conjunto de datos construyendo un clasificador binario para identificar si un canto de ave estaba presente o no. Creamos un conjunto de datos equilibrado que contenía ejemplos positivos (canto de ave presente) y negativos (sin canto de ave). Nuestro modelo de regresión logística logró una alta precisión, lo que indica que nuestro proceso de etiquetado fue efectivo.
Además, creamos un conjunto de datos más pequeño enfocándonos en las tres especies de aves más prevalentes, que también arrojó excelentes resultados. Sin embargo, notamos que la distribución de algunas especies era desigual, lo que podría llevar a desafíos en la clasificación.
Modelos de Embeddings Interpolados
Para mejorar nuestro modelo, experimentamos con la interpolación, que implicó crear nuevos ejemplos combinando características de muestras existentes. Creíamos que esto podría ayudar a equilibrar el conjunto de datos y mejorar el rendimiento. Al generar características de diferentes segmentos de tiempo, buscábamos enriquecer nuestro conjunto de datos.
Aunque algunos experimentos mostraron mejoras prometedoras, otros resultaron en puntajes más bajos en comparación con nuestra base. La efectividad de la interpolación sigue siendo un área para investigar más.
Modelos de Ensamble y Concatenados
También exploramos modelos de ensamble, que combinaban los resultados de los clasificadores de mejor rendimiento. Este método tenía como objetivo aprovechar las diversas fortalezas de múltiples modelos. Nuestro enfoque final consistió en clasificar según las salidas de la última capa de BirdNET, creando vectores de probabilidad para la clasificación.
Desafíos en la Calidad de los Datos
La calidad de los datos es crucial para construir modelos efectivos. Creamos un flujo de trabajo de etiquetado flexible, que nos permitió etiquetar segmentos de audio con precisión. Sin embargo, tener un conjunto de datos independiente con etiquetas verificadas por humanos mejoraría nuestra evaluación del proceso de etiquetado automatizado.
Al analizar la calidad de las etiquetas, podríamos mejorar el rendimiento de nuestros modelos. Consideramos implementar una métrica para medir la precisión de nuestro proceso de separación de sonidos, ya que esto proporcionaría conocimientos sobre qué tan bien distinguimos los cantos de aves del ruido.
El Rol de la Separación de Fuentes de Audio
La contribución del modelo MixIT fue significativa en nuestro proyecto, particularmente en la reducción de ruido. Reconocimos que evaluar el impacto de la separación de sonidos en nuestros modelos sería valioso. Aunque enfrentamos desafíos debido a las diferentes tasas de muestreo de audio, reconocimos que integrar estos modelos podría mejorar nuestros esfuerzos.
Direcciones Futuras
Nuestra investigación llevó a conclusiones sobre los embeddings interpolados y sus posibles beneficios. Expresamos interés en experimentar con otros modelos de clasificación que podrían ofrecer incluso mejores resultados. Además, buscamos explorar las relaciones entre diferentes tracks separados por sonido y sus embeddings para obtener una comprensión más profunda del rendimiento del modelo.
En resumen, nuestro proyecto se centró en la clasificación de cantos de aves utilizando grabaciones de sonido, empleando técnicas de aprendizaje por transferencia y semi-supervisadas. A través de una serie de experimentos y evaluaciones de modelos, demostramos la efectividad de nuestros métodos e identificamos áreas para futuras exploraciones. Los resultados mostraron que con el enfoque correcto, podíamos avanzar de manera significativa en la clasificación de especies de aves a partir de sonidos en sus hábitats naturales.
Título: Transfer Learning with Semi-Supervised Dataset Annotation for Birdcall Classification
Resumen: We present working notes on transfer learning with semi-supervised dataset annotation for the BirdCLEF 2023 competition, focused on identifying African bird species in recorded soundscapes. Our approach utilizes existing off-the-shelf models, BirdNET and MixIT, to address representation and labeling challenges in the competition. We explore the embedding space learned by BirdNET and propose a process to derive an annotated dataset for supervised learning. Our experiments involve various models and feature engineering approaches to maximize performance on the competition leaderboard. The results demonstrate the effectiveness of our approach in classifying bird species and highlight the potential of transfer learning and semi-supervised dataset annotation in similar tasks.
Autores: Anthony Miyaguchi, Nathan Zhong, Murilo Gustineli, Chris Hayduk
Última actualización: 2023-06-29 00:00:00
Idioma: English
Fuente URL: https://arxiv.org/abs/2306.16760
Fuente PDF: https://arxiv.org/pdf/2306.16760
Licencia: https://creativecommons.org/licenses/by/4.0/
Cambios: Este resumen se ha elaborado con la ayuda de AI y puede contener imprecisiones. Para obtener información precisa, consulte los documentos originales enlazados aquí.
Gracias a arxiv por el uso de su interoperabilidad de acceso abierto.