DREAMER 脑电数据集 下载方式

DREAMER: A Database for Emotion Recognition through EEG and ECG Signals from Wireless Low-cost Off-the-Shelf Devices

论文下载:https://pan.baidu.com/s/1dt66Xi62EggvTl5yAo9wfw?pwd=5umr  提取码:5umr 
数据集下载:https://github.com/CodeStoreHub/EEG-datasets

DREAMER,一个用于情感识别的数据库,通过EEG(脑电图)和ECG(心电图)信号进行情感识别。以下是论文内容的详细介绍:

摘要

  • 目标:DREAMER 是一个多模态数据库,旨在通过捕捉音视频刺激期间的EEG和ECG信号来进行情感识别。
  • 参与者:共有23名参与者,刺激结束后,他们根据情感体验自评了愉悦度(Valence)、唤醒度(Arousal)和主导性(Dominance)。
  • 设备:EEG数据使用Emotiv EPOC无线头戴设备采集,ECG数据使用Shimmer2传感器采集。两者都是低成本、现成的便携设备。
  • 结果:使用该数据库进行情感分类的结果与使用更昂贵的非便携医疗设备的结果相当。
  • 可用性:为了支持情感计算领域的研究,该数据库被公开提供。

数据库概述

  • 内容:该数据库包含参与者对情感评分和实验中生理信号的记录。实验中,23名志愿者观看了18个选定的电影片段。
  • 数据结构:数据库存储在MATLAB文件(DREAMER.mat)中,加载该文件会在工作区中加载一个名为“DREAMER”的变量。该变量包括以下字段:
    • Data:包含每位参与者的数据。
    • EEG采样率:128 Hz。
    • ECG采样率:256 Hz。
    • EEG电极位置:列出了14个用于EEG数据采集的电极位置。
    • 参与者评分:每个电影片段的愉悦度、唤醒度和主导性评分。

数据详情

  • 参与者数据结构:每位参与者的数据包括年龄、性别、EEG和ECG记录,以及情感评分(愉悦度、唤醒度和主导性)。
  • EEG和ECG记录
    • EEG:记录以Mx14矩阵形式存储,每一列对应一个电极位置的信号。
    • ECG:记录以Mx2矩阵形式存储,代表两个ECG通道的数据。
  • 刺激和基线:数据分为“刺激”(电影片段期间)和“基线”(电影片段前)记录。

数据预览

### 合并DREAMER数据集中刺激的方法 在处理DREAMER数据集时,为了更好地分析不同受试者的反应模式或者构建更全面的情绪模型,可以考虑将多个受试者的数据或同一受试者的多段刺激数据进行整合。以下是关于如何实现这一目标的具体说明: #### 1. 数据结构理解 DREAMER数据集包含了来自23名受试者的生理信号记录(ECG和EEG),每位受试者经历了18个视频片段的观看过程[^1]。对于每个片段,都有对应的AMD评分作为情绪标签。 这些数据通常是以分层文件夹的形式存储,具体路径可能如下所示: ``` /DreamerDataset/ /Subject_01/ video_01.mat ... video_18.mat ... /Subject_23/ video_01.mat ... video_18.mat ``` 其中 `.mat` 文件保存了原始的时间序列数据以及相应的标注信息。 #### 2. 刺激数据的合并策略 要完成对刺激数据的有效集成,可以根据研究需求采用不同的方法来组合个体间或多片段内的样本点。 ##### (1)按时间轴拼接 如果希望保留所有时间步的信息,则可以直接沿时间维度连接相邻两个视频播放期间所获取到的心信号与波特征向量。 ```python import scipy.io as sio import numpy as np def load_and_concatenate(subject_folder, videos_to_merge=[1, 2]): data_list = [] for vid_num in sorted(videos_to_merge): file_path = f"{subject_folder}/video_{vid_num:02d}.mat" mat_content = sio.loadmat(file_path) ecg_data = mat_content['ECG'][:, :] # Assuming ECG is stored under 'ECG' key. eeg_data = mat_content['EEG'][:, :] combined_signal = np.hstack((ecg_data.T, eeg_data.T)) data_list.append(combined_signal) merged_data = np.vstack(data_list) # Stack along the time axis (rows). return merged_data ``` 此函数通过读取指定编号范围内的`.mat`文件并将它们按照顺序堆叠起来形成一个新的矩阵表示连续时间段上的测量值集合[^2]。 ##### (2)基于统计摘要提取固定长度特征 另一种常见做法是从每一片段单独计算若干描述性的指标比如均值、标准差等,并把这些数值当作最终输入给机器学习算法使用的低维表征形式之一。 ```python from sklearn.preprocessing import StandardScaler def compute_summary_features(segmented_data): scaler = StandardScaler() summary_stats = [] for seg in segmented_data: mean_vals = np.mean(seg, axis=0).reshape(1,-1) std_devs = np.std(seg, axis=0).reshape(1,-1) stat_row = np.concatenate([mean_vals, std_devs], axis=-1) summary_stats.append(stat_row) feature_matrix = np.array(summary_stats).squeeze() scaled_feats = scaler.fit_transform(feature_matrix) return scaled_feats ``` 上述代码展示了如何利用简单的聚合运算符转换成紧凑型表达方式以便后续建模阶段操作更加便捷高效的同时还能减少内存占用率等问题发生几率. #### 3. 注意事项 当执行以上任何一种方案之前都需要仔细验证源材料之间是否存在显著差异从而影响整体结论可靠性;另外也要注意保护个人隐私遵循伦理准则下载使用公开资源前阅读相关协议条款内容确保合法合规性.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值