公开/公告号CN104598866A
专利类型发明专利
公开/公告日2015-05-06
原文格式PDF
申请/专利权人 广州华久信息科技有限公司;
申请/专利号CN201310524055.8
发明设计人 不公告发明人;
申请日2013-10-30
分类号G06K9/00;G06K9/62;
代理机构
代理人
地址 510000 广东省广州市番禺区小谷围街中七路66号(自编2栋)503房
入库时间 2023-12-18 08:44:53
法律状态公告日
法律状态信息
法律状态
2023-05-16
专利权的转移 IPC(主分类):G06K 9/00 专利号:ZL2013105240558 登记生效日:20230506 变更事项:专利权人 变更前权利人:广州华久信息科技有限公司 变更后权利人:广州华见智能科技有限公司 变更事项:地址 变更前权利人:510000 广东省广州市番禺区小谷围街中七路66号(自编2栋)503房 变更后权利人:511458 广东省广州市南沙区南沙街成汇街2号901房
专利申请权、专利权的转移
2018-03-09
授权
授权
2015-05-27
实质审查的生效 IPC(主分类):G06K9/00 申请日:20131030
实质审查的生效
2015-05-06
公开
公开
技术领域
本发明涉及一种基于人脸的社交情商促进方法及系统,属于医疗健康、机器学习和移动互联网技术领域。
背景技术
微表情记录了人类隐蔽的表情,当人们面临高风险时,例如有获得或失去一些关键性东西的迹象时,就会产生这类表情。微表情产生和持续的时间都非常短,产生时间只有十六分之一秒,持续时间在脸上少于半秒。
准确理解它人的微表情有利于促进人类的社交能力,例如有利于识别他人是否在撒谎,有利于识别他人的内心感受,并判断你的行为对他人的影响程度。遗憾的是大多数人都无法识别自己或者别人的微表情,只有占很小比例的人类拥有识别微表情的天赋。
保罗*艾克曼和Maureen O'Sullivan博士等的研究发现,任何人经过训练都能提高自己识别微表情的能力,能够认识到各种不同类型的隐蔽情绪,因此他们研究了若干微表情训练系统,例如Microexpression Training Tool(METT 2),Humintell等,这些培训系统目前已被用于政府、执法机构、和企业的在线培训,也适合于医生、律师、法官、教师、学生等的社交情商培训。但是系统没有提供个性化地培训措施,例如对识别错误的微表情,缺乏有针对性的强化培训。同时现有系统没有提供表情的扮演训练,在很多情况下,需要表达出合适的表情,例如面对悲伤的情景,不能表达出高兴的表情。面对高兴的情景,不适合表达出愤怒的表情。即在社交时需要根据场景和对方的反映,表达出合适的表情,这也需要训练。一个典型的应用是演员训练。目前国内还没有发现这类训练方法和系统的报道。
发明内容
本发明要解决的技术问题是:目前缺乏表情识别和表情扮演能力的促进方法和设备。本发明涉及一种基于人脸的社交情商促进方法,其特征在于该方法包括以下两部分:
[1] 表情识别能力促进子方法
[2] 表情扮演能力促进子方法
其中表情识别能力促进子方法循环执行下列步骤,除非用户退出:
(a) 按选择概率选择某个表情类别的人脸图片,每个表情类别的初始选择概率为1,表情类别包括愤怒,高兴,悲伤,惊讶,厌恶,恐惧和平静。每个表情类别下保存有大量对应表情类别的人脸图片;
(b) 显示选择的人脸图片;
(c) 提醒用户识别人脸图片的表情类别;
(d) 根据用户的识别结果,计算用户在每个表情类别上的识别准确率;
(e) 以识别准确率为变量,修改每个表情类别的选择概率,准确率越低,选择概率越大,以强化对难以识别的表情多做训练。表情类别 的选择概率为:,其中为用户识别表情类别的准确率,为参数;
(f) 绘制用户对人脸表情识别的准确率变化曲线,评估社交情商促进效果。
表情扮演能力促进子方法循环执行下列步骤,除非用户退出:
(a) 按选择概率选择某个表情类别,每个表情类别的初始选择概率为1,表情类别包括愤怒,高兴,悲伤,惊讶,厌恶,恐惧和平静;
(b) 显示选择的表情类别,及对应表情的参照人脸图像;
(c) 提醒用户扮演选择的表情;
(d) 采集用户扮演表情时的人脸图像;
(e) 完成人脸图像的表情自动识别;
(f) 根据表情自动识别结果与选择的表情类别,判断用户扮演的表情是否准确,修改用户在每个表情类别上的表情扮演的准确率。表情类别的选择概率为:,其中为用户扮演表情类别的准确率,为参数;
(g) 绘制用户表情扮演准确率变化曲线,评估社交情商促进效果。
本发明涉及一种基于人脸的社交情商促进系统,其特征在于系统包括:表情类别显示模块,用户表情扮演模块,人脸表情图像采集模块,人脸表情图像显示模块,用户识别人脸表情模块,人脸表情识别模块,人脸表情识别模型学习模块,选择概率修改模块,表情类别选择模块,人脸表情图像选择模块,用户情商评估模块。其中表情类别显示模块的输出与用户表情扮演模块的输入连接,用户表情扮演模块的输出与用户人脸表情图像采集模块的输入连接,用户人脸表情图像采集模块和人脸表情识别模型学习模块的输出与人脸表情识别模块的输入连接,人脸表情识别模块的输出与选择概率修改模块的输入连接,选择概率修改模块的输出与表情类别选择模块、人脸表情图像选择模块和用户情商评估模块的输入连接,表情类别选择模块的输出与表情类别显示模块的输入连接,人脸表情图像选择模块的输出与人脸表情图像显示模块的输入连接。其中人脸表情分类模型学习模块是离线独立运行的。
有益效果
与现有技术相比,本发明所涉及的一种基于人脸的社交情商促进方法及系统具有以下优点:
[1] 提供了表情识别能力的个性化训练方法与工具,使得训练更加有效;
[2] 提供了表情扮演训练方法和工具,使得用户的社交情商促进更加全面。目前还没有发现这类训练方法和系统。
附图说明
图1 一种人脸表情扮演能力的促进方法流程图;
图2 一种基于人脸的社交情商促进系统结构图。
具体实施方式
本发明提出一种基于人脸的社交情商促进方法及系统,结合附图和实施例说明如下。一种基于人脸的社交情商促进方法包括以下两部分:
[1] 表情识别能力促进子方法
[2] 表情扮演能力促进子方法
其中表情识别能力促进子方法循环执行下列步骤,除非用户退出
(a) 按选择概率选择某个表情类别的人脸图片,每个表情类别的初始选择概率为1,表情类别包括愤怒,高兴,悲伤,惊讶,厌恶,恐惧和平静。每个表情类别下保存有大量对应表情的人脸表情图片;
(b) 显示选择的人脸图片;
(c) 提醒用户识别人脸图片的表情类别;
(d) 根据用户的识别结果,计算用户在每个表情类别上的识别准确率;
(e) 以识别准确率为变量,修改每个表情类别的选择概率,准确率越低,选择概率越大,以强化对难以识别的表情多做训练。表情类别的选择概率为:,其中为用户识别表情类别的准确率,为参数;
(f) 绘制用户对人脸表情识别的准确率变化曲线,评估社交情商促进效果。
表情扮演能力促进子方法,如图1所示,循环执行下列步骤,除非用户退出
(a) 按选择概率选择某个表情类别,每个表情类别的初始选择概率为1,表情类别包括愤怒,高兴,悲伤,惊讶,厌恶,恐惧和平静;
(b) 显示选择的表情类别,及对应表情的参照人脸图像;
(c) 提醒用户扮演选择的表情;
(d) 采集用户扮演表情时的人脸图像;
(e) 完成人脸图像的表情自动识别;
(f) 根据表情自动识别结果与选择的表情类别,判断用户扮演的表情是否准确,修改用户在每个表情类别上的表情扮演的准确率。表情类别的选择概率为:,其中为用户扮演表情类别的准确率,为参数;
(g) 绘制用户表情扮演准确率变化曲线,评估社交情商促进效果。
本发明所述方法的实施案例中,用户表情识别促进子方法的每个步骤都是平凡的,很容易实现,而用户表情扮演能力促进方法实现中的关键步骤叙述如下。
A:采集用户表情扮演时的人脸图像
本实施案例通过摄像头等图像捕捉工具获取用户扮演表情时候的人脸静态图像,然后完成图像预处理,包括图像的大小和灰度的归一化,头部姿态的矫正,和人脸图像的检测等
人脸检测算法采用Viola–Jones的级联分类器算法,它是现在的一个比较优秀的人脸检测算法。这种算法使用基于Haar特征的级联分类器策略,可快速且有效地找到多种姿态和尺寸的人脸图像。在Android OpenCV上有一个该算法的实现。Android OpenCV是 Intel 开源计算机视觉库 (Computer Version) ,由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法。 Android OpenCV拥有包括 300 多个 C 函数的跨平台的中、高层 API。同时 Android OpenCV提供了对硬件的访问,可以直接访问摄像头,因而我们利用Android OpenCV编程实现人脸图像的采集和检测,从而获得人脸图像。
本实施案例提取两类人脸图像特征构造图像的特征向量。第1类,利用二维离散小波在不明显损失图像信息的基础上对表情图像进行变换,变换后的图像数据量大大减少,再利用离散于余弦变换变换提取代表原图像绝大部分能量的数据作为表情特征矢量。第2类,对人脸表情图像进行分割、消噪处理,然后对其作标准化处理,包括尺度归一化和灰度均衡化。对标准化处理后的图像使用固定像素的网格进一步分割,对每一个网格进行Gabor小波变换,取Gabor变换后的小波系数模的均值、方差作为该网格的表情特征向量,最后将两类特征向量串接为一个特征向量作为人脸图像的特征向量。
本实施案例利用Android OpenCV提供的多种API函数来构造人脸图像的特征向量。
# detect objects
cascade = cv.cvLoadHaarClassifierCascade('haarcascade_frontalface_alt.xml',
cv.cvSize(1,1))
faces = cv.cvHaarDetectObjects(grayscale, cascade, storage, 1.2, 2,
cv.CV_HAAR_DO_CANNY_PRUNING,
cv.cvSize(50, 50))#设置最小的人脸为50*50像素
if faces:
print 'face detected here', cv.cvGetSize(grayscale)
for i in faces:
cv.cvRectangle(image, cv.cvPoint( int(i.x), int(i.y)),
cv.cvPoint(int(i.x + i.width), int(i.y + i.height)),
cv.CV_RGB(0, 255, 0), 1, 8, 0)#画一个绿色的矩形框
B:人脸表情自动识别
本实施案例采用支持向量机 (Support Vector Machine, SVM)实现人脸表情自动识别。SVM是近几年刚发展起来的一种分类方法,它基于结构风险最小化原则,具有良好的泛化能力。给定训练样本集,其中为输入向量,为对应的类别,SVM在特征空间中寻找能将两类样本正确分开的最优分界超平面。对于输入空间中的向量,假如使用表示其在特征空间中对应的特征向量,则最优分界超平面表示为。相应的决策方程为。在任何情况下,SVM并不要求知道映射。 引入核函数,特征空间中向量间的点积能在输入空间中通过核函数表示为。
训练SVM等价于求解如下最优化问题:
这是正定的二次规划问题,目标方程由拉格朗日乘子向量a决定。一旦向量a已知,决策方程中的权重向量w和阈值b能够通过KKT条件容易地计算出来。KKT条件是上述二次规划问题的充分必要条件。定义
则KKT条件为
其中不为零对应的样本就是支持向量,它们通常只是全体样本中的少部分。计算出支持向量后,便得到决策函数
其中S为支持向量集合。决策函数中常用核函数有:多项式核、径向基核函数(RBF)、Sigmoid核函数等。本实施案例选择径向基核函数RBF作为核函数,以预测性能为准则,以10倍交叉验证方式选择SVM的合适参数,进而获得对应的SVM分类模型。
C:学习人脸表情识别模型
本实施案例利用Android OpenCV提供的SVM分类器完成人脸表情自动识别,其中人脸表情自动识别模型----SVM分类模型的获取过程包含以下步骤:
(a) 采集1000个人脸图像及其对应的表情类别;
(b) 构造每个人脸图像的特征向量;
(c) 构造训练数据,以人脸图像的特征向量为输入,其对应的表情类别为输出,构成训练样本集合;
(d) 采用训练样本集合,训练SVM分类器;
(e) 以10倍交叉验证方式选择SVM分类器的最佳参数,进而获得对应参数的人脸表情自动识别模型----SVM分类模型。
如图2 所示,为一种基于人脸的社交情商促进系统实施案例的结构图,系统集成了所叙述的两种方法,系统包括的模块分布在智能手机客户端和服务器上。智能手机客户端包括模块:表情类别显示模块201,用户表情扮演模块202,用户人脸表情图像采集模块203,人脸表情图像显示模块209,用户识别人脸表情模块210。服务器包括模块:人脸表情识别模块204,人脸表情识别模型学习模块211,选择概率修改模块205,表情类别选择模块206,人脸表情图像选择模块208,用户情商评估模块207。其中表情类别显示模块201的输出与用户表情扮演模块202的输入连接。其中用户表情扮演模块202的输出与用户人脸表情图像采集模块203的输入连接。用户人脸表情图像采集模块203和人脸表情识别模型学习模块211的输出与人脸表情识别模块204的输入连接。人脸表情识别模块204的输出与选择概率修改模块205的输入连接。选择概率修改模块205的输出与表情类别选择模块206、人脸表情图像选择模块208和用户情商评估模块207的输入连接。表情类别选择模块206的输出与表情类别显示模块201的输入连接。人脸表情图像选择模块208的输出与人脸表情图像显示模块209的输入连接。其中人脸表情分类模型学习模块209是离线独立运行的。
1) 表情类别显示模块201,在智能手机界面上显示表情类别选择模块206选择的一种表情类别,表情类别包括愤怒,高兴,悲伤,惊讶,厌恶,恐惧和平静。
2) 用户表情扮演模块202,提醒智能手机用户按显示的表情类别,扮演表情。
3) 用户人脸表情图像采集模块203,控制智能手机的照相机对用户扮演表情时的人脸照相,采集人脸图像,进行预处理,去除背景,获得预处理后的人脸图像,然后将检测的人脸图像抽取特征,转化为人脸图像的特征向量表示。
4) 人脸表情识别模块204,采用SVM分类模型对人脸图像的特征向量进行表情分类,获得表情类别。
5) 人脸表情识别模型学习模块211,采用人脸表情训练样本数据库训练SVM分类器,获得人脸表情自动识别的SVM分类模型。
6) 选择概率修改模块205,对比人脸表情识别模块204识别的表情和表情类别显示模块201显示的表情类别,修改用户在每个表情类别上的扮演准确率,再根据准确率计算每个表情类别的选择概率。对比用户识别人脸表情模块210识别的表情和人脸表情图像显示模块209显示的人脸图像的表情类别,修改用户在每个表情类别上的识别准确率,再根据识别准确率计算每个表情类别人脸图像的选择概率。
7) 表情类别选择模块206,根据选择概率修改模块205计算的选择概率选择表情类别。
8) 人脸表情图像选择模块208,根据选择概率修改模块205计算的选择概率选择一种表情类别的人脸表情图像。
9) 人脸表情图像显示模块209,在智能手机界面上显示人脸表情图像选择模块208选择的人脸图像。
10) 用户识别人脸表情模块210,接收用户对人脸表情图像选择模块208选择的人脸表情图像的表情类别的判断结果。
11) 用户情商评估模块207,根据选择概率修改模块205的历史修改记录,绘制用户表情识别的准确率曲线和用户扮演准确率曲线,并将结果反馈到智能手机客户端显示。
图2所述的实施案例中的智能手机采用Android智能手机。Android平台提供了应用程序框架,提供了传感器、语音识别、桌面组件开发、Android游戏引擎设计、Android应用优化等各类开发工具,提供了对音频、视频和图片等多媒体的支持。实施案例采用Android OpenCV和Android平台实现摄像头控制,人脸图像的采集与显示等功能。实施案例中的服务器则采用J2EE平台, WEB服务器采用Tomcat, OpenCV等实现,采用MYSQL数据库实现数据库管理。
本领域的普通技术人员应当理解,本发明的技术方案可以进行修改,变形或等同变换,而不脱离本发明技术方案的本质和范围,均覆盖在本发明的权利要求范围之中。
机译: 基于人脸检测的远程控制系统和方法以及基于人脸检测的远程控制多媒体系统
机译: 基于类别的数据分析系统,用于处理存储的数据单元并以示例性的精度计算其与主题领域的相关性,以及一种计算机实现的方法,用于从广泛的数据源中识别执行社交影响者功能的社交实体
机译: 基于特征的人脸识别家庭网络系统和基于人脸的面孔识别方法