# FlyBrain · 实时三维神经活动 2026-09-20 更新:主视图改为真实胞体坐标的三维点云,按神经元类别着色。每个模拟步返回的放电编号映射到相应点并发光衰减;没有随机闪烁。显示端缓冲 25 步并按每步 20 ms 回放,传输和计算会产生延迟,不代表生物脑实时记录。 166,700 个神经元继续参与计算;140,638 个有有限三维坐标,26,062 个缺坐标,不伪造位置。默认脑部视图是按坐标裁切,显示 125,392 个点;完整中枢视图显示所有有效坐标。 连接线采样自实际连接矩阵,但只是胞体端点间的直线示意,不是原始神经纤维、树突或轴突重建。后续若需要解剖级分支外观,需要带神经元身份映射的骨架/网格数据。当前没有把无关联的漂亮脑模型冒充这些神经元。 可拖动旋转、滚轮缩放,切换脑部/完整中枢、显示/隐藏连接。暂停会同时暂停新的计算请求和脑图事件回放。自然背景放电也会发光,不是只有外部刺激才有活动。 参考来源:用户提供视频 https://x.com/SpikeCalls/status/2099635431566377010 ,作者源码 https://github.com/SpikeCalls/FlyDrones 。本次仅阅读其实现说明,并复用其中附带的 Three.js 与 OrbitControls 渲染库,许可证位于 vendor/THREE_LICENSE;没有引入无人机控制代码。其 README 说明浏览器简化模型与完整连接组是不同运行方式,本实现仍使用此前的 flybrain 0.1.0。 渲染事件测试:运行 `python verify_spikes.py`,核对 25 步传输编号是否逐步等于相同随机种子和输入下模型直接运行的结果。输出见 spike-test-results.json。 本原型使用真实 flybrain 0.1.0 连接组计算。默认输入是合成画面,云台是虚拟取景框;不是安克 SDK 联调完成品。 ## 安装与启动 需要 Python 3.12(已验证)以及支持 WebGL 的现代浏览器;CPU 即可运行,无需 GPU。 ```sh git clone https://github.com/0xtwone/flybrain-camera.git cd flybrain-camera python3.12 -m venv .venv source .venv/bin/activate python -m pip install -r requirements.txt python server.py ``` 首次启动会通过 flybrain 从上游 GitHub Release 下载约 260 MB 的连接组数据至本项目 `data/`,新下载文件由上游下载器检查 SHA256。加载和首次编译需要等待。数据、虚拟环境和摄像头内容不纳入 Git。 打开 http://127.0.0.1:8765/ 。服务仅监听本机。可使用 `FLY_DATA=/你的/数据目录 python server.py` 复用已有数据;用 `FLY_CARE_PORT=8766 python server.py` 修改端口。 界面参考 EVA 复古监控台配色,使用紫色、荧光绿、橙色、方角按钮与扫描线;桌面脑图和摄像头区域宽度为 6:4,窄屏上下排列。 ## 演示 1. 选“左侧刺激”,观察左侧神经输出和取景框。 2. 选“右侧刺激”,观察方向改变。 3. 选“隐藏目标”,目标应不可见且动作停止。 4. 比较“普通规则”和“断开网络动作”模式。 5. 可选点击“接入本机摄像头”,用户授权后移动青色物品;实际表现受背景和光照影响。本轮没有开启或验证物理摄像头。 神经网络是单实例,建议只开一个互动页面。网络随时间保留状态;切换场景或控制方式会重置。三个采样连续居中计一次分,离开后可再次计分。得分是游戏规则,不是神经网络识别出的语义。 仅发往本机的输入字段:x、visible、mode。没有图片、视频、账号或联系人上传。隐私遮罩在浏览器视觉处理前应用,不改变摄像头本身设置。点击导出会保存标量测试记录。 ## 检查 ```sh python verify_attention.py ``` 结果见 test-results.json。测试含同样的固定左右目标、三种控制模式、不可见目标停止,共 6 组条件。固定随机种子测试不代表普遍性能或生物学有效性。 ## 后续官方 SDK 适配 app.js 中 cameraAdapter 当前只调整模拟角度。需要新适配器实际接入视频帧、rotate、stop 和设备状态;这些是我们的内部接口名称,不是已确认的安克 SDK API。数字裁切和物理云台的坐标、延迟、限频需分别验证。 上游:https://github.com/alextitonis/fly.ai 。本原型不复制上游源代码,运行其安装包;其代码 MIT、连接组数据许可和科研引用见上游文档。 ## 真实摄像头:颜色追踪而非通用物体识别 旧版固定 RGB 阈值要求 R < 90、G > 150、B > 150,容易漏掉深绿色或偏暗物体。新版提供“点击物体选颜色”:接入摄像头后点击此按钮,再点物体内部的纯色区域,避开高光和右侧隐私区。默认仍为青色,可点击“恢复青色”。绿色框为实际检测区域,细长框为模拟取景中心。 新版使用 HSV 色相匹配,适应一定的明暗变化,选择最大的连续色块并排除孤立噪点。它不会判断杯子、人或手机的类别;同色背景仍可能被错误选中。建议用鲜亮青色卡纸、纯色毛巾或哑光塑料盖;绿色、红色和橙色物品也可先选色再尝试。让目标占画面约 5%–20%,放在非隐私区域,避免透明、反光或过暗的物品。 运行 `node verify_detector.js` 检查默认青色、深绿色选色、变暗、隐私区排除、孤立噪点、最大连通区域以及过大背景拒绝。人工像素样本测试已通过,仍需在用户真实摄像头和现场光照下确认效果。