基于深度学习的情感识别与交互方法及系统与流程

文档序号:17290877发布日期:2019-04-03 03:57阅读:213来源:国知局
基于深度学习的情感识别与交互方法及系统与流程

本发明涉及一种人工智能(ai)技术,具体涉及一种基于深度学习的情感识别与交互方法。本发明还涉及一种基于深度学习的情感识别与交互系统。



背景技术:

随着社会的发展,中国逐步进入老龄化社会,老年人口占总人口的比例越来越高。同时,受政策影响,现阶段的老年人普遍存在少子化的问题,很多老年人的身边都没有子女陪伴。另一方面,随着经济的快速发展,年轻父母的工作压力很大,长年工作忙碌导致小孩幼年时期缺少陪伴的情况越来越多。

随着人工智能技术的发展,人们希望用机器人来常伴老人或小孩的左右。但是,现有的聊天机器人只是对话式机器人,只能实现剧本式聊天,无法根据用户的情感作出准确的回应,对于老人或小孩来说仍然是冷冰冰的机器,无法起到知心陪伴的作用。



技术实现要素:

本发明所要解决的技术问题是提供一种基于深度学习的情感识别与交互方法,它可以准确地识别出用户的情感并作出相应的反馈。

为解决上述技术问题,本发明基于深度学习的情感识别与交互方法的技术解决方案为,包括以下步骤:

训练集建立步骤:将人脸表情进行分类;搜集人脸图片,将每张图片根据不同表情类别放入不同的文件夹内,从而建立训练集;

模型训练步骤:搭建神经网络,采用训练集对神经网络进行训练,得到经过深度学习的神经网络模型;

在另一实施例中,所述神经网络包括卷积层、池化层、全连接层、softmax表情种类分类层。

在另一实施例中,所述神经网络包括:

第一卷积层,用于提取输入图片的特征;激活函数设置为relu函数;第一卷积层的输出结果进入到第一池化层;

第一池化层,采用最大池化方式从第一卷积层的输出结果中继续提取人脸特征;第一池化层的输出结果进入到第二卷积层;

第二卷积层,用于从第一池化层的输出结果中提取特征,激活函数设置为relu函数;

第二池化层,以第二卷积层的输出结果作为本层的输入,继续提取人脸特征;

第一全连接层,将第二池化层的结果作为输入,对提取到的人脸特征进行浓缩,得到较大的特征向量;

第二全连接层,将第一全连接层的结果作为输入,对人脸特征再次进行高度浓缩,得到较小的特征向量;

softmax表情种类分类层,以第二全连接层的输出结果作为输入,通过卷积操作,得到各种表情分类结果的置信度,即各种表情类别的可能性指数;全部表情类别的可能性指数加起来为100%。

在另一实施例中,所述模型训练步骤中对神经网络的训练方法如下:

将所搜集的人脸图片输入神经网络;

采用python语言,tensorflow深度学习框架,以及opencv库;

每次从训练集中获取若干张图片输入神经网络,经过一层层卷积池化操作正向传播,得到某个分类结果,该分类结果为预测值;

将该分类结果输入误差函数,与期望值比较得到误差,通过误差判断识别程度;

再通过反向传播来确定梯度向量;

最后通过梯度向量来调整每一个权值,向预测值使误差逐渐趋于0或收敛的趋势调节;

重复上述过程直到达到最大迭代次数为止。

数据采集步骤:包括采集表情信息步骤和采集语言信息步骤;

所述采集表情信息步骤:获取用户的当前表情信号;将当前表情信号输入所述神经网络模型,神经网络模型提取当前表情信号的图片特征,并输出各种表情类别的可能性指数;将可能性指数最大值所对应的表情类别作为表情识别的识别结果;

所述采集语言信息步骤:获取用户的当前语音信号,提取当前语音信号的文本特征作为语音识别的识别结果;

在另一实施例中,所述采集语言信息步骤包括:调用python自带的pyauido库采集语音信息,录制音频,并保存为wav语音文件;设置如果连续n秒内未采集到语音信息,则认为这句话说完,结束录制,其中n≥2;利用百度语音的api接口将保存的语音转化为文本信息。

情感识别步骤:将表情识别的识别结果和语音识别的识别结果结合起来,得到用户当前带有感情色彩的表达内容,即为用户当前的情感识别结果;

交互步骤:将用户当前的情感识别结果输入智能问答模块,智能问答模块根据用户当前的情感表达内容,输出相对应的答复语句。

本发明还提供一种基于深度学习的情感识别与交互系统,其技术解决方案为,包括:

训练集建立模块:被配置为建立训练集;训练集中包含多张根据不同表情类别进行分类的人脸图片;

模型训练模块:被配置为采用训练集对所搭建的神经网络进行训练,得到经过深度学习的神经网络模型;该神经网络模型能够实时地判断出人脸的表情,并且输出各种表情类别的可能性指数;

数据采集模块:包括表情信息采集单元和语言信息采集单元;

