掌桥专利:专业的专利平台
掌桥专利
首页

一种分布式多模态脑机接口系统支撑平台

文献发布时间:2023-06-19 16:09:34



技术领域

本发明涉及脑机接口技术领域,特别是涉及一种分布式多模态脑机接口系统支撑平台。

背景技术

脑机接口(Brain Computer Interface,BCI)是一种新型人机交互方式,它通过高级机器学习与模式识别算法对不同思维活动下的大脑的神经活动信号进行识别,并翻译成控制命令来直接控制外部设备,从而建立人脑与外部设备之间的直接通讯。脑机接口技术的研究正成为人工智能、康复工程的一个热点,受到越来越广泛的关注。

面对日益发展的脑机接口技术,脑机接口工程化应用的需求越来越大,仅仅用于实验室研究的传统脑机接口系统衍生出一系列问题:研究人员搭建系统需要较大的时间成本;系统耦合程度高,功能模块无法复用;系统在跨平台、跨语言场景下表现不佳;系统不易于扩展和灵活部署等。

发明内容

本发明的目的是提供一种分布式多模态脑机接口系统支撑平台,提供构建脑机接口系统所需的模块化组件,实现系统内模块间的松耦合,也赋予系统灵活的拓展能力和分布式部署能力,能够满足不同业务场景下的功能和性能需求。

为实现上述目的,本发明提供了如下方案:

一种分布式多模态脑机接口系统支撑平台,包括:

刺激子系统,用于呈现范式所需的视觉刺激,从而诱发脑电信号;

处理子系统,用于对脑机接口系统内接入的脑电或其他模态信号数据进行处理和分析;

采集子系统,用于从数据采集设备接收脑电或其他模态信号数据,进行结构标准化后转发至中央通信平台;

数据持久化子系统,用于持久化存储脑电或其他模态信号数据、系统运行日志内容,并提供查询、修改、删除功能;

外设控制子系统,用于对脑机接口系统外部的设备进行指令控制;

中央通信平台,用于连通各子系统,承载脑机接口系统内部数据和交互指令传输。

进一步的,所述刺激子系统可单独部署于独立计算机上,以获取独享的中央处理器和显卡资源。

进一步的,所述采集子系统设计统一的数据结构,将采集到的数据进行结构标准化,其他子系统只需要按照约定的结构对数据进行解析即可使用;所述采集子系统设置开放预处理接口,用于应用开发者根据自身的需求编写预处理程序;所述采集子系统还具备数据采集设备下线后待机、数据采集设备重启后自动重连功能。

进一步的,所述刺激子系统、处理子系统、数据持久化子系统、外设控制子系统的纵向架构均分为应用程序层、平台框架层和功能模块层,所述采集子系统的纵向架构分为平台框架层和功能模块层。

进一步的,所述刺激子系统的应用程序层为刺激应用程序,所述刺激子系统的平台框架层为多功能脑机接口范式刺激平台框架,所述刺激子系统的功能模块层包括视觉刺激生成模块、视觉界面控制模块、日志模块、Trigger信号控制器以及通信服务模块。

进一步的,所述处理子系统的应用程序层为数据处理应用程序,所述处理子系统的平台框架层为数据处理平台框架,所述处理子系统的功能模块层包括流程控制模块、日志模块以及通信服务模块。

进一步的,所述数据持久化子系统的应用程序层为数据持久化应用程序,所述数据持久化子系统的平台框架层为数据持久化平台框架,所述数据持久化子系统的功能模块层包括数据结构模型框架、日志模块以及通信服务模块,所述数据结构模型框架包括若干数据结构模型。

进一步的,所述外设控制子系统的应用程序层为外设控制应用程序,所述外设控制子系统的平台框架层为外设控制平台框架,所述外设控制子系统的功能模块层包括指令解析框架、日志模块以及通信服务模块,所述指令解析框架包括若干指令解析模型。

进一步的,所述采集子系统的的平台框架层为多模态数据采集平台框架,所述采集子系统的功能模块层包括数据接入模块、日志模块以及通信服务模块。

进一步的,所述中央通信平台采用基于Kafka消息中间件的星型网络架构通信平台。

