跳转到主要内容

所有BCI基准的母版

项目描述

所有BCI基准的母版

banner

构建一个综合基准,包括在广泛可用的EEG数据集上应用的流行脑-机接口(BCI)算法。

免责声明

这是一个开源科学项目,可能会根据社区的需求而发展。

DOI Build Status Code style: black codecov PyPI Downloads

欢迎!

首先,欢迎! :tada: Willkommen! :confetti_ball: Bienvenue! :balloon::balloon::balloon

感谢您访问所有BCI基准仓库。

本文档是一个中心,为您提供关于项目的相关信息。直接跳转到下面的某个部分,或者直接向下滚动以了解更多信息。

我们在做什么?

问题

脑机接口允许通过脑信号与计算机交互。在本项目中,我们主要关注电生理信号(EEG),这是一个非常活跃的研究领域,全球科学界都有贡献。然而

  • BCI的可重复研究还有很长的路要走。
  • 虽然许多BCI数据集可以免费获取,但研究人员并没有发布代码,而要重现用于基准测试新算法的结果,结果比预期的要复杂。
  • 性能可能会受到预处理步骤参数、使用的工具箱和几乎从未在文献中报道的实现“技巧”的影响。

因此,没有BCI算法的全面基准,新来者需要花费大量的时间浏览文献,以了解哪些算法效果最好以及哪些数据集。

解决方案

所有BCI基准的“之母”允许

  • 构建一个综合基准,用于在广泛可用的EEG数据集上应用流行的BCI算法。
  • 代码可在GitHub上找到,作为未来算法发展的参考点。
  • 算法可以在网站上排名和推广,提供该领域不同解决方案的清晰图景。

当我们在摘要中看到“……所提出的方法在MOABB(所有BCI基准的“之母”)上获得了89%的分数,比现有技术领先5%……”时,该项目将取得成功。

安装

Pip安装

要使用MOABB,您可以简单地执行以下操作:
pip install MOABB
如果您遇到问题,请参阅故障排除部分。

手动安装

您可以分叉或克隆存储库,然后进入下载目录,然后运行

  1. 安装 poetry(每台机器只需运行一次)
    curl -sSL https://install.python-poetry.org | python3 -
    查看安装说明或使用conda forge版本
  2. (可选,如果不清楚,请跳过)禁用自动环境创建
    poetry config virtualenvs.create false
  3. 一键安装所有依赖项(必须在项目目录中运行)
    poetry install

请参阅贡献者指南以获取详细说明。

我们使用的需求

请参阅pyproject.toml文件以获取依赖项的完整列表

运行

验证安装

为确保它运行正确,您还可以在安装后运行

python -m unittest moabb.tests

使用MOABB

首先,您可以查看我们的教程,这些教程涵盖了最重要的概念和使用案例。此外,我们还提供了一些示例

您可能对MOABB文档感兴趣

Moabb和docker

Moabb有一个默认镜像来运行基准测试。您有两个选项下载此镜像:从头开始构建或从docker hub拉取。我们建议从docker hub拉取

如果您是第一次使用docker,您需要安装docker并在docker hub上登录。我们建议您遵循官方docker文档的说明,这是必要的。

安装docker后,您可以从docker hub上拉取镜像。

docker pull baristimunha/moabb
# rename the tag to moabb
docker tag baristimunha/moabb moabb

如果您想从头开始构建镜像,可以在根目录下使用以下命令。您可能需要使用NGC目录中的API密钥登录以运行此命令。

bash docker/create_docker.sh

下载或从头开始重建镜像后,您将拥有一个名为moabb的镜像。要在项目的根目录下运行默认基准测试,可以使用以下命令

mkdir dataset
mkdir results
mkdir output
bash docker/run_docker.sh PATH_TO_ROOT_FOLDER

以下是一个命令示例

cd /home/user/project/moabb
mkdir dataset
mkdir results
mkdir output
bash docker/run_docker.sh /home/user/project/moabb

注意:使用绝对路径运行根目录非常重要,但您可以将run_docker.sh脚本修改为在其他路径(项目根目录之外)保存。默认情况下,脚本将在项目的根目录下的results文件夹中保存结果,在dataset文件夹中保存数据集,在output文件夹中保存输出。

支持的数据库集

支持的数据集列表可以在以下位置找到: https://neurotechx.github.io/moabb/datasets.html

有关数据集(电极、试验、会话)的详细信息可以在wiki上找到: https://github.com/NeuroTechX/moabb/wiki/Datasets-Support

提交新的数据集

您可以通过提及它来提交新的数据集到这个问题。我们目前关注的数据库可以在以下位置查看:这里

我们是谁?

所有BCI基准测试之母的创始人有Alexander BarachantVinay Jayaram。该项目由NeuroTechX(国际神经科技爱好者社区)赞助。该项目目前由Sylvain Chevallier维护。

我们需要什么?

!以您能提供的任何方式。

我们需要编程、用户体验、软件可持续性、文档和技术写作以及项目管理方面的专业知识。

我们很高兴在整个过程中得到您的反馈。

