当前位置: 首页 > news >正文

用MATLAB玩转DREAMER情感数据集:从数据申请到EEG/ECG信号提取保姆级教程

用MATLAB玩转DREAMER情感数据集从数据申请到EEG/ECG信号提取保姆级教程在情感计算领域DREAMER数据集因其独特的低成本和便携式设备采集特性而备受关注。不同于传统医疗级设备采集的数据DREAMER采用Emotiv EPOC脑电耳机和Shimmer2心电传感器为研究者提供了更接近真实场景的生理信号样本。本文将带你从零开始一步步掌握如何用MATLAB处理这个特殊的数据集。1. 数据准备与环境搭建在开始处理DREAMER数据集前确保你的MATLAB环境已经准备就绪。推荐使用R2018b或更高版本因为这些版本对结构体数据的处理更加友好。安装时建议勾选以下工具箱Signal Processing ToolboxStatistics and Machine Learning ToolboxWavelet Toolbox可选用于高级信号分析% 检查必要工具箱是否安装 if ~license(test,Signal_Toolbox) error(需要安装Signal Processing Toolbox); end数据集下载后你会得到一个DREAMER.mat文件和一个PDF文档。建议先完整阅读PDF文档了解数据采集协议和伦理声明。特别注意免责声明部分了解数据使用的法律边界。2. 数据结构深度解析加载数据文件后你会发现DREAMER变量是一个结构体包含多个层级的信息。让我们深入剖析这个结构load(DREAMER.mat); whos DREAMER关键字段解析字段名数据类型描述Data1×23 cell包含23名被试的数据EEG_SamplingRatedoubleEEG采样率(128Hz)ECG_SamplingRatedoubleECG采样率(256Hz)EEG_Electrodescell14个电极位置名称noOfSubjectsdouble被试数量(23)noOfVideoSequencesdouble视频片段数量(18)每个被试的数据又包含以下重要信息subject_data DREAMER.Data{1}; % 第一个被试的数据 disp(fieldnames(subject_data))EEG信号包含baseline和stimuli两部分各18个cell对应18个视频片段ECG信号同样分为baseline和stimuli情感评分Valence效价、Arousal唤醒度、Dominance支配度3. 信号提取实战技巧3.1 EEG信号提取与可视化提取特定被试在特定视频片段下的EEG信号subject_idx 5; % 第5个被试 video_idx 10; % 第10个视频片段 % 获取stimuli期间的EEG数据 eeg_stimuli DREAMER.Data{subject_idx}.EEG.stimuli{video_idx}; % 获取对应baseline数据 eeg_baseline DREAMER.Data{subject_idx}.EEG.baseline{video_idx}; % 绘制AF3电极信号对比 figure; subplot(2,1,1); plot(eeg_baseline(:,1)); % AF3电极在baseline期间 title(Baseline EEG (AF3)); subplot(2,1,2); plot(eeg_stimuli(:,1)); % AF3电极在stimuli期间 title(Stimuli EEG (AF3));注意事项电极顺序与DREAMER.EEG_Electrodes中定义的顺序一致信号未经滤波包含设备本身的噪声时间轴需要根据采样率(128Hz)计算3.2 ECG信号处理要点ECG信号处理有其特殊性特别是这种低成本设备采集的数据ecg_stimuli DREAMER.Data{subject_idx}.ECG.stimuli{video_idx}; % 简单的R峰检测算法示例 [~,locs] findpeaks(ecg_stimuli(:,1),... MinPeakHeight,0.6*max(ecg_stimuli(:,1)),... MinPeakDistance,0.6*DREAMER.ECG_SamplingRate); figure; plot(ecg_stimuli(:,1)); hold on; plot(locs, ecg_stimuli(locs,1),ro); title(ECG信号与R峰检测);低成本ECG设备常见问题处理运动伪迹信号中可能包含明显运动噪声基线漂移使用高通滤波(0.5Hz)可缓解电极接触不良检查信号中是否有长时间平坦线段4. 情感评分关联分析将生理信号与主观评分关联是情感计算的核心。DREAMER提供了三种情感维度的评分valence DREAMER.Data{subject_idx}.ScoreValence(video_idx); arousal DREAMER.Data{subject_idx}.ScoreArousal(video_idx); dominance DREAMER.Data{subject_idx}.ScoreDominance(video_idx); fprintf(视频片段%d的情感评分\n效价%.1f\n唤醒度%.1f\n支配度%.1f\n,... video_idx, valence, arousal, dominance);分析建议计算EEG频带功率(δ, θ, α, β, γ)与评分的相关性分析HRV(心率变异性)指标与唤醒度的关系建立跨被试的通用情感识别模型5. 低成本设备数据的特点与处理策略Emotiv EPOC和Shimmer2采集的数据与医疗级设备有明显差异特性医疗级设备DREAMER设备采样率通常≥1000HzEEG:128Hz, ECG:256Hz电极数量64-256通道EEG:14通道信号质量专业级放大滤波原始信号含更多噪声使用场景实验室环境接近日常环境应对策略预处理增强使用ICA去除眼电伪迹采用小波去噪处理肌电干扰对于ECG使用自适应滤波消除呼吸伪迹特征工程% 示例计算α波段相对功率 fs DREAMER.EEG_SamplingRate; [pxx,f] pwelch(eeg_stimuli(:,1),[],[],[],fs); alpha_band [8 12]; % Hz alpha_power bandpower(pxx,f,alpha_band,psd); total_power bandpower(pxx,f,psd); alpha_relative alpha_power/total_power;跨被试归一化使用z-score对特征进行标准化考虑个体生理差异建立个性化基线6. 完整处理流程示例以下是一个端到端的处理示例从原始数据到特征提取%% 参数设置 subject_id 3; % 选择被试 video_id 7; % 选择视频片段 eeg_channel F3; % 选择电极 channel_idx find(strcmp(DREAMER.EEG_Electrodes,eeg_channel)); %% 数据加载 eeg_stimuli DREAMER.Data{subject_id}.EEG.stimuli{video_id}(:,channel_idx); eeg_baseline DREAMER.Data{subject_id}.EEG.baseline{video_id}(:,channel_idx); %% 预处理 % 1. 去趋势 eeg_stimuli detrend(eeg_stimuli); eeg_baseline detrend(eeg_baseline); % 2. 带通滤波(1-45Hz) [b,a] butter(4,[1 45]/(DREAMER.EEG_SamplingRate/2)); eeg_stimuli_filt filtfilt(b,a,eeg_stimuli); eeg_baseline_filt filtfilt(b,a,eeg_baseline); %% 特征提取 % 时域特征 stimuli_mean mean(eeg_stimuli_filt); baseline_mean mean(eeg_baseline_filt); % 频域特征 [pxx,f] pwelch(eeg_stimuli_filt,[],[],[],DREAMER.EEG_SamplingRate); beta_power bandpower(pxx,f,[13 30],psd); %% 情感评分获取 valence DREAMER.Data{subject_id}.ScoreValence(video_id); arousal DREAMER.Data{subject_id}.ScoreArousal(video_id); %% 结果可视化 figure; subplot(2,1,1); plot(eeg_baseline_filt); title([Baseline EEG at eeg_channel]); subplot(2,1,2); plot(eeg_stimuli_filt); title([Stimuli EEG at eeg_channel]);在实际项目中这种处理流程可以扩展为批处理所有被试和视频片段构建完整的情感识别特征集。
http://www.gsyq.cn/news/1338745.html

