Utilize este link para identificar ou citar este item: https://bdm.unb.br/handle/10483/27788
Arquivos neste item:
Arquivo Descrição TamanhoFormato 
2020_CamilaCarneiroFerrerSantos_tcc.pdf5,41 MBAdobe PDFver/abrir
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.