▷ #EEG + #EMG signal processing with #MachineLearning #ML based on #FPGA
⭐⭐⭐⭐⭐ #EEG + #EMG signal processing with #MachineLearning #ML based on #FPGA
- ➡️ #DigitalSystems #DigitalElectronic #DigitalCircuits #HDL #VHDL #FPGA
- ⭐ https://github.com/vasanza/MSI-VHDL
🥇 Publication:
- 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.
- C. Cedeño Z., J. Cordova-Garcia, V. Asanza A., R. Ponguillo and L. Muñoz M., "k-NN-Based EMG Recognition for Gestures Communication with Limited Hardware Resources," 2019 IEEE SmartWorld, Ubiquitous Intelligence & Computing, Advanced & Trusted Computing, Scalable Computing & Communications, Cloud & Big Data Computing, Internet of People and Smart City Innovation (SmartWorld/SCALCOM/UIC/ATC/CBDCom/IOP/SCI), Leicester, United Kingdom, 2019, pp. 812-817.
✅ Objectives:
- Preprocesar la señales #EEG y #EMG utilizando un filtro paso banda.
- Caracterizar las señales #EEG y #EMG en el dominio del tiempo.
- Comparar el desempeño de uno o más algoritmos de clasificación.
- 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 del clasificador podrá ser realizado en computador convencional, luego el modelo entrenado en 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, los algoritmos de clasificación que puede utilizar el estudiante son: #k_means, #k_medoids, #DBSCAN, Spectral Clustering, Hierarchical #Clustering, #SVM ó Neural Network (NN). El sistema basado en FPGA es quien ejecuta los bloques del clasificador, 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:
- 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 clasificación [1].
- Las señales #EMG (Electromiografía) que representan actividad cerebral de cualquier sujeto, pueden ser adquiridas de forma superficial utilizando electrodos en la piel que cubre el músculo de interés. Al adquirir señales EMG durante la ejecución de tareas motoras, estas señales contienen información en el dominio del tiempo y frecuencia correspondiente a la actividad muscular involucrada en la tarea motora realizada. Las señales EMG 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 de rehabilitación. El presente trabajo no incluye la etapa de adquisición de señales EMG, utilizaremos señales EMG previamente adquiridas medidas en el antebrazo. Se realizará un procesamiento post adquisición que incluye: Pre Procesamiento, caracterización y clasificación [2].
- En la etapa de de preprocesamiento, nos encargaremos de filtrar la señales EEG y EMG 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 β y δ, ya que en este rango de frecuencias se registran actividad en la corteza motora [2,3,4].
- Para las señales EMG para reducir el ruido de baja frecuencia tales como movimiento relativo entre piel-electrodos, el ruido de frecuencias de la red eléctrica y sus armónicos. Nos centraremos en analizar las señales que se encuentren en el rango de frecuencias 7 – 20Hz, ya que en este rango de frecuencias se registran actividad muscular [1].
- La caracterización es el proceso de extraer información relevante durante ventanas temporales equivalentes a la ejecución de las tareas motoras. Las ventanas temporales se definen en el experimento durante la adquisición de las señales EEG y EMG. Para las señales EEG, estas señales poseen mayor potencia en el rango de frecuencia β y δ durante la ejecución de tareas motoras, siendo las características más utilizadas: PSD y Wavelet [3,4]. Para las señales EMG, estas poseen mayor potencia en el rango de frecuencia 7 – 20Hz durante la ejecución de tareas motoras, siendo algunas de las características más utilizadas: PSD y Wavelet [2].
- En la clasificación se utilizan las características más representativas con las que los algoritmos tengan una mejor desempeño. Los algoritmos de clasificación que requieren de etapas previas de preprocesamiento y caracterización pertenecen a los algoritmos de Machine Learning tales como: KNN, Kmeans, dbscan, etc. [2,3]
- Los datos EEG y EMG fueron adquiridos de forma simultánea [5].
✅ Reference:
- [1] Asanza, V., Pelaez, E., & Loayza, F. (2017, October). Supervised pattern recognition techniques for detecting motor intention of lower limbs in subjects with cerebral palsy. In 2017 IEEE Second Ecuador Technical Chapters Meeting (ETCM)(pp. 1-5). IEEE.
- [2] Asanza, V., Peláez, E., Loayza, F., Mesa, I., Díaz, J., & Valarezo, E. (2018, October). EMG Signal Processing with Clustering Algorithms for motor gesture Tasks. In 2018 IEEE Third Ecuador Technical Chapters Meeting (ETCM) (pp. 1-6). IEEE.
- [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] Mesa, I., Rubio, A., Tubia, I., De No, J., & Diaz, J. (2014). Channel and feature selection for a surface electromyographic pattern recognition task. Expert Systems with Applications, 41(11), 5190-5200.
✅ 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