相关文章:

  • 体验Taotoken官方价折扣活动为个人开发者参与每日大赛减负
  • 可变形卷积+深度可分离卷积:手把手复现DAS注意力,在自定义数据集上提升目标检测AP
  • PADS Logic/Layout新手避坑指南:从栅格到铺铜,这8个基础设置千万别乱动
  • 深度解析:三坐标检测哪家好?技术原理与选型指南 - 资讯速览
  • 2026年做疾病动物模型的公司服务与选择指南 - 品牌排行榜
  • 如何在3分钟内为Windows安装苹果设备驱动:终极解决方案指南 [特殊字符]
  • 为什么你的ElevenLabs蒙古文输出像“机械诵经”?20年语音工程专家拆解:声调建模缺失、元音延长失准、辅音簇弱化这3大隐性缺陷
  • CANoe TestMode避坑指南:从TestEnvironment配置到报告生成的5个常见错误
  • 一条STM32F407的编译结果的资源占用分析
  • 渗透测试之越权漏洞详解—水平越权、垂直越权、目录越权、SQL跨库查询越权,一篇文章说明白!
  • 2026淮南婚纱摄影优选榜单|权威测评各大机构实力对比 - 江湖评测
  • 浙大软院推免机试96分学长复盘:PAT甲级真题怎么刷才有效?(附2021年四道真题思路)
  • 别再死记硬背了!用Python从零实现图像缩放与旋转,彻底搞懂双线性插值
  • 如何在Windows上直接安装安卓应用:APK Installer终极指南
  • 用TensorFlow 2.x复现LeNet-5:从论文公式到可运行代码的保姆级拆解
  • GEO优化没效果不收费?选择服务商要看这几点
  • 万家开换锁:青山湖区靠谱的开换锁上门 - LYL仔仔
  • AI 智能体开发与上线
  • VMware Workstation 17.5在Linux(银河麒麟)下的安装与初体验:和Windows版有啥不一样?
  • 2026西安特产选什么好?非遗正宗品质 传统工艺创新升级适配国内外需求 - 深度智识库
  • AICoverGen终极指南:5分钟让AI为你唱出任何歌曲
  • 2026 SSH 工具推荐:Linux 服务器管理,我为什么开始更看重“可视化 SSH 工具”
  • 三坐标检测哪家好 2026最新常见问题解答 - 资讯速览
  • Axure RP中文语言包的颠覆性价值与生态化应用
  • 极域电子教室破解指南:快速恢复电脑控制权的完整方案
  • 避坑指南:Windows下用go-cqhttp搭建QQ机器人时,这几个配置项千万别搞错
  • 三步永久解锁IDM无限试用:零成本享受高速下载的完整实战指南
  • 硬件工程师效率翻倍:我是如何让Cadence OrCAD导出的PDF自动生成清晰书签目录的
  • 别再死记硬背了!从‘RS485收到TTL数据’这个偏方,聊聊嵌入式接口电平的共模电压与差分信号本质
  • 邻桌女同学2026最新官方正版免费下载 一键转存 永久更新 (看到速转存 资源随时走丢)手机版通用