基于cnn的情感变化识别与心理状态干预系统(cnn+snownlp)大数据开发大数据专业毕业设计
2026/8/25 13:17:36 网站建设 项目流程

随着在现代人们生活节奏的加快,人们心理压力增大,进行情感变化识别与心理状态干预系统的研究至关重要。本系统借助深度学习技术,采用卷积神经网络(CNN)实现图像表情识别,利用 BlazeFace 及 OpenCV 的 Haar 级联分类器进行人脸检测。文本情感识别综合基于关键词方法与 SnowNLP 工具,通过数据清洗、加权融合得出情感分类结果。系统涵盖登录注册、数据采集处理、图像与文本情感识别、心理指导及历史记录等功能模块。使用混元大模型与 DeepSeek 大模型依据情感分析结果生成专业心理指导建议。该系统为用户提供便捷情感分析与心理支持途径,有助于及时察觉情绪变化并调整心态,对促进心理健康、提升生活质量意义重大。

2.1.2需求分析

在当今快节奏且充满压力的社会环境下,人们对心理健康的关注与日俱增,开发一款专业、智能的心理情感分析与干预系统显得尤为必要。该系统需求源于大众在日常情绪管理、心理问题疏导等方面的切实困扰,以及专业心理工作者对高效辅助工具的强烈渴望。

从用户需求角度来看,普通用户期望能便捷、准确地了解自身情绪状态,获得贴合实际的心理调节建议。比如职场人士,长期面临高强度工作压力,渴望通过系统及时察觉自身焦虑、疲惫等情绪,并得到如合理安排休息时间、学习放松技巧等针对性建议;青少年群体在成长阶段面临学业压力、人际关系等问题,他们希望系统能以生动有趣的方式(如动画、故事)帮助识别情绪问题,并提供符合其认知水平的解决办法,像如何与父母、同学有效沟通等。而心理咨询师等专业人员,则需要系统能快速、精准地对来访者进行初步评估,辅助制定个性化干预方案,还能整合案例数据,助力专业研究与经验总结。

从功能需求层面分析,系统需具备强大的多模态情感识别功能,不仅要能精准解析文本中的复杂语义,像识别反讽、隐喻等特殊表达背后的真实情绪,还要能基于图像分析人物的表情、肢体语言所传达的情感。在提供心理指导方面,要依据专业心理学理论,结合用户个体情况,生成科学、有效的建议。例如,对于有抑郁倾向的用户,系统给出的建议应涵盖心理咨询推荐、日常活动规划、自我调节技巧等多方面内容。同时,系统要支持多样化交互方式,包括但不限于文字输入、语音对话,以满足不同场景下用户的使用需求。此外,数据管理与安全功能不可或缺,要妥善存储用户信息与情感识别记录,严格保障数据安全与隐私,防止信息泄露。

2.4.1数据来源

本系统主要在FER2013、JAFFE和CK+三个表情识别数据集上进行模型评估与训练。

FER2013数据集广泛应用于表情识别研究,用于训练和测试模型的泛化能力。数据集是来源于2013年机器学习竞赛ICML2013FER,总共包含35,887张表情图像。该数据集是在2013年的EmotionRecognitionintheWild(FER)Challenge中收集的,包含了48x48的灰度图人脸图像共35887张,其中训练集28708张。

JAFFE包含半身图,因此在使用时需要先进行人脸检测,以提取有效的面部区域用于表情识别。该数据集由日本九州大学的MichaelLyons、MiyukiKamachi和JiroGyoba规划和组装。该数据库由10位日本女性在实验环境下根据指示做出各种表情,再由照相机拍摄获取的人脸表情图像。整个数据库一共有213张图像,10个人,全部都是女性,每个人做出7种表情。

CK+数据集较为准确标准,用于验证模型的精度。该数据集的全称是ExtendedCohn-Kanadedataset,是一个包含593个视频序列的数据集。视频来自123个不同的受试者,年龄从18岁到50岁不等,有不同的性别和血统。CK+是计算机视觉领域一个广泛使用的人脸表情识别数据集,它是由Cohn-Kanade数据集扩展而来,包含了大量的面部表情。

数据集文件夹图

部分数据集图

2.4.2数据处理

本系统创建了一个完整的面部表情识别预处理工具集,对原始数据进行处理。首先从FER2013(CSV格式)、JAFFE(图像文件)等数据集中加载原始数据,并将其转换为统一的48×48像素灰度图像。对于FER2013,解析CSV中的像素数据并reshape成图像;对于JAFFE,直接读取图像并转为灰度格式。这一步骤确保不同来源的数据具有相同的输入规格,便于后续模型训练。

使用OpenCV的Haar级联分类器检测人脸区域,并裁剪出有效部分如去除背景干扰。JAFFE数据集额外进行了边界调整(如y1+20:y2,x1+10:x2-10),确保表情区域居中。所有图像最终调整为48×48尺寸,并进行归一化,以适应CNN模型的输入要求。

