Todos os dados bem processados e prontos para DL de 109 sujeitos do EEGMMIDB são carregados!
Este tutorial contém códigos de notebook python e jupyter implementáveis e conjuntos de dados de benchmark para aprender como reconhecer sinais cerebrais com base em modelos de aprendizado profundo. Este tutorial associa nossa pesquisa sobre sinais cerebrais não invasivos baseados em DL e livro sobre BCI baseado em DL: representações, algoritmos e aplicações.
Distribuição em sinais | Distribuição em modelos DL |
---|---|
Especial atenção tem sido dada aos estudos de última geração sobre aprendizagem profunda para pesquisas de BCI baseadas em EEG em termos de algoritmos. Especificamente, apresentamos uma série de algoritmos e estruturas avançadas de aprendizagem profunda voltadas para vários problemas importantes em BCI, incluindo aprendizagem robusta de representação de sinais cerebrais, classificação entre cenários e classificação semissupervisionada.
Além disso, são propostos vários novos protótipos de sistemas BCI baseados em aprendizagem profunda que lançam luz sobre aplicações do mundo real, como autenticação, reconstrução visual, interpretação de linguagem e diagnóstico de distúrbios neurológicos. Tais aplicações podem beneficiar dramaticamente tanto indivíduos saudáveis como aqueles com deficiência na vida real.
A coleta de sinais cerebrais é cara tanto financeira quanto temporalmente. Exploramos extensivamente os conjuntos de dados de referência aplicáveis à pesquisa de sinais de chuva e fornecemos 31 conjuntos de dados públicos com links para download que cobrem a maioria dos tipos de sinais cerebrais.
Sinais cerebrais | Conjunto de dados | #-Assunto | #-Aulas | Taxa de amostragem (Hz) | #-Canais | Link para baixar |
---|---|---|---|---|---|---|
FM EcoG | BCI-C IV, conjunto de dados IV | 3 | 5 | 1000 | 48-64 | Link |
MI EcoG | BCI-C III Conjunto de dados I | 1 | 2 | 1000 | 64 | Link |
EEG do sono | Telemetria Sono-EDF | 22 | 6 | 100 | 2 EEG, 1 EOG, 1 EMG | Link |
EEG do sono | Sleep-EDF: Cassete | 78 | 6 | 100, 1 | 2 EEG (100 Hz), 1 EOG (100 Hz), 1EMG (1 Hz) | Link |
EEG do sono | MASSA-1 | 53 | 5 | 256 | 17/19 EEG, 2 EOG, 5 EMG | Link |
EEG do sono | MASSA-2 | 19 | 6 | 256 | 19 EEG, 4 EOG, 1EMG | Link |
EEG do sono | MASSA-3 | 62 | 5 | 256 | 20 EEG, 2 EOG, 3 EMG | Link |
EEG do sono | MASSA-4 | 40 | 6 | 256 | 4 EEG, 4 EOG, 1 EMG | Link |
EEG do sono | MASSA-5 | 26 | 6 | 256 | 20 EEG, 2 EOG, 3 EMG | Link |
EEG do sono | SHHS | 5804 | N / D | 125, 50 | 2 EEG (125 Hz), 1EOG (50 Hz), 1EMG (125Hz) | Link |
Convulsão EEG | CHB-MIT | 22 | 2 | 256 | 18 | Link |
Convulsão EEG | TUH | 315 | 2 | 200 | 19 | Link |
MI EEG | EEGMMI | 109 | 4 | 160 | 64 | Link |
MI EEG | BCI-C II, conjunto de dados III | 1 | 2 | 128 | 3 | Link |
MI EEG | BCI-C III, conjunto de dados III a | 3 | 4 | 250 | 60 | Link |
MI EEG | BCI-C III, conjunto de dados III b | 3 | 2 | 125 | 2 | Link |
MI EEG | BCI-C III, conjunto de dados IV a | 5 | 2 | 1000 | 118 | Link |
MI EEG | BCI-C III, conjunto de dados IV b | 1 | 2 | 1001 | 119 | Link |
MI EEG | BCI-C III, conjunto de dados IV c | 1 | 2 | 1002 | 120 | Link |
MI EEG | BCI-C IV, conjunto de dados I | 7 | 2 | 1000 | 64 | Link |
MI EEG | BCI-C IV, conjunto de dados II a | 9 | 4 | 250 | 22 EEG, 3 EOG | Link |
MI EEG | BCI-C IV, conjunto de dados II b | 9 | 2 | 250 | 3 EEG, 3 EOG | Link |
EEG emocional | AMIGOS | 40 | 4 | 128 | 14 | Link |
EEG emocional | SEMENTE | 15 | 3 | 200 | 62 | Link |
EEG emocional | DEAP | 32 | 4 | 512 | 32 | Link |
Outros EEG | Abra MIIR | 10 | 12 | 512 | 64 | Link |
PVE | BCI-C II, conjunto de dados II b | 1 | 36 | 240 | 64 | Link |
PVE | BCI-C III, conjunto de dados II | 2 | 26 | 240 | 64 | Link |
ressonância magnética funcional | ADNI | 202 | 3 | N / D | N / D | Link |
ressonância magnética funcional | PIRRALHOS | 65 | 4 | N / D | N / D | Link |
MEG | BCI-C IV, conjunto de dados III | 2 | 4 | 400 | 10 | Link |
Para permitir que os leitores tenham um acesso rápido ao conjunto de dados e possam brincar com ele, fornecemos o conjunto de dados bem processado e pronto para uso do EEG Motor Movement/Imagery Database (EEGMMIDB). Este conjunto de dados contém 109 indivíduos enquanto os sinais EEG são gravados em 64 canais com taxa de amostragem de 160 Hz. Após nossa limpeza e classificação, cada arquivo npy representa um assunto: o formato dos dados de cada arquivo npy é [N, 65], as primeiras 64 colunas correspondem a 64 recursos do canal, a última coluna denota o rótulo da classe. O N varia para diferentes assuntos, mas N deve ser 259.520 ou 255.680. Esta é a diferença inerente ao conjunto de dados original.
Em nossos arquivos tutoriais, você aprenderá o pipeline e o fluxo de trabalho do sistema BCI, incluindo aquisição de dados, pré-processamento, extração de recursos (opcional), classificação e avaliação. Apresentamos referências necessárias e códigos acionáveis dos modelos de aprendizagem profunda mais típicos (GRU, LSTM, CNN, GNN), aproveitando as dependências temporais, espaciais e topográficas. Também fornecemos códigos python que são muito úteis. Por exemplo, para verificar o desempenho da classificação EEG da CNN, execute o seguinte código:
python 4-2_CNN.py
Para iniciantes em PyTorch, recomendamos fortemente os tutoriais PyTorch de Morvan Zhou.
Para os algoritmos e aplicações apresentados no livro, fornecemos os códigos de implementação necessários (versão TensorFlow):
Se você achar que nossa pesquisa é útil para sua pesquisa, considere citar nossa pesquisa ou livro:
@article{zhang2020survey,
title={A survey on deep learning-based non-invasive brain signals: recent advances and new frontiers},
author={Zhang, Xiang and Yao, Lina and Wang, Xianzhi and Monaghan, Jessica JM and Mcalpine, David and Zhang, Yu},
journal={Journal of Neural Engineering},
year={2020},
publisher={IOP Publishing}
}
@book{zhang2021deep,
title={Deep Learning for EEG-based Brain-Computer Interface: Representations, Algorithms and Applications},
author={Zhang, Xiang and Yao, Lina},
year={2021},
publisher={World Scientific Publishing}
}
Os códigos do tutorial são testados para funcionar no Python 3.7.
São necessárias versões recentes do Pytorch, torch-geometric, numpy e scipy. Todos os pacotes básicos necessários podem ser instalados usando o seguinte comando: ''' pip install -r requisitos.txt ''' Nota: Para toch-geometric e as dependências relacionadas (por exemplo, cluster, scatter, sparse), a versão superior pode funcionam, mas ainda não foram testados.
Por favor, envie qualquer dúvida que você possa ter sobre o código e/ou algoritmo para [email protected].
Este tutorial está licenciado sob a licença MIT.