Análisis del uso de algoritmos de Deep Learning en un sistema acústico de detección de larvas de insectos xilófagos
Abstract
Departamento de Ciencias de los Materiales e Ingeniería Metalúrgica, Expresión Gráfica en la Ingeniería, Ingeniería Cartográfica, Geodesia y Fotogrametría, Ingeniería Mecánica e Ingeniería de los Procesos de Fabricación
Full text
Universidad de Valladolid Escuela Técnica Superior de Ingenieros de Telecomunicación Análisis del uso de algoritmos de Deep Learning en un Sistema acústico de detección de larvas de insectos xilófagos Trabajo Fin de Grado Grado en Ingeniería de Tecnologías Específicas de Telecomunicación. Mención Sistemas de Telecomunicación Autor: Alberto García García Tutora: Lara del Val Puente Valladolid, julio 2024
Título Análisis del uso de algoritmos de Deep Learning en un Sistema acústico de detección de larvas de insectos xilófagos Autor D. Alberto García García Tutora Dra. Lara del Val Puente Departamento Teoría de la Señal y Comunicaciones Tribunal Presidente Alberto Izquierdo Fuente Secretaria Lara del Val Puente Vocal Juan José Villacorta Calvo Suplente 1 Ramón de la Rosa Steinz Suplente 2 Alonso Alonso Alonso Fecha 10 de julio de 2024 Calificación
A mi familia, por darme la oportunidad y acompañarme en este camino. A todo el equipo del GPA, en especial a mi tutora Lara, por permitirme aprender y disfrutar tanto de este proyecto. A todos los amigos que me llevo de la Escuela, por hacer de esta una etapa inolvidable. A mi pareja, por su apoyo incondicional, su paciencia y por creer siempre en mí.
Resumen Este Trabajo Fin de Grado se centra en la investigación sobre la detección de insectos xilófagos mediante técnicas acústicas, un área ampliamente estudiada pero con ciertas limitaciones que este trabajo busca reducir. Para ello, se han utilizado imágenes acústicas capturadas por un array de micrófonos MEMS, a partir de las cuales se estima la localización de larvas basándose en la energía de la emisión acústica producida por su actividad vital, principalmente su alimentación a base de madera. Se cuenta con una base de datos de 148,000 señales capturadas a partir de seis larvas de Hylotrupes bajulus, colocadas en cuatro vigas de madera diferentes a una distancia de 60 centímetros del array acústico, dentro de una cámara anecoica. Para validar las detecciones realizadas, se han desarrollado varios algoritmos de aprendizaje profundo con el objetivo de reducir las detecciones de falsos positivos, que actualmente se producen debido a la energía radiada por zonas de la madera distintas al lugar donde se originó la emisión acústica, resultando en una localización errónea. Se obtuvieron resultados prometedores, con una precisión del 98.8% en el mejor modelo y un valor de área bajo la curva ROC de 0.998. El problema de clasificación se centra en discriminar entre las detecciones capturadas que provienen directamente del lugar de origen de la emisión acústica y aquellas que han atravesado la madera y han sido radiadas a través de otra zona, como un nudo. Palabras clave Detección de insectos xilófagos, array acústico, sensores MEMS, redes neuronales, aprendizaje profundo, aprendizaje transferido, redes neuronales convolucionales, perceptrón multicapa. II
Abstract This thesis focuses on research into the detection of wood-boring insects using acoustic techniques, an extensively studied area with certain limitations that this work aims to mitigate. To achieve this, acoustic images captured by an array of MEMS microphones have been utilized to estimate the location of larvae based on the energy of acoustic emissions produced by their vital activity, primarily their wood-feeding behavior. The study includes a database of 148,000 signals collected from six larvae of Hylotrupes bajulus, placed on four different wooden beams at a distance of 60 centimeters from the acoustic array, within an anechoic chamber. To validate the detections made, several deep learning algorithms have been developed with the goal of reducing false positives, which currently occur due to energy radiated from areas of the wood other than the origin of the acoustic emission, resulting in incorrect localization. Promising results were obtained, with an accuracy of 98.8% in the best model and an area under the ROC curve value of 0.998. The classification challenge focuses on distinguishing between captured detections originating directly from the site of acoustic emission and those that have passed through the wood and have been radiated through another area, such as a knot. Keywords Detection of xylophagous insects, acoustic array, MEMS sensors, neural networks, deep learning, transfer learning, convolutional neural netoworks, multi-layer perceptron. III
Índice Agradecimientos .................................... I Resumen ........................................ II Abstract......................................... III 1. Introducción 1 1.1. Estadodelarte.................................. 1 1.2. Objetivos ..................................... 3 1.2.1. Objetivos generales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2.2. Objetivos específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3. Metodología.................................... 3 2. Marco teórico 5 2.1. Arraysdemicrófonos............................... 5 2.1.1. El conformador de haz . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.1.2. Aliasingespacial ............................. 9 2.2. Acústica de insectos xilófagos . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.3. Deep learning y Redes Neuronales . . . . . . . . . . . . . . . . . . . . . . . 12 2.3.1. Redes neuronales artificiales . . . . . . . . . . . . . . . . . . . . . . . 12 2.3.2. Arquitecturas de redes neuronales . . . . . . . . . . . . . . . . . . . 15 2.3.3. Métodos de Optimización . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3.4. Retropropagación............................. 18 2.4. Métricas de rendimiento en algoritmos de deep learning ........... 19 2.4.1. Matriz de confusión . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.4.2. Exactitud................................. 20 2.4.3. Precisión ................................. 21 2.4.4. Exhaustividad .............................. 21 2.4.5. Tasa de falsos positivos . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.4.6. PuntuaciónF1 .............................. 22 2.4.7. Especificidad ............................... 22 2.4.8. Curva de Características Operativas del Receptor (ROC) . . . . . . 22 2.5. Funciones de pérdida en algoritmos de deep learning ............. 23 2.6. Herramientas de desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.6.1. LabVIEW................................. 24 2.6.2. MATLAB®................................ 25 2.6.3. Python .................................. 25 2.6.4. GoogleColab............................... 26 3. Adquisición y procesado de las señales 27 3.1. Adquisición de señales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.1.1. Arrayacústico .............................. 27 IV
Índice 3.1.2. Sistema de adquisición . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.1.3. Condiciones de adquisición . . . . . . . . . . . . . . . . . . . . . . . 29 3.2. Segmentación de señales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.3. Conformación de las señales . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.4. Etiquetado de los datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.5. Análisisdelosdatos ............................... 36 3.6. Preparación de los datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.6.1. Escalogramas............................... 38 3.6.2. Señalentiempo ............................. 39 3.6.3. Espectro en frecuencia . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4. Desarrollo del clasificador 41 4.1. Transfer learning:Xception ........................... 41 4.1.1. Fine-tuning ................................ 43 4.2. Red neuronal convolucional (CNN) . . . . . . . . . . . . . . . . . . . . . . . 43 4.3. Perceptrón multicapa (MLP) . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.4. Entrenamiento de las redes neuronales . . . . . . . . . . . . . . . . . . . . . 45 5. Resultados 47 5.1. Transfer learning:Xception ........................... 47 5.2. CNN........................................ 49 5.3. MLP........................................ 50 5.3.1. Señaleneltiempo ............................ 50 5.3.2. Espectro en frecuencia . . . . . . . . . . . . . . . . . . . . . . . . . . 52 5.4. Validación leave-one-out ............................. 55 5.5. Comparativa ................................... 57 6. Conclusiones y líneas futuras 59 6.1. Conclusiones ................................... 59 6.2. Líneasfuturas................................... 60 6.3. Objetivos de Desarrollo Sostenible . . . . . . . . . . . . . . . . . . . . . . . 61 Bibliografía 63 V
Índice de figuras 2.1. Diagrama de radiación para d=λ/2 y valores de Nde 8 y 16. ....... 6 2.2. Esquema básico de un conformador . . . . . . . . . . . . . . . . . . . . . . . 7 2.3. Conformación basada en Delay and Sum. ................... 8 2.4. Sección transversal de un árbol. [2] . . . . . . . . . . . . . . . . . . . . . . . 10 2.5. Ciclo vital y morfología mandibular de un insecto xilófago. [2] . . . . . . . . 11 2.6. Una mordida de Hylotrupes bajulus L....................... 11 2.7. Inteligencia artificial, machine learning y deep learning. . . . . . . . . . . . 12 2.8. Esquema de una neurona artificial. . . . . . . . . . . . . . . . . . . . . . . . 13 2.9. Funciones de activación y sus derivadas. . . . . . . . . . . . . . . . . . . . . 14 2.10. Arquitecturas de redes neuronales. . . . . . . . . . . . . . . . . . . . . . . . 16 2.11. Algoritmo de retropropagación . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.12. Ejemplo de curva ROC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.13. Herramientas de desarrollo. . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.1. Array de micrófonos MEMS . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.2. Tamaño de las vigas y posiciones de implantación de las larvas expresadas enmilímetros.[1]................................. 28 3.3. Controlador sbRIO 9607 de National Instruments. . . . . . . . . . . . . . . 29 3.4. Escenario de adquisición. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.5. Nudos presentes en las vigas bajo estudio. . . . . . . . . . . . . . . . . . . . 31 3.6. Promedio de las 486 señales originales con su energía deslizante y un segmentoextraído................................... 32 3.7. Número total de detecciones por captura con diferentes valores de guarda. . 33 3.8. Imagenacústica.................................. 34 3.9. Posiciones de las señales capturadas. . . . . . . . . . . . . . . . . . . . . . . 35 3.10. Evolución temporal de la posición. . . . . . . . . . . . . . . . . . . . . . . . 37 3.11. Evolución temporal de las detecciones de cada blanco. . . . . . . . . . . . . 37 3.12. Escalograma obtenidos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.13. Estructura de la base de datos con las señales en tiempo . . . . . . . . . . . 39 3.14. Caracterización de la respuesta en frecuencia del array. . . . . . . . . . . . . 40 4.1. Ejemplos de imágenes etiquetadas del conjunto de datos. . . . . . . . . . . . 42 4.2. Arquitectura de la GPU NVIDIA®TeslaT4. ................. 46 5.1. Curvas de aprendizaje del modelo basado en Xception. . . . . . . . . . . . . 47 5.2. Evaluación del clasificador basado en Xception. . . . . . . . . . . . . . . . . 48 5.3. Curvas de aprendizaje del modelo de CNN. . . . . . . . . . . . . . . . . . . 49 5.4. Evaluación del modelo con arquitectura CNN como clasificador. . . . . . . . 50 5.5. Curvas de aprendizaje del MLP usando la secuencia temporal. . . . . . . . . 51 5.6. Evaluación del MLP usando la secuencia temporal como clasificador. . . . . 51 VI
Índice de figuras 5.7. Curvas de aprendizaje del MLP usando la DFT. . . . . . . . . . . . . . . . 52 5.8. Evaluación del MLP usando la DFT como clasificador. . . . . . . . . . . . . 53 5.9. Pesos de las neuronas de la capa de entrada. . . . . . . . . . . . . . . . . . . 54 5.10. Curvas de aprendizaje del MLP usando la DFT tras la corrección de la respuestafrecuencial................................ 54 5.11. Evaluación del MLP usando la DFT tras la corrección de la respuesta frecuencial como clasificador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 5.12. Histograma de las predicciones. . . . . . . . . . . . . . . . . . . . . . . . . . 56 5.13. Resultado de predicciones con un umbral de 0.5. . . . . . . . . . . . . . . . 56 5.14. Comparativa de curvas ROC. . . . . . . . . . . . . . . . . . . . . . . . . . . 58 6.1. Objetivos de Desarrollo Sostenible. . . . . . . . . . . . . . . . . . . . . . . . 61 VII
Capítulo 2. Marco teórico condición de campo lejano y por tanto se pueda asumir una onda plana. Si el array es unidimensional, podremos discriminar entre posiciones a lo largo de un plano, mientras que con un array bidimensional es posible distinguir entre dos componentes de la posición (azimut y elevación) y por último, con un array tridimensional es posible la localización en las tres dimensiones. Diagrama de radiación El conformado se comporta como un filtro espacial para cada uno de sus haces, de forma que para el ángulo de llegada deseado deja pasar la señal y para el resto de ángulos se atenúa. A través del diagrama de radiación de un array se puede caracterizar este comportamiento, aunque una de sus ventajas es la posibilidad de cambiar este diagrama electrónicamente en un tiempo muy corto, lo que permite hacer un barrido del espacio electrónicamente. El diagrama de radiación de un array con separación uniforme entre elementos se define en [15] según la siguiente expresión F(ψ) = 1 N sin(Nψ 2) sin ψ 2 ,−∞ < ψ < ∞(2.1) donde Nes el número de sensores que conforman el array. ψ=kd cosθ+α. kes el número de onda y se define como 2π/λ, siendo λla longitud de onda de la señal. des la distancia entre los sensores del array. θes el ángulo de observación del array. αes el desfase entre elementos del array. -360º -270º -180º -90º 0 90º 180º 270º 360º 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1Diagrama de radiación en coordenadas cartesianas N=8 N=16 0° 30° 60° 90° 120° 150° 180° 210° 240° 270° 300° 330° 0 0.2 0.4 0.6 0.8 1 Diagrama de radiación en coordenadas polares Figura 2.1: Diagrama de radiación para d=λ/2 y valores de Nde 8 y 16. Típicamente se muestra el diagrama de radiación como el módulo de F(ψ)al cuadrado, como se representa en la Figura 2.1. En este ejemplo se comparan los diagramas de radiación de dos array de 8 y 16 sensores para mostrar cómo se modifica el patrón al aumentar 6
2.1. Arrays de micrófonos el número de micrófonos. Nótese que a mayor número de sensores disminuye el ancho del lóbulo principal, debido a que la longitud total del array (apertura espacial) aumenta, lo que nos permite discriminar entre blancos más cercanos, o lo que es lo mismo, aumentar la resolución espacial. Por ese mismo motivo, también es posible mejorar esta resolución aumentando la distancia dentre micrófonos. Esquemas de implementación Un conformador implementa el esquema de procesado mostrado en la Figura 2.2 y puede expresarse formalmente como y= N ∑ i=1 w∗ i·xi(2.2) donde wison los pesos asignados al conformador y xirepresenta las señales. x1 x2 xN ? w1* w2* wN* y . . .. . . d ? x(t) d· sin? Frente de onda Figura 2.2: Esquema básico de un conformador Vectorialmente se representa como x= [x1x2x3... xN]T(2.3) w= [w1w2w3... wN]T(2.4) y=wH·x(2.5) donde xes el vector de señales, wel vector de pesos, y H representa la transpuesta conjugada. 7
Capítulo 2. Marco teórico Se podría expresar como ecuación matricial de la siguiente manera (y(Ts)y(2Ts)... y(NTs))=(w1w2... wN) x1(Ts)x1(2Ts)··· x1(NTs) x2(Ts)x2(2Ts)··· x2(NTs) . . .. . ..... . . xM(Ts)xM(2Ts)··· xM(NTs) Existen diversas técnicas de implementación de algoritmos de beamforming, pero nos centraremos en una denominada Delay and Sum, atrasar y sumar en español. En el caso de un conformador Delay and Sum asumiendo que la onda llega primero al micrófono 1, un instante τdespués al micrófono 2, y así para el resto de micrófonos, si sumamos todas las señales recibidas, al no estar en fase se cancelarán parcial o totalmente entre sí como se ve en la Figura 2.3(a). Sin embargo, sabiendo que la distancia entre los micrófonos es dy que el ángulo de llegada es θpodemos calcular qué retardo hay que aplicar a cada micrófono para que todas las señales capturadas estén en fase, como se muestra en la Figura 2.3(b). -20 0 20 -20 0 20 -20 0 20 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 Tiempo (ms) -20 0 20 (a) Suma de las señales sin desplazar. -20 0 20 -20 0 20 -20 0 20 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 Tiempo (ms) -50 0 50 (b) Suma de las señales atrasadas. Figura 2.3: Conformación basada en Delay and Sum. Nótese que en 2.3(b) la amplitud de la señal resultante es aproximadamente tres veces mayor que cada señal por separado, puesto que no se ha aplicado una normalización tras la suma de las señales. Esto aporta una especie de “filtrado” adicional basado en el promedio, en el que se atenúa todas aquellas muestras que no sean comunes a todas las señales. 8
2.2. Acústica de insectos xilófagos Esta técnica de procesado responde a la siguiente ecuación b(t) = 1 M M ∑ m=1 wmxm(t−τm)(2.6) 2.1.2. Aliasing espacial Como ya se mencionó previamente, una de las formas de conseguir una mejor resolución espacial es aumentar la distancia entre sensores, pero podríamos preguntarnos qué ocurre si aumentamos mucho esta distancia. Si bien es cierto que el ancho del lóbulo principal disminuye, también lo hace con él el resto del diagrama de radiación, y como ya observamos en la Figura 2.1, este es 2π-periódico, vemos como en ±360º aparecen de nuevo lóbulos principales denominados grating lobes o lóbulos fantasma, con lo que si estos se trasladan a ángulos menores tendríamos un problema a la hora de distinguir un único ángulo de llegada. En general, para no cometer este aliasing espacial se debe cumplir que la distancia entre sensores no supere dmáx. ≤λ/2 (2.7) Otra manera de evitar la aparición de estos grating lobes es equiespaciar los sensores. 2.2. Acústica de insectos xilófagos Podemos considerar la combinación de la larva y de la madera que la alberga como una fuente acústica conjunta. Por tanto, el sonido producido dependerá de ambos, por lo que es importante conocer la relación entre el comportamiento y la morfología de la larva y el posible impacto de las distintas propiedades de la madera en el sonido resultante. [2] Transmisión de ondas acústicas en la madera El sonido se define como la transmisión de una vibración a través de las partículas de un material [2]. La composición de un material influye en la propagación de la onda acústica en dos aspectos cruciales: la atenuación y la velocidad. La atenuación se refiere a la tasa a la que se pierde energía a medida que la onda acústica atraviesa el material, mientras que la velocidad es la rapidez con la que una onda se desplaza a través del material. En el caso de la madera, un mayor contenido en humedad hace que su densidad aumente, lo que lleva a una disminución de la velocidad del sonido [17]. Esto ocurre porque una partícula de menor masa puede moverse más que una partícula de mayor masa cuando se aplica la misma cantidad de fuerza. La densidad de la madera varía significativamente entre especies, pero también depende de otros factores. En condiciones secas, la densidad del roble puede ser entre 1 y 3 veces mayor que la del pino canadiense y hasta 5 veces mayor que la de la madera de balsa. [2] 9
Capítulo 2. Marco teórico Figura 2.4: Sección transversal de un árbol. [2] Incluso teniendo en cuenta las diferencias entre las distintas especies, las propiedades acústicas pueden variar. La madera cortada tiende a variar su humedad con respecto a los árboles en pie, lo cual afecta tanto a la atenuación como a la velocidad del sonido en su interior. Otra de las propiedades a considerar es el grado de deterioro, que también hace variar la densidad de la madera. [2] En la Figura 2.4 se muestra un corte transversal del tronco de un árbol con sus distintas regiones diferenciadas. Viendo este diagrama, puede observarse que el árbol no es un sólido continuo con una estructura homogénea, si no que presenta una compleja sucesión de capas cada una de ellas con distintas elasticidad y densidad. Aparte de las diferencias que pueda haber en la sección transversal, las vetas de la madera producen una variación en la densidad, lo que provoca un cambio de la velocidad del sonido relacionado con el ángulo formado entre la onda y la veta. [2] Aparte de los sonidos transmitidos por la larva, en determinadas ocasiones la madera puede producir sonidos. Entre ellos, destacan las emisiones acústicas por estrés y fractura, causadas por la presión ejercida sobre las fibras de madera que puede romperlas produciendo vibraciones que viajan a través de la madera. Otros sonidos pueden provocarse en árboles en pie, dada su condición de ser un material vivo, por ejemplo el sonido provocado por cavitación, que es la formación de gases dentro de un líquido (xilema). [2] Acústica de insectos Los insectos producen una amplia variedad de sonidos con distintos objetivos, y en algunos casos, sin objetivo alguno. Estos se pueden dividir en dos categorías distintas: sonidos accidentales, producidos por acciones realizadas por el insecto, como la alimentación; y no accidentales, aquellos provocados intencionalmente por el insecto, por ejemplo para la comunicación. [2] Esta investigación se centra en los sonidos accidentales, concretamente en aquellos producidos por la larva al alimentarse, por lo que los sonidos dependerán directamente de la morfología y el comportamiento de la larva. También hay que tener en cuenta los ciclos de vida del insecto y su comportamiento en cada uno de ellos, puesto que su actividad no será la misma. Aunque existen diferencias entre especies, y en ocasiones también entre individuos de la misma especie, en función de factores externos como por ejemplo la temperatura, en la Figura 2.5(a) se muestra el ciclo vital de un insecto xilófago. Puesto que no hay evidencia de que los insectos en su fase de huevo y pupa produzcan algún sonido de interés [2], únicamente se estudiarán los sonidos producidos al alimentarse durante el estado larvario. Para entender la naturaleza de estos sonidos es útil comprender ciertas propiedades y características de la larva. Cuando el insecto está en fase larval, su principal actividad es alimentarse. La larva se nutre de la madera creando un túnel en su interior durante este proceso. Para ello, emplea sus mandíbulas muy esclerotizadas, ilustradas en la Figura 2.5(b). Al alimentarse la larva, usa sus mandíbulas para agarrar y romper las fibras de la madera, cuya rotura genera una vibración que se propaga a través de la madera permitiendo su detección vía acústica. 10
2.2. Acústica de insectos xilófagos Huevo Sobre la superficie Larva Se alimenta de la madera y crea túneles. Existen diferentes estados larvarios. Pupa La pupación ocurre cerca de la superficie de la madera. Tras esto, los adultos emergen a través de agujeros en la superficie de la madera Adulto (a) Ciclo vital de un insecto xilófago. (b) Diagrama de la cabeza de un cerambícido. Figura 2.5: Ciclo vital y morfología mandibular de un insecto xilófago. [2] En la Figura 2.6 se muestra la forma de onda típica de una mordedura producida por un ejemplar de Hylotrupes bajulus, muestreada a 50kHz. No se conoce mucho sobre la variación en el comportamiento de la alimentación de las larvas y los sonidos asociados con ellos, sin embargo, es probable que este comportamiento esté condicionado por diversos factores internos y externos. Se ha observado que la mayoría de las larvas pasan un periodo de varios meses previos a la pupación sin alimentarse [18], lo cual deja entrever un problema asociado a la detección vía acústica. En este caso, únicamente serían útiles métodos de detección activa como los basados en rayos X o reflexión de ultrasonidos. En cuanto a las diferencias entre especies, en [19] se demostró la viabilidad de clasificar dos especies, Hylotrupes bajulus yPrionus coriarius, en base a su patrón de ocurrencia con una tasa de éxito del 96%, lo cual pone de manifiesto la gran diferencia entre especies en dicho patrón. 0 0.5 1 1.5 2 2.5 3 3.5 4 Tiempo (ms) -20 -15 -10 -5 0 5 10 15 20 25 Amplitud Figura 2.6: Una mordida de Hylotrupes bajulus L.. 11
Capítulo 2. Marco teórico 2.3. Deep learning y Redes Neuronales En los últimos años ha aumentado el interés por conceptos como Inteligencia Artificial (IA), Machine Learning (ML, también conocido como aprendizaje máquina o aprendizaje automático) o Deep Learning (DL, también denominado aprendizaje profundo). Sin embargo, es importante distinguir estos términos y conocer su relación antes de entrar en más detalle. La IA nació en la década de 1950, cuando en el ámbito de las Ciencias de la computación empezaron a preguntarse si sería posible hacer a los ordenadores “pensar” [20]. Existen diversas definiciones de IA, pero una de ellas es “El esfuerzo de automatizar tareas intelectuales típicamente llevadas a cabo por humanos” [20]. Como tal, la IA es un campo de estudio muy amplio que engloba ML y DL, pero también abarca otros enfoques que no tienen que ver con el aprendizaje. [20] Por su parte, el aprendizaje automático nace de la idea de que un ordenador puede aprender a realizar una tarea sin tener que crear un programa con unas estrictas reglas definidas a mano, lo cual abre un nuevo paradigma en la programación. Un sistema de ML es entrenado, lo que equivale a programarlo en un paradigma clásico, esto es presentarle ejemplos relevantes de una tarea a realizar, y que él encuentre patrones estadísticos que finalmente le permitan definir unas reglas para automatizar la tarea. [20] Sin embargo, para este proyecto el interés está en el campo del aprendizaje profundo. Como se muestra en la Figura 2.7, el DL es un subcampo de ML, el cual a su vez es parte del campo de la IA. La diferencia de DL respecto a ML es que supone una nueva forma de aprender representaciones a partir de datos que hace hincapié en el aprendizaje de capas sucesivas de representaciones cada vez más significativas. [20] Deep Learning Inteligencia Artificial Machine Learning Figura 2.7: Inteligencia artificial, machine learning y deep learning. 2.3.1. Redes neuronales artificiales Este concepto previamente mencionado de capas está directamente relacionado con las redes neuronales. Las redes neuronales artificiales (ANNs, del inglés Artificial Neural Networks) fueron inspiradas por sus análogas biológicas [21] y son capaces de descubrir relaciones interesantes en un conjunto de datos [22]. 12
2.3. Deep learning y Redes Neuronales En 1943 McCulloch y Pitts elaboraron un modelo simplista de una neurona mostrado en la Figura 2.8. Este modelo define que cada neurona está formada por un interruptor que recibe una señal de entrada de otras neuronas, y en función de si la suma total de las entradas supera o no un umbral, se activa o no [23]. La salida de estas neuronas artificiales se puede formular matemáticamente de la siguiente manera ˆy=g(N ∑ i=1 xiwi+b)(2.8) donde ˆyes la salida de la neurona. ges la función de activación. Nes el número de entradas a la neurona. xies cada entrada a la neurona. wies el peso asociado a cada xi. bes un término constante denominado sesgo o bias. x1 x2 xN . . .? wN w2 w1 b g(x) y ^ Figura 2.8: Esquema de una neurona artificial. Estructura de una Red Neuronal Las redes neuronales profundas de propagación directa, también llamadas redes neuronales de propagación directa (feed-forward) o perceptrones multicapa (MLP, por sus siglas en inglés), son los modelos esenciales del aprendizaje profundo [24]. El objetivo de una red de propagación directa es aproximar alguna función que, por ejemplo, mapee una entrada xen una categoría ypara el caso de un problema de clasificación. Estos modelos reciben el nombre de propagación directa porque los datos fluyen desde la entrada xa través de las capas intermedias hasta la salida y, sin conexiones hacia atrás [24]. Las redes neuronales de propagación directa reciben el nombre de redes porque típicamente se representan como una composición de diferentes funciones. Por ejemplo, supongamos que tenemos tres funciones f(1),f(2) yf(3) conectadas en cadena de manera que f(x) = f(3)(f(2)(f(1)(x))). En este caso f(1) sería la primera capa de la red, f(2) la 13
Capítulo 2. Marco teórico segunda y así sucesivamente. La longitud total de la cadena determina la profundidad del modelo, de ahí el nombre de aprendizaje profundo. Una red neuronal típicamente está formada por una capa de entrada, en el caso de una señal temporal con una neurona por muestra, a continuación una serie de “capas ocultas”, variables en función del problema a resolver, y por último una o más neuronas a en la capa de salida. En el caso de un problema de clasificación las neuronas de la última capa serán tantas como clases haya, con una única neurona si se trata de un problema de clasificación binaria y varias si realiza una tarea de clasificación multiclase. Las funciones de activación son un aspecto crítico para el correcto funcionamiento de una red neuronal. Existen diversas formas, pero a continuación se presentan dos de las más habituales y usadas en este proyecto, cuyas gráficas se representan en la Figura 2.9. -10 -5 0 5 10 x 0 1 2 3 4 5 6 7 8 9 10 y ReLU y su Derivada ReLU(x) ReLU(x) -10 -5 0 5 10 x 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 y Sigmoide y su Derivada Sigmoid(x) Sigmoid(x) Figura 2.9: Funciones de activación y sus derivadas. 1. ReLU o rectificador: es una función de activación no lineal ampliamente usada. Hace que la neurona se desactive solo cuando la salida de la transformación lineal sea cero [25]. Se puede definir matemáticamente como f(x) = max(0, x)(2.9) La función ReLU es más eficiente que otras porque no todas las neuronas se activan al mismo tiempo, sino que solo un determinado número de ellas lo hacen. [25] Sin embargo, en algunos casos su derivada es cero, lo que hace que sus pesos y sesgos no se actualicen durante la retropropagación (véase 2.3.4). Para reducir este problema se han creado otras funciones similares ligeramente modificadas, cuya derivada no es siempre cero para valores negativos, son ejemplo las funciones Leaky ReLU o Exponential Linear Unit (ELU). 2. Sigmoide. Se trata de una función de activación no lineal muy empleada [25] que se puede definir matemáticamente como f(x) = 1 e−x(2.10) Se suele emplear en la neurona de salida de un clasificador binario puesto que tiende a asignar un valor de 1 para entradas positivos, y 0 en aquellos caso que la entrada es negativa. 14
2.3. Deep learning y Redes Neuronales Existen otro tipo de capas con el objetivo de mejorar la generalización del modelo y reducir el sobreajuste. Es el caso de las capas de dropout que permiten desactivar una serie de neuronas durante el una iteración de forma aleatoria con el objetivo de crear una red menos sensible a pesos específicos, mejorando la eficiencia computacional puesto que la red se vuelve más pequeña. Sin embargo, el uso de estas técnicas de regularización requieren de más pasos para converger. Además, en el entrenamiento de una red neuronal no solo influyen las capas que componen su arquitectura, sino que hay una serie de hiperparámetros que afectan al resultado. Entre ellos destacan los siguientes: 1. Época o epoch, que representa una iteración de entrenamiento en la que el modelo ve todo el conjunto de datos de entrenamiento. Si el número de épocas es muy pequeño el modelo puede no aprender bien las características de los datos, llevando a un problema de subajuste, mientras que un número muy elevado de épocas puede hacer que el modelo memorice estas características ocasionando un problema de sobreajuste. 2. Lote o batch. Un lote es un conjunto de ejemplos que se evalúan de manera conjunta durante el entrenamiento. El procesamiento por lotes mejora la eficiencia computacional y permite actualizar los pesos de la red más suavemente. [26] 3. Tasa de aprendizaje. Este valor mide cómo de rápido se adapta el modelo a los nuevos datos. Un valor alto de tasa de aprendizaje hará que tu modelo cambie rápidamente ajustándose muy bien al nuevo dato, pero tenderá a olvidar lo aprendido con datos anteriores. [21] 2.3.2. Arquitecturas de redes neuronales Las redes neuronales se basan en neuronas artificiales, que unidas entre sí forman una red. Hoy en día el número de capas puede oscilar desde unas pocas a miles de ellas, y generalmente se emplea el termino de red neuronal densa (DNN, del inglés Deep Neural Netword) a las redes neuronales usadas en DL [27]. Estas redes suelen contener varias capas ocultas lo que le otorga la capacidad de extraer características de distinto nivel en cada una de las sucesivas capas [28]. Perceptrón Multicapa Un perceptrón multicapa (MLP, del inglés Multilayer Perceptron) es un tipo de red neuronal compuesto por una capa de entrada, una o más capas ocultas y una capa final de salida. Las capas cercanas a la capa de entrada se suelen denominar capas bajas, mientras que aquellas cercanas a la capa de salida reciben el nombre de capas altas [21]. Todas las neuronas, excepto las de la capa de salida, incluyen un sesgo y están completamente conectadas con la siguiente capa, lo que se conoce como fully connected (FC). Los MLP son comúnmente utilizados en tareas de clasificación tanto binaria como multiclase. Presentan una limitación y es que no son capaces de clasificar patrones que no sean separables linealmente [29] a no ser que el número de capas ocultas sea muy elevado. En la Figura 2.10(a) se muestra un ejemplo de MLP. 15
Capítulo 2. Marco teórico 2.4.6. Puntuación F1 Existe una métrica que combina la precisión y la exhaustividad proporcionando un único valor representativo del rendimiento global de la clasificación del modelo. Se trata de la puntuación F1 y se define como la media armónica de la precisión y la exhaustividad, la cual se calcula como sigue F1 = 2 ·Precisión ·Exhaustividad Precisión +Exhaustividad (2.27) La puntuación F1 considera tanto la habilidad del modelo para identificar correctamente los ejemplos positivos (precisión) como la de identificar todos los ejemplos positivos del conjunto de datos (exhaustividad). Es especialmente útil cuando la distribución entre clases no es balanceada, o cuando queremos dar el mismo peso a la precisión y a la exhaustividad. [36] 2.4.7. Especificidad La especificidad, también conocida como Tasa Negativa Verdadera, es una métrica que mide la proporción de verdaderos negativos correctamente identificados por el modelo. Se define como el número de verdaderos negativos entre el número total de negativos reales. Su expresión matemática es Especificidad =TN TN +FP (2.28) Es especialmente importante en ámbitos donde es crítico minimizar el número de falsos negativos para evitar tomar acciones innecesarias que puedan suponer un problema [36]. Sin embargo, en el caso de la detección de larvas, no es crucial que el algoritmo clasifique algún sonido que no corresponda a una larva como tal, puesto que se tomarán múltiples muestras, lo que hará que estos falsos negativos sean residuales y no afecten significativamente los resultados finales. 2.4.8. Curva de Características Operativas del Receptor (ROC) La curva ROC es una herramienta estadística usada para evaluar la capacidad discriminatoria de una prueba, en este caso, un algoritmo de clasificación. En estas curvas se representa la sensibilidad en función de los falsos positivos (complementario de la especificidad) para distintos puntos de corte. [37] Una curva ROC que sigue una línea diagonal y=xproduce igual número de falsos positivos que de verdaderos positivos. Por tanto, es deseable que la curva ROC de nuestro algoritmo se aproxime tanto como sea posible a la esquina superior izquierda, por encima de la “línea de referencia” y=x, como se muestra en la Figura 2.12. [38] Para hacer el cálculo de la curva ROC el algoritmo a seguir es el siguiente: [36] 1. Se parte de un clasificador que proporcione una salida binaria y estime la probabilidad de la clase positiva. Esta probabilidad se conoce como “puntuación”. 22
2.5. Funciones de pérdida en algoritmos de deep learning Figura 2.12: Ejemplo de curva ROC. 2. Para cada umbral posible (de 0 a 1) de estas puntuaciones, se calcula la tasa de verdaderos positivos (véase 2.4.4) y la tasa de falsos positivos (véase 2.4.4). 3. Se dibuja el valor de FPR en el eje X y el de TRP en el eje Y. Así, se obtienen gráficas como las mostradas en la Figura 2.12. Área bajo la curva (AUC) Asociado a la curva ROC, el área bajo esta curva (AUC, del ingés Area Under the Curve) es una métrica comúnmente empleada para evaluar el rendimiento del modelo de clasificación binaria. Sus valores varían entre 0 y 1, siendo 1 el valor asociado a un clasificador perfecto y 0.5 el correspondiente a un clasificador cuyo rendimiento no es mejor que una suposición al azar. [36] 2.5. Funciones de pérdida en algoritmos de deep learning Una función de pérdida y una métrica de rendimiento se utilizan para evaluar el desempeño de un modelo de aprendizaje profundo, pero sirven para propósitos diferentes. A diferencia de las métricas de rendimiento, una función de pérdida se utiliza durante el entrenamiento para optimizar los parámetros del modelo. Mide la diferencia entre las salidas predichas y las esperadas del modelo, y el objetivo del entrenamiento es minimizar esta diferencia. [36] Existen diversas funciones de pérdida, pero en este trabajo se emplea la entropía cruzada binaria o pérdida logarítmica, normalmente conocida por su nombre inglés Binary Cross-Entropy. En una clasificación binaria, la clase verdadera generalmente se representa mediante un vector donde la clase verdadera tiene un valor de 1 y la otra clase tiene un valor de 0. La probabilidad predicha por el clasificador se representa mediante un vector de probabilidades para cada clase, donde esta probabilidad para la clase verdadera se denota 23
Capítulo 2. Marco teórico por p(y= 1|x)y la probabilidad correspondiente a la otra clase se denota por p(y= 0|x). Esta función de pérdida se define como L(y, p) = −(ylog(p) + (1 −y)log(1 −p)) (2.29) donde yes la etiqueta de la clase verdadera (0 o 1) y pes la probabilidad predicha para la clase positiva. La función de pérdida se minimiza cuando la probabilidad predicha pes igual a la etiqueta de clase verdadera y. [36] 2.6. Herramientas de desarrollo Para desarrollar este proyecto se ha hecho uso de las herramientas de trabajo enumeradas a continuación, cuyos logotipos se muestran en la Figura 2.13. (a) LabVIEWTM (b) MATLAB®(c) Python (d) Google Colab Figura 2.13: Herramientas de desarrollo. 1. El entorno de programación gráfica LabVIEW para la segmentación y el procesamiento de las señales capturadas. 2. La plataforma de programación MATLAB para el cálculo de parámetros específicos de las señales, así como para la creación de gran parte de los gráficos de esta memoria. 3. El lenguaje de programación Python para el manejo de los datos con bibliotecas como NumPy y Pandas, y para el desarrollo de las redes neuronales haciendo uso de la biblioteca TensorFlow. 4. El entorno de ejecución “Google Colab” para el entrenamiento de las redes neuronales propuestas aprovechando sus servicios de GPU. 2.6.1. LabVIEW LabVIEWTM es el acrónimo Laboratory Virtual Instrumen Engineering Workbench. Es tanto un lenguaje como un entorno de programación gráfica lanzado en 1983 por la empresa National Instruments. Inicialmente fue pensado para aplicaciones de control de equipos electrónicos usados en el desarrollo de sistemas de instrumentación, lo que se conoce como instrumentación virtual. Por eso los programas desarrollados en LabVIEW se guardan en ficheros VI (Virtual Instrument) [39]. Internamente está basado en un lenguaje de programación bien definido, 24
2.6. Herramientas de desarrollo Área Herramientas Cálculo Diferenciación, integración, límites, sumatorios y series de Taylor. Álgebra lineal Determinantes, autovalores, descomposición en valores singulares... Solución de ecuaciones Soluciones numéricas y simbólicas a ecuaciones algebraicas y diferenciales. Transformadas Fourier, Laplace, Transformada-Z y sus correspondientes transformadas inversas. Tabla 2.2: Funciones de MATLAB en computación matemática [43] conocido como “G”, a pesar de que típicamente se usa LabVIEW para referirse tanto al entorno de desarrollo integrado (IDE) como al lenguaje de programación. [40] La interfaz gráfica de LabVIEW cuenta con dos componentes principales: un Panel Frontal, donde estarán todos los botones, pantallas, etc. de la interfaz de usuario y una circuitería interna, definida a modo de diagrama de bloques. 2.6.2. MATLAB® En sus inicios, MATLAB no se ideó como un lenguaje de programación, si no que era una calculadora matricial interactiva. Sin embargo, en 1984 PC-MATLAB se presentó como un sistema completo escrito en C. [41] Actualmente, MATLAB es un sistema interactivo basado en matrices para el cálculo numérico y la visualización en ciencia e ingeniería [42] con una gran acogida en muchos centros de educación e investigación de todo el mundo. Una de sus ventajas es el hecho de poder resolver problemas numéricos complejos de una forma mucho más rápida y amigable que con lenguajes de programación como C gracias a su interfaz intuitiva y la gran variedad de toolbox disponibles. MATLAB está orientado a un uso científico o en el ámbito de la ingeniería y facilita diversas tareas de computación matemática [43]. En la Tabla 2.2 se detallan algunos ejemplos de las ventajas que aporta MATLAB en determinadas áreas de la computación matemática. Para el desarrollo de este proyecto han sido útiles algunos complementos adicionales a la versión base de MATLAB, como el “Signal Processing toolbox” o el “Wavelet toolbox”, entre otros. 2.6.3. Python Actualmente, Python es el lenguaje de programación más utilizado en el desarrollo de algoritmos de inteligencia artificial. Creado a finales de la década de 1980 por Guido Van Rossum, Python destaca por ser una herramienta potente que soporta múltiples paradigmas de programación, incluyendo la programación funcional, procedimental y orientada a objetos [44]. Su uso es extremadamente variado, pero ha ganado una enorme popularidad en el sector de la inteligencia artificial principalmente debido a la facilidad y simplicidad de su sintaxis en comparación con otros lenguajes como Lisp, Prolog, C++ o Java. 25
Capítulo 2. Marco teórico Python es especialmente atractivo por el grado de desarrollo de algunas librerías ampliamente utilizadas. Entre las más conocidas destacan NumPy para realizar operaciones algebraicas N-dimensionales, Pandas para trabajar con tablas de datos y Tensorflow, diseñado por Google para aplicar conceptos de aprendizaje automático y aprendizaje profundo de la manera más sencilla posible. Existen muchas más librerías, pero estas tres han sido las principales para el desarrollo de este proyecto. A pesar de que existen desventajas asociadas al uso de Python, como una ejecución más lenta, un mayor uso de memoria o los problemas asociados al tipado dinámico de los datos [44], su simplicidad y apoyo en librerías con un gran soporte la convierte en una herramienta líder en el sector del desarrollo de IA. 2.6.4. Google Colab En 2017 Google lanzó “Google Colaboratory”, mejor conocido como “Colab”. Esta plataforma permite escribir y ejecutar código Python a través del navegador y es especialmente útil para tareas de educación, análisis de datos y ML. [45] Colab permite crear cuadernos de Jupyter en línea, que se almacenan en Google Drive, y ejecutarlos en un servidor remoto haciendo uso del backend de Google Compute Engine. La principal ventaja de hacer uso de este servicio en lugar de correr el código en una máquina en local es la disponibilidad gratuita, aunque limitada, de GPUs. Incluso si tu máquina cuenta con una GPU adecuada para las tareas que quieras realizar, la creación de entornos locales y la instalación de múltiples librerías necesarias pueden ser un buen motivo para optar por un servicio en línea, con bibliotecas preinstaladas como NumPy, SciPy, Pandas o Tensorflow, entre muchas otras. Sin embargo, el uso de Google Colab trae consigo ciertos inconvenientes a tener en cuenta. El primero de ellos es la limitación de uso de GPU; si bien es cierto que la capacidad de la GPU asignada suele ser suficiente para muchas de las tareas que se llevan a cabo, su uso limitado por tiempo puede hacer que descartemos esta opción si vamos a entrenar modelos que requieran un largo tiempo de entrenamiento, o si necesitamos una disponibilidad mayor de tiempo por cualquier otro motivo. Además, dado que el código corre en un servidor remoto, para tener acceso a los ficheros o los datos asociados, es necesario que estos estén alojados en Google Drive o subirlos a un entorno temporal cada vez que quieras ejecutarlo. Aunque algunos de estos inconvenientes se pueden solventar con una versión de pago de Google Colab, puede no ser suficiente en algunos casos concretos. Aun así, para el desarrollo de este proyecto esta herramienta ha sido de gran utilidad. 26
Capítulo 3 Adquisición y procesado de las señales Para conseguir un clasificador capaz de distinguir entre el sonido radiado a través de un nudo, de aquel que procede directo de una larva, es necesario capturar las señales, así como realizar un procesamiento para adecuar las señales al entrenamiento del algoritmo. Esta segunda parte es la que más decisiones involucra, puesto que al analizar las señales capturadas en bruto surgen varias formas de procesarlas, cada una de ellas con sus ventajas y desventajas. Sin embargo, es una parte muy importante para el posterior desarrollo de un algoritmo de DL contar con una buena base de datos, con datos representativos de la realidad, que permita a la red neuronal encontrar patrones que diferencien a nuestras dos clases de interés. En este capítulo se detalla la metodología seguida para conseguir los datos que se emplearán como entrada para el entrenamiento del modelo de DL. 3.1. Adquisición de señales El sistema de adquisición usado consta de tres elementos: un array acústico de micrófonos MEMS (Micro-Electro-Mechanical Systems) y un sistema de adquisición y preprocesamiento basado en FPGA (Field Programable Gate Array). 3.1.1. Array acústico Para capturar las señales se ha empleado un array planar [1], con sus elementos distribuidos en una superficie completamente plana, lo que da como resultado una respuesta con un diagrama de radiación bidimensional. En concreto, el array utilizado se muestra en la Figura 3.1 y consta de 486 micrófonos digitales MEMS del fabricante Knowles [46], con una apertura espacial de 35 cm en ambas dimensiones. Por su parte, la resolución angular del array 2D usado depende esencialmente de la frecuencia de trabajo y del ángulo de apuntamiento, reduciéndose el ancho del haz a medida que aumenta la frecuencia de trabajo [1], que para esta investigación es el rango comprendido entre 0 y 23.5 kHz. 27
Capítulo 3. Adquisición y procesado de las señales Figura 3.1: Array de micrófonos MEMS También ocurre que el ancho del haz se ensancha a medida que aumenta el ángulo de apuntamiento desde la línea de mira, es decir, apuntando a 0°, hasta la máxima excursión de apuntamiento definida, es este caso de 50°. Cuanto menor es el ancho del haz, mejor es la resolución angular y más precisa es la determinación de la posición de las larvas en los haces bajo prueba, así como la posición de dos larvas próximas [1]. En estas condiciones, se define una cuadrícula de 61 por 61 puntos para acotar las vigas, que ocupan 120 por 120 cm como se detalla en la Figura 3.2, de esta forma obtenemos una resolución espacial de aproximadamente 2 cm. Figura 3.2: Tamaño de las vigas y posiciones de implantación de las larvas expresadas en milímetros. [1] Dado que el array se colocó a una distancia de 60 cm de las vigas de madera en las que estaban colocadas las larvas, no se reúnen las condiciones necesarias para considerar la aproximación de onda plana, puesto que el array no está lo suficientemente alejado para asumir una situación de campo lejano. Típicamente el conformador Delay and Sum se basa en la premisa de campo lejano, de forma que el retraso con el que la señal llega a cada micrófono depende únicamente de la posición del sensor y del ángulo de apuntamiento [1]. Aun así, es posible adaptar este algoritmo a un escenario de campo cercano tomando en consideración que el retraso entre las señales dependerá también de la distancia relativa desde el emisor a cada sensor del array asumiendo una propagación esférica. 28
3.1. Adquisición de señales Puesto que en este caso el plano en el que se generan las emisiones acústicas es conocido, el retraso asociado a la propagación de la señal entre cada uno de los puntos de la cuadrícula definida se pueden determinar usando el algoritmo Delay and Sum, de forma que la salida del array se puede expresar según y(rg, t) = 1 M N ∑ n=1 wn·xn(t−τn(rg)) (3.1) donde rgrepresenta la distancia entre el punto de referencia con cada uno de los puntos de interés definidos por la cuadrícula, Nes el número de sensores que en este caso son 486, wn es el peso aplicado al canal ndel array (que en este caso vale siempre 1), y xn(t)representa la señal adquirida por el micrófono n. Por último, τn(rg)indica el retraso temporal del sensor ndel array al punto de referencia, considerando que la señal es una onda esférica, y se obtiene según τn(rg) = |rg|−|rg−rn| vsonido (3.2) siendo rnel vector de distancias desde el punto de referencia al micrófono ndel array. 3.1.2. Sistema de adquisición El sistema de adquisición base empleado es el controlador sbRIO 9607 [47] mostrado en la Figura 3.3. Este dispositivo del fabricante National Instruments perteneciente a la familia de dispositivos Reconfigurable Input-Output (RIO) es un controlador integrado, que ejecuta NI Linux Real-Time con un FPGA Zynq-7020 y un procesador dual-Core 667 MHz. La FPGA tiene 96 entradas/salidas digitales, 81 de las cuales son usadas para la conexión con 162 micrófonos MEMS del array, de tal forma que en cada entrada/salida se multiplexan 2 micrófonos, mientras que las otras líneas se utilizan para generar el reloj y para el sincronismo. Para poder capturar las señales de los 486 sensores, se emplearon 3 tarjetas interconectadas. Figura 3.3: Controlador sbRIO 9607 de National Instruments. Por último, desde una aplicación PC desarrollada en LabVIEW 2021 se controlaban las operaciones de captura de las 3 tarjetas de adquisición de forma sincronizada. 3.1.3. Condiciones de adquisición Las condiciones físicas de adquisición son importantes para el posterior análisis de resultados. En cuanto a las larvas implantadas, son 6 ejemplares de larva de la especie Hylotrupes 29
Capítulo 3. Adquisición y procesado de las señales bajulus L. con pesos entre 0.22 gramos (g) y 0.35 g las cuales fueron depositadas en 4 vigas de madera de Pinus sylvestris L. de medidas 90x140x1200 mm previamente acondicionadas a un contenido de 12% de humedad. Las larvas fueron extraídas de maderas demolidas de edificios históricos de la ciudad de Valladolid, España. Para la implantación de las larvas, se hizo un agujero en el lado opuesto de cada viga, de tal forma que el agujero quedara a 10 mm del lado de observación. La larva se coloca al final del agujero, el cual se sella con papel tisú. Las larvas se distribuyeron de tal manera que se pudieran estudiar diferentes fenómenos de propagación del sonido en la madera, efecto de borde, etc. Una vez implantadas las larvas en las muestras de madera, la posición inicial de las larvas se marca en las correspondientes partes de madera con una pegatina amarilla. Este montaje permite simular la presencia de varias infestaciones simultáneas. Las larvas se dejaron aclimatar durante 30 días tras los cuales se iniciaron las pruebas de escucha. Los experimentos se realizaron en el interior de una cámara anecoica con el sistema de escucha paralelo al plano de las vigas y centrado respecto a las mismas a una distancia de 60 cm. La Figura 3.4 muestra una imagen del escenario de adquisición. En ella se detallan con una B cada viga (en inglés, beam) de madera, y con los números se indexa cada larva implantada. (a) Vigas con las larvas implantadas. (b) Posición del array frente a las vigas. Figura 3.4: Escenario de adquisición. 30
3.2. Segmentación de señales Respecto a las maderas, es importante para este estudio resaltar la presencia de los nudos en cada una de las vigas. En la Figura 3.5 se detalla mediante un sombreado naranja la localización de los nudos presentes en las distintas vigas. Esto es importante para el posterior análisis, en el que se encontrará una presencia significativa de actividad de uno de los nudos de la viga 1, y del nudo situado a la derecha de la viga 2. Figura 3.5: Nudos presentes en las vigas bajo estudio. 3.2. Segmentación de señales Las señales capturadas contienen 1108 muestras, que adquiridas a una tasa de muestreo de 50.000 muestras por segundo, equivale a 22.16 milisegundos (ms). Durante este tiempo es posible que se capturen varias emisiones acústicas distintas, que típicamente son de 1 ms de duración [1]. Para detectar automáticamente la presencia o no de una emisión acústica en una posición determinada, se hace el cálculo de la energía deslizante en base al siguiente algoritmo. Primero se digitaliza la señal xk[n]capturada por cada sensor ksegún xk[n] = xk(nT ), T = 1/fs, n = 0, ..., N −1, k = 0, ..., K −1(3.3) Cada señal digitalizada se pasa por un filtro digital anti-aliasing con una frecuencia de corte de 24.5 kHz y después por un filtro FIR paso banda h[n]con banda de paso 1 kHz a 23.5 kHz y usando la técnica de la ventana, con una ventana de Hanning. Este filtrado se hace con el objetivo de eliminar la componente continua y filtrar en la banda de interés. De forma que la señal filtrada yk[n]se puede expresar como yk[n] = xk[n]∗h[n](3.4) 31
Capítulo 3. Adquisición y procesado de las señales 3.6. Preparación de los datos Existen diversas formas de introducir los datos a una red neuronal, por tanto elegir cómo tratar los datos antes de pasárselos al algoritmo es una parte importante. Depende de la arquitectura empleada, para una CNN es necesario pasar imágenes, o datos en forma matricial, mientras que para un MLP se requiere una secuencia de datos unidimensional. 3.6.1. Escalogramas En este caso, puesto que la idea inicial era probar el enfoque de transfer learning a partir de algún modelo preentrenado con un propósito similar, se pensó en crear imágenes 2D que recogieran una representación tiempo-frecuencia, conservando tanto las características temporales como las frecuenciales con herramientas como la Transformada Corta de Fourier (STFT) para crear espectrogramas o la Transformada Wavelet para crear escalogramas. Debido a la longitud tan pequeña de las señales segmentadas, la STFT presentaba el inconveniente de perder mucha resolución frecuencial, es por eso que se optó por crear escalogramas. Para ello, se hizo uso del paquete de MATLAB Wavelet Toolbox™. F(τ, s) = 1 √|s|∫+∞ −∞ f(t)ψ(t−τ s)dt (3.7) donde ses la escala de la wavelet, τel retardo, f(t)la señal original y ψ(t)es una función conocida como wavelet madre, que en este caso ha sido la función Morse [48]. La Transformada Wavelet continua, descrita en la Ecuación (3.7), permite un análisis tiempo-frecuencia multiresolución [49], con una mayor resolución frecuencial en bajas frecuencias, y una mayor resolución temporal para las altas frecuencias. En la Figura 3.12 se muestra un ejemplo del cálculo de un escalograma, en el que para cada instante temporal hay un espectro en frecuencia. Figura 3.12: Escalograma obtenidos. 38
3.6. Preparación de los datos 3.6.2. Señal en tiempo Otra opción es que la entrada al modelo sea directamente las muestras de la señales en el tiempo. Esta opción requiere de un entrenamiento desde cero y la creación de una red neuronal específica para el caso. Las señales están almacenadas en formato CSV (del inglés, comma-separated values) y etiquetadas como se muestra en la Figura 3.13. Figura 3.13: Estructura de la base de datos con las señales en tiempo La estructura es la siguiente: Rango. Indica la profundidad de la señal capturada. X. Indica la coordenada X de la señal capturada. Y. Indica la coordenada Y de la señal capturada. Frecuencia. Indica la frecuencia de trabajo del array para la señal capturada. 0 - 183. Cada uno de los valores corresponde con una de las muestras de la señal temporal. Etiqueta. Indica la etiqueta de la señal en cuestión, siguiendo el ID mostrado en la Tabla 3.1. 3.6.3. Espectro en frecuencia Por último, se optó también por probar una representación unidimensional, en este caso en frecuencia. Para ello, se calculó una Transformada Discreta de Fourier (DFT) de 46 puntos entre 1 kHz y 23.5 kHz, con una separación frecuencial de 500 Hz. X[k] = N−1 ∑ n=0 x[n]·e−j(2π/N)(3.8) donde krepresenta los índices de frecuencias y Nes el número de muestras de la señal x[n]. [50] La DFT, cuya expresión se detalla en la Ecuación 3.8, es una secuencia que corresponde a muestras equiespaciadas en frecuencia de la transformada de Fourier en tiempo discreto de la señal. La DFT tiene un papel crucial en el procesamiento de señales, en parte porque existen algoritmos eficientes para su cálculo. [50] 39
Capítulo 3. Adquisición y procesado de las señales La estructura del CSV es similar a la de la señal temporal, y se detalla a continuación. Rango. Indica la profundidad de la señal capturada. X. Indica la coordenada X de la señal capturada. Y. Indica la coordenada Y de la señal capturada. Frecuencia. Indica la frecuencia de trabajo del array para la señal capturada. 1000 - 23500. Cada uno de los valores de las muestras de la DFT. Etiqueta. Indica la etiqueta de la señal en cuestión, siguiendo el ID mostrado en la Tabla 3.1. Normalización de la respuesta frecuencial La respuesta en frecuencia de cada micrófono, mostrada en la Figura 3.14, representa su sensibilidad a cada frecuencia. Se puede observar que ente 3 y 15 kHz presenta una zona aproximadamente plana, pero su sensibilidad aumenta en torno a 22 kHz, donde se encuentra una resonancia de los micrófonos [46]. También se encuentra un aumento de esta sensibilidad en las frecuencias más bajas. 0 5 10 15 20 25 Frcuencia (kHz) 0 0.005 0.01 0.015 0.02 0.025 Sensibilidad 0 2 4 6 8 10 12 14 Factor de normalización Figura 3.14: Caracterización de la respuesta en frecuencia del array. Puesto que en estudios previos [2] se han empleado las frecuencias más bajas (en torno a 10 kHz) para la identificación de sonidos producidos por larvas de insectos xilófagos, podría ser útil tratar de normalizar esta respuesta frecuencial, para que los algoritmo de DL no den una importancia mayor a aquellas frecuencias en torno a 22 kHz, donde los micrófonos empleados presentan esa resonancia. Por este motivo, se normalizó esta respuesta de manera que multiplicando la amplitud de la DFT por el coeficiente correspondiente de la línea naranja mostrada en la Figura 3.14 obtenemos una respuesta frecuencial plana en referencia al primer valor (1000 Hz), que es la frecuencia para la cual se obtiene el valor más alto. 40
Capítulo 4 Desarrollo del clasificador A la hora de elegir una arquitectura de red neuronal se plantearon varias opciones para comparar su comportamiento y finalmente ver cuál presentaba un mejor resultado de clasificación para nuestros datos. La primera opción planteada fue utilizar una arquitectura de redes convolucionales que recibieran como datos de entrada los escalogramas, puesto que contienen mucha más información que la señal cruda. Si esta primera opción arrojara resultados interesantes, se plantearía después utilizar un MLP cuya entrada sería las muestras de la señal en tiempo o el espectro en frecuencia obtenido de la DFT. 4.1. Transfer learning: Xception Antes de diseñar una red neuronal compleja completa desde cero, en muchos casos es interesante buscar entre las redes existentes aquellas que tengan un propósito parecido y usen datos de entrenamiento similares a los de interés. Además, buscar una arquitectura estándar facilita el transfer learning [51], y permite obtener unos resultados buenos de una manera más simple y sin necesidad de preparar un conjunto de datos demasiado grande. Es por esto que se pensó en este enfoque como primera opción. Para una primera aproximación se probó el algoritmo Xception [52], una red neuronal convolucional con una arquitectura de 71 capas pre-entrenada con más de un millón de imágenes de la base de datos de ImageNet, cuya adaptación a los escalogramas para nuestro problema de clasificación binaria se detalla a continuación. ___________________________________________________________________________ Layer (type) Output Shape Param # Trainable =========================================================================== input (InputLayer) [(None, 150, 150, 3)] 0 Y rescaling (Rescaling) (None, 150, 150, 3) 0 Y xception (Functional) (None, 5, 5, 2048) 20861480 N global_average_pooling2d (None, 2048) 0 Y 41
Capítulo 4. Desarrollo del clasificador (GlobalAveragePooling2D) dropout (Dropout) (None, 2048) 0 Y dense (Dense) (None, 1) 2049 Y =========================================================================== Total params: 20,863,529 Trainable params: 2,049 Non-trainable params: 20,861,480 ___________________________________________________________________________ En primer lugar, una capa de entrada define un tamaño de imagen de 150x150 píxeles con 3 canales de color (RGB), que en este caso son 3 copias idénticas de una imagen en escala de grises, en este caso, nuestro escalograma. Después, una capa de reescalado convierte los valores entre 0 y 255, típicos de una imagen, a valores entre -1 y 1 requeridos por el modelo Xception. Una vez adecuada la entrada a este modelo, se usan todas sus capas pero sin ser entrenadas, para no modificar los pesos aprendidos por esta arquitectura en su entrenamiento con la base de datos ImageNet. A la salida de la red Xception, una capa de Pooling reduce a un vector de tamaño 2048 las características extraídas por la red, promediando en la dimensión espacial. Después, se incluye una capa de dropout que ayude a prevenir el sobreajuste durante el entrenamiento. Y por último, una capa densa con una sola neurona de salida permite obtener el resultado de la clasificación binaria. Para entrenar este modelo se utilizaron los siguientes hiperparámetros. El modelo fue entrenado usando como método de optimización Adam. El entrenamiento se hizo durante 50 épocas con un tamaño de lote de 64 y una tasa de aprendizaje de 0.001. En cuanto a las funciones de activación de las neuronas, todas ellas utilizan ReLU salvo la última neurona, cuya salida determina a qué clase pertenece la imagen de la entrada, y puesto que se trata de un problema de clasificación binaria, se optó por usar una función sigmoide. Además, para este modelo, la tasa de dropout escogida para prevenir sobreajuste fue 0.2. El conjunto de datos con el que fue entrenado el modelo se construyó utilizando la librería de Keras image_dataset_from_directory, mediante la cual se convirtieron las imágenes de los escalogramas, estructuradas en directorios, en un dataset de tipo tf.data.Dataset. Un ejemplo de imágenes que componen el dataset se muestra en la Figura 4.1. nudo larva larva nudo nudo larva Figura 4.1: Ejemplos de imágenes etiquetadas del conjunto de datos. 42
4.2. Red neuronal convolucional (CNN) 4.1.1. Fine-tuning Como un paso adicional al transfer learning está el proceso llamado “fine-tuning”, una técnica ampliamente utilizada que consiste en descongelar todo el modelo obtenido anteriormente y volver a entrenarlo con los nuevos datos, con una tasa de aprendizaje muy baja para evitar cambios drásticos. De este modo se pueden conseguir mejoras significativas, adaptando de forma incremental las características pre-entrenadas a los nuevos datos. [53] En este caso, una vez entrenada únicamente la capa densa, sin modificar los pesos originales del modelo base Xception, se hizo un segundo entrenamiento en el que se mantuvieron todos los hiperparámetros, excepto la tasa de aprendizaje, que se redujo a un valor de 10−5, y el número de épocas, que se realizaron 5. Con esto se consiguen modelos con un comportamiento más adecuado en la tarea de clasificación específica. 4.2. Red neuronal convolucional (CNN) Tras comprobar que con una red convolucional pre-entrenada era posible distinguir entre nudo y larva, se pensó en crear un modelo más sencillo entrenado ad hoc, para comparar su rendimiento. Para esto se diseñó la red neuronal convolucional de 14 capas detallada a continuación. _________________________________________________________________ Layer (type) Output Shape Param # ================================================================= conv2d (Conv2D) (None, 150, 150, 25) 250 batch_normalization (Batch (None, 150, 150, 25) 100 Normalization) max_pooling2d (MaxPooling2 (None, 75, 75, 25) 0 D) conv2d_1 (Conv2D) (None, 75, 75, 50) 11300 dropout (Dropout) (None, 75, 75, 50) 0 batch_normalization_1 (Bat (None, 75, 75, 50) 200 chNormalization) max_pooling2d_1 (MaxPoolin (None, 38, 38, 50) 0 g2D) conv2d_2 (Conv2D) (None, 38, 38, 75) 33825 batch_normalization_2 (Bat (None, 38, 38, 75) 300 chNormalization) max_pooling2d_2 (MaxPoolin (None, 19, 19, 75) 0 43
Capítulo 4. Desarrollo del clasificador g2D) flatten (Flatten) (None, 27075) 0 dense (Dense) (None, 512) 13862912 dropout_1 (Dropout) (None, 512) 0 dense_1 (Dense) (None, 1) 513 ================================================================= Total params: 13909400 (53.06 MB) Trainable params: 13909100 (53.06 MB) Non-trainable params: 300 (1.17 KB) _________________________________________________________________ La arquitectura de la red neuronal convolucional propuesta para procesar imágenes de 150x150 píxeles, que en este caso es de un solo canal, comienza con capas convolucionales que utilizan un tamaño de kernel de 3x3 píxeles. Estas capas están seguidas por capas de normalización, que estabilizan y aceleran el entrenamiento, y capas de max pooling con un tamaño de 2x2 píxeles para reducir la dimensionalidad. Este patrón de capa convolucional, normalización y max pooling se repite, disminuyendo gradualmente el tamaño de las imágenes y aumentando el número de filtros para capturar características más complejas. Finalmente, se obtienen 75 mapas de características de tamaño 19x19, que se aplanan mediante una capa Flatten, resultando en 27.075 valores. Estos se conectan a una capa densa de 512 neuronas y, por último, a una única neurona que determina la clase a la que pertenece la imagen. El modelo fue entrenado según los siguientes hiperparámetros. Como método de optimización se empleó Adam, con un entrenamiento de 20 épocas y un tamaño de lote de 64. La tasa de aprendizaje se fijó en 0.001 y como función de activación de las neuronas se eligió ReLU salvo para la última neurona, que se utilizó la función sigmoide. Se utilizaron dos capas de dropout, con una tasa de 0.2 después de la segunda capa convolucional, y de 0.3 entre las dos capas densas. También se probó a entrenar el modelo eliminando estas capas de dropout. Por su parte, el conjunto de datos se construyó de manera idéntica al modelo anterior salvando las diferencias propias de utilizar imágenes de un solo canal. 4.3. Perceptrón multicapa (MLP) Otra de las opciones planteadas fue la de entrenar un perceptrón multicapa con datos unidimensionales, o bien la señal en el dominio del tiempo, o bien su espectro en frecuencia a través de la DFT. Para la elección del número de capas y el número de neuronas del modelo se han tenido en cuenta las recomendaciones mostradas en la Tabla 4.1. Para el problema de clasificación que se pretende resolver se plantearon dos opciones, ambas con dos capas ocultas y con número de neuronas decrecientes. En la primera de ellas la primera capa contaría con 64 neuronas y 32 la segunda, mientras que en la otra 44
4.4. Entrenamiento de las redes neuronales Número de capas ocultas Resultado Ninguna Capaz de representar funciones separables de manera lineal 1 Permite aproximar cualquier función que contenga un mapeo continuo de un espacio finito a otro 2 Puede representar un límite de decisión arbitrario con precisión arbitraria con funciones de activación racionales y puede aproximar cualquier mapeo suave con cualquier precisión. Tabla 4.1: Regla para determinar el número de capas ocultas. [54] opción la primera tendría 32 y la segunda 16. Con esto podemos comparar el rendimiento de arquitecturas distintas en términos de complejidad. A continuación se muestra la estructura en capas del modelo planteado para el caso de 64 neuronas en la primera capa y 32 en la segunda. Se trata de una arquitectura muy simple, con una carga computacional baja en relación a la mayoría de arquitecturas de DL por lo que puede ser entrenada en poco tiempo y sin necesidad de hacer uso de una GPU. Mientras que este modelo ocupa 20 kilobytes (KB) en parámetros, los modelos basados en arquitecturas convolucionales previamente mencionados tienen un peso del orden de decenas de megabytes (MB). _________________________________________________________________ Layer (type) Output Shape Param # ================================================================= dense (Dense) (None, 64) 3008 dense_1 (Dense) (None, 32) 2080 dense_2 (Dense) (None, 1) 33 ================================================================= Total params: 5121 (20.00 KB) Trainable params: 5121 (20.00 KB) Non-trainable params: 0 (0.00 Byte) _________________________________________________________________ En este caso los datos de entrada son los 184 valores de cada muestra de la señal temporal o los 46 correspondientes a cada una de las frecuencias de la DFT. 4.4. Entrenamiento de las redes neuronales Para el desarrollo y entrenamiento de los distintos clasificadores propuestos se ha hecho uso del entorno gratuito de “Google Colab”que permite el uso de una GPU NVIDIA® Tesla T4 con 15 GB de RAM que en el caso de los modelos probados ha sido suficiente. Gracias a esta herramienta se ha podido reducir notablemente el tiempo de entrenamiento 45
Capítulo 4. Desarrollo del clasificador frente a haber entrenado los modelos en una máquina personal. La arquitectura de la GPU empleada se muestra en la Figura 4.2. Figura 4.2: Arquitectura de la GPU NVIDIA®Tesla T4. 46
Capítulo 5 Resultados En este capítulo se presentan los resultados conseguidos en el entrenamiento de las diferentes redes neuronales expuestas en el Capítulo 4. Se presentarán las curvas de entrenamiento de todos los modelos, así como los resultados obtenidos del mejor modelo de cada arquitectura a través de la matriz de confusión, y se evaluará el poder de clasificación de cada uno de ellos mediante el análisis de la curva ROC. 5.1. Transfer learning: Xception Inicialmente se probó la arquitectura de CNN Xception, diseñada para la clasificación de imágenes. En la Figura 5.1 vemos las curvas de aprendizaje del modelo a medida que transcurría el entrenamiento. La línea gris punteada que se encuentra en torno a la época 10 indica el límite entre la primera fase (transfer learning) en la que los pesos del modelo base estaban congelados, y la segunda (fine-tuning) en la que sí se entrenaban estos pesos. 0 2 4 6 8 10 12 14 Épocas 0.80 0.85 0.90 0.95 Exactitud 0 2 4 6 8 10 12 14 Épocas 0.05 0.10 0.15 0.20 0.25 0.30 0.35 0.40 Pérdida Validación Entrenamiento Figura 5.1: Curvas de aprendizaje del modelo basado en Xception. Es importante el cambio que se produce cuando se “descongelan” los pesos del modelo base, puesto que previamente no se podían modificar gran parte de los valores aprendidos 47
Capítulo 5. Resultados 0 5000 10000 15000 20000 25000 Frecuencia (Hz) 0 10 20 30 40 50 60 70 Peso asignado tras entrenamiento Figura 5.9: Pesos de las neuronas de la capa de entrada. Con esta corrección de la respuesta se obtuvieron nuevos valores de DFT con los que se entrenó de nuevo el MLP. La curva de entrenamiento correspondiente se muestra en la Figura 5.10, donde se observa que se obtienen resultados similares, en algún punto algo más inestables. 0 10 20 30 40 Época 0.94 0.95 0.96 0.97 0.98 Exactitud 0 10 20 30 40 Época 0.04 0.06 0.08 0.10 0.12 0.14 0.16 Pérdida Validación Entrenamiento Figura 5.10: Curvas de aprendizaje del MLP usando la DFT tras la corrección de la respuesta frecuencial. Con la matriz de confusión se han calculado las siguientes métricas para evaluar el comportamiento del modelo: 1. Exactitud: 0.978. Esto indica que el 97.8 % de los casos se ha clasificado correctamente, ya sean de larva o de nudo. 2. Precisión: 0.988. Esta métrica hace referencia a la exactitud de las predicciones positivas, es decir, el número de veces que se clasifica correctamente la señal de un nudo frente al total de predicciones de nudos, con lo que del 98.8% de veces que se ha clasificado como nudo, realmente lo era. 3. Sensibilidad: 0.969. En este caso, la sensibilidad mide cómo de bien clasifica el modelo 54
5.4. Validación leave-one-out Larva Nudo Etiquetas predichas LarvaNudo Etiquetas reales 0.968437 0.031563 0.012197 0.987803 0.2 0.4 0.6 0.8 (a) Matriz de confusión. 0.0 0.2 0.4 0.6 0.8 1.0 Tasa de Falsos Positivos 0.0 0.2 0.4 0.6 0.8 1.0 Tasa de Verdaderos Positivos Curva ROC (área = 0.998) (b) Curva ROC. Figura 5.11: Evaluación del MLP usando la DFT tras la corrección de la respuesta frecuencial como clasificador. los nudos con respecto al número total de nudos reales, es decir, el 96.9% de los nudos han sido clasificados correctamente. 4. Especificidad: 0.988. Este valor indica la proporción de larvas correctamente identificadas por el modelo, en este caso el 98.8% de las señales correspondientes a una larva fueron correctamente clasificadas. 5. Puntuación F1: 0.979. La media armónica entre la precisión y la sensibilidad en este caso es del 97.9%. Por su parte, la curva ROC proporciona una valor de AUC de 0.998, un resultado excelente pero igual al alcanzado con el MLP con la DFT sin la normalización de la respuesta frecuencial, lo que involucra un paso de procesamiento adicional en este caso. 5.4. Validación leave-one-out Para comprobar el poder de generalización del mejor modelo conseguido, aquel entrenado con la DFT, se realizó una validación leave-one-out. Esta técnica es una forma exhaustiva de validación cruzada donde se entrena el modelo tantas veces como sujetos haya en el conjunto de datos, dejando fuera a uno en cada iteración para evaluarlo. El procedimiento realizado consistió en entrenar desde cero la red MLP utilizando las muestras de la DFT, ya que estas ofrecieron los mejores resultados. En cada iteración, se excluyó una de las larvas del conjunto de entrenamiento. Es decir, primero se entrenó un modelo que incluía las señales de todas las larvas excepto de la larva 1, y una vez entrenado, se utilizó ese modelo para hacer predicciones sobre las señales de la larva 1. Este proceso se repitió con el resto de larvas excluyendo en cada modelo a una de ellas, entrenando de esta manera seis modelos diferentes, cada uno diseñado para evaluar las 55
Capítulo 5. Resultados predicciones del modelo respecto a las señales de la larva que no había sido utilizada durante su entrenamiento. En la Figura 5.12 se muestra un histograma normalizado con los valores predichos por cada modelo sobre las señales de la larva con la que no se ha entrenado. Recordemos que un 0 equivale a “Larva”, mientras que un 1representa al “Nudo”. Los histogramas presentados muestran la frecuencia con la que se repiten los diferentes valores de salida de la última neurona del modelo, correspondientes a las distintas señales de la larva. Sin larva 1 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 Sin larva 2 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 Sin larva 3 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 Sin larva 4 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 Sin larva 5 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 Sin larva 6 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 Figura 5.12: Histograma de las predicciones. Por su parte, en la Figura 5.13 se establece un umbral de 0.5, de forma que cuando la salida del modelo sea superior a este valor, el resultado de la clasificación será “Nudo”, mientras que si es menor, será “Larva”. Por tanto todos los valores intermedios que se veían en los histogramas anteriores quedan agrupados en la categoría más próxima. Larva Nudo 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Sin larva 1 Sin larva 2 Sin larva 3 Sin larva 4 Sin larva 5 Sin larva 6 Figura 5.13: Resultado de predicciones con un umbral de 0.5. 56
5.5. Comparativa Puesto que los datos de validación son siempre de larvas, idealmente todas las detecciones deberían clasificarse como tal, pero a partir de estos resultados, se observa que la mayoría de modelos tienen un comportamiento correcto en la mayoría de los casos, ya que cinco de los seis modelos identifican como larva todas las señales en más de un 93% de los casos, lo que indica que los modelos están generalizando correctamente puesto que hacen predicciones correctas sobre datos nunca antes vistos. Sin embargo, el caso del modelo entrenado sin la larva 1 es problemático, puesto que clasifica más de un 98 % de las señales de esta larva como nudo. Esto se debe a que los sonidos del nudo 1 provienen esencialmente de la larva 1, pero al no tener los datos de la larva 1 durante el entrenamiento lo más parecido que se encuentra al hacer la predicción son los sonidos del nudo 1. Por este motivo es importante que el entrenamiento se lleve a cabo con los sonidos de las larvas que puedan estarse transmitiendo por nudos. 5.5. Comparativa El criterio para elegir el mejor modelo para cada arquitectura fue escoger aquella época en la que el valor de pérdida fuese menor. En base a esto, se calcularon todas las métricas explicadas hasta ahora, cuyo resumen se expone en la Tabla 5.1. Xception CNN MLP x(t)MLP X(f)MLP X(f) Exactitud 0.884 0.957 0.970 0.980 0.978 Precisión 0.881 0.950 0.974 0.979 0.988 Sensibilidad 0.887 0.966 0.966 0.980 0.968 Especificidad 0.881 0.949 0.974 0.979 0.988 Puntuación F1 0.884 0.958 0.970 0.980 0.978 Tabla 5.1: Comparativa de las métricas calculadas sobre los distintos modelos. En esta tabla se muestran el valor de cada métrica para cada modelo, donde x(t)hace referencia a la secuencia temporal, X(f)a la DFT de la señal, y X(f)a la DFT tras la normalización de la respuesta en frecuencia del array. En negrita se destaca el modelo con mejor resultado para cada métrica. En cuanto al poder de discriminación de cada modelo, en la Figura 5.14 se muestran las curvas ROC obtenidas con cada modelo. Considerando estos resultados, se puede concluir que el modelo que presenta el mejor rendimiento es el MLP entrenado con la DFT, tanto con la normalización de la respuesta en frecuencia como sin ella. No obstante, el MLP entrenado con la secuencia temporal ofrece un valor de AUC muy similar y tiene la ventaja de no requerir cálculos adicionales, como es el caso del cálculo de la DFT. Por su parte, la CNN también muestra un buen rendimiento de clasificación, pero el coste computacional asociado al cálculo de los escalogramas es considerablemente mayor. Finalmente, el modelo basado en Xception preentrenado ayudó a demostrar que es posible discriminar si el sonido había atravesado un nudo o no, pero obtuvo el valor de AUC más bajo. 57
Capítulo 5. Resultados 0.0 0.2 0.4 0.6 0.8 1.0 Tasa de Falsos Positivos 0.0 0.2 0.4 0.6 0.8 1.0 Tasa de Verdaderos Positivos MLP X(f). AUC = 0.998 MLP X(f). AUC = 0.998 MLP x(t). AUC = 0.995 CNN. AUC = 0.993 Xception. AUC = 0.955 Figura 5.14: Comparativa de curvas ROC. 58
Capítulo 6 Conclusiones y líneas futuras 6.1. Conclusiones Con este trabajo se ha conseguido mejorar la precisión en la detección de larvas de Hylotrupes bajulus gracias al aumento de datos conseguido a través de una segmentación multiblanco, que ha permitido multiplicar casi por cuatro el número de detecciones capturadas. Este aumento de datos ha facilitado también la detección de los dos nudos, ya que en [1] sólo se había detectado la presencia de uno de ellos, el nudo 1, puesto que ha sido el más activo. También ha sido una pieza clave para el entrenamiento de las redes neuronales, que precisan de una cantidad elevada de datos para su entrenamiento. Además, el criterio de etiquetado empleado, basado en la frecuencia de detección de un evento acústico en cada coordenada de la cuadrícula, ha permitido acotar de una manera más efectiva la región a considerar para cada uno de los blancos. Esto ha facilitado la creación de un conjunto de datos bien etiquetado y representativo de la realidad, algo fundamental para el desarrollo de algoritmos de DL. En cuanto al análisis de la evolución temporal realizado, este ha permitido encontrar relaciones entre los sonidos generados por cada uno de los blancos. Principalmente ha servido de ayuda para encontrar una fuerte correlación en la aparición de la larva 1 y su nudo asociado, el nudo 1, así como para observar las diferencias en la coexistencia de emisiones acústicas de la larva 2 y el nudo 2. La explicación a esto, es que la larva 1 se alimentó principalmente de madera que tenía más conexiones con el nudo 1, favoreciendo mucho la salida del sonido por este; mientras que la larva 2, se alimentó de madera con menos conexiones con el nudo 2, de manera que si mordía madera sin conexión con el nudo se detectaba su posición real, pero si se alimentaba de madera conectada con el nudo, la detección se localizaba en este. Además el tamaño del nudo 2 es significativamente menor. Por su parte, las diferentes representaciones de las señales estudiadas han servido para determinar cuáles arrojan un mejor resultado en la posterior clasificación. A pesar de que la representación tiempo-frecuencia estudiada, a través de la Transformada Wavelet, ha permitido obtener buenos resultados de clasificación, se ha comprobado que la secuencia temporal y el espectro frecuencial calculado mediante la DFT han conseguido mejores resultados a pesar de requerir un coste computacional mucho menor. De la representación en frecuencia se ha extraído información interesante, mostrándose la importancia de las frecuencias más bajas para el resultado de clasificación. 59
Capítulo 6. Conclusiones y líneas futuras En cuanto a los resultados de clasificación conseguidos, mostrados en el Capítulo 5, se puede concluir que la hipótesis de partida de que el sonido generado directamente por una larva, de aquel que atraviesa una fibra y es radiado por el nudo son significativamente distintos, aunque están fuertemente correlados. El modelo de MLP entrenado con la DFT ha demostrado ser el más eficiente, ofreciendo un rendimiento superior en términos de precisión, exactitud y sensibilidad. Este modelo ha alcanzado una puntuación F1 de 0.979 y un AUC de 0.998, lo que indica una capacidad excepcional para diferenciar entre señales acústicas de insectos xilófagos y el sonido radiado a través de un nudo. La ventaja del MLP radica en su capacidad para equilibrar el rendimiento con un coste computacional relativamente bajo, lo que lo hace particularmente útil para aplicaciones prácticas donde los recursos computacionales pueden ser limitados, como sería un sistema portátil pensado para la localización de estos insectos en un escenario real. Por otro lado, la CNN también ha mostrado un buen rendimiento con un AUC de 0.993, aunque su implementación implica un mayor coste computacional debido al cálculo intensivo de los escalogramas. Este hallazgo sugiere que, aunque las CNN son potentes, su aplicación puede ser más adecuada en entornos donde la capacidad computacional no sea un impedimento. Además, el modelo basado en Xception, aunque útil para discriminar si el sonido ha atravesado un nudo, ha obtenido un valor de AUC de 0.955, el más bajo entre los modelos evaluados, por lo que no es la mejor opción. El estudio no solo ha evaluado la eficacia de los diferentes modelos de DL, sino que también ha subrayado su contribución a varios aspectos clave de la detección acústica de insectos xilófagos. En particular, el trabajo ha mostrado cómo las técnicas de aprendizaje profundo pueden mejorar significativamente la precisión de la detección, lo que es crucial para la implementación de métodos de control más efectivos y menos invasivos. La comparación detallada entre los modelos ha permitido identificar las fortalezas y debilidades de cada enfoque, proporcionando una base sólida para futuras investigaciones en el campo. En conclusión, este trabajo ha demostrado que el uso de técnicas de DL en la detección acústica de insectos xilófagos no solo es viable sino también altamente efectivo. Los modelos desarrollados y evaluados proporcionan un marco robusto para la detección precisa y eficiente de estos insectos, lo que puede tener un impacto significativo en la gestión de plagas y la protección de estructuras de madera. La investigación realizada sienta las bases para futuras mejoras y adaptaciones de los modelos, asegurando su relevancia y efectividad en una variedad de contextos y aplicaciones. 6.2. Líneas futuras Como ya se ha comentado anteriormente, uno de los principales problemas que presenta esta investigación es el número de individuos del que se extraen los datos. A pesar de que el número de señales capturadas es suficientemente alto para un problema de clasificación binaria usando un modelo de DL, la base de datos cuenta únicamente con 6 larvas y 2 nudos, por lo que es probable que el modelo pueda aprender bien a distinguir entre estas 6 larvas y estos 2 nudos, pero no generalice correctamente. Por tanto, aumentar el número de individuos bajo estudio sería muy conveniente. Además de aumentar el número de individuos bajo estudio, podría ser útil que el sistema de 60
6.3. Objetivos de Desarrollo Sostenible detección clasificara entre distintas especies de larva, de forma que el tratamiento necesario para la madera infestada sea el adecuado para el caso. Existen estudios previos que tratan este tema, Farr en su tesis de 2007 [19] consiguió diferenciar con un 96% de precisión entre dos especies de escarabajos, Hylotrupes bajulus yPrionus coriarius, en base a su patrón de ocurrencia. Actualmente se está preparando una investigación para recoger señales de larvas de Xestobium rufovillosum, comúnmente conocido como el escarabajo del reloj de la muerte, lo cual permitirá establecer diferencias entre esta especie y la estudiada en este trabajo, Hylotrupes bajulus. La especie de madera puede influir en los resultados de la clasificación. En este estudio, todas las vigas de madera eran de la especie Pinus sylvestris L.. Sin embargo, considerando que la fuente acústica es una combinación del sonido producido por la larva y la madera que la alberga, otras especies de madera, o incluso madera de la misma especie en diferentes estados, podrían afectar el sonido producido. Esto podría reducir la efectividad del clasificador. En general, sería útil ampliar el conjunto de datos con más muestras de insectos y diferentes condiciones ambientales para mejorar la robustez del clasificador. 6.3. Objetivos de Desarrollo Sostenible Los Objetivos de Desarrollo Sostenible (ODS) constituyen un llamamiento universal a la acción para poner fin a la pobreza, proteger el planeta y mejorar las vidas y las perspectivas de las personas en todo el mundo. En 2015, todos los Estados Miembros de las Naciones Unidas aprobaron 17 Objetivos, mostrados en la Figura 6.1, como parte de la Agenda 2030 para el Desarrollo Sostenible, en la cual se establece un plan para alcanzar los Objetivos en 15 años. [56] Figura 6.1: Objetivos de Desarrollo Sostenible. 61
Capítulo 6. Conclusiones y líneas futuras Este trabajo contribuye a algunos de estos Objetivos, sirviendo como un bien social en los siguientes aspectos: 1. ODS 9: Industria, innovación e infraestructura. Este trabajo fomenta la innovación tecnológica y la investigación científica aplicada al manejo de plagas, lo que puede mejorar la infraestructura relacionada con la protección de recursos naturales y la sostenibilidad. 2. ODS 11: Ciudades y comunidades sostenibles. Con métodos precisos de detección de insectos xilófagos se contribuye al mantenimiento preventivo de edificios históricos y de carácter patrimonial. 3. ODS 12: Producción y consumo responsables. La detección precisa de insectos xilófagos puede ayudar a manejar y reducir el uso de productos químicos en el control de plagas, promoviendo prácticas más sostenibles y responsables en la producción agrícola y la gestión forestal. Además, el uso de la detección acústica se podría aplicar en invernaderos. 4. ODS 15: Vida de ecosistemas terrestres. La detección y control efectivo de insectos xilófagos ayuda a proteger los ecosistemas terrestres, especialmente los bosques, que son cruciales para la biodiversidad y la salud del medio ambiente. Este trabajo contribuye a la lucha contra la desertificación y la degradación de las tierras, y ayuda a frenar la pérdida de biodiversidad. Además, se fomenta el uso de madera sostenible. 62
Bibliografía [1] R. D. Martínez, A. Izquierdo, J. J. Villacorta, L. del Val, and L. A. Basterra, “Acoustic detection and localisation system for Hylotrupes bajulus L. larvae using a MEMS microphone array,” Applied Acoustics, vol. 213, p. 109618, 10 2023. [Online]. Available: https://doi.org/10.1016/j.apacoust.2023.109618 [2] J. Schofield, “Real-time acoustic identification of invasive wood-boring beetles,” 2011. [Online]. Available: https://etheses.whiterose.ac.uk/1978/ [3] G. Nicosia, H. Mathieu, J. L. Roux, A. de Wallens, and M. Dojat, “LarvaTracing: Imagerie RMN des infestations dans les œuvres d’art en bois et matériaux organiques,” In Situ, 7 2019. [Online]. Available: https://doi.org/10.4000/insitu.22094 [4] J. Schofield and D. Chesmore, “Automated acoustic identification of beetle larvae in imported goods using time domain analysis,” Proceedings - European Conference on Noise Control, pp. 5929–5934, 2008. [Online]. Available: https://www.researchgate. net/publication/5323731_Automated_acoustic_identification_of_beetle_larvae_ in_imported_goods_using_time_domain_analysis [5] A. Krajewski, S. Jakiela, and P. Witomski, “Detection of Old House Borer Larvae in Wooden Structures by Acoustic Emission Method – Influence of Larval Size and Sensor Location,” BioResources, vol. 17, pp. 3435–3444, 2022. [Online]. Available: https://doi.org/10.15376/biores.17.2.3435-3444 [6] S. L. Conte, S. Vaiedelich, J. H. Thomas, V. Muliava, D. de Reyer, and E. Maurin, “Acoustic emission to detect xylophagous insects in wooden musical instrument,” Journal of Cultural Heritage, vol. 16, pp. 338–343, 5 2015. [Online]. Available: https://doi.org/10.1016/j.culher.2014.07.001 [7] P. Bilski, P. Bobiński, A. Krajewski, and P. Witomski, “Detection of Wood Boring Insects’ Larvae Based on the Acoustic Signal Analysis and the Artificial Intelligence Algorithm,” Archives of Acoustics, vol. 42, pp. 61–70, 3 2017. [Online]. Available: https://doi.org/10.1515/aoa-2017-0007 [8] A. Krajewski, P. Bilski, P. Witomski, and P. Bobiński, “Assessment of the Ability for Early Detection of Newly Hatched Larvae of Hylotrupes bajulus L. Using the Acoustic Emission Method in Scots Pine Wood,” BioResources, vol. 19, pp. 2092–2105, 5 2024. [Online]. Available: https://doi.org/10.15376/biores.19.2.2092-2105 [9] R. W. Mankin, A. Mizrach, A. Hetzroni, S. Levsky, Y. Nakache, and V. Soroker, “Temporal and Spectral features of Sounds of wood-boring Beetle Larvae: Identifiable patterns of Activity enable improved discrimination from background 63