Identificación de aves a partir de canto característico e información contenida en bases de datos
85
0
0
Texto completo
(2) IDENTIFICACIÓN DE AVES A PARTIR DE CANTO CARACTERÍSTICO E INFORMACIÓN CONTENIDA EN BASES DE DATOS. JUAN CARLOS MAYA GONZALES ROGER FABIAN LEYTON CALDERON. Trabajo de Grado presentado como requisito para obtener el título de Ingeniero Electrónico. Asesor: MSC. DARÍO FERNANDO FAJARDO FAJARDO. UNIVERSIDAD DE NARIÑO FACULTAD DE INGENIERÍA PROGRAMA DE INGENIERÍA ELECTRÓNICA SAN JUAN DE PASTO 2011. 2. ..
(3) NOTA DE RESPONSABILIDAD “LAS IDEAS Y CONCLUSIONES APORTADAS EN EL TRABAJO DE GRADO, SON DE RESPONSABILIDAD EXCLUSIVA DE LOS AUTORES” ARTÍCULO 1 DEL ACUERDO No. 324 DE OCTUBRE 11 DE 1966, EMANADO DEL HONORABLE CONSEJO DIRECTIVO DE LA UNIVERSIDAD DE NARIÑO. 3.
(4) Nota de aceptación: ____________________________________ ____________________________________ ____________________________________ ____________________________________ ____________________________________ ____________________________________ ____________________________________ ____________________________________ ____________________________________ ____________________________________ ____________________________________. ____________________________________ Firma del jurado. ____________________________________ Firma del jurado. 4. ..
(5) DEDICATORIA. “A mi familia, ya que siempre han estado ahí, en especial a mi madre y hermanos, y a mi tío Franco por su apoyo. Roger Leython. “A mis padres por su apoyo constante y a mis hermanos Por ser los mejores compañeros en este proceso” Juan Carlos Maya. 5.
(6) RESUMEN. Este trabajo describe el desarrollo de un sistema para la caracterización y reconocimiento más adecuado del canto de ave tomando como referencia una base de datos de 10 aves. Se hace uso de la función PSD (Densidad Espectral de Potencia) como la mejor opción por la marcada diferenciación de los cantos de diferentes especies en pocos datos, así, se implementaron métodos como Redes Neuronales, PCA (Análisis de Componentes Principales) y Correlación, que generaron muy buenos resultados usando cantos de aves de diferentes reservas, tanto de la región como a nivel mundial. Las Redes Neuronales después de su entrenamiento y validación resultan ser las que mejor desempeño presentan en el reconocimiento. Se desarrolla una aplicación en MATLAB que muestra los resultados de reconocimiento en porcentajes de exactitud después de ingresar un canto determinado, esto apoyado en una base de datos de 10 aves fija para el método de ANN (Redes Neuronales Artificiales) y modificable en PCA y Correlación. Usando la tarjeta Domino FEZ se desarrolla un sistema embebido que incluye la lectura de un canto de ave a analizar mediante una tarjeta SD, el cálculo de la función PSD y una red neuronal ya entrenada y validada, para finalmente desplegar los resultados en una LCD. Los resultados son muy cercanos a los obtenidos en PC.. .. 6.
(7) ABSTRACT. A more adequate characterization and recognition of the song of the bird is raised on the basis of a data base of ten birds. The function PSD (Power Spectrum Density) is used as the best option for its remarkable difference in the song of different species in a few data; in this order of ideas, methods as Neuronal Networks, PCA (Principal Component Analysis) and Correlation which generated the expected results were implemented, after the use of the songs of the birds from different reserves from the region as worldwide. After training and validation, the Neuronal Networks showed the best management in the recognition. An application in MATLAB is developed to show the results of recognition in percentages of precision, after inserting a certain song on an already fixed data base of ten birds for the method ANN and modifiable in PCA and Correlation. By using the Domino FEZ card, an embedded system including the reading of the bird song is developed for analysis through a SD card, the function PSD and an already trained and validated neuronal network are implemented, in order to show the results in a LCD; the results are very close to those obtained in PC.. .. 7.
(8) CONTENIDO Pág.. INTRODUCCIÓN ................................................................................................... 16 1.. DESCRIPCIÓN DEL PROBLEMA .......................................................... 17. 1.1. PLANTEAMIENTO DEL PROBLEMA ..................................................... 17. 1.2. FORMULACIÓN DEL PROBLEMA ........................................................ 17. 2.. OBJETIVOS ............................................................................................ 18. 2.1. OBJETIVO GENERAL ............................................................................ 18. 2.2. OBJETIVOS ESPECÍFICOS ................................................................... 18. 3.. JUSTIFICACIÓN ..................................................................................... 19. 4.. REVISIÓN SOBRE EL RECONOCIMIENTO BIOACÚSTICO ................ 21. 4.1. EL RECONOCIMIENTO DE CANTOS VOCÁLICOS .............................. 21. 4.2. TÉRMINOS Y CONDICIONES EN EL RECONOCIMIENTO DE CANTOS VOCÁLICOS ........................................................................................... 23. 4.2.1. Agentes externos .................................................................................... 23. 4.2.2. Variación en la composición del Canto ................................................... 23. 4.2.3. Número de cantos presentes en una grabación...................................... 25. 4.2.4. Delimitaciones de la implementación ...................................................... 25. 4.3. METODOS DE RECONOCIMIENTO CANTO CARACTERISTICO ........ 26. 4.3.1. Dinamyc Time Warping (DTW) ............................................................... 26. 4.3.2 Caracterización y reconocimiento mediante Densidad Espectral de Potencial (PSD) ..................................................................................................... 28 4.3.2.1. Principal Component Analisis (PCA) ....................................................... 31. 4.3.2.2. Coeficiente de Correlación ...................................................................... 35. 4.3.2.3. Redes Neuronales Artificiales ................................................................. 36. 4.3.2.4. Entrenamiento y uso de Redes Neuronales ............................................ 37. 4.4. ALGORITMO DE CORTE ....................................................................... 38 8. ..
(9) 5.. DESARROLLO DE LA APLICACIÓN ...................................................... 42. 5.1. SISTEMA RECONOCIMIETNO MATLAB ............................................... 42. 5.1.1. Lectura de archivos WAV o MP3 ............................................................ 43. 5.1.2. Algoritmo de corte ................................................................................... 43. 5.1.3. Método de Comparación ......................................................................... 44. 5.1.4. Despliegue de Resultados ...................................................................... 44. 5.2. CREACIÓN DE BASE DE DATOS ......................................................... 44. 5.3. INTERFAZ GRÁFICA DEL SISTEMA ..................................................... 46. 5.3.1. Identificación de una Especie.................................................................. 47. 5.3.2. Creación de una nueva Base de Datos. .................................................. 51. 6.. IMPLEMENTACION DEL SISTEMA EN MEDIOS EMBEBIDOS ............ 55. 6.1. SISTEMA RECONOCIMIENTO MEDIO ENBEDIDO .............................. 56. 6.1.1. Lectura del directorio en la memoria micro SD ....................................... 57. 6.1.2. Filtrado de los archivos WAV y selección de la grabación ...................... 57. 6.1.3. Lectura y verificación del encabezado del archivo seleccionado ............ 57. 6.1.4. Lectura decodificación y cálculo del PSD de cada bloque ...................... 59. 6.2. SIMULACIÓN EN LA RED NEURONAL ................................................. 63. 6.3. DESPLIEGE DE RESULTADOS............................................................. 66. 7.. RESULTADOS ........................................................................................ 67. 7.1. RECONOCIMIENTO DE 10 ESPECIES DIFERENTES ......................... 67. 7.2. IMPLEMENTACIÓN DE LA FUNCIÓN PSD EN EL SISTEMA EMBEBIDO ............................................................................................. 76. 8.. CONCLUSIONES ................................................................................... 79. 8.1. CONCLUSIONES Y APORTES .............................................................. 79. 8.2. DESARROLLOS FUTUROS ................................................................... 80. 9.. BIBLIOGRAFÍA ....................................................................................... 81. 10.. ANEXOS ................................................................................................. 84. 9. .. ..
(10) LISTA DE FIGURAS Pág. Figura 1. Variación entre dos cantos de la misma especie .................................... 22 Figura 2. Espectrogramas de diferentes dialectos en el agateador norteño ......... 24 Figura 3. Variación de trama en longitud y velocidad. ........................................... 27 Figura 4. PSD diferentes aves ............................................................................... 30 Figura 5. Variacion PSD grabacion mismo individuo. ............................................ 31 Figura 6. Modelo neurona ...................................................................................... 36 Figura 7. Funciones de activación ........................................................................ 37 Figura 8. Funciones ventana.................................................................................. 39 Figura 9. Obtención de envolvente de la señal ...................................................... 40 Figura 10. Aplicación algoritmo de corte. ............................................................... 41 Figura 11. Diagrama de flujo aplicación en MATLAB............................................. 43 Figura 12. Organización de carpetas con especies y respectivos cantos .............. 45 Figura 13. Interfaz de usuario principal. ................................................................. 46 Figura 14. Opciones del menú. .............................................................................. 47 Figura 15. Menú escoger modo de comparación. .................................................. 47 Figura 16. Opción cargar base de datos. ............................................................... 48 Figura 17. Directorio seleccionar base de datos. ................................................... 48 Figura 18. Especies en base de datos. .................................................................. 49 Figura 19. Seleccionar directorio muestrario. ........................................................ 49 Figura 20. Ventana escoger track a reconocer. ..................................................... 50 Figura 21. Resultados procesamiento track ........................................................... 50 Figura 22. Resultados del proceso de identificación y reproducción del canto. ..... 51 Figura 23. Directorio muestras para nueva base de datos. ................................... 52 Figura 24. Directorio destino base de datos. ......................................................... 52. .. 10.
(11) Figura 25. Directorio cargar base de datos. ........................................................... 53 Figura 26. Especies encontradas en base de datos. ............................................. 53 Figura 27. Directorio seleccionar muestrario. ........................................................ 54 Figura 28. Resultados con nueva base de datos. .................................................. 54 Figura 29. Conexión de Pantalla y Memoria al sistema empotrado ....................... 56 Figura 30. Diagrama de flujo embebido. ................................................................ 56 Figura 31. Conversión a 16 bits lectura SD. .......................................................... 59 Figura 32. Comparación calculo PSD MATLAB y Sistema Embebido ................... 62 Figura 33. Esquema neurona................................................................................ 63 Figura 34. Representación de una capa de la red neuronal. ................................. 64 Figura 35. Representación de una red neuronal de dos capas. ............................ 65 Figura 36. Comparación reconocimiento ANN, PCA y Correlación. ..................... 74 Figura 37. Comparación reconocimiento ANN, PCA y Correlación 20 especies. .. 74. .. .. 11.
(12) LISTA DE TABLAS Pag. Tabla 1. Formato archivo de audio. ...................................................................... 57 Tabla 2. Porcentaje de reconocimiento red neuronal............................................. 68 Tabla 3. Porcentaje de reconocimiento PCA ......................................................... 69 Tabla 4. Porcentaje de reconocimiento Correlación .............................................. 70 Tabla 5. Porcentaje reconocimiento Red Neuronal 2............................................. 71 Tabla 6. Porcentaje reconocimiento PCA 2 ........................................................... 72 Tabla 7. Porcentaje reconocimiento Correlación 2 ................................................ 73 Tabla 8. Distorsión MATLAB y Embebido .............................................................. 76 Tabla 9. Porcentaje reconocimiento Red Neuronal Tarjeta 1 ................................ 77 Tabla 10. Porcentaje reconocimiento Red Neuronal Tarjeta 2 .............................. 78. .. 12.
(13) LISTA DE ANEXOS Pag. ANEXO A. Eigenvectores y eigenvalores……………………………………………84 ANEXO B. Redes neuronales………………………………………………………….84. .. 13.
(14) GLOSARIO. .NET Framework: conjunto de nuevas tecnologías, incluidas en los sistemas operativos Microsoft Windows, que provee soluciones pre-codificadas para requerimientos comunes de los programas y que gestiona la ejecución de los mismos. Autocorrelación: se define como la covarianza de la señal consigo misma. La función de autocorrelación resulta de gran utilidad para encontrar patrones repetitivos dentro de una señal Analisis espectral: Se refiere a la acción de descomponer una señal difícil de interpretar en componentes más simples, generalmente componentes de frecuencia. ANN: Son un paradigma de aprendizaje y procesamiento inspirado en el funcionamiento del sistema nervioso del ser humano. La sigla ANN significa Artificial Neural Network que en español traduce Red Neuronal Artificial. Covarianza: En estadística la covarianza es una medida de dispersión conjunta de dos variables estadísticas. Correlación: Indica la fuerza y la dirección de una relación lineal entre dos variables aleatorias. Desviación estándar: la desviación típica es una medida (cuadrática) que informa de la media de distancias que tienen los datos respecto de su media aritmética. Etologia: Rama de la biología y de la psicología experimental que estudia la conducta, el instinto y las actividades inatas o aprendidas de los animales. Fast Fourier Transform (FFT): Transformada rápida de Fourier es el término utilizado para referirse al cálculo de un análisis espectral mediante un algoritmo ejecutado de manera eficiente. Filtro electrónico: Es un elemento capaz de discriminar determinada frecuencia o gama de frecuencias de una señal eléctrica modificando tanto su amplitud como su fase. Periodograma: Densidad espectral de energía por tiempo muestreado.. .. 14.
(15) Power Spectral Density (PSD): Densidad Espectral de Potencia de una señal es una función matemática que nos informa de cómo está distribuida la potencia de dicha señal sobre las distintas frecuencias de las que está formada, es decir, su espectro. Aunque la densidad espectral no es exactamente lo mismo que el espectro de una señal, a veces ambos términos se usan indistintamente, lo cual, en rigor, es incorrecto. MIPS: (Millones de instrucciones por segundo) Sigla utilizada para referirse a la cantidad máxima de instrucciones que un procesador puede realizar durante un periodo de un segundo. RNA: (Redes Neuronales Artificiales) Sistemas de procesamiento de información cuya arquitectura y funcionamiento están inspirados en las redes neuronales biológicas y en la forma en que funciona el sistema nervioso. Varianza: Es una medida de su dispersión definida como la esperanza del cuadrado de la desviación de dicha variable respecto a su media.. .. 15.
(16) INTRODUCCIÓN. Nuestra fauna colombiana ha sido privilegiada en cuanto a número y variedad de especies se refiere. En este trabajo vamos a encaminarnos al estudio y caracterización de algunas de las aves que habitan nuestro territorio, con el fin de proveer una herramienta a la hora de realizar estudios de biodiversidad los cuales son utilizados por los biólogos en trabajos de planeación, manejo o políticas de conservación de diferentes ambientes. Las personas involucradas en este tema, tanto estudiantes, docentes e investigadores del área de biología de la universidad de Nariño, han desarrollado un extenso banco de datos acerca de las diferentes especies presentes en nuestra región, han realizado diferentes investigaciones, labor de la cual han brotado frutos que ayudan en la tarea de conocer y describir nuestro medio ambiente. En el presente trabajo se propone desarrollar un sistema inteligente capaz de identificar y clasificar especies de aves a partir de grabaciones de audio hechas por los investigadores, la identificación de las aves iría acompañada de una fotografía y el nombre científico del ejemplar; se propone además implementar el mismo sistema en un dispositivo embebido, con el fin de facilitar la movilidad y la carga de equipos en el campo, y proveer la posibilidad de hacer la identificación en tiempo real. Esta necesidad surge de las prácticas de manejo de la información que actualmente realizan los investigadores, labor que resulta ser ardua y dispendiosa debido a que cada grabación obtenida debe ser escuchada por un humano en su totalidad y comparada con una larga lista de referencias probables; las listas pueden ser de alrededor de 100 especies para determinada ubicación, y para cada especie habrá en promedio cinco cantos de referencia, lo cual al realizarse sin un sistema computacional o electrónico de apoyo se torna poco eficiente y confuso para la persona que clasifica ya que después de escuchar cierto número de cantos se alcanza cierto nivel de fatiga en el oído y la tarea se puede entorpecer.. 16.
(17) 1. DESCRIPCIÓN DEL PROBLEMA. 1.1. PLANTEAMIENTO DEL PROBLEMA. La importancia para los biólogos de saber reconocer certeramente una especie determinada de nuestra fauna silvestre, ha llevado a recolectar y compilar información referente a cerca de especies ya estudiadas que habitan reservas presentes en nuestro departamento; dado que la habilidad para saber reconocer una especie ya sea por su apariencia, rasgos, comportamiento o canto particular, sólo se puede adquirir con la práctica apoyada en el material de consulta. Esta labor generalmente se realiza de la mano de un experto en el tema, quien debido a la práctica tiene la facilidad de identificar los cantos y especies de donde provienen. Con el fin de ayudar en la tarea de una identificación de especies aviarias a partir de una señal auditiva, se propone desarrollar un sistema que este en capacidad de analizar la señal y comparar patrones con bases de datos previamente adjuntas para ayudar en la identificación de la proveniencia de determinada señal de audio.. 1.2. FORMULACIÓN DEL PROBLEMA. ¿Es factible realizar un sistema inteligente que apoyado en una base de datos de 10 especies de aves existentes en la región con su canto característico, pueda identificar un ejemplar contenido en ésta a partir de una nueva señal de audio?. 17.
(18) 2. OBJETIVOS. 2.1. OBJETIVO GENERAL. Desarrollar un sistema inteligente capaz de reconocer y diferenciar cantos de 10 especies de aves diferentes.. 2.2. OBJETIVOS ESPECÍFICOS •. Sintetizar la información que se posee acerca de las especies presentes en las diferentes reservas, tales como fotografías, peso promedio, canto característico, etc.. •. Crear una base de datos con los patrones extraídos de la información recolectada por el grupo de investigación en Ecología evolutiva- GAICA adscrito al departamento de biología de la Universidad de Nariño.. •. Procesar la señal de audio que contiene la información acerca del canto del ave que se pretende identificar y extraer de este los patrones más significativos para su posterior identificación.. •. Elaborar una interfaz gráfica la cual desplegara una información acerca de la posible especie de ave que emite el sonido analizado, acompañado de una representación visual, y una información adicional.. •. Implementar un sistema embebido de identificación de 10 aves del sistema inteligente desarrollado en lenguaje de bajo nivel.. 18.
(19) 3. JUSTIFICACIÓN. INVENTARIOS BIOLÓGICOS Y BIOACÚSTICA Al realizar estudios en biodiversidad es importante considerar que esta se compone de diferentes elementos que le otorgan su calidad jerárquica organizacional característica y la cual está estrechamente relacionada con atributos como la composición, estructura y funcionalidad (Gastón, 1996) En este sentido el inventariar los elementos de la biodiversidad es un punto crucial y la base que permitirá direccionar los estudios científicos y su aplicación en la toma de decisiones sobre el uso de los recursos así como en el diseño y planteamiento de políticas y estrategias de conservación y manejo. Una estrategia utilizada al momento de realizar estudios de biodiversidad ha sido el trabajo con grupos indicadores los cuales brindan un estimativo de la diversidad en un área determinada y extrapolar esta información a otros grupos afines así como también permiten evaluar los cambios ambientales y los impactos generados en el ecosistema (Halffter et al., 2001). Dentro de estos grupos se destacan los inventarios de avifauna, los cuales brindan información confiable sobre el estado de conservación de un hábitat determinado, dado a que algunos organismos tienen especificidad de hábitat y son sensibles a los cambios(Halffter et al., 2001); por otra parte, las relaciones inter e intraespecíficas y las funciones ecológicas de esta comunidad les permiten desempeñar un papel dominante en mantener la heterogeneidad espacial y la diversidad taxonómica de los bosque mediante procesos como la dispersión de semillas y la polinización (Stiles, 1983). Adicionalmente características como el comportamiento llamativo, la identificación, la detección y el estado del conocimiento en este grupo son características que hacen que las aves sean un grupo ideal para inventariar gran parte de la comunidad con buenos resultados de certeza y la caracterización de sus hábitats (Stotz et al., 1996). Para realizar inventarios de la avifauna se utilizan diversas metodologías entre la que se destacan métodos intrusivos y no intrusivos, dentro de los primeros es conocido el empleo de redes de niebla, equipos ideales para la captura de individuos; esta metodología permite tomar diversos datos biológicos de los individuos capturados que aportan al estado de conocimiento de la especie como información sobre el estado del plumaje y condiciones reproductivas (Ralph et al., 1996) que son un indicativo importante para entender aspectos poblacionales y de la dinámica de la comunidad, aunque cabe resaltar que este método permite inventariar especies que prefieren hábitats específicos como el sotobosque(Ralph et al., 1996). 19.
(20) Por otra parte uno de los métodos más utilizados y que no genera un contacto directo o de manipulación de los organismos son las observaciones directas (Villarreal et al., 2006), que con ayuda de herramientas ópticas como binoculares y teleobjetivos permiten apreciar en mayor detalle los individuos y obtener información sobre algunos aspectos del comportamiento. Sin embargo esta técnica presenta dificultades en hábitats tropicales con vegetación densa (Villarreal et al., 2006). Teniendo en cuenta estas consideraciones sobre las metodologías utilizadas en los inventarios de avifauna, actualmente se está trabajando en el reconocimiento de las vocalizaciones ya que las aves y algunos grupos específicos han desarrollado evolutivamente un complejo sistema de comunicación (Kroodsma, 1996.). El empleo de técnicas bioacústicas tiene aplicaciones en la sistemática, la conservación y el manejo de las poblaciones de aves silvestres (Tubaro, 1999), destacándose el uso de los cantos en la diagnosis de nuevas especies y el estudio de sus relaciones macro sistemáticas, donde las diferencias del canto han permitido esclarecer diferencias entre especies (Becker, 1982; Payne, 1986; Tubaro, 1999). La bioacústica es una herramienta poderosa de bajo costo en términos de tiempo y dinero para el monitoreo de la biodiversidad (Tubaro, 1999). Más allá de la composición de especies un detallado análisis bioacústico permite estimar las densidades poblaciones relativas y acompañada de la técnica del playback que consiste en la reproducción de cantos naturales, es una ayuda en la identificación específica e individual (Baptista & Gaunt, 1997), el conteo y captura de individuos y el mapeo de territorios (Falls, 1981). En este sentido, una de las mayores dificultades en campo está relacionada con la identificación rápida y segura de los cantos y la especie que representan. Un programa que permita comparar los registros fonográficos obtenidos en campo con una base de datos preestablecida permitirá incrementar los estimativos de riqueza avifaunística de una zona y a la acumulación de información bioacústica importante en el proceso de caracterización ecológico evolutiva de las especies.. 20.
(21) 4. REVISIÓN SOBRE EL RECONOCIMIENTO BIOACÚSTICO. Empezaremos con una revisión acerca tanto de conceptos fundamentales relacionados con la identificación de patrones como de los métodos más utilizados para el análisis de estos patrones.. 4.1 EL RECONOCIMIENTO DE CANTOS VOCÁLICOS Sin duda alguna el oído humano es el sistema más eficiente y complejo a la hora de identificar, extraer, discriminar y separar sonidos, labor que a un humano le resulta bastante fácil debido a la familiarización que se tiene con este; si quisiéramos que un sistema artificial lograse el mismo desempeño que el oído humano debemos empezar por analizar en qué se soporta este sistema y nos daremos cuenta que en una situación como lo es escuchar tocar una banda completa, el oído sabe diferenciar la trompeta, el bajo, el tambor, la guitarra, la voz etc., y esta habilidad se debe a que previamente durante toda su vida ha podido escuchar cada instrumento por aparte varias veces y ha almacenado esta información en el cerebro, también debemos notar que a pesar de que el oído nunca haya oído una trompeta en particular, pero haya oído otras decenas de éstas, inmediatamente la identificaría, a pesar de no ser del mismo material, medida etc.,. Si hacemos una analogía con un sistema artificial, podríamos decir que si contamos con una etapa de captura de una señal y una base de datos de referencia se podría buscar las semejanzas que hay entre las señal de entrada y las almacenadas en la base de datos; claramente el odio humano es un sistema flexible y supera enormemente cualquier sistema actual para el reconocimiento acústico, pero al ser el oído el sistema más eficiente entonces es el modelo a seguir. Debido a la semejanza que presenta el sistema de reconocimiento de cantos vocálicos con los sistemas de reconocimiento de voz, nos cimentaremos en las investigaciones y procesos que se hayan utilizado en el reconocimiento de voz con las respectivas adecuaciones o modificaciones a las que haya lugar. En un canto de ave en general se diferencian algunas partes como lo son la introducción y el trino, sin embargo los sonidos emitidos por el espécimen no son siempre los mismos, se puede presentar en ocasiones únicamente el trino o únicamente la introducción, repetirse una de las dos partes o presentarse solo un segmento de estos, etc. También se encuentra en ocasiones un registro de un canto completo e instantes más tarde el mismo individuo emite otro canto con una variación en alguna de las notas.. 21.
(22) Para observar las variaciones de los cantos de la misma especie resulta de gran utilidad comparar los Espectrogramas, pues dan una idea visual del canto en el tiempo, frecuencia y amplitud. Los espectrogramas resultan de un gráfico en tres dimensiones graficando por tramos el espectro de la señal; la señal se parte en tramos iguales, se aplica una ventana a estos datos para evitar aparición de frecuencias en el corte y se calcula y grafica la transformada de Fourier, el proceso se repite tomando el siguiente tramo superpuesto al 50% con el anterior para nuevamente calcular el espectro y graficarlo en el tiempo correspondiente. El espectrograma se presenta generalmente en un grafico 2D, con los ejes de tiempo y frecuencia diferenciando la amplitud del espectro por el color, un punto con color cercano al azul determina que en determinado tiempo la frecuencia correspondiente no tenía gran energía comparada con un punto rojo. El matiz de colores corresponde al espectro de la luz visible desde el azul oscuro al rojo, siendo al rojo el que denota mayor energía. En la figura 1 se aprecia un ejemplo de dos espectrogramas con variación en notas para una misma especie.. Frecuencia normalizada [x22 KHz]. Frecuencia normalizada [x22 KHz]. Figura 1. Variación entre dos cantos de la misma especie. La variación geográfica del canto es bien conocida en numerosas especies de aves, observándose variaciones en poblaciones de la misma especie con respecto al ancho de la banda, el número de picos, la frecuencia dominante y fundamental, así como en el intervalo entre notas.1. 1. Hernandez, Jose M. La bioacústica como instrumento en los estudios de biodiversidad y conservación. [articulo de internet]. http://jmhweb.wordpress.com/docencia/master-en-biologia-dela-conservacion-ucm/la-bioacustica-como-instrumento-en-los-estudios-de-biodiversidad-yconservacion/ [Consulta 1 abril 2011]. 22.
(23) Este tipo de variaciones se estudian actualmente como un tipo de evolución en la forma de comunicarse entre los mismos individuos, haciendo la analogía con sistemas de reconocimiento de voz se podría decir que a un sistema que está entrenado para reconocer la palabra “ADELANTE”, se ingresase en su lugar la palabra “ADELANTA” y debe ser reconocido ya que la diferencia entre las dos palabras es mínima.. 4.2. TÉRMINOS Y CONDICIONES EN EL RECONOCIMIENTO DE CANTOS VOCÁLICOS La identificación de una señal de audio depende de distintos factores presentes en el ambiente, y al tratarse de aves los hay de diferentes formas, desde la presencia de otras especies como los son grillos, ranas, factores como el viento, ríos, hasta la “aleatoriedad” o variación con que decida cantar el individuo.. 4.2.1 Agentes externos La presencia de ruido proveniente de agentes externos es muy frecuente en señales grabadas en campo abierto, algunos de estos factores están claramente identificados como lo resulta un rio o el viento que producen un ruido de muy baja frecuencia en la grabación, y por tanto para contrarrestar el efecto de estos agentes se hace uso de forros especiales en el micrófono o se utiliza micrófonos direccionales con el fin de atenuar o disminuir en la mayor proporción los efectos sobre la grabación. Hay otro tipo de agentes como los grillos o las chicharras que generan un sonido constante a lo largo de todo el registro, dejando una marca muy clara en una frecuencia cercana a los 10KHz, en ocasiones se encuentran registros de aves cercanas a esa frecuencia, de tal forma que usando software especializado como Adobe Audition es posible editar la presencia de sonidos no deseados.. 4.2.2 Variación en la composición del Canto Como habíamos descrito en la sección anterior, en ocasiones se encuentran variaciones en la estructura del canto, las cuales siempre y cuando sean en pequeñas proporciones deben poder ser superadas por el sistema, ya que si bien son frecuentes, también es claro que la variación no es muy grande. Es seguro que las variaciones ocurren constantemente, pero también es cierto que la marca que un canto deja en el espectrograma se caracteriza por ser bien definida, es decir, para un ave en particular se aprecia claramente la frecuencia con que inicia y como varia a lo largo del tiempo en una marca caracterizada por unas “estrías” propias para cada ave.. 23.
(24) En muchos grupos animales, la bioacústica puede representar una herramienta muy útil en la caracterización y diferenciación de poblaciones de la misma especie. Dado que, como cualquier carácter etológico, la emisión de sonido presenta un componente anatómico (el órgano productor de sonido) y un componente comportamental (la serie de movimientos y procesos que hacen funcionar el órgano emisor), la variabilidad en la señal emitida puede ser mucho más amplia que la que presentan los caracteres exclusivamente anatómicos. Esto está más acusado en aquellos grupos donde los individuos aprenden el canto por imitación durante el período juvenil2.. Figura 2. Espectrogramas de diferentes dialectos en el agateador norteño (Certhia familiaris).Tomado de Hernández, Jose M. La bioacustica como instrumento en los estudios de biodiversidad y conservación.. Tales diferencias eran de esperarse al tratarse de seres vivos que interactúan con el medio en el que viven, se dice que si el medio en el que se desenvuelven se torna ruidoso ya sea por acción de la cercanía de la ciudad o por la presencia de especies que emiten sonidos muy notorios, el individuo trata de sobresalir acentuando alguna nota o ajustando el timbre del canto.. 2. Ibid.. 24.
(25) 4.2.3 Número de cantos presentes en una grabación Debido a que se realiza grabaciones de 1min de duración promedio, en ese lapso de tiempo el individuo habrá emitido varias repeticiones, y seguramente no sea el único individuo emitiendo trinos, por tanto se hace necesario seleccionar la parte de la grabación en donde está la información de interés, para separarla filtrarla e ingresarla al sistema. Cabe resaltar que la grabación debe ser de una buena calidad, en donde resalte el sonido emitido por el ave, por encima de los demás sonidos presentes.. 4.2.4 Delimitaciones de la implementación Actualmente se conoce de estudios que pretenden identificar especies a partir de su sonido, y lo que buscan es dar una aproximación a la especie que presente características similares, tanto en ancho de banda del trino como duración y ubicación en el espectro, y es que la búsqueda además de realizarse en una base de datos extensa, (pues se tiene registros por todo el mundo de aves cantoras), presenta variaciones de la frecuencia y notas presentes de acuerdo a la ubicación geográfica, entonces los sistemas que reconocen los distintos cantos lo que hacen es dar un acercamiento a una base de datos reducida que se asemeja a la señal de interés, para así completar la tarea de identificación con el sistema más eficiente en el campo: “el oído humano”, ya que por más confiable que un sistema sea, la última decisión es la que sale de la comparación que hace el oído humano.. 25.
(26) 4.3 METODOS DE RECONOCIMIENTO CANTO CARACTERISTICO Como es de esperarse, la solución de un problema siempre se puede abarcar desde distintos puntos de vista, a continuación se hace una descripción de algunos de los métodos usados para la identificación de patrones, se analizan las ventajas, desventajas y las razones por las que luego se escoge el método para el sistema desarrollado.. 4.3.1 Dinamyc Time Warping (DTW) El reconocimiento de determinado canto del ave presenta ciertas dificultades también presentadas en el reconocimiento de voz o de audio en general; ya obtenidas las características de la señal ingresada, el camino directo al reconocimiento podría ser medir la distancia que separa a las características recién calculadas con las que ya existen. Es claro que podría encontrarse la distancia Euclidiana y encontrar cuan diferentes son las señales. Sin embargo hay que recalcar que dos cantos que corresponden al mismo tipo de ave no solo presentaran diferencias en la amplitud de las señales, también existen espacios de canto que se prolongan o acortan junto con diferencias en la alineación con el tiempo Estamos frente a un problema con señales a comparar que internamente varían en longitud y velocidad. El Dynamic Time Warping es un algoritmo que permite medir la similitud entre dos secuencias, las cuales pueden presentar este tipo de alteraciones. Como resultado del algoritmo tendremos una distancia ajustada a lo más mínimo posible para acercar las dos señales, y claramente que tan bueno haya resultado el ajuste nos dará un estimativo de la cercanía entre las señales tratadas, el canto a analizar y cada uno de la base de datos. La Figura 3 representa claramente dos palabras localizadas en el eje vertical y horizontal, que son las mismas palabras pero presentan cambios de longitud y velocidad, una simple distancia euclidiana nos mostraría que las palabras son totalmente distintas, pero haciendo una aplicación correcta de DTW se encontrará un buen porcentaje de similitud.. 26.
(27) Figura 3. Variación de trama en longitud y velocidad.. La distancia euclidiana entre dos vectores A y B que internamente resultan de la agrupación consecutiva de n vectores se calcula como. La función que realiza DTW es minimizar esta distancia moviéndose por tramos en ambas secuencias El problema básico consiste en encontrar el camino con la distancia más corta o con el menor costo asociado a éste a través de la rejilla que comienza en el nodo origen (0,0) y termina en el nodo terminal (I,J).3. Donde D(i,j) es la distancia global hasta el punto (i,j) y d(i,j) es la distancia local hasta este punto, operando la anterior ecuación a través de toda la palabra o pedazo de canto a analizar, internamente el algoritmo encontrará coeficientes a,b para una distancia global D(a,b) hasta (a,b) y así sucesivamente va encontrando distancias mínimas, de las cuales al final se tendrá un acumulado que dependiendo si pasa de cierto nivel estaremos hablando de si se reconoce o no la señal tratada. 3. Ripoll Solano, Lácides Antonio. Verificación de hablante basado en Dynamic Time Warping, Barranquilla: Ingenieria y Desarrollo, 1998. 27.
(28) El método resulta eficiente cuando se trata de reconocimiento de voz debido a que el individuo que trata de generar un patrón que sea reconocido por el sistema es un humano, y por tal razón sabe que si el sistema está entrenado para reconocer un comando en especial o una palabra determinada, esta debe ser pronunciada lo más claro posible, de forma pausada y completa, mientras que al tratar con aves se encuentra que es un ser totalmente autónomo y emite los sonidos en el orden que “desee”, como el nombre del método lo indica la alineación se hace en el tiempo esperando contar con patrones similares, pero las variaciones existentes en la estructura del canto hacen que el método no se pueda emplear a cantos que pueden variar en su composición, sin embargo es un método que ha resultado muy eficiente en reconocimiento de voz y se decidió examinar si se ajustaba o no al reconocimiento de cantos vocálicos.. 4.3.2 Caracterización y reconocimiento mediante Densidad Espectral de Potencial (PSD) Como se mencionó anteriormente el canto del ave es una función discreta en el tiempo, se tienen espacios vacíos, oscilaciones en intervalos y cambios bruscos de amplitud; analizar la señal en el dominio del tiempo es una opción que dedicaría una gran complejidad en el análisis de datos y un gran uso de memoria por tratarse de una inmensa cantidad de datos. El trabajar en el dominio de la frecuencia ahorra bastante trabajo por que caracteriza la señal con menos datos e informa que frecuencias predominan en determinado canto, además, es claro cada ave al oído humano experimentado se diferencia por que predominan sonidos más agudos o graves. Power spectral density (PSD) es una función proveniente del espectro o transformada de Fourier de una señal, indicando a que frecuencias las variaciones de la señal son más fuertes (energía). En otras palabras, determina como está distribuida la energía de la señal en el espectro. Claramente el uso de esta función radica en la búsqueda de oscilaciones escondidas que revelan gran cantidad de energía de una señal o la capacidad que se tendría de centrar cierta energía, o si por el contrario solo se tiene ruido que es difícil de encaminar a un propósito, al respecto es importante resaltar que una PSD plana determinará que la señal tratada es únicamente ruido blanco. La unidad de esta función es de energía por frecuencia, y en general existen dos métodos para calcularla, directamente desde la DTF (transformada discreta de Fourier) o usando el cálculo de la autocorrelacion. Se sabe que la DTF de una señal a analizar resulta de:. 28.
(29) Donde x(n) es el vector de entrada a analizar y N la longitud de este vector. Y su densidad espectral de energía DEE:. Como estamos interesados en la densidad de potencia también llamado periodograma habrá que dividir esta energía por el tiempo, que resulta ser el número de muestras por el tiempo de muestreo. Existe un método computacionalmente eficiente que divide todos los N datos, en M segmentos de puntos, se realiza un ventaneo a cada segmentos y es a cada segmento que se realiza el periodograma, el resultado esperado de toda la señal corresponderá al promediado de todos los periodogramas parciales. Los resultados de este método son coherentes con la potencia de cada frecuencia, sin embargo el haber analizado espectralmente la señal por partes puede hacer aparecer lóbulos de frecuencias de baja amplitud que en la señal total pueden no existir, es necesario entonces escoger una función de ventana adecuada. Como método alterno se puede calcular la densidad espectral de potencia mediante le teorema de Wiener-khichin que determina la ecuación. Donde Rx es la función de autocorrelación de x(t). La densidad espectral de potencia resulta ser entonces la transformada de Fourier de la señal de autocorrelacion de x(t). Definiéndose la función de autocorrelación como la correlación cruzada de la señal consigo misma; dado que frecuentemente las autocorrelaciones se calculan para señales centradas alrededor del cero, es decir con un valor principal de cero. La definición de la autocorrelación viene dada por:. y estadísticamente esa función es ampliamente usada para encontrar parámetros repetitivos dentro de una señal.. 29.
(30) Ambos métodos planteados son correctos, sin embargo el primer método es el más usado a nivel computacional. En general la función PSD en aplicación de reconocimiento de patrones a pesar de ser muy parecida a la transformada de Fourier presenta algunas ventajas como en cuanto el tamaño del vector resultante dado que sin importar el vector de entrada, la salida va a tener longitud constante generalmente de 129 datos, aunque se puede usar un vector de mayor o menor longitud, significando en todo caso un barrido en frecuencia desde cero hasta la mitad de la frecuencia de muestreo. Además resulta que los cantos vocálicos que se están tratando presentan ciertos patrones particulares para cada especie, y en comparación a la FFT, la PSD presenta menor susceptibilidad al ruido, es una curva suave de pequeño tamaño, en pocas palabras presenta buen compromiso entre cantidad de información, sensibilidad al ruido y complejidad computacional.. Magnitud Espectral de Potencia. A continuación se presenta la función PSD aplicada a diferentes cantos, la diferenciación entre cada canto es evidente y por tanto más trabajable en un sistema de reconocimiento de patrones.. ____ Lipaugus vociferans ____ Perissocephalus tricolor ____ TyrannusMelancholicus ____ Accipiter bicolor. Frecuencia [KHz]. Figura 4. PSD diferentes aves. Así mismo un aspecto a tener en cuenta es como varía el PSD en función de una variación en el trino de una misma especie, es decir si las variaciones en las notas son tan comunes como se menciono en la sección anterior, estas variaciones se deben poder superar en el patrón PSD sin alterar la forma principal. En la figura 5 se aprecian dos ejemplos de cómo varia el patrón PSD para dos cantos emitidos por un mismo individuo en una misma grabación en donde se observa el cambio en algunas de las notas emitidas: 30.
(31) Frecuencia Normalizada [x22KHz]. Frecuencia Normalizada [x22KHz]. ____ PSD Señal Izquierda ____ PSD Señal derecha. 0. 5. 10. Frecuencia [KHz]. Frecuencia Normalizada [x22KHz]. Frecuencia Normalizada [x22KHz]. ____ PSD Señal Izquierda ____ PSD Señal derecha. 0. 5. 10. Frecuencia [KHz]. Figura 5. Variacion PSD grabaciones mismo individuo.. 4.3.2.1 Principal Component Analisis (PCA) Se plantea la técnica estadística PCA (Análisis de Componente Principal) como opción al reconocimiento de un patrón, en nuestro caso el canto de un ave en particular, dada una base de datos con múltiples variables.. 31.
(32) PCA ha sido ampliamente usada en técnicas como: • Reducción de factores como ruido y redundancia. • Búsqueda de interrelaciones entre los datos para hacer un análisis claro del conjunto. • Creación de nuevas variables que sirven de entrada a otros sistemas que necesitan información sintetizada. • Reconocimiento y análisis de imágenes. Mediante esta técnica es posible por ejemplo reducir un problema de tres variables descrito en el espacio a un grafico 2D en el plano que resulta más fácil de analizar, basándose en relaciones y redundancia de las variables. En nuestro objeto de estudio, existe una matriz base de datos referente al canto de aves (espectro), que necesita ser sintetizada para encontrar datos claves que determinaran si un nuevo canto existe o no en la base de datos. Dada una matriz de datos es posible determinar la varianza (desviación estándar al cuadrado) de cada variable como,. 2. determina cuanto varían los valores de x respecto a su media.. Si se trabaja con dos variables también es posible determinar la varianza entre ellas llamada covarianza.. Valor que determina cuánto varía la dimensión x de su media respecto a la otra variable. Si se analiza la covarianza entre una dimensión y si misma se obtiene la variancia de sí misma. Así, si la covarianza entre las variables X y Y es positiva nos da a entender que ambas se incrementan juntas, si es negativo significa que cuando una crece la otra decrece, por ultimo si la covarianza resulta ser cero ambas variables X y Y son independientes una de otra.. 32.
(33) Ahora si se trabaja con más variables, por ejemplo tres, tendremos más covarianzas, formando la matriz:. Es claro que para J variables se tendrá una matriz J*J. Y hasta aquí tenemos una matriz de igual tamaño que la base de datos, pero informándonos como cambia cada variable respecto a la otra, ahora, es necesario a partir de esta matriz C encontrar los Eigenvectores y Eigenvalores, que nos permitirán disminuir el número de variables.. Los eigenvalores resultan importantes en cuanto le dan el peso a cada eigenvector, es decir, si bien cada eigenvector determina una nueva dimensión este es tan importante para considerarlo en nuestro estudio como su respectivo eigenvalor sea. Podemos tener en cuenta todos los eigenvectores y entonces no habremos reducido el número de variables, y si solo tomamos en cuenta los eigenvectores que tengan un eigenvalor mayor que cierto valor habremos reducido el número de variables. Haciendo un recuento del procedimiento para reducir el número de variables es necesario antes que nada restarle la media a cada variable, calcular la matriz de covarianza C a esta matriz, calcular los eigenvectores y eigenvalores y desechar los que tengan un eigenvalor por debajo de un cierto nivel (lógicamente entre mas eigenvectores eliminemos más información se perderá pero más sencillo será el estudio). Para generar la nueva matriz de datos, que debería tener menos columnas. Armamos el vector. Donde p<n, y n es el numero de variables original.. Nuestra nueva matriz de datos será. 33.
(34) Donde ‘datosentrada’ ha resultado de la matriz original de datos después de restarle la media a cada variable (es una matriz centrada de la matriz de datos).. Si se tiene una matriz datos de entrada m*n, eigenvectores será n*p y la nueva matriz será p*m. Aquí m es el número de individuos y p el número de nuevas variables (<n).. 4.3.2.1.1 Aplicación en reconocimiento de patrones El PCA puede aplicarse en reconocimiento de imágenes o algún patrón, esto haciendo que el número de variables resultantes sea igual al número de imágenes o patrones en la base de datos Dada una matriz A(m*n) que caracteriza a n individuos con m características m>n. (m puede ser un valor característico para cada pixel en una imagen o el valor del espectro de una señal). Podemos convertir a A en una matriz centrada y luego operar así:. Y L resultará una matriz n*n (Del tamaño del número de individuos) A esta matriz se le puede encontrar los eigenvalores y eigenvectores. Eigenvectores será una matriz de n*n, aquí no se discriminará variables. Aplicando la ecuación. Nuevamente se encontrara una nueva matriz m*n pero que ha discriminado correlaciones en la matriz, esto es claro en el tratamiento de imágenes pues si A contenía toda la información referente a imágenes a reconocer, eigenfaces también representaran imágenes pero a las que se les ha extraído patrones comunes entre ellas y solo se ha dejado lo primordial que las distingue. Para el reconocimiento de si una nueva imagen o patrón está en la base de datos original se debe armar una serie de vectores llamados proyecciones resultantes de la multiplicación entre eigenfaces y el vector (m*1) que caracteriza a cada individuo.. 34.
(35) Y cuando queramos analizar una imagen o un patrón nuevo, esta también debe multiplicarse por eigenfaces. Y basta con obtener la distancia euclidiana entre este vector y cada uno de las proyecciones obtenidas anteriormente, y ver cual distancia es la menor. La distancia menor corresponderá a la imagen que más se acerca a la imagen o patrón que ingresamos para que se reconozca.. 4.3.2.2 Coeficiente de Correlación Entre los algoritmos más usados para comparar dos tramas de datos esta la correlación, es el más simple pues resulta de la aplicación del principal método estadístico para determinar dispersión de datos. Las aplicaciones de Correlación son muchas tanto por el hecho de que es un método directo sin la búsqueda de patrones o tramas específicas como por el uso de operaciones sencillas. Estadísticamente encontrar la correlación entre dos variables A y B significa encontrar cuan relacionadas están las variables en cuanto a que varíen simétricamente. El coeficiente de correlación más usado es el coeficiente de correlación de Pearson y se encuentra directamente como era de esperarse a partir de la covarianza entre las tramas A y B (introducida en la revisión de PCA). Matemáticamente esta correlación ( ) se define como la covarianza entre A y B sobre el producto de las desviaciones estándar de cada una.. Hay que anotar que a diferencia de la covarianza, la correlación nos genera un valor independiente de la escala de las variables y el resultado será un valor entre -1 y 1. Análogo al caso de covarianza cuando el factor correlación sea 1, nos denotara una dependencia directa entre la dos variables (poco usual en señales reales, por ruido o desfase como mínimo), mientras que una correlación igual a 0 denota una independencia de las variables, lo que no significa que las señales puedan estar relacionadas de forma no lineal.. 35.
(36) 4.3.2.3 Redes Neuronales Artificiales Las redes neuronales pueden ser usadas como herramienta en el reconocimiento de patrones, es claro que el canto de un ave presenta patrones que ante un elemento conocedor de los tipos de patrones, será reconocido con cierto grado de certeza. Las redes neuronales han sido entrenadas para realizar funciones complejas en muchos campos, incluyendo el reconocimiento de patrones, la identificación, la clasificación, la voz, la visión y los sistemas de control. Dentro de las propiedades más importantes de las ANN se incluyen: • Procesamiento paralelo: una gran cantidad de neuronas actúan a la vez, ahorrando tiempo y facilitando el trabajo en elementos electrónicos. • Generalización: las redes almacenan generalizaciones de los datos de ahí que pueden eliminar ruido y su funcionamiento es más flexible. • Gran cantidad de elementos que vuelven redundante el trabajo. • Entrenamiento y adaptabilidad. La estructura de una neurona es muy similar a una neurona biológica y puede representarse así:. ∑. Función De activación. Umbral. Figura 6. Modelo neurona. Entre las partes fundamentales se pueden diferenciar: • Entradas: Entradas xj a la neurona. • Pesos (w): Cada entrada tiene su propio peso relativo el cual proporciona la importancia de la entrada dentro de la función de agregación de la neurona. Los pesos son coeficientes que pueden adaptarse dentro de la red. Ellos son la medida de la fuerza de una conexión de entrada y pueden ser modificadas en respuesta de los ejemplos de entrenamiento. 36.
(37) • Función de propagación Esta regla permite obtener, a partir de las entradas y los pesos el valor del potencial postsináptico de la neurona: La función más habitual es la suma ponderada de todas las entradas. Podemos agrupar las entradas y pesos en dos vectores (x1, x2,..., xn) y (w1j, w2j,..., wnj), así podemos calcular esta suma realizando el producto escalar sobre estos dos vectores. • Función de activación o transferencia El resultado de la función de propagación, es transformada en la salida real de la neurona mediante un proceso algorítmico conocido como función de activación. En la función de activación el valor de la salida de combinación puede ser comparada con algún valor umbral para determinar la salida de la neurona. Si la suma es mayor que el valor umbral, la neurona generará una señal. Si la suma es menor que el valor umbral, ninguna señal será generada. En la siguente figura se presentan tres tipos de funciones de activacion más comuenes: lineal, de mantenimieto y sigmoidal, destacando de esta última su amplio uso en reconocimietno de patrones y su versatilidad en el empleo de diferentes tipos de entrenamiento.. Figura 7. Funciones de activación (a) lineal (b) mantenimiento (c) sigmoidal. 4.3.2.4 Entrenamiento y uso de Redes Neuronales Aquí se parte de una red neuronal con valores iníciales aleatorios en las conexiones, la red neuronal revisará una gran cantidad de información para que ir ajustando continuamente los pesos para que el sistema responda de la forma deseada. Una de las aplicaciones más importantes de las redes neuronales es el diseño de sistemas que antes de la puesta en marcha tienen determinado claramente la salida deseada del sistema ante cada entrada, así, la red neuronal recibe un par de información entrada salida la vez, y se va ajustando los pesos; La salida obtenida y la salida deseada generan un error a minimizar mediante el ajuste de los pesos. Además existen aplicaciones donde el entrenamiento no es supervisado, aquí no se conoce la señal que debe dar la red neuronal (señal deseada), por ende no se realizan comparaciones entre las salidas reales y las esperadas. Los pesos se modifican de forma que la red produzca valores ‘consistentes’ a la salida según la. 37.
(38) lectura de la información en la entrada. Es claro que este entrenamiento generara un agrupamiento o clasificación de la información a la entrada. Ya modificados los pesos internos en la red neuronal se entiende que estos son fijos y ante una entrada la red usara el vector de entrada lo procesara en forma paralela hasta llegar a la salida, internamente las funciones son sencillas y resultan de operaciones matemáticas en cascada, sin embargo hay q resaltar que si se tienen redes neuronales con realimentación, es de esperar que el sistema se torna más dinámico y la estabilidad del sistema debe garantizarse antes de su uso; esto se hace en general revisando la estabilidad en reposos del sistema, si las salidas son acotadas en todo momento y si existen las derivadas en el tiempo de cada función que describa la red.. 4.4 ALGORITMO DE CORTE Las grabaciones sometidas al proceso de identificación, son grabaciones en las que generalmente se encuentra más de un sonido de fondo, o hay más de una especie interactuando con el medio, podemos imaginar un ambiente natural donde los diferentes sonidos del viento, las aves, ranas, ríos etc. pueden estar presentes y quedar registrados en la grabación, por tanto el problema de la extracción del segmento que contenía la información deseada era un problema que quisimos solucionar estableciendo determinados criterios. Primero se hizo un análisis para tratar de descartar la información por frecuencias, y así dejar únicamente los sonidos que se encuentren dentro del ancho de banda de las aves a ser analizadas, y tras examinar el pequeño grupo de aves se pudo notar que si bien cada ave tenia bien definido su propio ancho de banda, también se observo que los anchos de banda están distribuidos a lo largo del espectro llegando hasta aproximadamente los 10KHz, traslapándose con los sonidos que se quería ignorar, y por eso determinamos descartar este forma de selección. Con la incertidumbre de no tener una base para determinar el segmento de interés, se intento fijar un umbral de ruido para estimar el inicio y fin del corte, encontrando que los niveles de ruido eran relativos y podían diferir de una grabación a otra, en lo que considerábamos un “silencio” con una proporción de hasta 20dB, debido a que en ocasiones el ruido constante de fondo influye sustancialmente en dicho umbral. Así que teniendo en cuenta los puntos anteriores y apoyados sobre la premisa de decir que la grabación a identificar debe ser de calidad aceptable en donde haya por lo menos una intervención del individuo a analizar, se procedió a desarrollar un algoritmo el cual segmenta toda la señal en pequeños tramos iguales, calcula la energía de cada tramo y guarda este valor en una posición secuencial de un vector V en un proceso denominado ventaneo que al final arroja como resultado la información de la envolvente en potencia de la señal.. 38.
(39) Durante el ventaneo como tal se toma cada pequeño tramo de la grabación en el dominio del tiempo y se lo multiplica por una forma predefinida o “ventana”, con el fin de minimizar efectos de altas frecuencias en los extremos del tramo producto del corte abrupto que se hace; en tanto a la ventana existen varios modelos (dependiendo de la forma), después de probar con ventanas como Káiser, Hamming y Bartlett, se noto que no había mayor cambio en la envolvente y se decidió dejar por defecto la ventana de Hamming:. a.. b. c. Figura 8. Funciones ventana. a) Barlett, b) Káiser, c) Hamming. Otro de los parámetros que hay que tener el cuenta a la hora del ventaneo es el grado de traslapamiento o superposición entre una muestra y la siguiente, con el fin de aprovechar al máximo la información de la señal y no perder los bordes del corte, mas sin embargo para el cálculo de la envolvente no se utilizó superposición debido a que la variación en la envolvente resultante era despreciable. Finalmente cada muestra o ventana se definió de 50ms porque presento mejores resultados en la resolución del ventaneo. Se implemento el recorrido por toda la señal de audio mediante programación dinámica y se obtuvo envolventes similares a la de la siguiente grafica:. 39.
(40) 0. 1. 2. 3. 4. 5. 6. 7. 8. Tiempo [s]. Potencia. Tiempo [s]. 0. 1. 2. 3. 4. 5 Tiempo [s]. 6. 7. 8. 9. Figura 9. Obtención de envolvente de la señal (a), cuyo espectrograma (b) revela la presencia de ruido de grillos cerca de los 8khz. (c) Envolvente V de potencia de la señal. De las gráficas se puede apreciar que en la grabación no únicamente hay ruido de fondo muy marcado, sino que inclusive se aprecia la marca constante que dejan los grillos en el registro cerca de los 8 KHhz, mas sin embargo el procesamiento con PSD resulta prácticamente “inmune” a tales efectos y tras realizar el ventaneo constante se obtiene una envolvente que facilitará el corte del segmento de interés, debido a que apoyados en la premisa de decir que la grabación sobresale de alguna forma la especie que se desea identificar , se procede a encontrar el segmento a partir del máximo de la envolvente, del cual podemos decir encierra el sonido con mayor energía de la grabación, en el ejemplo se encuentra en la ventana número 40 con una magnitud de alrededor de 3.57 la cual es irrelevante siempre que sea el máximo de toda la envolvente. A partir de este máximo se procede a descender por la gráfica tanto a la derecha como a la izquierda hasta encontrar el mínimo relativo y así identificar por la izquierda el inicio del segmento y por la derecha el fin del mismo. La determinación para establecer que se ha encontrado el mínimo relativo se basa en dos criterios a los cuales se llegó después de encontrar algunos casos particulares: • El primer criterio para decidir que se había encontrado un mínimo fue establecer que si el valor de este era al menos de la decima parte del máximo es decir si la señal se había atenuado 1dB, caso en el cual se consideraba que se había encontrado un límite del segmento.. 40.
(41) • El segundo criterio fue apoyado sobre contemplar la idea de que el primer criterio no se cumpla debido a la posible presencia de ruido que impida que el sonido se llegue a atenuar 1dB, y por tanto se determinó establecer cual era el umbral mínimo (Ω) de la señal, para lo cual se extrae el mínimo de la envolvente en potencia (que debe ser diferente de cero), y así se busca que el mínimo local sea por lo menos inferior que el doble del mínimo Ω de la envolvente. Con estos criterios se fijaron umbrales “dinámicos”, que dependían de la calidad de ruido presente en el entorno y así entonces si el ruido crece, el umbral también crece. De acuerdo con los criterios anteriores, para el ejemplo se obtuvo un corte del segundo 1.9 hasta 2.1, que para este caso resulta ser un segmento con una muy buena aserción en la elección del corte.. 0. 0.02. 0.04. 0.06. 0.08. 0.1. 0.12. 0.14. Frecuencia [Hz]. Tiempo [s]. Tiempo [s]. Figura 10. Aplicación algoritmo de corte.. El algoritmo funciona siempre y cuando la grabación tenga una calidad aceptable, en algunos casos se encontraron grabaciones en donde el algoritmo identificaba el ruido característico que se presenta al golpear el micrófono, que por realizarse de tan cerca es lógico que contenga mucha energía de un solo golpe, este tipo de ruidos accidentales deben ser eliminados de la grabación para no entorpecer el corte del segmento de interés. También se encontró que en ocasiones tras extraer el segmento, se presenta un pequeño silencio tanto al principio como al final, estos silencios se deben a que la resolución que se utilizó para el ventaneo es de 50ms, y por tanto los silencios no superan ese intervalo, se podrían eliminar aumentando la resolución mas sin embargo se encontró que a intervalos menores, se producían cortes a mitad de una nota, con lo cual se perdía mucha información por tratarse de una nota incompleta y por esa razón se opto por dejar la resolución en 50ms.. 41.
(42) 5.. DESARROLLO DE LA APLICACIÓN. En los capítulos anteriores se han estudiado los diferentes métodos para el análisis de las características propias de cada especie, se han comparado resultados de algunos procesos, se ha hecho la revisión sobre redes neuronales, en el presente capitulo se explica cómo se desarrolla la aplicación que quedaría en el grupo de investigación GAICA, se tuvo en cuenta algunos aspectos importantes como lo fue que el sistema sea flexible a nuevas especies, sea capaz de leer archivos MP3, tenga la posibilidad de manejar diferentes bases de datos todo con el fin de facilitar el manejo a los investigadores del grupo. Se decidió hacer una aplicación en MATLAB, debido a la facilidad que este representa en cuanto al manejo de redes neuronales, operación de matrices despliegue de datos, y manejo de las funciones matemáticas entre otras.. 5.1 SISTEMA RECONOCIMIETNO MATLAB En el siguiente diagrama se hace una representación de la estructura que soporta el sistema, se parte de una lectura del archivo a analizar, se ejecuta el algoritmo de corte si el usuario lo ha seleccionado y posteriormente se calcula la función PSD del canto para finalmente poderlo analizar mediante los códigos de Correlación, Redes Neuronales o Análisis de Componentes Principales. 42.
(43) Figura 11. Diagrama de flujo aplicación en MATLAB.. 5.1.1 Lectura de archivos WAV o MP3 Es la primera etapa en el procesamiento de las señales, y consiste en importar los archivos de sonido con las grabaciones de los cantos a identificar, para llevar a cabo la lectura de archivos WAV se contó con la facilidad de las herramientas de MATLAB, quien cuenta con el comando wavread para la importación de tales archivos, mientras que para la lectura de los archivos MP3 se acudió a la función mp3read desarrollada para MATLAB por Dan Elis quien amablemente ha dispuesto de ella en el siguiente portal4. 5.1.2 Algoritmo de corte Como se puede observar del esquema desarrollado en el sistema, la decisión de usar el algoritmo de corte es tomada directamente por el usuario, se quiso 4. Ellis, Dan. Mp3read and mp3write for Matlab. [articulo de internet]. http://labrosa.ee.columbia.edu/MATLAB/mp3read.html [Consulta 15 abril 2011]. 43.
(44) desarrollar así ya que como se vio en el capítulo sobre el algoritmo de corte, este funciona sobre señales que presenten buenos niveles de calidad en la grabación con lo que se automatiza y agiliza la tarea de extraer el segmento de interés, mas sin embargo se puede presentar la situación en que la grabación no tenga dicha calidad o simplemente no se quiera realizar tal proceso de manera automática como lo manifestó el equipo de biología, por estas razones se decidió dejar esta etapa como opcional. Si la opción de corte esta activa este realiza los procesos que se describieron en el capítulo de algoritmo de corte donde se extrae la potencia de la señal por segmentos en un proceso denominado ventaneo el cual arroja como resultado la curva envolvente de potencia de toda la señal, se localiza el máximo de esta curva y se hallan los segmentos de inicio y fin a partir de este máximo apoyado sobre los criterios de atenuación de la señal (Ver capitulo de algoritmo de corte).. 5.1.3 Método de Comparación En esta etapa con el segmento seleccionado y habiendo extraído los patrones madre, nos encontramos con la decisión acerca de que método utilizar para la comparación de dichos patrones, basados en los resultados de los métodos estudiados y conociendo la efectividad que representa el uso de la red neuronal sería lógico que sea ese el método por defecto y sin lugar a decisiones, pero si bien es el método con mejor desempeño también tiene la dificultad de el entrenamiento previo que necesita, el cual solamente se puede realizar en MATLAB, pues el Toolbox de entrenamiento es soportado únicamente en la plataforma, no en aplicaciones creadas por MATLAB, por esta razón se decidió de todas formas dejar el algoritmo de comparación por PCA en la aplicación, ya que si bien no es el más exacto, cuenta con la ventaja de que no necesita entrenamiento, simplemente se crea la base de datos y queda listo para comparar. En tanto al método de comparación por correlación es el menos exacto pero se lo quiso conservar debido a que tampoco necesita entrenamiento y porque es uno de los métodos que utilizan los biólogos tradicionalmente para la comparación de semejanzas entre determinadas especies.. 5.1.4 Despliegue de Resultados De acuerdo al resultado arrojado por el método escogido, el sistema organiza los “puntajes” para cada especie y así despliega en pantalla las fotografías de los probables individuos en orden del más al menos semejante, con una respectiva muestra de su canto.. 5.2 CREACIÓN DE BASE DE DATOS Como se ha descrito durante el desarrollo se tuvo en cuenta que el sistema sea flexible a nuevas especies para poder organizar nuevas bases de datos, y para lograr tal objetivo se implemento un sistema guiado para la creación de la base de 44.
Documento similar