根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明提供的分布式多模态脑机接口系统支撑平台,以中央通信平台为中心,连接刺激子系统、处理子系统、采集子系统、数据持久化子系统、外设控制子系统,构成星型网络架构模式,有效降低了系统内部网络拓扑复杂度,与“发布-订阅”通信模式配合使用,大大减少了系统开发者使用网络通信模块时投入的精力,特别是在系统规模扩大的情况下,星型网络架构模式能够有效减少系统规模扩张所需的工作量。该平台支持搭建面向多人应用的大规模、泛用性脑-机接口系统,支持多种脑电采集设备,基于消息中间件搭建的中央通信平台可以支持高并发量、高数据吞吐量、低延时的多模态数据接入,并且可以保证单一子系统故障不影响其他子系统正常工作,具有高可靠性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明分布式多模态脑机接口系统支撑平台的结构框图;

图2为本发明分布式多模态脑机接口系统支撑平台的运行时序示意图;

图3为本发明分布式多模态脑机接口系统支撑平台的数据流向示意图;

图4为本发明分布式多模态脑机接口系统支撑平台的纵向架构切分示意图;

图5为本发明中央通信平台的工作原理图;

图6为本发明子系统间双向通信过程示意图;

图7为分布式脑-机接口系统本地部署示意图;

图8为分布式脑-机接口系统云端部署示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的目的是提供一种分布式多模态脑机接口系统支撑平台,提供构建脑机接口系统所需的模块化组件,实现系统内模块间的松耦合,也赋予系统灵活的拓展能力和分布式部署能力,能够满足不同业务场景下的功能和性能需求。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

如图1所示,本发明实施例提供的分布式多模态脑机接口系统支撑平台,包括:

刺激子系统,用于呈现范式所需的视觉刺激,从而诱发脑电信号;

处理子系统,用于对脑机接口系统内接入的脑电或其他模态信号数据进行处理和分析;

采集子系统,用于从数据采集设备接收脑电或其他模态信号数据,进行结构标准化后转发至中央通信平台;

数据持久化子系统,用于持久化存储脑电或其他模态信号数据、系统运行日志内容,并提供查询、修改、删除功能;

外设控制子系统,用于对脑机接口系统外部的设备进行指令控制;

中央通信平台,用于连通各子系统,承载脑机接口系统内部数据和交互指令传输。

视觉刺激诱发类的脑电数据处理系统包含刺激、脑电数据采集、脑电数据处理三个功能不同的部分,在本架构中,这三部分分别对应刺激子系统、采集子系统和处理子系统。

其中,所述刺激子系统通过视觉刺激来诱发人脑产生具有某种规律的脑电信号,以SSVEP范式为例,该范式对于刺激闪烁稳定性的要求较高,要想呈现稳定频率的刺激闪烁就需要有较高的中央处理器和显卡性能。该发明提出的系统支持分布式部署,这决定了刺激子系统可单独部署于独立计算机上,以获取独享的中央处理器和显卡资源,更有利于保障刺激稳定性。

所述采集子系统需要采集多模态的数据,这意味着其会与不同的生物数据采集设备进行通信,该发明所实现的采集子系统框架为每类生物数据设计统一的数据结构,它会将采集到的数据进行结构标准化,其他子系统只需要按照约定的结构对数据进行解析即可使用。该采集子系统还提供了已实现的基础降采样预处理方法,同时开放预处理接口,应用开发者可以根据自身的需求编写预处理程序,该子系统将通过配置启用用户所选的预处理程序。最后,该采集子系统还具备采集设备下线后待机、采集设备重启后自动重连等功能。

考虑到脑-机接口技术的实用场景,除上述三个子系统外,本发明设计了另外两个不影响核心脑电处理功能的附加子系统:数据持久化子系统和外设控制子系统。其中,数据持久化子系统可对该平台中接入的脑电或其他模态数据进行持久化存储,用户也可根据自身的数据持久化需求设计不同的数据存储格式;外设控制子系统通过网络通信或接口调用的形式与外部设备进行通信,如根据脑电数据处理结果对无人机、机械臂等设备进行指令操控,或向即时聊天软件发送消息等,为脑-机接口技术应用提供支持。

本发明设计的分布式多模态脑机接口系统支撑平台运行时序和数据流向如图2、图3所示。所有系统在运行之初需要先进行系统初始化并连接中央通信平台,刺激子系统和处理子系统之间互相确认系统已就绪以保证刺激和处理过程可正常进行。刺激子系统通知采集子系统开始数据采集,通知持久化子系统开始持久化存储数据,随后呈现刺激,同时告知处理子系统刺激开始,处理子系统接收数据后进行处理,处理完毕后会将处理结果反馈给刺激子系统呈现反馈,并将处理结果解析成控制指令发送给外设控制子系统实现对外设的控制。重复上述步骤,直至用户选择终止。持久化子系统也可根据配置,以定时任务或其他方式对该系统平台中的某类数据进行持久化存储,而不受运行时序的控制。

