CMU-MOSI、CMU-MOSEI、CH-SIMS、Ch-SIMS v2 多模态数据集 数据集包括原始数据和处理后的数据,
CMU-MOSI、CMU-MOSEI、CH-SIMS、Ch-SIMS v2 多模态数据集数据集包括原始数据和处理后的数据一、多模态情感数据集综合信息表包含CMU-MOSI、CMU-MOSEI、CH-SIMS、CH-SIMS v2四款主流音视频文本三模态情感数据集区分基础信息、模态、标注、适用场景同时说明原始数据/预处理数据差异。数据集名称发布方/年份语言数据来源样本总量数据模态标注体系原始数据预处理数据核心适用场景CMU-MOSICMU / 2016英文YouTube 个人观点独白视频2199 片段文本音频视觉TAV情感连续分-3极负面~ 3极正面支持情感回归、二分类原始视频、音频、逐句文本、原始帧图像对齐后帧序列、提取音频特征、分词文本、归一化标签、划分训练/验证/测试集入门基线模型、小样本多模态情感分类、算法对比CMU-MOSEICMU / 2018英文YouTube 评测、访谈、辩论视频23453 片段文本音频视觉精细时序对齐1. 情感分-3 ~ 32. 6大类离散情绪喜、悲、怒、惧、厌、惊原始音视频、字幕、人脸帧、原始音频波形统一尺寸帧、梅尔频谱音频特征、BERT/词向量文本、标准数据集划分、模态对齐文件大模型训练、复杂多模态融合、工业级基准测试CH-SIMS国内团队 / 2020中文影视剧、综艺片段2281 片段文本音频视觉情感连续分-1负~ 1正支持跨模态不一致分析影视原视频、字幕、音频、画面帧中文分词、音频MFCC特征、帧采样、标签归一化、数据集划分脚本中文多模态情感、跨模态矛盾研究、中文算法落地CH-SIMS v2迭代升级版中文影视剧、短视频、日常对话扩充至 6000 片段文本音频视觉补充人脸关键点保留 -1~1 情感分新增细粒度情绪标签扩充原始音视频、高清帧、原始字幕、人脸原图统一特征格式、预提取多类特征、增强标注、标准化划分、兼容主流框架中文细粒度情绪识别、端侧模型、短视频舆情分析二、数据集结构说明1. 通用目录结构原始数据dataset_root/ ├─ CMU-MOSI/ │ ├─ raw_video/ # 原始视频文件 │ ├─ raw_audio/ # 原始音频wav │ ├─ raw_text/ # 逐句字幕/文本 │ ├─ raw_frames/ # 视频原始帧图像 │ └─ label.txt # 原始标注文件片段id情感分 ├─ CMU-MOSEI/ │ ├─ raw_video/ │ ├─ raw_audio/ │ ├─ transcript/ # 时序对齐字幕 │ ├─ frames/ │ └─ annotations/ # 情感双标签标注 ├─ CH-SIMS/ │ ├─ video/ │ ├─ audio/ │ ├─ text/ │ └─ label.csv └─ CH-SIMS_v2/ ├─ raw_data/ ├─ face_keypoints/ # 新增人脸关键点 └─ labels/2. 预处理后数据目录统一格式可直接训练processed_data/ ├─ train/val/test/ # 训练/验证/测试集划分 │ ├─ text_feat/ # 文本预训练特征BERT/Word2Vec │ ├─ audio_feat/ # 音频特征MFCC/梅尔频谱 │ ├─ visual_feat/ # 视觉帧特征 │ └─ label.npy # 标签数组 └─ meta.json # 样本映射、模态维度、类别信息三、环境依赖# requirements.txt torch1.9.0 torchvision transformers librosa # 音频特征提取 opencv-python # 视频帧提取 pandas numpy scikit-learn tqdm安装命令pipinstall-rrequirements.txt四、数据预处理代码通用版适配4个数据集实现视频抽帧、音频特征提取、文本编码、数据集划分、标签归一化importosimportcv2importlibrosaimportnumpyasnpimportpandasaspdfromtqdmimporttqdmfromsklearn.model_selectionimporttrain_test_splitfromtransformersimportBertTokenizer# 配置参数 DATASET_NAMECH-SIMS# 切换CMU-MOSI / CMU-MOSEI / CH-SIMS / CH-SIMS_v2RAW_ROOTf./dataset_root/{DATASET_NAME}PROC_ROOTf./processed_data/{DATASET_NAME}FRAME_SAMPLE_RATE5# 每5帧取1帧AUDIO_SR16000# 音频采样率MAX_TEXT_LEN64IMG_SIZE224os.makedirs(PROC_ROOT,exist_okTrue)os.makedirs(f{PROC_ROOT}/text_feat,exist_okTrue)os.makedirs(f{PROC_ROOT}/audio_feat,exist_okTrue)os.makedirs(f{PROC_ROOT}/visual_feat,exist_okTrue)# 文本编码器tokenizerBertTokenizer.from_pretrained(bert-base-uncasedifCMUinDATASET_NAMEelsebert-base-chinese)# 1. 读取原始标签 defload_label():label_pathos.path.join(RAW_ROOT,label.txtifCMUinDATASET_NAMEelselabel.csv)iflabel_path.endswith(csv):dfpd.read_csv(label_path)returndict(zip(df[id],df[score]))else:label_dict{}withopen(label_path,r,encodingutf-8)asf:forlineinf:idx,scoreline.strip().split()label_dict[idx]float(score)returnlabel_dict# 2. 视频帧提取 视觉预处理 defextract_frames(video_path,save_path):capcv2.VideoCapture(video_path)frame_list[]cnt0whilecap.isOpened():ret,framecap.read()ifnotret:breakifcnt%FRAME_SAMPLE_RATE0:framecv2.resize(frame,(IMG_SIZE,IMG_SIZE))frame_list.append(frame)cnt1cap.release()frame_arraynp.array(frame_list)np.save(save_path,frame_array)returnframe_array# 3. 音频特征提取MFCC defextract_audio(audio_path,save_path):y,_librosa.load(audio_path,srAUDIO_SR)mfcclibrosa.feature.mfcc(yy,srAUDIO_SR,n_mfcc20)np.save(save_path,mfcc)returnmfcc# 4. 文本编码 defencode_text(text,save_path):tokenstokenizer(text,max_lengthMAX_TEXT_LEN,truncationTrue,paddingmax_length,return_tensorsnp)input_idstokens[input_ids][0]np.save(save_path,input_ids)returninput_ids# 主预处理流程 defpreprocess_all():label_dictload_label()sample_idslist(label_dict.keys())train_ids,test_idstrain_test_split(sample_ids,test_size0.2,random_state42)train_ids,val_idstrain_test_split(train_ids,test_size0.2,random_state42)all_labels[]forsidintqdm(sample_ids,desc数据预处理):# 路径定义video_pos.path.join(RAW_ROOT,raw_video,f{sid}.mp4)audio_pos.path.join(RAW_ROOT,raw_audio,f{sid}.wav)text_pos.path.join(RAW_ROOT,raw_text,f{sid}.txt)# 读取文本withopen(text_p,r,encodingutf-8)asf:text_contentf.read().strip()# 执行三模态提取extract_frames(video_p,f{PROC_ROOT}/visual_feat/{sid}.npy)extract_audio(audio_p,f{PROC_ROOT}/audio_feat/{sid}.npy)encode_text(text_content,f{PROC_ROOT}/text_feat/{sid}.npy)all_labels.append(label_dict[sid])# 保存标签 划分文件np.save(f{PROC_ROOT}/all_labels.npy,np.array(all_labels))np.save(f{PROC_ROOT}/train_ids.npy,np.array(train_ids))np.save(f{PROC_ROOT}/val_ids.npy,np.array(val_ids))np.save(f{PROC_ROOT}/test_ids.npy,np.array(test_ids))print(数据预处理完成)if__name____main__:preprocess_all()五、多模态情感分析训练代码PyTorch 通用版三模态融合模型支持情感回归任务适配四个数据集连续标签可直接加载预处理数据训练。importtorchimporttorch.nnasnnfromtorch.utils.dataimportDataset,DataLoaderimportnumpyasnpimportos# 全局配置 DEVICEtorch.device(cudaiftorch.cuda.is_available()elsecpu)BATCH_SIZE16EPOCHS30LEARN_RATE1e-3PROC_DATA_PATH./processed_data/CH-SIMS# 切换对应数据集路径# 1. 自定义数据集类 classMultiModalDataset(Dataset):def__init__(self,data_path,splittrain):self.data_pathdata_path self.splitsplit# 加载样本ID和标签self.idsnp.load(os.path.join(data_path,f{split}_ids.npy))self.all_labelsnp.load(os.path.join(data_path,all_labels.npy))def__len__(self):returnlen(self.ids)def__getitem__(self,idx):sidself.ids[idx]# 加载三模态特征text_featnp.load(f{self.data_path}/text_feat/{sid}.npy)audio_featnp.load(f{self.data_path}/audio_feat/{sid}.npy)visual_featnp.load(f{self.data_path}/visual_feat/{sid}.npy)labelself.all_labels[idx]# 转Tensortexttorch.from_numpy(text_feat).long()audiotorch.from_numpy(audio_feat).float()visualtorch.from_numpy(visual_feat).float()labeltorch.tensor(label,dtypetorch.float32)returntext,audio,visual,label# 2. 三模态融合模型 classMultiModalEmotionNet(nn.Module):def__init__(self):super().__init__()# 文本分支self.text_fcnn.Sequential(nn.Linear(64,128),nn.ReLU(),nn.Dropout(0.2))# 音频分支self.audio_fcnn.Sequential(nn.AdaptiveAvgPool1d(1),nn.Flatten(),nn.Linear(20,128),nn.ReLU(),nn.Dropout(0.2))# 视觉分支self.visual_fcnn.Sequential(nn.AdaptiveAvgPool2d(1),nn.Flatten(),nn.Linear(3,128),nn.ReLU(),nn.Dropout(0.2))# 融合 回归输出self.fusionnn.Sequential(nn.Linear(128*3,256),nn.ReLU(),nn.Linear(256,1))defforward(self,text,audio,visual):t_featself.text_fc(text)a_featself.audio_fc(audio)v_featself.visual_fc(visual)# 拼接三模态特征concat_feattorch.cat([t_feat,a_feat,v_feat],dim-1)outself.fusion(concat_feat)returnout.squeeze(-1)# 3. 训练 验证函数 deftrain_epoch(model,loader,optimizer,criterion):model.train()total_loss0.0fortext,audio,visual,labelinloader:text,audio,visual,labeltext.to(DEVICE),audio.to(DEVICE),visual.to(DEVICE),label.to(DEVICE)optimizer.zero_grad()predmodel(text,audio,visual)losscriterion(pred,label)loss.backward()optimizer.step()total_lossloss.item()returntotal_loss/len(loader)defval_epoch(model,loader,criterion):model.eval()total_loss0.0withtorch.no_grad():fortext,audio,visual,labelinloader:text,audio,visual,labeltext.to(DEVICE),audio.to(DEVICE),visual.to(DEVICE),label.to(DEVICE)predmodel(text,audio,visual)losscriterion(pred,label)total_lossloss.item()returntotal_loss/len(loader)# 4. 主训练入口 if__name____main__:# 加载数据集train_setMultiModalDataset(PROC_DATA_PATH,splittrain)val_setMultiModalDataset(PROC_DATA_PATH,splitval)test_setMultiModalDataset(PROC_DATA_PATH,splittest)train_loaderDataLoader(train_set,batch_sizeBATCH_SIZE,shuffleTrue,num_workers2)val_loaderDataLoader(val_set,batch_sizeBATCH_SIZE,shuffleFalse,num_workers2)test_loaderDataLoader(test_set,batch_sizeBATCH_SIZE,shuffleFalse,num_workers2)# 模型、损失、优化器modelMultiModalEmotionNet().to(DEVICE)criterionnn.MSELoss()# 情感回归任务使用MSEoptimizertorch.optim.Adam(model.parameters(),lrLEARN_RATE)best_val_lossfloat(inf)forepochinrange(EPOCHS):train_losstrain_epoch(model,train_loader,optimizer,criterion)val_lossval_epoch(model,val_loader,criterion)print(fEpoch [{epoch1}/{EPOCHS}] | Train Loss:{train_loss:.4f}| Val Loss:{val_loss:.4f})# 保存最优模型ifval_lossbest_val_loss:best_val_lossval_loss torch.save(model.state_dict(),best_emotion_model.pth)print(保存最优模型)# 测试集评估test_lossval_epoch(model,test_loader,criterion)print(fTest Loss:{test_loss:.4f})六、使用说明 适配调整1. 数据集切换修改两处即可切换数据集预处理代码DATASET_NAME xxx训练代码PROC_DATA_PATH ./processed_data/xxx2. 任务切换回归/分类原数据集为连续情感分-3~3 / -1~1使用代码中MSELoss做回归若转为二分类/多分类将标签离散化负/正、喜/怒/哀等损失函数替换为CrossEntropyLoss模型最后一层输出改为对应类别数3. CH-SIMS v2 额外适配该版本新增人脸关键点只需在数据集类中额外加载关键点特征在模型中增加一路分支融合即可。4. 原始数据 预处理数据使用建议原始数据适合自定义特征提取、算法研究、论文实验预处理数据特征已固定开箱即用适合快速训练、课程作业、毕设。七、应用场景总结学术研究多模态情感融合、跨模态不一致、情绪识别算法对比工程落地短视频舆情分析、直播情绪监控、客服对话情绪研判教学实训AI 多模态项目、毕设课题、深度学习课程实验。

