Implementación en un microcontrolador de la inferencia de una red neuronal convolucional para la detección de arritmias cardiacas

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...

Full description

Autores:
Jerez Vera, Julián Eduardo
Cadena Téllez, José Luis
Tipo de recurso:
http://purl.org/coar/version/c_b1a7d7d4d402bcce
Fecha de publicación:
2021
Institución:
Universidad Industrial de Santander
Repositorio:
Repositorio UIS
Idioma:
spa
OAI Identifier:
oai:noesis.uis.edu.co:20.500.14071/40983
Acceso en línea:
https://noesis.uis.edu.co/handle/20.500.14071/40983
https://noesis.uis.edu.co
Palabra clave:
Arritmias Cardiacas
Deep Learning
Inteligencia Artificial
Microcontrolador
Redes Neuronales Convolucionales
Señales Electrocardiográficas.
Cardiac Arrhythmias
Convolutional Neural Networks
Deep Learning
Inference At The Edge
Electrocardiographic Signals
Microcontroller.
Rights
License
Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)
Description
Summary: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.