如图4所示,所述刺激子系统、处理子系统、数据持久化子系统、外设控制子系统的纵向架构均分为应用程序层、平台框架层和功能模块层,所述采集子系统的纵向架构分为平台框架层和功能模块层。

所述刺激子系统的应用程序层为刺激应用程序,所述刺激子系统的平台框架层为多功能脑机接口范式刺激平台框架,所述刺激子系统的功能模块层包括视觉刺激生成模块、视觉界面控制模块、日志模块、Trigger信号控制器以及通信服务模块。

所述处理子系统的应用程序层为数据处理应用程序,所述处理子系统的平台框架层为数据处理平台框架,所述处理子系统的功能模块层包括流程控制模块、日志模块以及通信服务模块。

所述数据持久化子系统的应用程序层为数据持久化应用程序,所述数据持久化子系统的平台框架层为数据持久化平台框架,所述数据持久化子系统的功能模块层包括数据结构模型框架、日志模块以及通信服务模块,所述数据结构模型框架包括若干数据结构模型。

所述外设控制子系统的应用程序层为外设控制应用程序,所述外设控制子系统的平台框架层为外设控制平台框架,所述外设控制子系统的功能模块层包括指令解析框架、日志模块以及通信服务模块,所述指令解析框架包括若干指令解析模型。

所述采集子系统的平台框架层为多模态数据采集平台框架,所述采集子系统的功能模块层包括数据接入模块、日志模块以及通信服务模块。

综上,应用程序层面向不同的子系统业务应用,例如脑电处理算法应用、SSVEP范式刺激应用。该层将通过平台框架调用底层功能模块,实现具体业务逻辑。平台框架层将应用程序层与功能模块层相互分割,面向应用程序屏蔽各个功能模块的执行细节,从而提升应用程序对不同硬件平台的兼容性。同时,它为不同的功能模块提供统一的标准化接口,也使得功能模块能够被不同的应用程序所复用。功能模块层中包含多个具体功能实现模块。在功能模块层,各个模块相互隔离,各自独立实现功能。功能模块层支持动态扩充、裁剪,可以根据上层应用的需要自适应调整功能模块的组合与协作。

在分布式架构系统中,各独立运行的分布式子系统间存在进程隔离、操作系统隔离,甚至物理隔离。为使各分布式子系统能够协同工作,需构建消息通信链路。如图5所示,所述中央通信平台采用基于Kafka消息中间件的星型网络架构通信平台。区别于基于简单TCP连接的端到端通信方式,本发明中采用的星型网络架构方式能够有效减少端到端通信链路数量,降低通信网络复杂度。使用者需通过通信平台IP地址及其所监听的端口号建立与通信服务器的连接,并以话题(TOPIC)作为消息发送和接收的目的地。具体通信方式如图6所示,假设子系统A和子系统B之间需进行双向通信,则子系统A、子系统B均连接至通信服务器;子系统A在通信服务器中注册名为“AtoB”的TOPIC,并向其中发送消息,子系统B订阅该TOPIC,并从其中接收消息;子系统B向子系统A发送消息的过程与之相反。假设现有子系统C也需要接收子系统A发送至子系统B的数据(如子系统C为数据持久化子系统),则子系统C只需订阅TOPIC“AtoB”,无需与子系统A建立一对一通信链路。

上述子系统间双向通信过程中,TOPIC的命名方式仅为示例,在本发明设计的分布式多模态脑机接口系统支撑平台中,通信平台承载的消息种类较为繁多,消息来源较为复杂,为防止消息传递出错,本发明制定了一套适用于本平台的TOPIC命名空间方案。在本平台范围内,通信消息可分为两类:数据和交互指令。

通常一个采集设备在一段时间内只能采集到一种数据(以一个脑电信号采集设备为例,它在同一段时间内只能采集到一个人的脑电数据),可以认为采集设备与数据之间存在一一对应关系,因此,平台范围内数据传输TOPIC应以数据源,即采集设备为前缀、“Data”字样为后缀命名。考虑到实际应用时本平台可能会接入同型号的多台采集设备,仅以采集设备为前缀仍会出现TOPIC重名现象,应在前缀中的设备名称后加上具有唯一性的标识,如通用唯一识别码(Universally Unique Identifier,UUID),或直接使用UUID作为TOPIC名的前缀。

