跳到主要内容
SHENICEST:
← 返回项目展厅

FEATURED PROJECT / EVENT 04

BeforeWords

根据视觉信号还原所看图像

PROJECT ID#0471
TRACK软件
TEAMbefore words小队
SUPPORT THIS PROJECT
BeforeWords软件
01

项目介绍

Before Words 项目文档 一、项目名称 Before Words 项目定位:基于非侵入式 EEG 的视觉语义解码与图像生成系统 «Before Words —— 在语言形成之前,让机器尝试理解大脑中的视觉信息。» --- 二、项目背景 目前,人类与计算机之间最主要的交互方式仍然依赖语言和主动操作。 无论是键盘输入、语音交互,还是与大语言模型对话,都要求人首先将脑海中的想法组织成语言,再通过某种输入设备传递给计算机。 但语言并不等同于思维本身。 当一个人看到一个物体时,在说出它的名称之前,大脑已经产生了相应的视觉神经活动。如果机器能够直接从这些神经活动中提取视觉语义,那么未来的人机交互可能不再必须经过: 大脑 → 语言 → 机器 而有可能发展为: 大脑 → 机器表征 → 信息表达 近年来,EEG(Electroencephalography,脑电图)与视觉语言模型的发展,为这一方向提供了新的技术基础。 已有研究已经证明,可以通过深度学习模型将 EEG 信号映射至视觉语义空间,并进一步进行图像检索甚至图像重建。 Before Words 基于这一研究基础进行工程复现、实验探索与交互系统开发,希望进一步探索一个问题: 当 EEG 无法精确恢复完整图像时,能否先从模糊的脑电表征中提取主体、形态、颜色、背景等视觉属性,再通过生成式 AI 将这些信息重新组合成图像? --- 三、项目目标 Before Words 的目标并不是宣称“读取思想”,也不是从 EEG 中百分之百还原一个人脑海中的画面。 项目现阶段希望完成三个目标。 1. EEG 视觉语义解码 利用公开视觉 EEG 数据,通过已有 EEG Encoder 将脑电信号映射到 CLIP 视觉语义空间,从而判断一段 EEG 更接近哪些视觉内容。 2. 从 EEG 表征生成视觉结果 在传统 Top-1 图像检索之外,尝试利用 EEG 对应的多个视觉候选,拆解其中可能存在的: - 主体 - 形态 - 颜色与纹理 - 背景 再将这些模糊视觉属性重新组合,通过生成模型生成候选图像。 3. 建立完整、可交互的脑电解码 Demo 将原本运行于 Notebook 中的研究代码转化为一个可以实际展示的 Web 系统。 用户可以选择 EEG Trial,观察脑电信号,并查看 EEG 从神经信号逐渐转化为视觉属性和生成图像的过程。 --- 四、目标用户 Before Words 当前首先是一个研究探索型脑机接口 Demo,而不是成熟医疗产品。 核心用户 1. 脑机接口及人工智能研究者 用于展示 EEG 与视觉语言模型、生成模型结合的可能性,并作为进一步实验和研究的原型。 2. AI / BCI 开发者 提供一个从 EEG 数据、跨模态表征到图像生成和 Web 展示的完整工程案例。 3. 对下一代人机交互感兴趣的用户 通过可视化 Demo,让没有脑机接口专业背景的人也能够直观理解: «一段 EEG 信号如何被机器转换成视觉语义,并最终重新表达为图像。» 长期潜在用户 如果未来非侵入式脑机接口获得更高的信噪比、空间分辨率以及实时解码能力,这类技术还可能应用于辅助表达、人机交互、创意表达等领域。 --- 五、系统整体流程 Before Words 当前的核心技术流程为: 视觉刺激 ↓ EEG 信号 ↓ EEG 预处理 ↓ ATMS EEG Encoder ↓ 1024 维 EEG Embedding ↓ CLIP Visual Semantic Space ↓ Top-K 视觉候选检索 ↓ 视觉属性拆解 主体 / 形态 / 颜色与纹理 / 背景 ↓ 属性重新组合 ↓ Stable Diffusion XL 多候选生成 ↓ 生成图片重新进入 CLIP ↓ 与原始 EEG Embedding 计算相似度 ↓ 选择 EEG 相似度最高的生成结果 这一流程构成 Before Words 当前最主要的实验方案。 --- 六、技术栈 1. 数据与脑电处理 THINGS-EEG 数据集 项目使用公开视觉 EEG 数据进行实验,不涉及自行采集人体脑电数据。 EEG 数据包含视觉刺激过程中记录的多通道脑电时序信息。 --- 2. EEG Encoder ATMS ATMS 用于将经过预处理的 EEG 信号编码为 1024 维 EEG Embedding。 项目基于已有 NeurIPS 2024 开源研究: Visual Decoding and Reconstruction via EEG Embeddings with Guided Diffusion 因此,Before Words 并不将 EEG Encoder 本身作为原创贡献,而是在已有模型基础上进行实验、方法组合与系统开发。 --- 3. 视觉语义空间 CLIP / OpenCLIP 通过 CLIP Image Encoder 将图片编码成视觉 Embedding。 EEG Encoder 输出与图像 Embedding 被映射到相同或可比较的特征空间中,因此可以利用余弦相似度计算: EEG ↔ Image 之间的语义距离。 --- 4. 图像生成 Stable Diffusion XL(SDXL) 根据 EEG 推断出的视觉属性构建 Prompt,并利用 SDXL 生成多个候选图像。 生成后的图片再次经过 CLIP Image Encoder,获得新的视觉 Embedding。 系统最终重新计算: Generated Image Embedding ↔ EEG Embedding 之间的相似度,并选择得分最高的候选结果。 --- 5. 模型运行 主要使用: - Python - PyTorch - Hugging Face Diffusers - Transformers - OpenCLIP - NumPy - Google Colab GPU 完成 EEG 解码、模型推理、图像生成及实验。 --- 6. Web 系统 项目进一步将 Notebook 中的实验流程封装为可展示的 Web Demo。 系统主要包含: 前端 负责 Trial 选择、EEG 波形展示、处理过程展示、原始刺激图像与生成结果对比等交互功能。 后端 负责接收 Trial ID、调用 EEG 解码与图像生成流程,并将结果及相关 Metadata 返回前端。 同时设计缓存机制: 已经完成生成的 Trial 可以直接读取缓存结果,减少重复调用 GPU。 --- 七、项目创新点 Before Words 的创新并不在于首次提出“EEG → Image”。 已有研究已经实现 EEG 图像检索和生成。 本项目的主要探索集中在以下几个方面。 创新点一:从“单答案预测”转向“模糊视觉属性组合” 传统方法可以直接寻找: EEG 最接近哪一张图片? 但 EEG 信号本身存在噪声,并且包含的视觉信息有限。 因此 Before Words 尝试不要求 EEG 一次准确回答完整类别,而是首先寻找多个视觉候选。 然后分别分析这些候选中可能存在的: 主体、形态、颜色/纹理、背景 再重新组合这些信息。 例如某个真实视觉刺激为: Aircraft Carrier EEG 未必能够准确恢复“Aircraft Carrier”这一完整概念,但候选信息可能包含: Submarine Elongated / Rectangular Blue In Water 这些并不完全正确的信息仍然包含部分有效视觉特征。 系统尝试将这些“模糊但有价值的信息”重新组合,而不是简单舍弃。 --- 创新点二:生成结果重新接受 EEG 评分 Before Words 并不是生成一张图片后直接输出。 系统可以生成多个候选结果: Candidate 1 Candidate 2 Candidate 3 …… 随后重新将每张生成图片编码至 CLIP 空间,并与最初的 EEG Embedding 比较。 最终选择: 与原始 EEG 表征相似度最高的图片。 由此形成一个简单的闭环: EEG → 视觉推测 → 图像生成 → EEG 再评价 --- 创新点三:比较三种 EEG 图像生成路线 项目开发过程中实际探索了三种技术方案。 Route A:Top-1 Retrieval 直接寻找 EEG 最接近的视觉特征,并利用该特征辅助生成。 优点: 主体识别相对稳定,结果通常较准确。 不足: 依赖已有图库,生成自由度有限。 --- Route B:Diffusion Prior 尝试复现论文中的 Diffusion Prior,通过模型预测 EEG 对应的视觉 Embedding,再进行生成。 优点: 理论上能够摆脱简单检索的限制。 实际实验结果: 在当前数据、模型和计算资源条件下,预测误差较大,最终生成结果存在明显语义漂移,因此没有作为最终 Demo 的主要方案。 --- Route C:Visual Attribute Decomposition 最终重点探索的方案。 EEG → Top-K Visual Candidates → 主体 / 形态 / 外观 / 背景拆解 → 组合视觉描述 → SDXL 多候选生成 → EEG Similarity Ranking 这一方案牺牲了一部分精确分类能力,但尝试保留 EEG 中不完整、模糊的视觉信息,并让生成模型重新组合这些信息。 --- 八、开发过程 阶段一:项目方向探索 项目最初从“如何绕过语言进行人机信息传递”这一问题出发。 经过对脑机接口、视觉 EEG、生成模型及相关开源项目的调研,最终将项目收敛为: 利用 EEG 解码语言形成之前的视觉语义。 并确定项目名称: Before Words --- 阶段二:复现已有 EEG 解码研究 基于公开 NeurIPS 2024 项目,完成: - 项目代码部署 - 模型权重配置 - EEG 数据读取 - ATMS 模型加载 - EEG Embedding 获取 - CLIP 图像特征读取 - EEG-to-Image Retrieval 首先验证整个 EEG → Visual Embedding Pipeline 可以正常运行。 --- 阶段三:图像生成实验 在基础 EEG 解码流程跑通后,项目没有停留在论文复现阶段,而是继续测试不同的生成路线。 先后完成: 1. Retrieval-based Generation 2. Diffusion Prior Generation 3. Visual Attribute Decomposition Generation 并通过实际结果比较不同路线的优势与问题。 最终将第三种路线作为主要探索方向。 --- 阶段四:生成结果评估 增加生成图片与真实刺激图片对比。 同时记录: - Trial ID - Subject - EEG 来源 - Ground Truth - Top-K Candidates - Visual Attributes - Generated Candidates - EEG Similarity Score 使整个实验结果可以追踪,而不是只保存最终图片。 --- 阶段五:Web Demo 开发 将 Notebook 实验流程进一步产品化。 完成: Trial Selection ↓ EEG Visualization ↓ Backend Decode Request ↓ Model Inference ↓ Result Metadata ↓ Ground Truth / Generated Image Comparison 并针对 GPU 资源有限的问题加入缓存逻辑: Cached Trial → 直接展示 Uncached Trial → 后端实时 Decode 从而提高现场 Demo 的稳定性。 --- 阶段六:展示与项目包装 完成项目: - Web UI - EEG 动态可视化 - 项目 Logo / 视觉方向 - 宣传海报 - Demo 展示流程 - 项目文档 - 路演叙事与路演稿 最终形成从技术实验到实际展示的完整项目。 --- 九、团队分工 团队人数:1 人 Before Words 为独立开发项目。 由一名开发者完成完整项目流程,包括: 产品与项目策划 - 项目方向选择 - 用户场景分析 - 产品定位 - 项目命名 - Demo 设计 - 项目叙事设计 技术研究 - EEG / BCI 相关研究调研 - 论文及开源项目分析 - 技术路线选择 - 模型架构理解 - 实验方案设计 AI / 算法开发 - EEG 数据处理 - ATMS 模型部署 - CLIP 特征匹配 - EEG-to-Image Retrieval - Diffusion Prior 实验 - Visual Attribute Decomposition - SDXL 图像生成 - EEG Similarity Ranking 工程开发 - Notebook 实验环境 - GPU 推理 - 后端 API - 缓存系统 - 前端 Web Demo - EEG 数据可视化 - 前后端联调 设计与宣传 - UI 设计 - 项目视觉设计 - 海报制作 - Demo 展示设计 - 项目文档 - 路演策划 即: Research → Algorithm → Engineering → Product → Design → Demo → Pitch 完整流程均由一人完成。 --- 十、当前项目成果 截至当前版本,Before Words 已完成: - EEG 公开数据读取与处理 - ATMS EEG Encoder 部署 - EEG → CLIP Visual Embedding - EEG-to-Image Retrieval - Retrieval-based Image Generation - Diffusion Prior 实验 - Visual Attribute Decomposition - SDXL 多候选图像生成 - EEG Similarity Ranking - 原始刺激图片与生成图片对比 - Trial / Subject 数据追踪 - 后端 Decode API - Trial 缓存机制 - Web EEG 动态可视化 - 完整交互 Demo - 项目视觉与宣传材料 - 项目路演方案 因此当前成果并非单一模型 Notebook,而是一个: 可以实际运行和交互展示的 EEG → Visual Semantic → Image Prototype。 --- 十一、当前局限 Before Words 仍处于实验性 Prototype 阶段。 主要限制包括: 1. EEG 信息量有限 非侵入式 EEG 信噪比较低,无法像读取图片文件一样精确恢复视觉信息。 因此当前生成结果更多表现为: 视觉语义近似 而不是: 像素级图像重建。 2. 使用公开数据 当前 Demo 使用公开视觉 EEG 数据,并非现场实时采集。 因此现阶段展示的是: EEG 解码系统 而不是: 实时 EEG 脑机接口设备。 3. 模型依赖已有研究 ATMS、CLIP、SDXL 等核心基础模型并非本项目从零训练。 Before Words 的工作重点在于: 技术整合、实验比较、生成策略探索以及端到端系统实现。 4. GPU 资源限制 图像生成模型计算量较大,目前依赖云端 GPU。 因此系统加入了预生成结果与缓存机制,以保证 Demo 的稳定运行。 --- 十二、后续计划 Phase 1:扩大实验规模 当前实验主要用于验证系统 Pipeline。 下一阶段可以: - 增加 Subject - 增加 Trial 数量 - 系统统计不同生成方案的准确率 - 分析不同视觉类别的 EEG 解码能力 - 建立更加完整的实验评价体系 --- Phase 2:改进视觉属性解码 目前属性主要来源于 Top-K 视觉候选。 未来可以训练独立的: - Subject Decoder - Shape Decoder - Color Decoder - Background Decoder 尝试直接从 EEG Embedding 预测不同视觉属性。 --- Phase 3:减少对已有图库的依赖 当前 Top-K 方法仍然需要候选视觉库。 未来希望探索: EEG → Visual Tokens / Semantic Representation → Generative Model 从而降低 Retrieval 对已有图片的依赖。 --- Phase 4:真实 EEG 设备接入 如果未来获得 OpenBCI 或其他 EEG 采集设备,可以进一步构建: Real-time EEG Acquisition ↓ Signal Processing ↓ EEG Encoder ↓ Visual Semantic Decoding ↓ Real-time Generation 最终将当前离线 Demo 扩展为真正的实时脑机接口实验系统。 --- 十三、项目愿景 Before Words 最终探索是: 机器是否能够理解那些尚未被人类组织成语言的信息? 今天的人机交互主要依赖: Brain → Language → Computer Before Words 希望探索另一种可能: Brain → Machine Representation → Expression 现在的非侵入式 EEG 技术距离真正理解人的思想仍然非常遥远。 但如果未来机器能够捕捉视觉、空间、感觉等语言之前的神经表征,人类与计算机之间的接口或许也会发生变化。 Before Words 在语言之前,理解已经开始。

02

团队

before words小队