相关新闻

怎样快速搞定Windows苹果驱动:3步精简安装终极指南

怎样快速搞定Windows苹果驱动:3步精简安装终极指南

怎样快速搞定Windows苹果驱动:3步精简安装终极指南 【免费下载链接】Apple-Mobile-Drivers-Installer Powershell script to easily install Apple USB and Mobile Device Ethernet (USB Tethering) drivers on Windows! 项目地址: https://gitcode.com/gh_mirror…

2026/7/18 16:05:40阅读更多 →
Cursor快捷键避坑大全:92%用户踩过的5类致命误配,导致AI上下文丢失、光标错乱、插件崩溃(含一键修复命令)

Cursor快捷键避坑大全:92%用户踩过的5类致命误配,导致AI上下文丢失、光标错乱、插件崩溃(含一键修复命令)

更多请点击: https://codechina.net 第一章:Cursor快捷键避坑导论 Cursor 作为基于 VS Code 深度定制的 AI 编程编辑器,其快捷键体系在保留原生功能基础上叠加了大量智能操作绑定。然而,部分快捷键存在隐性冲突、平台差异或上下文…

2026/7/18 16:03:40阅读更多 →
ChatGPT定制营养餐单全流程(含FDA膳食参考标准+中国居民膳食指南2022版适配公式)