交互指令在本平台范围内子系统间通常是一对一传递的类似于接口交互,因此,平台范围内交互指令TOPIC名仿照Java接口形式设置,以子系统名、模块名为前缀,消息或指令类型为后缀命名。考虑到实际应用时本平台可能会接入同型号的多台采集设备,仅以采集设备为前缀仍会出现TOPIC重名现象,应在前缀中的设备名称后加上具有唯一性的标识,可使用唯一性的标识,如UUID,或直接使用UUID作为TOPIC名的前缀。

值得注意的是,上述本平台范围内存在同名子系统的情况下,这些同名子系统都是同一套子系统程序基于不同配置文件启动的不同进程。子系统在源代码中依赖的收信或发信TOPIC名应在开发结束前固化。为提供灵活的唯一性保障,本平台范围内的TOPIC拥有使用名和实际名,类似于虚拟地址和物理地址,使用名无需遵循平台范围内全局唯一原则,实际名需保证在平台范围内全局唯一。各子系统需要向TOPIC发送消息,或从TOPIC接收消息时,应在源代码中依赖使用名,并开放实际名配置接口,由部署人员在部署阶段将实际名写入配置文件,各子系统在运行时应通过使用名使用其映射的实际名。

得益于Kafka消息中间件特性,该通信平台在集群部署通信服务器的情境下可有效避免通信单点故障,基于偏移量的消息生产消费机制保证了通信可靠性;依托于Kafka的顺序写入、内存文件映射(Memory Mapped Files,MMFile)、零拷贝技术,该通信平台实现对多个来源数据的高速率、高吞吐量传输,为多人多模态数据接入提供有力支撑。

基于本发明提出的脑机接口系统支撑平台所构建的分布式脑-机接口系统,支持使用者选择本地部署或者云端部署等多种异构部署方式。本地部署如图7所示,各个子系统以独立进程的方式运行,只要位于同一局域网内,各子系统即可访问中央通信平台完成与其他子系统的内部通信。硬件部分包括脑电放大器和trigger设备,被试者需要佩戴脑电放大器与采集子系统所在的计算机建立有线或者无线连接,trigger设备通过通用串行总线(Universal Serial Bus,USB)、并口或者光闪方式与刺激子系统所在的计算机相连并通过路由器与脑电放大器建立连接。在同步脑-机接口系统中,使用者可以直接调用trigger模块向脑电数据中打入trigger事件,该trigger模块可以支持刺激应用开发者使用Python、Matlab或者C#等语言开发刺激范式。

本地部署方式主要面向单被试小规模的应用。上述设备中刺激子系统、采集子系统和脑电放大器、trigger等脑电采集设备应该与被试者处在同一空间中,如果计算机性能较高或者刺激应用对计算机性能的要求较低,可以将这些组件部署在同一台计算机上。如果单机性能不足以满足系统性能需求时,建议子系统分布式部署,将虚线框标识的子系统部署于独立服务器上,刺激子系统和采集子系统部署在不同主机上,然后通过网络设备将所有子系统接入同一局域网内,即可组成脑-机接口系统。

云端部署方式如图8所示。其中,处理子系统、持久化子系统和中央通信平台与图7中的同名子系统类似,但不再服务于单一被试者,而是作为服务被部署于云平台上,供多个被试者同时使用。刺激子系统、采集子系统和脑电放大器、trigger等脑电采集设备依然需要与被试者处在同一空间,并通过路由器或其他网络设备与云平台上的通信服务器建立网络连接。

为了避免部署在云端的系统遭受网络攻击,云端的子系统除中央通信平台外不应该暴露端口供外网连接,中央通信平台暴露通信平台访问端口并引入身份鉴权等机制降低遭受网络攻击的可能性。由于整个系统以中央通信服务器为中心形成星型网络架构,刺激子系统和采集子系统只需访问中央通信平台即可与处理子系统和持久化子系统完成交互,被试者只要携带满足刺激性能的笔记本电脑和脑电放大器、trigger等脑电采集设备即可随时随地进行脑电实验,实验数据被云端持久化系统实时存储。云端部署增加了系统部署灵活性,为脑-机接口技术应用打破地域、设备性能限制提供助益,配合5G技术及智能移动设备,脑-机接口应用开发者可构建面向个人用户的轻量级脑-机接口应用,云端部署的持久化系统也为脑电等生物数据开源打下了坚实的基础。

此外,结合docker容器化技术,将上述部分子系统制作成docker镜像提供给应用开发者使用,应用开发者只需将docker镜像运行为docker容器,即可使用子系统提供的所有功能,极大程度地降低了脑-机接口系统部署和迁移的工作量。

