▷ Epileptic seizure prediction with #MachineLearning based on #FPGA
⭐⭐⭐⭐⭐ Epileptic Seizure Prediction with #MachineLearning based on #FPGA
- ➡️ #DigitalSystems #DigitalElectronic #DigitalCircuits #HDL #VHDL #FPGA
- ⭐ https://github.com/vasanza/MSI-VHDL
✅ Objectives:
- Preprocesar la señales #EEG utilizando un filtro paso banda.
- Caracterizar las señales #EEG en el dominio del tiempo.
- Comparar el desempeño de al menos dos redes neuronales para series temporales.
- Medir los tiempos de procesamiento, % de CPU utilizado y % de memoria utilizada, en el procesador #NIOSII, #ARM ó ambos, según sea el caso (radar chart).
✅ Goals:
- Implementar un Sistema Embebido basado en #FPGA que lea datos preprocesados (.csv o .mat) almacenados en memoria Double Data Rate 3 Synchronous Dynamic Random-Access Memory #DDR3_SDRAM, el acceso se lo realizará a través del Hard Processor System #HPS. El proceso de entrenamiento de la red neuronal para series temporales podrá ser realizado en computador convencional, luego el modelo entrenado en lenguaje C++ deberá ser ejecutado por el procesador NIOSII en la #FPGA. El sistema deberá tener como salida un monitor #VGA ó #HDMI que muestre los resultados de la clasificación de forma clara. El sistema basado en #FPGA es quien ejecuta los bloques de filtrado y red neuronal, pero los grupos que tengan estudiantes de telemática, no usarán la salida VGA ó HDMI sino deberán acceder a la interfaz visual por medio de una aplicación web desplegada en un servidor de aplicaciones web corriendo en un sistema operativo linux con procesador #ARM.
✅ Abstract:
- La epilepsia es un trastorno crónico del sistema nervioso central que predispone a las personas a experimentar ataques recurrentes. Afecta a 3 millones de estadounidenses y 50 millones de personas en todo el mundo. Una convulsión es una aberración transitoria en la actividad eléctrica del cerebro que produce síntomas físicos perturbadores, como un lapso en la atención y la memoria, una alucinación sensorial o una convulsión de todo el cuerpo. Estas convulsiones incontrolables representan un grave riesgo de lesiones, limitan la independencia y la movilidad de un individuo y dan como resultado tanto aislamiento social como dificultades económicas [1].
- Las señales EEG (Electroencefalografía) que representan actividad cerebral de cualquier sujetos, puede ser adquiridas de forma superficial utilizando electrodos en el cuero cabelludo. Al adquirir señales EEG durante la ejecución de tareas motoras, estas señales contienen información en el dominio del tiempo y frecuencia correspondiente a la actividad motora realizada. Las señales EEG pueden ser analizadas mediante algoritmos de clasificación para determinar de forma automática qué tipo de actividad está realizando el sujeto, esta detección es usada para el control de prótesis e interfaz hombre máquina. El presente trabajo no incluye la etapa de adquisición de señales EEG, utilizaremos señales EEG previamente adquiridas utilizando el standard internacional 10-20. Se realizará un procesamiento post adquisición que incluye: Preprocesamiento, caracterización y pronóstico de series temporales [2].
- En la etapa de de preprocesamiento, nos encargaremos de filtrar la señales EEG para reducir el ruido de baja frecuencia tales como latidos del Corazón, movimiento relativo entre piel-electrodos, etc. Así mismo se atenuará la presencia de ruido de frecuencias de la red eléctrica y sus armónicos. Nos centraremos en analizar las señales EEG que se encuentren en el rango de frecuencias entre 80-120 Hz, ya que en este rango de frecuencias se registran aumentos de hasta cinco veces en la porción del espectro durante convulsiones epilépticas [5].
- Una selección apropiada de las características temporales nos permitirá realizar una adecuada predicción de una convulsión epiléptica, para este fin empezaremos calculando los valores RMS en ventanas temporales de 1seg. de cada uno de los 64 electrodos EEG [1,2].
- En el pronóstico de series temporales, la red neuronal (NN) utiliza las características más representativas con las que los algoritmos tengan una mejor desempeño en la predicción de las salidas. Para un adecuado desempeño, los algoritmos de NN requieren que las señales sean procesadas en una etapa previa de preprocesamiento [3].
✅ Reference:
- [1] Shoeb, A. H. (2009). Application of machine learning to epileptic seizure onset detection and treatment (Doctoral dissertation, Massachusetts Institute of Technology).
- [2] V. Asanza, A. Constantine, S. Valarezo and E. Peláez, "Implementation of a Classification System of EEG Signals Based on FPGA," 2020 Seventh International Conference on eDemocracy & eGovernment (ICEDEG), Buenos Aires, Argentina, 2020, pp. 87-92, doi: 10.1109/ICEDEG48599.2020.9096752.
- [3] Asanza, V., Pelaez, E., & Loayza, F. (2017, October). EEG signal clustering for motor and imaginary motor tasks on hands and feet. In 2017 IEEE Second Ecuador Technical Chapters Meeting (ETCM) (pp. 1-5). IEEE.
- [4] Asanza, V., Ochoa, K., Sacarelo, C., Salazar, C., Loayza, F., Vaca, C., & Peláez, E. (2016, October). Clustering of EEG occipital signals using k-means. In 2016 IEEE Ecuador Technical Chapters Meeting (ETCM) (pp. 1-5). IEEE.
- [5] Fisher, R. S., Webber, W. R., Lesser, R. P., Arroyo, S., & Uematsu, S. (1992). High-frequency EEG activity at the start of seizures. Journal of clinical neurophysiology: official publication of the American Electroencephalographic Society, 9(3), 441-448.
✅ Hardware:
- (1) #DE10_Standard o #DE10_Nano
- (1) Monitor VGA / HDMI
✅ Database:
✅ Experts: floayza, epelaez
✅ Use Algorithm in IEEE format (overleaf):
✅ Use Radar Plot for Performance Results:
- ⚡ Machine Learning Examples:
- Read related topics:
- ⭐ Projects Digital Systems Design #FPGA
- ✅ Introduction
- ✅ Programming
- ✅ #Proteus #PCB Design
- ✅ Paper: Monitoring of system memory usage embedded in #FPGA
- ✅ Embedded System Projects
- ➡️ End Device #Arduino #FreeRTOS
- ➡️ End Device + Coordinator #Raspberry Pi #Python
- ➡️ #Proteus #PCB Design
- ✅ TinyOS for sensor networks #XBEE
- ✅ Electronic Prototype Development using #ALTIUM #CircuitMaker
- ✅ Instalación de #ALTIUM #CircuitMaker y especificaciones del módulo #ESP32
- ✅ Microcontrollers Application using #Labview
- ✅ Práctica 1: Salidas Digitales #Arduino
Comentarios
Publicar un comentario