我们的主要目标是构建一个综合性的BCI算法基准测试,这些算法应用于广泛可用的EEG数据集,我们很兴奋支持所有贡献者的职业发展。如果您想学习编码、尝试协作工作或将其技能转移到数字领域,我们在这里帮助您。

参与其中

如果您认为您可以帮助上述任何领域(我们确信您可以帮助)或我们尚未考虑的许多领域,请查看我们的贡献者指南和我们的路线图

请注意,对我们来说,保持一个积极和支持的环境对任何希望参与的人来说都非常重要。加入我们时,我们要求您在所有线上线下互动中遵守我们的行为准则

联系我们

如果您想报告问题或提出改进建议,我们非常希望您能在本GitHub存储库中提交问题,因为这样我们可以立即着手处理。

对于更非正式的讨论或交换想法,您还可以在Gitter频道上联系我们或加入我们的每周办公时间!这是一个定期举行的公开视频会议,请通过gitter频道索要链接。我们还在NeuroTechX Slack #moabb频道上。

架构和主要概念

banner

在MOABB中有4个主要概念:数据集、范式、评估和管道。此外,我们还提供统计和可视化工具,以简化工作流程。

数据集

数据集负责处理和抽象对数据的低级访问。数据集将读取本地存储的数据,以下载时的格式读取,并将它们转换为MNE原始对象。可以选择将每个受试者的所有不同记录会话汇总,或者单独评估它们。

范式

范式定义了原始数据将如何转换为解码算法可以处理的试验。这取决于所使用的范式,例如,在运动想象中,可以有双分类、多分类或连续范式;同样,ERP与ERD范式需要不同的预处理。

评估

评估定义了如何从每个受试者和会话的试验转换为泛化统计量(AUC分数、f分数、准确率等)--它可以是记录会话内准确率、跨会话受试者内准确率、跨受试者准确率或其他迁移学习设置。

管道

管道定义了算法获得预测所需的所有步骤。管道通常是sklearn兼容的转换器链,并以sklearn兼容的估计器结束。有关更多信息,请参阅管道

统计和可视化

运行评估后,原始结果将作为DataFrame返回。可以通过以下命令进一步处理以生成一些基本的可视化和统计分析

from moabb.analysis import analyze

results = evaluation.process(pipeline_dict)
analyze(results)

引用MOABB和相关出版物

如果您在实验中使用MOABB,请在发表论文时引用此库,以增加开放科学倡议的可见性

Aristimunha, B., Carrara, I., Guetschel, P., Sedlar, S., Rodrigues, P., Sosulski, J., Narayanan, D., Bjareholt, E., Barthelemy, Q., Reinmar, K., Schirrmeister, R. T.,Kalunga, E., Darmet, L., Gregoire, C., Abdul Hussain, A., Gatti, R., Goncharenko, V., Thielen, J., Moreau, T., Roy, Y., Jayaram, V., Barachant,A., & Chevallier, S.
Mother of all BCI Benchmarks (MOABB), 2023. DOI: 10.5281/zenodo.10034223.

以下是Bibtex版本

@software{Aristimunha_Mother_of_all,
 author = {Aristimunha, Bruno and Carrara, Igor and Guetschel, Pierre and Sedlar, Sara and Rodrigues, Pedro and Sosulski, Jan and Narayanan, Divyesh and Bjareholt, Erik and Barthelemy, Quentin and Kobler, Reinmar and Schirrmeister, Robin Tibor and Kalunga, Emmanuel and Darmet, Ludovic and Gregoire, Cattan and Abdul Hussain, Ali and Gatti, Ramiro and Goncharenko, Vladislav and Thielen, Jordy and Moreau, Thomas and Roy, Yannick and Jayaram, Vinay and Barachant, Alexandre and Chevallier, Sylvain},
 doi = {10.5281/zenodo.10034223},
 title = {{Mother of all BCI Benchmarks}},
 url = {https://github.com/NeuroTechX/moabb},
 version = {1.1.0},
 year = {2024}
 }

如果您想引用MOABB的科学贡献,可以使用以下论文

Sylvain Chevallier,Igor Carrara,Bruno Aristimunha,Pierre Guetschel,Sara Sedlar,Bruna Junqueira Lopes,Sébastien Velut,Salim Khazem,Thomas Moreau "最大的基于脑电图的开源科学BCI可重复性研究:MOABB基准" HAL: hal-04537061。

Vinay Jayaram和Alexandre Barachant. "MOABB:BCI的值得信赖的算法基准测试。" Journal of neural engineering 15.6 (2018): 066011. DOI

如果您使用MOABB发表论文,请在gitter上联系我们或提交问题,我们将把您的论文添加到专用维基页面

感谢

非常感谢(Danke schön! Merci beaucoup!)访问该项目,我们非常希望您能加入我们在这段构建广泛应用BCI算法的全面基准的惊人旅程中。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

moabb-1.1.1.tar.gz (204.1 kB 查看散列)

上传时间

构建分布

moabb-1.1.1-py3-none-any.whl (269.3 kB 查看哈希值)

上传时间 Python 3

由以下支持