生物信号处理技术已登陆网络
过去,在网页上开发基于生物信号的应用程序,往往意味着必须从零开始构建一切。无论是 BLE(蓝牙低功耗)设备传输、信号处理管道还是协议解码器,有一点是显而易见的:目前尚无通用的标准化解决方案。
事实上,在脑科学领域,大多数工具仍以 MATLAB 为基础,且需要六位数的硬件预算。
对于开发者而言,这意味着如果想要获取神经信号数据或实现非接触式生物信号采集,就必须自己拼凑解决方案。这一艰巨的过程通常包括移植研究代码、与 Web Bluetooth API 搏斗,以及在需要真正性能的算法上,只能勉强接受速度缓慢的 JavaScript 实现。 显然,这一领域尚未达到 21 世纪的技术标准。
借助 Elata SDK,我们正在推动一类基于匿名神经信号且完全抽象化的全新应用程序的开发。您无需配备昂贵的硬件即可使用这些应用程序。事实上,您甚至完全不需要硬件,只需通过手机或电脑的原生摄像头,即可非接触式地使用这些应用程序。
浏览器是地球上最通用的应用程序运行环境。 它默认支持跨平台,无需安装,只需通过一个 URL 即可触达任何人。但生物传感技术从未在网络上真正落地:其计算量对 JavaScript 而言过于繁重,设备协议对大多数 Web 开发者来说过于底层,而信号处理的专业知识则集中在学术实验室中,而非 npm 包里。
Elata SDK 通过在 Rust 中完成繁重的工作、编译为 WASM,并将其通过类似于其他 npm 依赖项的 TypeScript 包提供出来,从而解决了这一问题。其性能接近原生水平,且开发者体验已完全抽象化,它只是一个 npm install.
由于所有操作均在 WASM 的客户端端运行,原始传感器数据无需离开设备。浏览器不仅是数据传输的载体,更是数据处理的环境。
由于这是 Elata SDK 的首次发布,我们的脑电图(EEG)软件包仅与 Muse 头戴设备兼容,尤其是 Muse Athena S 和 Muse 2。
技术栈
目前,Elata SDK 由三个软件包组成,每个软件包针对不同的传感模式:
@elata-biosciences/rppg-web该平台通过处理网络摄像头视频来提取生物信号。心率通过远程PPG信号检测,同时进行面部情绪和情感分析。该模式无需任何硬件设备。@elata-biosciences/eeg-web,负责脑电图(EEG)信号处理。支持所有标准频段(delta、theta、alpha、beta、gamma)的频段功率提取, FFT、滤波,以及两个内置分析模型:用于追踪放松与警觉状态转换的“阿尔法峰值检测器”,以及根据阿尔法/贝塔功率比输出0-100%连续评分的“平静度模型”。@elata-biosciences/eeg-web-ble,这是适用于 HAL 兼容型脑电波头带的 Web Bluetooth 传输层。它负责设备发现、BLE 配对和协议解码,随后输出干净、标准化后的帧数据,这些数据可直接输入信号处理环节。
这些套件共同涵盖了非接触式生物传感(摄像头)、神经信号生理学(EEG)以及行为分析,所有功能均通过浏览器实现,且均基于开源技术。
Elata SDK 的核心采用 Rust 语言编写,组织为一个包含 14 个 crate 的工作区,涵盖上述信号处理管道。Rust 编译后可生成适用于浏览器的 WebAssembly(WASM),并通过 UniFFI 生成适用于 iOS、Android 和桌面端的原生库。TypeScript 包通过符合人体工程学的 API 封装了 WASM 绑定。
为何这很重要
硬件抽象层(HAL)。 该脑电图(EEG)处理流程基于 HAL 特性构建,任何人都可以实现这些特性。由于 Elata SDK 是开源的,贡献者可以通过实现这些特性,将任何家用神经传感设备接入 SDK。在初始版本中,HAL 可与 Muse 系列头带以及用于测试的模拟设备配合使用,但该接口对任何后续硬件均开放。
用于开发的模拟设备。 该 SDK 提供了一个可配置的合成脑电图(EEG)信号源,并附带多种信号特征(如放松状态、警觉状态等)。您无需拥有实体设备即可构建和测试整个应用程序,现在即可开始开发,将应用发布给已拥有硬件的用户,并在准备就绪时随时切换到真实硬件。
针对 WASM 优化的构建版本。 该发布版本采用 LTO 进行激进优化,并针对小体积二进制文件进行了专门调优。这是一个以浏览器为先的 SDK;打包大小至关重要,我们对此高度重视。
一个代码库,支持所有平台。 Rust 核心代码可编译为适用于浏览器的 WASM、适用于 iOS 的原生 Swift 以及适用于 Android 的原生 Kotlin,并可直接在桌面端运行。只需编写一次信号处理代码,即可部署到任何平台。
“隐私设计”
所有处理均在设备本地进行。原始传感器数据(无论是摄像头帧还是脑电图样本)都会在浏览器中被转换为生理指标。最终输出的结果是一个数值,而非生物特征数据。
手环的功率读数或心率值本身并不包含任何身份信息。由于处理流程从未试图获取身份信息,因此身份信息在处理过程中会被消除。除非开发者明确决定,否则没有任何数据会离开浏览器。
入门指南
# Camera-based biosensing (no hardware needed)
npm install @elata-biosciences/rppg-web
# EEG processing + headband connectivity
npm install @elata-biosciences/eeg-web @elata-biosciences/eeg-web-bleimport { Muse, EegProcessing } from "@elata-biosciences/eeg-web";完整的 API 文档和使用示例位于 GitHub 代码库以及各包的源代码目录中。
应用场景
将这一功能移植到网络上的核心目的,是让生物信号和脑机接口应用无处不在。 我们希望降低准入门槛,让网页和应用程序开发者能够推出此前无法实现的生物信号应用;而且由于处理过程在用户设备上进行,这还包括诸如脑机接口人工智能应用、游戏和生物识别分析等特别敏感的应用场景。以下是一些具体示例:
- 一款基于浏览器的冥想应用,具备实时脑电图(EEG)生物反馈功能。 通过 Web Bluetooth 连接头带,实时传输阿尔法波/贝塔波功率数据,并驱动视觉或音频反馈循环。
- 一款通过摄像头运行的压力监测器。 通过移动应用、浏览器扩展程序或网站,在工作期间无需佩戴任何可穿戴设备,即可追踪心率(HR)、心率变异性(HRV)以及面部微表情。
- 一项完全在 Chrome 浏览器中运行的神经科学实验。 通过链接招募参与者。参与者授予摄像头或蓝牙访问权限,完成实验流程后,您将收集的是衍生指标,而非原始生物识别数据。无需安装软件、无需IT部门协助、无需前往实验室,也无需保障敏感数据传输链路的安全。
- 一款由认知状态驱动游戏进程的游戏。 将α状态检测融入游戏机制:放松可为能量条充能,专注则能提升瞄准精度。你的大脑就是输入设备。
这些并非未来计划。凭借当前已发布的软件包,它们今天即可构建。而且由于入门门槛如此之低,开发者可以利用现代 AI 编程工具,在极短的时间内发布应用程序。
开源与后续计划
Elata SDK 采用 MIT 许可证开源,任何人都可以使用。对于此次初始发布,我们特别希望获得:
- 开发者 谁来安装这些软件包并发布成果。我们想看看,当生物传感变得像导入一个库一样简单时,会发生什么。
- 贡献者 希望向核心系统添加设备驱动程序、信号处理算法或新分析模型的用户。
- 研究人员 他们需要基于浏览器的实验工具,并且已经厌倦了等待 MATLAB 到原生应用的开发流程实现现代化。
- 硬件开发人员 他们希望自己的硬件能够与开放的生态系统兼容,而不是仅由他们自己维护的专有 SDK。
以下是着手之处:
- GitHub:Elata-Biosciences/elata-bio-sdk
- @elata-biosciences/rppg-web
- @elata-biosciences/eeg-web
- @elata-biosciences/eeg-web-ble
此前,网络上尚不存在生物传感的基础设施。如今,这一基础设施已然存在——它是开源的、基于设备的,并且在设计上确保无法识别个人身份。您将打造怎样的应用?