ChatGPT定制营养餐单全流程(含FDA膳食参考标准+中国居民膳食指南2022版适配公式)

更多请点击: https://kaifayun.com 第一章:ChatGPT定制营养餐单全流程(含FDA膳食参考标准中国居民膳食指南2022版适配公式) 构建科学、合规的个性化营养方案,需同步锚定国际权威标准与本土化实践规范。本流程以ChatGP…

2026/7/18 16:03:40阅读更多 →
GitHub Copilot从零到投产(新手黄金48小时实战手册)

GitHub Copilot从零到投产(新手黄金48小时实战手册)

更多请点击: https://intelliparadigm.com 第一章:GitHub Copilot从零到投产(新手黄金48小时实战手册) GitHub Copilot 不是“写代码的AI”,而是你键盘边的实时结对编程伙伴——它理解上下文、补全逻辑、生成测试&am…

2026/7/18 20:06:00阅读更多 →
2026全品类自动化设备供应商盘点 适配不同预算需求

2026全品类自动化设备供应商盘点 适配不同预算需求

文章速览本文适配人群:珠三角地区有全品类自动化设备采购需求的3C、五金、家电、塑胶等制造类企业核心内容:包含选型核心维度、3家主流供应商平行对比、3档预算适配方案、资质核验流程信息来源:所有内容均来自工商公开披露信息、企业官方公开…