处理后的图像按表情类别分类存储如anger、happy等文件夹,便于后续训练时的数据加载。此外,代码支持生成多版本增强数据如局部裁剪、水平翻转等,以提升模型鲁棒性。最终,标准化的数据集保存在本地,避免重复预处理。

2.6.1模型搭建

系统采用CNN3模型,其核心设计如下:

输入层:接收48×48×1的单通道灰度图像,通过1×1卷积(32通道)压缩维度并增加非线性。

卷积块:每个块包含3×3和5×5混合卷积核,分别捕捉局部细节如眼角纹理和全局表情轮廓如嘴角弧度。使用PReLU激活函数替代ReLU,缓解负区间神经元失活问题,提升特征表达能力;最大池化层(步长2)逐步降低空间维度,提取高层语义特征。

全连接层:通过2048→1024节点的两层网络进一步抽象特征,搭配Dropout(0.5)抑制过拟合,最终通过Softmax输出8类表情概率分布。

模型优势:参数量少,计算效率高,适合实时推理场景。

卷积神经网络(CNN)结构表

层名称

核数目

核尺寸

步长

填充

丢弃

特征图尺寸

input

0

0×0

None

None

0

(48,48,1)

conv1-1

32

1×1

1

0

0

(48,48,32)

conv2-1

64

3×3

1

1

0

(48,48,64)

conv2-2

64

5×5

1

2

0

(48,48,64)

pool2

0

2×2

2

0

0

(24,24,64)

conv3-1

64

3×3

1

1

0

(24,24,64)

conv3-2

64

5×5

1

2

0

(24,24,64)

pool3

0

2×2

2

0

0

(12,12,64)

fc1

None

None

None

0

50%

(1,1,2048)

fc2

None

None

None

0

50%

(1,1,1024)

output

None

None

None

0

0

(1,1,8)

2.6.2模型训练

本系统的图像情感预测基于轻量化卷积神经网络(CNN3模型)与计算机视觉技术实现,通过BlazeFace人脸检测算法定位输入图像中的人脸区域,裁剪并灰度化处理后,利用数据增强策略生成多视角人脸样本。随后将样本输入预训练的CNN3模型,模型通过多层卷积提取面部局部细节与全局轮廓,经全连接层输出7类表情的概率分布,最终通过加权平均策略确定主导情绪如“高兴”“悲伤”。该技术方案结合轻量化模型与多尺度特征分析,在保证实时性单图推理约20ms的同时,对复杂光照和姿态变化具有较强鲁棒性,适用于实时情感识别场景。具体训练过程如下:

数据准备阶段。系统从Fer2013、JAFFE或CK+数据集中加载面部表情图像数据,将原始图像转换为48×48像素的灰度图并进行归一化处理。对于Fer2013数据集,系统自动划分训练集(28,709张)、验证集(3,589张)和测试集(3,589张);而JAFFE和CK+数据集则通过80/20比例随机划分训练验证集。标签数据通过to_categorical转换为one-hot编码,并统一扩展为8维向量以兼容不同数据集的标准输出格式。

数据增强与模型构建。采用ImageDataGenerator进行实时数据增强,包含随机旋转(±10°)、平移(±5%)、水平翻转、剪切(0.2范围)和缩放(0.2范围)等操作,有效提升模型泛化能力。同步构建CNN3卷积神经网络,该模型包含3个卷积块(每块含PReLU激活的3×3和5×5卷积层)、2×2最大池化层,以及全连接层(2048→1024→8个输出单元),使用SGD优化器(初始学习率0.01,动量0.9)和分类交叉熵损失函数。

模型训练与调优。通过ModelCheckpoint回调自动保存验证准确率最高的模型权重(保存为cnn3_best_weights.h5),设置批量大小为32进行200个epoch的训练。训练过程中,对Fer2013数据集采用阶梯式学习率策略,也就是当验证损失停滞时自动降低学习率。JAFFE数据集则使用更小的初始学习率0.0001和Adam优化器。每个epoch结束时在验证集上评估性能,防止过拟合。

在训练结束后,使用ModelCheckpoint回调函数保存在验证集上表现最佳的模型权重,以便后续使用或进一步分析。

4.2首页

首页的图像情感识别和文本情感识别功能,为用户提供了多维度的情感分析途径。图像情感识别支持用户上传图片或使用摄像头拍照,系统自动识别图像中的情感,这对于捕捉视觉信息中的情感线索非常有用,比如分析社交媒体上的图片所传达的情绪。文本情感识别则允许用户输入文本内容,系统分析其中蕴含的情感,并提供相应的心理干预建议,有助于理解文字背后的情感状态,如分析用户的文字反馈或社交媒体帖子中的情感倾向。这两种识别方式结合,能够更全面地了解用户的情感状况,为后续的心理状态干预提供精准的依据,从而提升心理干预的效果和针对性。

4.3图像情感识别

图像情感识别界面允许用户通过上传本地图片或使用摄像头拍照的方式,将图像输入系统。系统会对图像中的情感元素进行自动识别,判断出对应的情绪类别,如愤怒、悲伤、快乐等。在获取情绪类别后,用户可以点击“获取心理指导”按钮,系统将根据识别出的情绪类别,提供相应的心理指导建议。这些建议旨在帮助用户更好地理解和管理自己的情绪,促进心理健康。

