Google Colab es una plataforma que permite ejecutar código sin utilizar los recursos de nuestro computador, y no importa si no sabes nada sobre programación, aquí te explicaremos paso a paso lo que hay que hacer para utilizar el modelo de BirdNET, con el propósito de identificar, o al menos sugerir posibles especies que concuerden con nuestras grabaciones de aves.
Contenido
Lo más probable es que vengas del artículo sobre la App de BirdNET en nuestro blog, pero en caso de que no, puedes visitarlo aquí para conocer más a fondo esta iniciativa que usa inteligencia artificial para identificar sonidos de aves. Ahora sí, comenzamos con el tutorial:
1. Abrir Google Colab y hacer una copia del cuaderno
Lo primero que tenemos que hacer es dar click en el siguiente enlace: https://colab.research.google.com/drive/1KHOvuFC4nXxk5VuYTC3sw4Wnqco9ikQp#scrollTo=3vaQd9AmWt7U.
Al abrirlo aparecerá un documento como este:
Luego de abrirlo, haremos una copia del documento para poder trabajar en nuestra propia versión y personalizarla como queramos. Para esto daremos click en «File» / «Save a copy in Drive»
2. Cargar el modelo y paquetes necesarios
Una vez hecha nuestra copia, podremos comenzar a cargar el modelo. Para ello solo hace falta dar en el botón «Run cell», representado con el símbolo de reproducir o ▶️. Pulsaremos ese botón para el primer bloque de código.
Luego de que el primer bloque se termine de ejecutar, pulsaremos el mismo botón ▶️ para el bloque llamado #Establecer directorio de trabajo
Luego de ejecutar el paso anterior, ya tenemos el paquete BirdNET instalado, podemos ir al siguiente paso:
3. Subir la vocalización
Para subir la vocalización que queremos analizar, daremos click en el ícono de carpeta ubicado en la barra lateral de la izquierda, luego en la carpeta llamada «BirdNET-Lite» y finalmente en la carpeta «example».
Una vez dentro de la carpeta «example», tenemos que arrastrar y soltar el archivo de sonido a analizar. En nuestro caso subiremos un archivo de sonido con el nombre «2019-03-31.mp3». Al soltar el archivo en la carpeta, este comenzará a subirse y el progreso de carga se indicará por medio de un círculo naranja en la parte inferior.
4. Ejecutar el modelo
Una vez cargado el archivo solo resta ejecutar el modelo, pero antes debemos cambiar el nombre del archivo a analizar. El nombre del archivo predeterminado que está en el código es «MI_GRABACIÓN.mp3», por lo que hay que cambiarlo para que el programa analice el archivo que queremos. Como nuestro archivo se llama «2019-03-31.mp3», pondremos ese nombre y la ruta completa quedará así: ‘example/2019-03-31.mp3’.
Como habrás notado, hay otros parámetros que se pueden modificar para aumentar la precisión del modelo. Estos son:
- –lat : Latitud del registro (en formato decimal)
- –lon : Longitud del registro (en formato decimal)
- –overlap : Superposición. Debido a que el modelo separa el audio en pequeños fragmentos para analizarlos, este parámetro indicará qué tanto se pueden superponer entre sí los fragmentos. Los valores de este parámetro van de 0.0 a 2.9
- –min_conf : Confianza mínima. Indica a partir de qué valor incluir o descartar una sugerencia de identificación. Por ejemplo, si queremos que el modelo nos arroje todos los resultados para los que tiene un 25% o más de confianza, debemos escoger 0.25. Los valores de este parámetro van de 0.01 a 0.99.
- –sensitivity : Sensibilidad del modelo. Los valores de este parámetro van de 0.5 a 1.5, siendo 1.0 el valor predeterminado.
Una vez configurados todos los valores, solo resta darle cllck al botón ▶️ y el modelo empezará a correr.
5. Visualizar e interpretar los resultados
Cuando el modelo termine de ejecutar el análisis del audio, podremos ver el número de resultados que el modelo obtuvo. En nuestro caso muestra 7 resultados. Para verlos deber dar doble click en el archivo «result.csv» en la parte izquierda de la pantalla. Esto abrirá una ventana en el lado derecho.
Como se puede ver en la imagen anterior, el modelo arrojó 7 resultados, que están presentados en 4 columnas (Inicio, Final, Nombre científico, Nombre en inglés y Confianza). Veremos a continuación cómo interpretar estos resultados. Por ejemplo, para el resultado número 5, el modelo tiene un 72% de certeza de que entre el segundo 3 y 6 del audio cantó la Grallaria ruficapilla.
¿Qué tan confiable es el modelo?
Para el caso de nuestro audio, el modelo acertó con los resultados de Grallaria ruficapilla. Sin embargo, también arrojó resultados de especies que no estaban, como Lurocalis rufiventris o Rhynchortyx cinctus, aunque esto fue porque establecimos un mínimo de confianza de 25% y el modelo mismo indica que tiene solo un 34 y 28% de certeza para esos resultados, respectivamente.
Puedes escuchar el audio a continuación:
Entonces ¿cómo tomar a este modelo? ¿como una inteligencia artificial perfecta, que arroja siempre resultados inequívocos y en la que hay que confiar ciegamente? ¿o como una herramienta útil que puede orientar la identificación, mas no tomar el control de esta?. Recomendamos tomarlo de la segunda manera. Hay que tener en cuenta que un modelo como este simplemente está arrojando qué tanto coincide un espectrograma con otro, previamente suministrado mediante el proceso de entrenamiento. Además, en la actualidad el modelo solo arroja resultados para cerca de 6000 especies, y se considera que hay 10824 especies de aves en el mundo, por lo que hace falta todavía recopilar mucha información bioacústica para entrenar un modelo más potente.
Aun así, este modelo puede ser de gran ayuda si se sabe aprovechar todo su potencial, aunque siempre de una manera prudente. ¿Cómo hacerlo?.
Supongamos que grabaste un audio de una especie de la que no tienes idea de su identidad. Subes el audio, ejecutas el modelo y este te arroja 10 resultados. Lo que debes hacer es buscar los resultados con mayor porcentaje de confianza y comparar manualmente en una base de datos como xeno-canto o Macaulay Library. De esta forma estarás usando la herramienta de forma orientadora, pero la decisión sobre la identificación quedará a tu criterio.
Te recordamos que BirdNET está disponible como aplicación para móviles, y puede usarse como grabadora para identificar aves en tiempo real mediante el sonido. La implementación que realizamos en esta página se hizo simplemente para poder analizar audios grabados con anterioridad por fuera de la aplicación, pues esta funcionalidad no está todavía disponible en la versión móvil.
Esperamos que te haya sido de utilidad el artículo. Si no entiendes algo o tienes alguna sugerencia de mejora, no dudes en dejar tu comentario.
Pingback:Probando BirdNET, una App que identifica sonidos de aves con inteligencia artificial