Implementación en un microcontrolador de la inferencia de una red neuronal convolucional para la detección de arritmias cardiacas (2021)
Las enfermedades cardíacas tienen una de las más altas tasas de mortalidad en Colombia. Además del reducido número de especialistas en esta rama y la limitada distribución geográfica de los cardiólogos en el país, la detección y tratamiento de este tipo de enfermedades conlleva grandes costos tanto económicos como de tiempo y talento humano. Por tal motivo, se desea realizar la implementación de la inferencia de una red neuronal convolucional para detectar arritmias cardiacas en el microcontrolador Teensy 4.1, el cual posee características relevantes en temas de portabilidad, consumo energético y memoria. La red neuronal es la red SqueezeECG, esta red detecta arritmias cardiacas a partir de señales ECG sin preprocesamiento. La red ofrece una exactitud que está por encima de la de un cardiólogo en promedio. Un aspecto importante para resaltar en esta red es que tiene alrededor de 20x menos parámetros que modelos con una exactitud similar. Nuestros resultados muestran valores de accuracy, precisión, recall y F1 score por encima de 0.8. Se logró un tiempo de inferencia de 4205ms y una latencia de 8196ms trabajando a una frecuencia de 396MHz. El proceso de inferencia requiere un total de 813KB de memoria Flash y 750KB de memoria RAM. El código correspondiente a la implementación se encuentra disponible en el siguiente enlace: https://github.com/JulianJerez/ECG_Microcontroller_Implementation.