系统采用了深度学习技术卷积神经网络(CNN)来识别图像中的人脸表情,系统调用预训练CNN模型进行表情识别任务,能够从人脸图像中提取特征并预测相应的情感类别。人脸检测则采用了BlazeFace技术,这是一种基于深度学习的人脸检测算法,能够高效准确地在图像中定位人脸区域。此外,系统还提供了使用OpenCV的Haar级联分类器作为人脸检测的备选方案,这是一种传统的机器学习方法,通过检测图像中的特定特征来进行人脸识别。下面是图像情感识别的详细步骤:

人脸检测:首先,使用blaze_detect函数或Haar级联级联分类器来定位图像中的人脸区域。这一步是后续步骤的基础,因为只有准确地检测到人脸,才能对其表情进行分析。

图像预处理:检测到的人脸图像会经过灰度化和尺寸调整,以符合模型输入的要求。generate_faces函数进一步对这些图像进行数据增强,如裁剪和翻转,以增加模型的泛化能力。

表情预测:预处理后的人脸图像被送入一个预训练好的CNN模型,该模型能够识别图像中的表情。predict_expression函数负责调用模型并处理预测结果。

结果展示:识别出的表情会以文本形式添加到原始图像上,并通过cv2_img_add_text函数在图像上绘制边界框和表情标签,使得结果直观易懂。

模型加载与执行:detect_expression函数负责加载预训练的模型权重,并执行预测函数,最终返回识别出的表情类别。

4.4文本情感识别

文本情感识别功能允许用户输入文本内容,系统会对文本进行分析,识别其中蕴含的情感,如高兴、生气、悲伤等。在识别情感后,系统会提供相应的心理指导建议,这些建议基于专业的心理学知识,旨在帮助用户更好地理解和管理自己的情绪,促进心理健康。该功能为用户提供了一种便捷的情感分析与心理支持途径,有助于用户及时调整心态,应对生活中的各种情绪挑战。

文本情感模型分享的原理在于综合运用基于关键词的情感分析方法和SnowNLP情感分析工具,首先对输入文本进行清洗,仅保留中文和标点,接着若SnowNLP可用,则使用其进行情感分析得出初步情感分数与类别,同时采用改进的基于关键词的方法,利用分词、否定词处理以及情感词权重来计算不同情感得分,最后根据文本长度对两种方法的结果进行加权融合,从而得出最终的情感类别和概率分布,以此实现对文本情感的全面分析。具体步骤如下:

数据清洗与预处理:首先对输入的文本进行清洗,去除无关字符,只保留中文和必要的标点符号,为后续分析做准备。

SnowNLP情感分析。安装SnowNLP库使用它进行初步的情感分析,SnowNLP会根据文本内容给出一个介于0到1之间的情感分数,0表示负面情绪,1表示正面情绪。根据这个分数,系统会初步判断文本的情感倾向,并给出对应的情感类别和概率分布。

改进的关键词情感分析。同时,系统会使用一种改进的基于关键词的情感分析方法。这种方法首先对文本进行分词,然后检查每个词是否在预设的情感关键词库中。根据找到的情感词及其权重,系统会计算每种情感的得分。此外,系统还会考虑否定词的影响,对情感得分进行相应调整。

结果融合。接下来,系统会将SnowNLP的分析结果和关键词分析结果进行融合。融合的方式是根据文本的长度来调整两种方法的权重,短文本更依赖关键词分析,长文本则更平衡地考虑两种方法。通过加权平均,系统会得到一个综合的情感概率分布。

确定最终情感类别。根据融合后的情感概率分布,系统会选择概率最高的情感类别作为最终的分析结果。

显示分析结果。在前端界面上,系统会将情感分析的结果以直观的方式展示给用户,包括情感类别、对应的图标以及心理指导建议等。用户还可以查看历史记录,追踪自己的情感变化。

最后,调用混元大模型和DeepSeek大模型进行心理指导的原理是:系统基于情感分析结果(如“happy”“sad”等类别)和原始输入内容(文本或图像特征),构造包含情绪类型、内容细节及社会文化等约束条件的提示词,分别发送至两个大模型的API接口。混元大模型通过中文语境优化的深度学习架构,结合心理学知识库生成符合本土文化的建议(如“愤怒时可尝试正念呼吸法”);DeepSeek模型则依托多语言情感分析能力,提供国际化视角的干预方案(如“恐惧时可通过渐进式肌肉放松缓解焦虑”)。两者结果经去重和结构化处理后,以分栏形式返回前端,为用户提供多角度、专业化的心理调节策略,同时通过缓存机制存储分析结果,避免重复调用以提升效率。

4.5历史记录

历史记录功能主要用于存储和管理系统识别出的情感信息。它详细记录了每次情感识别的ID、时间、来源文本或图像、情感类别以及对应的操作选项。通过这一功能,用户可以方便地查看过往的情感识别记录,了解自己在不同时间点的情感状态变化。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询