一种基于表情识别的情绪识别方法和装置与流程

文档序号:15493029发布日期:2018-09-21 21:01阅读:1243来源:国知局
本发明涉及图像识别处理
技术领域
,尤其是一种基于表情识别的情绪识别方法和装置。
背景技术
:情绪识别是指研究一个自动、高效、准确的系统来识别人脸表情的状态,进而通过人脸表情信息了解人的情绪状态,比如高兴、悲伤、惊讶、愤怒等。该研究在人机交互、人工智能等方面有着重要的应用价值,是当前计算机视觉、模式识别、情感计算等领域的重要研究课题。在需要进行人机交互的
技术领域
,尤其是机器人技术上,通常需要能够对人的情感进行分析,以进行有效的人机交互,为用户的交互体验带来感官上的改善,但现有的人机交互技术缺乏有效的情感分析手段,因此现有人机交互技术亟待一种能够有效识别人的情绪的技术手段。而现有的人脸识别和表情识别技术能够从一幅图像中提取出人脸部分并识别出人脸的表情,将人脸的表情类型作为结果进行输出,但其作为一种算法,其应用远远滞后于研究,并没有在人机情感交互过程中表现其应有的应用价值。技术实现要素:为了解决上述技术问题,本发明的第一目的在于提供一种基于表情识别的情绪识别方法,第二目的在于提供一种基于表情识别的情绪识别装置。本发明所采取的第一技术方案是:一种基于表情识别的情绪识别方法,包括以下步骤:s1.采集被识别人的图像并记录采集时间,使用人脸识别算法对被识别人的图像进行处理,从而输出人脸识别结果;s2.将人脸识别结果输入到经过预先训练的深度神经网络进行处理,从而得到表情识别结果,所述表情识别结果包括表情类型;s3.将表情识别结果和对应的采集时间作为表情数据,依序记录到表情数据库中;s4.从表情数据库中获取多个表情数据,根据所述多个表情数据进行分析,从而得到对被识别人的情绪识别结果。进一步地,通过以下步骤对所述深度神经网络进行预先训练:利用imagenet数据集对深度神经网络进行预训练;利用改进fer-2013数据集对深度神经网络进行微调,所述改进fer-2013数据集为在fer-2013数据集基础上增加从互联网上爬取得到的人脸图像所扩展形成的数据集。进一步地,所述从互联网上爬取得到的人脸图像为含有眼镜的人脸图像。进一步地,所述人脸识别结果为视频流,所述步骤s2具体包括:s201.将人脸识别结果在时刻ti以及时刻ti之前的时刻ti-1、ti-2和ti-3分别对应的帧输入到经过预先训练的深度神经网络进行处理,从而输出时刻ti、ti-1、ti-2和ti-3分别对应的待定表情识别结果,其中i为时刻的序号;s202.利用加权求和判断方法,对所述各待定表情识别结果进行加权求和,从而得到加权求和结果,根据加权求和结果,得到时刻ti的表情识别结果。进一步地,所述加权求和判断方法具体包括:将所述各个待定表情识别结果记为其中,i为对应时刻的序号;利用下式计算平均化结果:其中,x为表情类型记号,i为对应时刻的序号,k为求和序号,为加权求和结果;如果则以时刻ti对应的待定表情识别结果作为所需求得的时刻ti的表情识别结果,反之,以先前求得的时刻ti-1的表情识别结果作为所需求得的时刻ti的表情识别结果。进一步地,所述步骤s4具体包括:s401a.从表情数据库中获取在同一时间段内连续采集的多个表情数据;s402a.判断所述多个表情数据是否均对应同一表情类型,若是,则以所述表情类型作为情绪识别结果。进一步地,所述表情类型包括高兴、悲伤、愤怒、惊讶和中性,所述步骤s4之后还包括以下步骤:s5a.若情绪识别结果为悲伤,则发出用于安抚被识别人心情的信息,并询问被识别人是否请求播放舒缓的音乐;s6a.若情绪识别结果为愤怒,则发出用于提示被识别人平复心情的信息,并询问被识别人是否请求播放轻音乐;s7a.获取被识别人的请求,并根据所述请求播放相应的音乐。进一步地,所述步骤s4具体包括:s401b.从表情数据库中获取在同一时间段内连续采集的多个表情数据;s402b.在预先设定的表情分数表中查找各表情数据对应的分数,以所述表情数据在所述时间段内的被采集次数和对应的分数为权重求和,从而得到情绪分值;s403b.在预先设定的情绪分数表中查找情绪分值对应的情绪等级,并将情绪等级作为情绪识别结果。进一步地,所述情绪等级包括良好、一般和较差,所述步骤s4之后还包括以下步骤:s5b.若情绪识别结果为良好,则发出用于赞美被识别人的信息;s6b.若情绪识别结果为一般,则发出用于鼓励被识别人的信息;s7b.若情绪识别结果为较差,则发出用于关怀被识别人的信息。本发明所采取的第二技术方案是:一种基于表情识别的情绪识别装置,包括:存储器,用于存储至少一个程序;处理器,用于加载所述至少一个程序以执行第一技术方案所述一种基于表情识别的情绪识别方法。本发明的有益效果是:本发明将表情识别技术应用到情绪识别中,可以应用在机器人等自动化领域,使得机器人能够高效地感知和分析人的情绪和情感,机器人与人之间能够以更加高效的方式进行人机交互,提升感官上的交互体验。附图说明图1为本发明方法流程图。具体实施方式实施例1本实施例中,一种基于表情识别的情绪识别方法,如图1所示,包括以下步骤:s1.采集被识别人的图像并记录采集时间,使用人脸识别算法对被识别人的图像进行处理,从而输出人脸识别结果;s2.将人脸识别结果输入到经过预先训练的深度神经网络进行处理,从而得到表情识别结果,所述表情识别结果包括表情类型;s3.将表情识别结果和对应的采集时间作为表情数据,依序记录到表情数据库中;s4.从表情数据库中获取多个表情数据,根据所述多个表情数据进行分析,从而得到对被识别人的情绪识别结果。在步骤s1中,可以使用摄像头以拍摄单张照片或者拍摄视频的方式来采集被识别人的图像。人脸识别算法可以是dlib等算法,其可以将被识别人的图像中的脸部部分识别并提取出来,其既可以对单张照片也可以对视频流进行识别。在步骤s2中,深度神经网络可以使用vgg-net16,其经过预先训练后具有表情识别能力,能够识别出人脸识别结果中的人脸表情,并将对应的表情类型作为表情识别结果输出。深度神经网络能够识别出的表情类型包括高兴、悲伤、惊讶、愤怒和中性等,可以由深度神经网络的训练方式决定。深度神经网络尤其是卷积神经网络能够提取出图像的深层次特征,能够精确地输出表情识别结果。在步骤s3中,表情数据库以时间轴的形式记录表情数据,即将表情识别结果和采集时间对应存储起来。建立表情数据库,使得在步骤s4中可以综合多个表情数据来进行分析,使得对被识别人的情绪识别结果更加精确。本发明情绪识别方法将表情识别技术应用到情绪识别中,可以应用在机器人等自动化领域,使得机器人能够高效地感知和分析人的情绪和情感,机器人与人之间能够以更加高效的方式进行人机交互,提升感官上的交互体验。进一步作为优选的实施方式,通过以下步骤对所述深度神经网络进行预先训练:利用imagenet数据集对深度神经网络进行预训练;利用改进fer-2013数据集对深度神经网络进行微调,所述改进fer-2013数据集为在fer-2013数据集基础上增加从互联网上爬取得到的人脸图像所扩展形成的数据集。进一步作为优选的实施方式,所述从互联网上爬取得到的人脸图像为含有眼镜的人脸图像。为了使深度神经网络更适用于本发明方法,可以使用vgg-net16作为深度神经网络,先用imagenet数据集对vgg-net16进行预训练(pre-training),然后再用改进fer-2013数据集对深度神经网络进行微调(fine-tune)。训练过程中,可以优选使用以下参数:批量为64,学习率为0.01,迭代40000步结果趋于稳定。为了使深度神经网络更适用于本发明方法,在对深度神经网络的训练过程中,使用了改进fer-2013数据集代替传统的fer-2013数据集。传统的fer-2013数据集所含的数据较少,尤其缺少内容为戴眼镜的人脸图像,这将影响训练出来的深度神经网络的适用性。为了扩展fer-2013数据集,可以从互联网上爬取新的人脸图像,尤其是戴眼镜的人脸图像,并将其加入到fer-2013数据集中得到改进fer-2013数据集。在用改进fer-2013数据集对深度神经网络进行训练前还可以对改进fer-2013数据集中的人脸图像进行预处理,包括对图像进行翻转、旋转、扩充、灰度变换、尺寸调节和图像校准,还可以将图像减去均值,例如减去(104.,117.,124.),以进行归一化处理,再通过dlib进行人脸检测和人脸分割,再进行灰度化,将图像尺寸调整为96*96。进一步作为优选的实施方式,所述人脸识别结果为视频流,所述步骤s2具体包括:s201.将人脸识别结果在时刻ti以及时刻ti之前的时刻ti-1、ti-2和ti-3分别对应的帧输入到经过预先训练的深度神经网络进行处理,从而输出时刻ti、ti-1、ti-2和ti-3分别对应的待定表情识别结果,其中i为时刻的序号;s202.利用加权求和判断方法,对所述各待定表情识别结果进行加权求和,从而得到加权求和结果,根据加权求和结果,得到时刻ti的表情识别结果。如果步骤s1中人脸识别算法对视频流进行识别,那么其输出的人脸识别结果也将是视频流形式,也将是包含连续多帧的画面。由于在对被识别人的图像采集过程中,容易因被识别人运动或者成像不清晰等造成图像模糊,如果仅针对视频画面的其中一帧进行单独识别,容易造成识别不正确。为了提高针对视频画面的表情识别的正确率,可以综合考虑对连续多帧画面的识别结果,来确定对其中某一帧画面的识别结果。在执行步骤s201之前,已经获得并确定了时刻ti-1的帧的手势识别结果。步骤s201中,为了对时刻ti的帧进行表情识别,可以连续采集时刻ti之前的时刻ti-1、ti-2和ti-3分别对应的帧。然后将这4个帧输入到深度神经网络中进行识别,输出4个待定表情识别结果。使用加权求和判断方法,对这4个待定表情识别结果赋予权重,并根据根据加权求和结果来确定时刻ti的表情识别结果。进一步作为优选的实施方式,所述加权求和判断方法具体包括:将所述各个待定表情识别结果记为其中,i为对应时刻的序号;利用下式计算平均化结果:其中,x为表情类型记号,i为对应时刻的序号,k为求和序号,为加权求和结果;如果则以时刻ti对应的待定表情识别结果作为所需求得的时刻ti的表情识别结果,反之,以先前求得的时刻ti-1的表情识别结果作为所需求得的时刻ti的表情识别结果。表情类型x可以是高兴、悲伤、惊讶、愤怒和中性等。并根据加权求和结果的值,来确定以本次识别过程中所识别出来的时刻ti对应的待定表情识别结果,或者以上次识别过程中所识别出来的时刻ti-1的表情识别结果作为所需求得的时刻ti的表情识别结果。为了进行步骤s4以根据表情数据分析得到情绪识别结果,本实施例提供了两种具体的实现方法。进一步作为优选的实施方式,所述步骤s4具体包括:s401a.从表情数据库中获取在同一时间段内连续采集的多个表情数据;s402a.判断所述多个表情数据是否均对应同一表情类型,若是,则以所述表情类型作为情绪识别结果。步骤s401a和s402a是第一种根据表情数据分析得到情绪识别结果的具体实现方法。首先可以设定一个时间段,例如5s,作为分析情绪的最小时间单位。从表情数据库中获取在5s内连续采集的多个表情数据,例如可以是20180101160000-20180101160005这5s内,也可以是20171231120316-20171231120321这5s内,还可以是实时采集的时刻及之前5s内所采集到的的多个表情数据,分析其是否均对应同一表情类型。如果在5s时间段内对应的多个表情数据均为同一表情类型,例如“高兴”,便可以断定这5s内所对应的情绪识别结果为“高兴”。上述这种实时分析方法能够减少被识别人情绪瞬间变化带来的识别误差,提高情绪识别精确度。进一步作为优选的实施方式,所述表情类型包括高兴、悲伤、愤怒、惊讶和中性,所述步骤s4之后还包括以下步骤:s5a.若情绪识别结果为悲伤,则发出用于安抚被识别人心情的信息,并询问被识别人是否请求播放舒缓的音乐;s6a.若情绪识别结果为愤怒,则发出用于提示被识别人平复心情的信息,并询问被识别人是否请求播放轻音乐;s7a.获取被识别人的请求,并根据所述请求播放相应的音乐。执行第一种根据表情数据分析得到情绪识别结果的具体实现方法后,还可以执行对应的情感交互步骤s5a、s6a和s7a。步骤s5a和s6a判断被识别人的情绪是否为悲伤或者愤怒,然后发出相关信息并询问请求。发出的用于安抚被识别人心情的信息和用于提示被识别人平复心情的信息可以是语音信息或文字信息,本实施例应用在人形机器人上时,还可以是机器人做出的表情,例如用于安抚被识别人心情的信息可以是机器人的微笑表情、用于提示被识别人平复心情的信息可以是机器人的担忧表情。进一步作为优选的实施方式,所述步骤s4具体包括:s401b.从表情数据库中获取在同一时间段内连续采集的多个表情数据;s402b.在预先设定的表情分数表中查找各表情数据对应的分数,以所述表情数据在所述时间段内的被采集次数和对应的分数为权重求和,从而得到情绪分值;s403b.在预先设定的情绪分数表中查找情绪分值对应的情绪等级,并将情绪等级作为情绪识别结果。步骤s401b-s403b是第二种根据表情数据分析得到情绪识别结果的具体实现方法。其时间段可以是一天、一周、一月或一年等。该种方法可以对被识别人在一段较长的时间段内的情绪做综合分析,以得到其在此时间段内的大致情绪水平。情绪分值可以通过下式计算:式中,t为情绪分值,i为表示表情类型的序号,例如可以设定i=0,1,2,3,4分别对应高兴、悲伤、惊讶、愤怒和中性表情;qi为相应表情类型的分数,qi可以通过查询表情分数表得到,一种预先设定的表情分数表如表1所示,例如q1为悲伤表情对应的分数,即30分;ni为相应表情数据在时间段内出现的次数,例如n2为惊讶表情在时间段内被采集到的次数;mk为时间段内对应的所有表情数据的总个数,其等于时间段内所有表情类型被采集到的次数的和,即表1表情类型分数高兴100中性、惊讶60悲伤30愤怒0一种预先设定的情绪分数表如表2所示,计算得到情绪分值t后,便可以根据表2查询对应的情绪等级,即对这一时间段内被识别人的情绪识别结果。表2情绪等级分数良好80-100一般60-80较差0-60进一步作为优选的实施方式,所述情绪等级包括良好、一般和较差,所述步骤s4之后还包括以下步骤:s5b.若情绪识别结果为良好,则发出用于赞美被识别人的信息;s6b.若情绪识别结果为一般,则发出用于鼓励被识别人的信息;s7b.若情绪识别结果为较差,则发出用于关怀被识别人的信息。执行第二种根据表情数据分析得到情绪识别结果的具体实现方法后,还可以执行对应的情感交互步骤s5b、s6b和s7b。步骤s5b-s7b判断被识别人的情绪等级,然后发出相关信息。发出的信息可以是语音信息或文字信息,本实施例应用在人形机器人上时,还可以是机器人做出的表情,例如微笑表情和担忧表情。机器人执行步骤s5b-s7b时,还可以判断被识别人是否在机器人面前,并做出不同反应。例如被识别人在机器人面前时,将信息以语音或者机器人表情形式发出,被识别人不在机器人面前时,将信息以环信等即时通讯工具发出。对于情绪识别结果为较差的被识别人,还可以将信息发给被识别人亲属,及时为被识别人寻求关怀。通过情感交互步骤s5a-s6a和s5b-s7b,可以进一步提高机器人的交互性,提升被识别人的交互体验和满意度,使机器人更加智能和人性化,机器人能够更切实地服务于人。实施例2本实施例中,一种基于表情识别的情绪识别装置,包括:存储器,用于存储至少一个程序;处理器,用于加载所述至少一个程序以执行实施例1所述一种基于表情识别的情绪识别方法。存储器和处理器可以安装在机器人上,机器人还包括传感器和其他必要部件。以上是对本发明的较佳实施进行了具体说明,但对本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1