表情信息采集单元:被配置为获取用户的当前表情信号;将当前表情信号输入所述神经网络模型,提取当前表情信号的图片特征,并输出当前最可能的表情识别结果;

语言信息采集单元:被配置为获取用户的当前语音信号,提取语音特征,进行语音识别,并输出当前语音信号的识别结果;

情感识别模块:被配置为根据表情识别结果和语音信号的识别结果,综合得出用户当前的情感表达内容;

智能问答模块:被配置为存储各种情况、场景下的答复语句;

交互模块:被配置为将用户当前的情感表达内容输入智能问答模块,智能问答模块根据用户当前的情感表达内容,输出相对应的答复语句。

本发明可以达到的技术效果是:

本发明将语音识别与表情识别巧妙地结合在一起,根据语音和表情综合判断出用户的情感,从而判断出用户当下的真实想法最可能是什么,并给出最为合适的答复。本发明解决了目前由于语音识别技术的限制,仅从语音信息难以准确判断用户心情的技术问题。

本发明应用于机器人,能够在与用户交流的同时,采集用户在说话过程中的表情,从而准确地识别出用户的情感并作出相应的反馈。

本发明采用深度学习算法,能够识别出人脸的多种表情指数,从而准确判断出用户当下最可能的心情。

附图说明

本领域的技术人员应理解,以下说明仅是示意性地说明本发明的原理,所述原理可按多种方式应用,以实现许多不同的可替代实施方式。这些说明仅用于示出本发明的教导内容的一般原理,不意味着限制在此所公开的发明构思。

结合在本说明书中并构成本说明书的一部分的附图示出了本发明的实施方式,并且与上文的总体说明和下列附图的详细说明一起用于解释本发明的原理。

下面结合附图和具体实施方式对本发明作进一步详细的说明:

图1是本发明基于深度学习的情感识别与交互方法的流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。除非另外定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本文中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。

如图1所示,本发明基于深度学习的情感识别与交互方法,包括以下步骤:

1、训练集建立步骤;

将人脸表情进行分类,如生气、嫌弃、害怕、高兴、悲伤、惊讶、心如止水;搜集大量人脸的图片,包括国内外的各个年龄段的人群;将每张图片根据不同表情类别放入不同的文件夹内,从而建立训练集;

2、模型训练步骤;

搭建神经网络,采用训练集对神经网络进行训练,得到经过深度学习的神经网络模型;

本发明所搭建的神经网络包括卷积层、池化层、全连接层、softmax表情种类分类层;各层的层数以及所形成的网络结构可以根据需要进行调整;

作为本发明的实施例,神经网络架构可以包括:

第一卷积层,用于提取输入图片的特征;激活函数设置为relu函数;因为relu能够使一部分神经元的输出为0,这样能够造成了网络的稀疏性,并且减少了参数的相互依存关系,因而能够缓解过拟合问题的发生,而sigmoid函数反向传播时,很容易就会出现梯度消失的情况;第一卷积层的输出结果进入到第一池化层;

第一池化层,采用最大池化方式从第一卷积层的输出结果中继续提取人脸特征,第一池化层的输出结果进入到第二卷积层;

第二卷积层,用于从第一池化层的输出结果中提取特征,激活函数设置为relu函数;

第二池化层,以第二卷积层的输出结果作为本层的输入,继续提取人脸特征;

第一全连接层,将第二池化层的结果作为输入,对提取到的人脸特征进行浓缩,得到较大的特征向量;

第二全连接层,将第一全连接层的结果作为输入,对人脸特征再次进行高度浓缩,得到较小的特征向量;

softmax表情种类分类层,以第二全连接层的输出结果作为输入,通过卷积操作,得到七种表情分类结果的置信度,即七种表情类别的可能性指数;例如此人此时心情为“高兴”的指数为73%,“惊讶”的指数为5%,“心如止水”的指数为22%,七种表情指数加起来为100%。

本发明对神经网络的训练方法如下:

将所搜集的人脸图片经过reshape变成48*48*1的灰度图输入神经网络;总共有约3万多张图片,训练集选定30000张,设置batchsize=32,最大迭代次数10000次,此处最大迭代次数可以根据需要增加;

采用python语言,tensorflow深度学习框架,以及opencv库;

每次从训练集中获取32张图片输入神经网络,经过一层层卷积池化操作正向传播,得到某个分类结果,该分类结果为预测值;卷积池化操作为现有技术,在此不做赘述;

将该分类结果(预测值)输入误差函数(正则化惩罚,防止过拟合),与期望值(真实值)比较得到误差,通过误差判断识别程度(损失值越小越好);

再通过反向传播(反向求导,最终目的是使误差最小)来确定梯度向量;

最后通过梯度向量来调整每一个权值,向预测值使误差逐渐趋于0或收敛的趋势调节;

重复上述过程直到达到最大迭代次数为止。