2026/7/18 20:06:00阅读更多 →
【AI辅导 vs 传统辅导终极对照表】:20年教育科技专家用17项量化指标揭穿92%家长不知道的认知盲区

【AI辅导 vs 传统辅导终极对照表】:20年教育科技专家用17项量化指标揭穿92%家长不知道的认知盲区

更多请点击: https://kaifayun.com 第一章:AI辅导与传统辅导的本质差异辨析 AI辅导与传统辅导并非简单的新旧工具替代关系,而是认知范式、交互逻辑与教育供给结构的根本性重构。传统辅导以教师为中心,依赖经验驱动的线性教学路径…

2026/7/18 20:06:00阅读更多 →
【高保真动作生成生死线】:AI视频连贯性优化的5大反直觉真相(第4条让Meta研究员集体重训基座模型)

【高保真动作生成生死线】:AI视频连贯性优化的5大反直觉真相(第4条让Meta研究员集体重训基座模型)

更多请点击: https://intelliparadigm.com 第一章:【高保真动作生成生死线】:AI视频连贯性优化的5大反直觉真相(第4条让Meta研究员集体重训基座模型) 当AI视频生成模型在单帧上达到98%的PSNR时,时序连贯性…

2026/7/18 20:06:00阅读更多 →
炸货店怎么做差异化?酥三国炸肉+辣子鸡爆款组合,轻松拉开门店差距

