Título: | Estudo da implementação em sistemas embarcados de algoritmos para interfaces cérebro-máquina |
Autor(es): | Santos, Camila Carneiro Ferrer |
Orientador(es): | Costa, Marcus Vinícius Chaffim |
Assunto: | Interface cérebro-computador Interfaces (Computadores) Algoritmos Sistemas embarcados (Computadores) Python (Linguagem de programação de computador) |
Data de apresentação: | 14-Dez-2020 |
Data de publicação: | 24-Jun-2021 |
Referência: | SANTOS, Camila Carneiro Ferrer. Estudo da implementação em sistemas embarcados de algoritmos para interfaces cérebro-máquina. 2020. 81 f., il. Trabalho de Conclusão de Curso (Bacharelado em Engenharia Eletrônica)—Universidade de Brasília, Brasília, 2020. |
Resumo: | Nas últimas décadas, as pesquisas relacionadas à Interface Cérebro-Máquina (BCI) estão
em uma das áreas de maior crescimento da engenharia neural, pois possui potencial de
comercialização nos mercados de saúde, pesquisa e consumo. A implementação de um
sistema BCI necessita de um processamento complexo de sinais de eletroencefalografia
(EEG) que inclui filtragem, extração de características e algoritmos de classificação e
alguns desses classificadores não necessitam de uma execução com alta demanda computacional. Nesse sentido, o presente trabalho traz a proposta de utilizar a plataforma
PocketBeagle para embarcar implementações de algoritmos para BCI utilizando a linguagem Python. Os algoritmos implementados utilizaram os classificadores de Análise
Discriminante Linear (LDA) e Máquina de Vetores de Suporte (SVM) juntamente com
filtro de Padrões Espaciais Comuns (CSP). Esse trabalho visou explorar algumas características do sistema embarcado para otimizar desempenho, consumo de recursos e tempo
de treinamento dos algoritmos implementados. Reproduziu-se a implementação desenvolvida por Fabien Lotte e Cuntai Guan em um estudo publicado em 2011 com o Data Set
IVa da BCI Competition III para identificar os tempos de treinamento para cada sujeito
e confirmar a média de acurácia encontrada na pesquisa. Foram geradas matrizes de confusão com os resultados provenientes das execuções dos algoritmos em Python para cada
sujeito e essas matrizes originaram as medidas de desempenho de acurácia, confiabilidade,
sensibilidade e f-score para validação da plataforma PocketBeagle como um possível sistema para implementações de BCI. O algoritmo em linguagem Python com CSP e LDA
implementado para este trabalho obteve um tempo de treinamento maior em 5,78 vezes
ao compara com o tempo encontrado durante a reprodução da pesquisa de Lotte e Guan
e o algoritmo em Python com CSP e SVM aumentou em 5,71 vezes. Ao embarcar as
implementações em Python na PocketBeagle, esse tempo de treinamento aumentou para,
em média, 42,98s para o LDA e 42,66s para o SVM. Ao comparar com a execução em computador pessoal, o tempo de treinamento do classificador LDA aumentou em 48,50 vezes
e do classificador SVM em 48,14 vezes. Ao analisar os consumos de memória das implementações no sistema embarcado, observa-se que os códigos implementados consumiram
menos da metade da memória disponível na PocketBeagle de 512MB, sendo o consumo
do classificador LDA de 167MB em seu pico e do SVM de 177MB no pico da execução.
Utilizando as métricas decorrentes da matriz de confusão, fica claro que o classificador
SVM tem melhor desempenho do que o LDA, pois sua acurácia é de 83,14% e seu f-score é
0,8111, enquanto para o classificador LDA têm-se acurácia de 66,29% e f-score de 0,6940. |
Abstract: | Over the past decades, research involving Brain Computer Interface is one of the most
growing field in neural engineering since it has the potential of commercialization in the
health, research and consumption markets. The implementation of a BCI system requires
a complex processing of EEG signals that includes filtering, extraction of characteristics
and classification algorithms. Some of these classification algorithms do not require an
execution with high computational performance. In this sense, the present work proposes
to use the PocketBeagle embedded platform for implementation of these algorithms using
the Python language. The implemented algorithms used the Linear Discriminant Analysis
(LDA) and Support Vector Machine (SVM) classifiers together with the Common Spatial
Patterns filter (CSP). This work aims to explore some characteristics of the embedded
system to optimize performance, resource consumption and training time of the implemented algorithms. The implementation developed by Fabien Lotte and Cuntai Guan in
a study published in 2011 was reproduced with the Data Set IVa of the BCI Competition
III to identify the training times for each subject and confirm the average accuracy found
in the study. Confusion matrices were generated with the results from the execution of
the Python algorithms for each subject and these matrices originated the measures of accuracy, precision, recall and f-score to validate the PocketBeagle platform’s performance
as a possible system for BCI implementations. The Python language algorithm with CSP
and LDA implemented for this work obtained a training time of 5.78 times greater when
compared to the time found during the reproduction of the Lotte and Guan research and
the Python algorithm with CSP and SVM increased by 5.71 times. When running the
Python implementations on the PocketBeagle, this training time increased to an average
of 42.98s for the LDA classifier and 42.66s for the SVM. When compared to running on
notebook, the LDA classifier’s training time increased by 48.50 times and the SVM classifier by 48.14 times. When analyzing the memory consumptions of the implementations
in the embedded system, it is observed that the implemented codes consumed less than
half of the available memory in the PocketBeagle with the consumption of the LDA classifier being 167MB at its peak and the SVM of 177MB. Using the metrics resulting from
the confusion matrix, it is clear that the SVM classifier has better performance than the
LDA, as its accuracy is 83.14% and its f-score is 0.8111, while the LDA classifier has an
accuracy of 66.29% and f-score of 0.6940. |
Informações adicionais: | Trabalho de Conclusão de Curso (graduação)—Universidade de Brasília, Faculdade UnB Gama, Engenharia Eletrônica, 2020. |
Licença: | A concessão da licença deste item refere-se ao termo de autorização impresso assinado pelo autor que autoriza a Biblioteca Digital da Produção Intelectual Discente da Universidade de Brasília (BDM) a disponibilizar o trabalho de conclusão de curso por meio do sítio bdm.unb.br, com as seguintes condições: disponível sob Licença Creative Commons 4.0 International, que permite copiar, distribuir e transmitir o trabalho, desde que seja citado o autor e licenciante. Não permite o uso para fins comerciais nem a adaptação desta. |
Aparece na Coleção: | Engenharia Eletrônica
|
Todos os itens na BDM estão protegidos por copyright. Todos os direitos reservados.