得到经过深度学习的神经网络模型,之后再向该神经网络模型输入待检测图片,神经网络模型就能够根据图片判断出人脸是哪种表情,并且输出各种表情的可能性指数,比如此人此时心情为“高兴”的指数为73%,“惊讶”的指数为5%,“心如止水”的指数为22%,选取可能性指数最大值所对应的表情类别作为表情识别的识别结果。

3、数据采集步骤;

采集表情信息;通过摄像头拍摄用户当前的表情图片,以获取用户的当前表情信号;将当前表情信号输入神经网络模型,提取当前表情信号的图片特征,并输出各种表情的可能性指数;其中可能性指数最大值所对应的表情类别作为表情识别的识别结果,记为str1;

采集语言信息;获取用户的当前语音信号,提取当前语音信号的文本特征作为语音识别的识别结果;

具体步骤包括:调用python自带的pyauido库采集语音信息,录制音频,并保存为wav语音文件;设置如果连续2秒内未采集到语音信息,则认为这句话说完,结束录制,其中2秒这个值可以自己根据情况改变;利用百度语音的api接口将保存的语音转化为文本信息,语音识别的识别结果记为str2。

4、情感识别步骤:将表情识别的识别结果和语音识别的识别结果结合起来,得到用户当前带有感情色彩的表达内容,即为用户当前的情感识别结果;

具体步骤包括:将表情识别的识别结果str1和语音识别的识别结果str2结合起来得到str,则str为用户当前的情感表达内容;

比如:通过表情识别此人此时心情为“高兴”的指数为73%,“惊讶”的指数为5%,“心如止水”的指数为22%,高兴指数最大,判断用户此时是高兴的;用户说的话是“我讨厌你”,得出用户此时实际想表达的内容是“高兴地说我讨厌你”;则str1=高兴,str2=“我讨厌你”,最后传输给智能问答模块的输入可以是str=str1+str2=“高兴,我讨厌你”,此处str1可以根据需要进行一系列修改,增加一些修饰词等,比如改成str=“我高兴地说我讨厌你”等,以数学中的函数形式类比过来可以写成以下公式:str=f(str1)+str2。

5、交互步骤:将用户当前的情感识别结果输入智能问答模块,智能问答模块根据用户当前的情感表达内容,输出相对应的答复语句;

具体步骤包括:当智能问答模块接收到str文本后,分别提取其中str1和str2的内容,再根据str1及str2共同选出相对应的答复语句result;

智能问答模块,可以是数据库,用于存储各种情况下的答复语句;比如有针对“悲伤”时说的“你不爱我了”的答复1,有针对“生气”时说的“你不爱我了”的答复2,还有针对“心如止水”时说的“你不爱我了”的答复3,等等。

如果没有表情识别,仅通过语音识别结果“我讨厌你”得到的回复可能会很僵硬,甚至产生误解。而采用本发明,则可以设置成根据“张三高兴地说我讨厌你”得到回复,这两种情况下的回复是不一样的。另外,可以根据需要设计智能问答、语料库对接等模块,这样可以使答复更加灵活。比如说可以设置幽默地回复“看你的样子就知道你是在骗我”等等而不是仅仅回复一句“对不起”。试想一下,普通对话式的机器人仅仅根据声音进行识别,获取的是不带感情色彩的文本信息,没有情感,不可能知道此时用户的真实表情和想法,所以可能会造成僵硬的回答。一句简单的“我讨厌你”可能是用户用开心的口吻说的,也可能是生气地说的,还可能是心如止水地说的,而普通的对话式机器人仅仅知道用户说了一句“我讨厌你”,却压根区分不出来真实的表达含义,无法获取用户的情感,造成用户体验度很低,无法知心陪伴用户。

本发明基于深度学习的情感识别与交互系统,包括:

训练集建立模块:被配置为建立训练集;

模型训练模块:被配置为采用训练集对所搭建的神经网络进行训练,得到经过深度学习的神经网络模型;该神经网络模型能够实时地判断出人脸的表情,并且输出各种表情的可能性指数;

数据采集模块:包括表情信息采集单元和语言信息采集单元;

表情信息采集单元:被配置为获取用户的当前表情信号;将当前表情信号输入神经网络模型,提取当前表情信号的图片特征,并输出当前最可能的表情识别结果;

语言信息采集单元:被配置为获取用户的当前语音信号,提取语音特征,进行语音识别,并输出当前语音信号的识别结果;

情感识别模块:被配置为根据表情识别结果和语音信号的识别结果,综合得出用户当前的情感表达内容;

智能问答模块:被配置为存储各种情况、场景下的答复语句;

交互模块:被配置为将用户当前的情感表达内容输入智能问答模块,智能问答模块根据用户当前的情感表达内容,输出相对应的答复语句。

本发明可应用于家庭陪伴聊天机器人,能够通过“看(表情识别)+听(语音识别)+说(交互)”的方式与用户进行情感交流,使机器人从玩具演变为能够识别用户情感的玩伴。

显然,本领域的技术人员可以对本发明进行各种改动和变形,而不脱离本发明的精神和范围。这样,倘若本发明的这些修改属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变形在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1