相较于传统脑-机接口系统,本发明设计的脑-机接口系统通过纵向架构切分和功能模块封装,打破了传统的封闭式系统限制,使得更多的功能模块能够被多种算法复用,降低了系统修改成本。相较于其他开放式脑-机接口系统,本发明设计的通信平台在提升数据吞吐量和并发量的基础上,还保证了通信的时延,且能够支持多人、多模态数据接入。本发明采用的星型网络架构模式,有效降低了系统内部网络拓扑复杂度,与“发布-订阅”通信模式配合使用,大大减少了系统开发者使用网络通信模块时投入的精力,特别是在系统规模扩大的情况下,星型网络架构模式能够有效减少系统规模扩张所需的工作量。

相较于大多数面向实验的脑-机接口系统,本发明通过对系统进行横向切分,降低了系统各功能部分的耦合度。在以往的实验性脑-机接口系统中,刺激范式、处理算法和采集程序的开发往往局限于Matlab平台,作为一个优秀的数学工具,Matlab十分适合处理算法的编写,但Matlab平台并不能很好地满足刺激的显示和数据采集程序的需求。在本发明中,通信平台的客户端接口在多种主流编程语言平台上均有支持,这使得刺激的显示和数据采集不再局限于Matlab平台,任何能够实现通信平台客户端接口的语言平台都可以作为选择。同样,由于本发明在大多数跨操作系统的语言平台中均提供了通信平台客户端接口,本发明对跨操作系统特性的支持也得以实现。

传统的脑-机接口系统往往只局限于实验室环境,存在局域网限制,如果存在外出实验需求,只能通过搬运服务器来解决。该脑-机接口系统平台支持云端部署,可以实现真正意义上的云端计算和云端存储。使用者只要保证笔记本电脑和采集设备能够正常接入移动网络即可随时随地完成实验需求,打破了脑-机接口应用的地域限制,提升了脑-机接口系统应用的便携性。

传统的脑-机接口系统往往对运行环境有着较强的依赖,在移植的过程中需要安装大量依赖环境,甚至会与移植目的地的其他程序所依赖的环境产生冲突。本发明采用docker等虚拟化技术部署系统,使得系统能够以镜像或快照的形式快速移植,该镜像或快照本身已包含操作系统及程序依赖环境,可与物理机原生的操作系统及环境产生隔离,防止环境冲突。

对于主流脑-机接口实验范式而言,完成一次实时脑电数据处理,至少需要两个过程,即脑电数据采集过程与脑电数据处理过程。对于稳态视觉诱发电位(steady statevisually evoked potential,SSVEP)、快速序列视觉呈现任务(rapid serial visualpresentation task,RSVP)等依赖视觉刺激的范式而言,刺激呈现过程也必不可少。另外,在系统运行过程中,使用者对系统中的数据和其他消息可能会产生存储需求;在某些情境下,通过脑电数据处理过程得到的处理结果可以用来与外部设备进行交互。根据脑-机接口的这些特点,本发明对传统的脑-机接口系统进行了功能切分,划分出三个核心子系统:刺激子系统、处理子系统、采集子系统,和两个附加子系统:数据持久化子系统和外设控制子系统。每个子系统都有自己的运行时序,尽量少地与其他子系统产生依赖,使得子系统能够被分布式部署。子系统间依然存在必要的交互信息,为承载该交互信息,本发明构建了中央通信平台。考虑到系统的拓展需求,中央通信平台采用星型网络架构模式构建,并在低时延的前提下实现较高的数据承载能力和数据吞吐量。为减少系统使用者在使用通信功能时的精力投入,本发明采用“发布-订阅”通信模式,使通信消息在系统内可以便捷地一对多广播。为方便系统使用者选择他们熟悉的且适合功能需求的编程语言进行应用程序开发,本发明提供多语言通信接口,使得系统具有跨语言、跨系统能力。为了方便系统使用者部署,本发明提供基于docker的部署方案,包括本地部署方案和云端部署方案,并提供封装好的docker镜像帮助使用者解决环境依赖冲突等问题,将使用者的系统部署工作量降到最低。

综上,本发明提供的分布式多模态脑机接口系统支撑平台支持搭建面向多人应用的大规模、泛用性脑-机接口系统,支持多种脑电采集设备,基于消息中间件搭建的中央通信平台可以支持高并发量、高数据吞吐量、低延时的多模态数据接入,并且可以保证单一子系统故障不影响其他子系统正常工作,具有高可靠性。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

相关技术
  • 一种分布式多模态脑机接口系统支撑平台
  • 一种平台无关的可扩展的分布式系统任务调度支撑框架
技术分类

06120114720912