简介
眨眼脑控跳跳龙是一种基于眨眼检测的脑机接口游戏控制范式。被试通过主动眨眼产生眼电伪迹(EOG),系统实时检测眨眼动作并将其转换为谷歌浏览器恐龙小游戏的跳跃指令。该范式利用前额叶电极(FP1, FP2)捕捉眨眼时产生的特征性电信号,实现"意念控制"游戏体验。
实验演示

实验参数
| 参数 |
值 |
说明 |
| 屏幕分辨率 |
1920×1080 |
窗口模式 |
| 采样率 |
500 Hz |
EEG/EOG 数据采集 |
| 眨眼阈值 |
100 μV |
眨眼检测幅值阈值 |
| 冷却时间 |
0.5 秒 |
防止连续误触发 |
| 检测通道 |
FP1, FP2 |
前额叶电极 |
| 控制按键 |
空格键 |
恐龙跳跃指令 |
| 游戏速度 |
动态增加 |
随时间加速 |
眨眼信号特征
时域特征
正常 EEG 基线:±20 μV
眨眼信号峰值:80-200 μV
眨眼持续时间:200-400 ms
上升时间:50-100 ms
下降时间:150-300 ms
频域特征
主要频率成分:0.5-5 Hz (δ波和θ波范围)
高频噪声:> 30 Hz (可通过低通滤波去除)
实验流程
- 准备阶段 - 佩戴 EEG 帽,放置前额叶电极(FP1, FP2),检查阻抗
- 校准阶段 - 采集基线 EOG 信号,记录 5-10 次标准眨眼,计算个体化阈值
- 练习阶段 - 3-5 次练习眨眼,熟悉检测灵敏度和游戏节奏
- 正式实验 - 开始游戏,通过眨眼控制恐龙跳跃躲避障碍物
- 数据记录 - 记录游戏得分、眨眼次数、检测准确率、反应时间
- 实验结束 - 保存数据,卸载电极
电极放置
推荐电极配置
| 电极 |
位置 |
作用 |
| FP1 |
左前额 |
主要眨眼检测通道 |
| FP2 |
右前额 |
主要眨眼检测通道 |
| FPz |
前额中线 |
参考电极(可选) |
| A1/A2 |
乳突 |
接地电极 |
电极放置示意图
← FP1 —— FPz —— FP2 →
|
(鼻)
游戏控制映射
| 眨眼动作 |
游戏指令 |
说明 |
| 单次眨眼 |
跳跃 |
躲避地面仙人掌 |
| 连续眨眼 2 次 |
下蹲 |
躲避空中飞鸟(可选功能) |
| 无眨眼 |
正常运行 |
恐龙自动奔跑 |
性能指标
| 指标 |
目标值 |
说明 |
| 检测准确率 |
> 95% |
眨眼识别正确率 |
| 假阳性率 |
< 5% |
误触发比例 |
| 反应延迟 |
< 200 ms |
眨眼到跳跃的延迟 |
| 游戏得分 |
越高越好 |
存活距离/时间 |
| 疲劳度 |
主观评分 |
被试疲劳程度 |
数据记录格式
# 实验数据保存示例
import csv
from datetime import datetime
data = {
'subject_id': 'S001',
'date': datetime.now().isoformat(),
'threshold': 100.0,
'trial_duration': 120.0, # 秒
'total_blinks': 45,
'detected_blinks': 43,
'false_positives': 2,
'game_score': 156,
'accuracy': 0.956,
'avg_reaction_time': 0.185, # 秒
}
# 保存到 CSV
with open('dino_experiment.csv', 'w', newline='') as f:
writer = csv.DictWriter(f, fieldnames=data.keys())
writer.writeheader()
writer.writerow(data)
注意事项
- 确保 FP1、FP2 电极阻抗 < 10kΩ,信号质量良好
- 被试需保持面部肌肉放松,避免皱眉、咬牙等动作产生伪迹
- 实验前校准个体化眨眼阈值,避免过敏感或迟钝
- 被试与屏幕距离保持在 60cm 左右
- 每 5-10 分钟可申请休息,避免眼部疲劳
- 如佩戴眼镜,确保不影响电极接触
- 实验环境光线适中,避免屏幕反光
- 建议先练习几次再开始正式实验
扩展功能
1. 多模态控制
眨眼 → 跳跃
皱眉 → 下蹲
左右转眼球 → 左右移动(需额外电极)
2. 自适应难度
# 根据表现动态调整游戏速度
if score > 100:
game_speed *= 1.2
if accuracy < 0.8:
blink_threshold *= 0.9 # 降低阈值提高灵敏度
3. 实时反馈界面
- 显示当前 EOG 信号波形
- 显示阈值线和检测状态
- 显示游戏得分和存活时间
- 显示眨眼检测统计
4. 多人竞赛模式
- 多名被试同时游戏
- 比较存活时间和得分
- 增加趣味性和竞争性