炸货店怎么做差异化?酥三国炸肉+辣子鸡爆款组合,轻松拉开门店差距

现在大街小巷的炸货店、熟食摊越来越多,同质化竞争越来越严重。很多老板陷入低价内卷,价格越压越低,利润却越来越薄。其实炸货店想要跳出内卷、留住老客、做出特色,根本不需要复杂创新,只需要把招牌炸肉、特色辣子鸡两…

2026/7/18 20:06:00阅读更多 →
移动端桌面快捷方式实现:Android与iOS开发指南

移动端桌面快捷方式实现:Android与iOS开发指南

1. 移动端桌面快捷方式实现概述在移动互联网时代,让用户快速访问特定功能或页面是提升用户体验的关键。桌面快捷方式作为一种直观的入口,能够显著提高用户留存和使用频率。不同于PC端的快捷方式,移动端实现需要考虑不同操作系统的特性和限制。…

2026/7/18 20:04:00阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时,第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/18 10:49:13阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/18 8:49:08阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/18 14:49:24阅读更多 →
从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则

从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则

更多请点击: https://kaifayun.com 第一章:从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则 在Claude驱动的产品需求文档(PRD)生成实践中,原始业务意图往往以自然语言片…

2026/7/18 0:00:14阅读更多 →
Cursor配置生成失效?3大隐藏陷阱+4行修复代码,资深工程师连夜整理的紧急补救清单

Cursor配置生成失效?3大隐藏陷阱+4行修复代码,资深工程师连夜整理的紧急补救清单

更多请点击: https://codechina.net 第一章:Cursor配置生成失效?3大隐藏陷阱4行修复代码,资深工程师连夜整理的紧急补救清单 Cursor 配置生成突然失效,是近期高频报障场景。表面看是 cursor.config.json 未更新或 LSP…

2026/7/18 0:00:14阅读更多 →
某智驾大牛创业

某智驾大牛创业

作者:钟声编辑:Mark出品:红色星际头图:智能驾驶图片据悉,国内某头部智驾公司端到端模型技术大牛Z投身创业,并且已经拿到融资。Z不仅是该头部公司内部最年轻的对标阿里P10级别技术负责⼈,更是业内…

2026/7/18 0:00:14阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/17 22:48:46阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/18 14:49:24阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/18 18:49:35阅读更多 →