首页> 中国专利> 基于高斯特征的人体运动情感识别方法

基于高斯特征的人体运动情感识别方法

摘要

基于高斯特征的人体运动情感识别方法,属于计算机模式识别领域,解决现有情感识别方法的识别率偏低、学习识别速度稍慢的问题。本发明包括训练分类器步骤和情感识别步骤:训练分类器步骤顺序包括训练数据采集子步骤、运动分割子步骤、特征提取子步骤和训练子步骤;情感识别步骤顺序包括待测数据采集子步骤、运动分割子步骤、特征提取子步骤和识别子步骤。本发明采用高斯特征描述人体运动,该特征具有描述能力强、特征维度低、有良好的李群结构和能够有效的分析其空间结构等优势;采用基于李群空间的LogitBoost机器学习方法进行多类情感识别,在机器学习过程中充分利用高斯特征的李群结构,训练与识别效率高,实用性更强。

著录项

  • 公开/公告号CN101561868A

    专利类型发明专利

  • 公开/公告日2009-10-21

    原文格式PDF

  • 申请/专利权人 华中科技大学;

    申请/专利号CN200910062130.7

  • 申请日2009-05-19

  • 分类号G06K9/00;G06K9/66;G06K9/46;G06T7/20;

  • 代理机构华中科技大学专利中心;

  • 代理人方放

  • 地址 430074 湖北省武汉市洪山区珞喻路1037号

  • 入库时间 2023-12-17 22:53:02

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-07-10

    未缴年费专利权终止 IPC(主分类):G06K9/00 授权公告日:20110810 终止日期:20120519 申请日:20090519

    专利权的终止

  • 2011-08-10

    授权

    授权

  • 2009-12-16

    实质审查的生效

    实质审查的生效

  • 2009-10-21

    公开

    公开

说明书

技术领域

本发明属于计算机模式识别领域,具体涉及一种基于高斯特征的人体运动情感识别方法,根据人体运动中各个关节点的三维数据来提取高斯特征,采用LogitBoost方法以识别人的情感类别。

背景技术

自1997年MIT媒体实验室的Picard提出“情感计算”,如何自动识别和理解人的情感,引起了包括计算机科学、心理学等相关学科的研究者及企业界的密切关注。心理学家研究认为,在人与人的交互中,语调包含的信息量占所传递总信息量的38%,人脸的表情占了总信息量的55%,因此目前基于人脸表情和声音语调来识别情感的研究比较广泛。20多年来,人们研究从脸部或声音特征来识别情感,取得了大量的研究成果。国内的许多单位也做了不少工作,如中科院自动化所,中科院先进人机通信技术联合实验室,复旦大学媒体计算与Web智能实验室,浙江大学数字媒体计算与设计实验室,清华大学人机交互与媒体集成研究所等。这些方法在一些标准测试数据库上的平均识别率能达到70%,但对于其中各个不同的数据库,识别率偏差很大且性能不稳定,远远满足不了实用的要求。

心理学进一步研究表明,人的情感不仅仅通过面部表情和声音特征表现出来,人的肢体运动特征中也包含有丰富的情感信息,其中包含一些面部表情和声音特征中所没有的独特的重要情感信息,结合脸部和身体运动一起识别情感比仅依靠脸部来识别情感准确率要提高35%。基于人体运动特征进行情感识别就是在这样的背景下提出来的。在多媒体技术的顶级国际学术会议Annual ACM International Conference onMultimedia上,情感识别专家也指出,情感识别技术的发展趋势是让计算机能够有机地融合面部表情、人的肢体运动和声音等多种信息,综合理解人的情感。仅仅考虑面部和声音两种模态的特征,限制了情感识别的应用范围。比如在有些场合,无法看到面部或者没有声音,这些方法就无能为力,这时人体运动特征很有可能起到良好的识别作用。

目前基于人体运动特征的情感识别的研究主要有两种大方向。一是基于程式化运动的情感识别,所谓程式化运动即在某种情感类别下表现出的固定动作或姿态,比如握紧拳头表示处于愤怒的情感类别;二是基于非程式化运动的情感识别,所谓非程式化动作指无论何种情感类别下,运动的外在表现相同,例如走路、敲门等动作,但是运动的内含不同,因为不同的情感类别下,运动的速度和幅度等是不一样的。程式化运动只有在特定的情况下才会发生,因此在现实生活中比较难捕获,而非程式化的动作属于日常的、常规的动作,在日常生活环境中容易捕获,因此基于非程式化运动的情感识别具有更广泛的意义。

从非程式化人体运动来识别人的情感还处于初级探索阶段。格拉斯哥大学的Pollick等通过采集演员们敲门和喝酒的手臂运动视频,识别其中蕴含的10种情感,并通过计算距离矩阵,利用多维尺度分析进行投影,结果与情感维相符。虽然这不是一个自动识别系统,但却证明了通过非程式化人体运动,可以识别人的情感。Pollick等还建立了走路、敲门、举手、扔东西等动作的运动数据库,采集了30个演员在四种情感下,全身各关节点的三维数据,可用于身份、性别、情感等识别,见Ma Y.L.,Paterson H.and Pollick F.E.“A motion-capture library for the study ofidentity,gender,and emotion perception from biological motion”BehaviorResearch Methods 38(1)pp 134-141.(2006)。剑桥大学的Bernhardt等基于此运动数据库,针对敲门动作,基于右臂的运动能量进行分割,提取手腕关节和肘部关节的运动信息作为特征,利用支持向量机进行分类,实现了通过非程式化运动自动识别人的情感,见Bernhardt,D.andRobinson,P.“Detecting affect from non-stylised body motions.”in AffectiveComputing and Intelligent Interaction.Lisbon,Portugal,pp.59-70.(2007)。Bernhardt等虽然实现了基于非程式化运动的情感识别,然而采用简单的运动特征和支持向量机进行建模,学习速度大约为900分钟,比较慢,最终对所有动作的识别率为50.1%。

发明内容

本发明提供一种基于高斯特征的人体运动情感识别方法,目的在于解决现有情感识别方法的识别率偏低、学习识别速度稍慢的问题。

本发明的输入数据中,训练样本集包含四种情感类别(高兴、悲伤、中性、愤怒),每种情感类别包括几个非程式化的人体运动序列,每个人体运动序列由多个动作组成,每个动作由多帧数据组成,每帧数据为人体各关节点的三维数据;

待测人体运动序列由多个动作组成,每个动作由多帧数据组成,每帧数据为人体各关节点的三维数据。

本发明的一种基于高斯特征的人体运动情感识别方法,包括训练分类器步骤和情感识别步骤:

一、训练分类器步骤,顺序包括下述子步骤:

训练数据采集子步骤:建立包括若干动作类型、每种动作类型又包括若干情感类型的训练样本集;

运动分割子步骤:将训练样本集中的人体运动序列分割为若干个动作;

特征提取子步骤:对分割得到的每一个动作,提取其高斯特征,获得运动序列的特征序列;

训练子步骤:对当前训练样本集,使用李群流形上的LogitBoost机器学习方法按照既定的训练策略进行学习训练,得到各个情感类别对应的强分类器;

二、情感识别步骤,顺序包括下述子步骤:

待测数据采集子步骤:利用三维运动捕捉系统来捕捉待测的人体的运动序列,每个运动序列由人体各关节点的三维运动数据序列来表示,所述人体各关节点包括头、脖子、骨盆中心和左右肩关节、肘关节、腕关节、髋关节、膝关节、踝关节共15个关节点;

运动分割子步骤:将待测人体运动序列分割为若干个动作;

特征提取子步骤:对分割得到的每一个动作,提取其高斯特征,获得运动序列的特征序列;

识别子步骤:把待测人体运动序列的特征序列分别放入各个情感类别对应的强分类器中,得到该运动序列中各动作分别属于每种情感类别的概率值,将其中最大的概率值对应的情感类别作为输出结果。

所述的情感识别方法,其特征在于,所述训练分类器步骤中,所述训练数据采集子步骤包括以下具体过程:

2-1.确定动作类型和情感类型:动作类型为1~10种,包括走路、敲门、举手、扔东西中的一种或多种;情感类型T为2~6种,包括高兴、悲伤、无情感、愤怒中的两种以上;各种动作类型的每种情感类型包括2~6个运动序列;

2-2.利用三维运动捕捉系统拍摄记录人体运动序列:利用20~40个演员进行表演,男女演员各占一半,演员表演时穿上设备配套服装,并在人体各关节点上贴上标记点,所述人体各关节点包括头、脖子、骨盆中心和左右肩关节、肘关节、腕关节、髋关节、膝关节、踝关节共15个关节点;

每个运动序列由人体各关节点的三维运动数据序列来表示,利用三维运动捕捉系统拍摄记录每个演员的每种动作类型的每种情感类型。

所述的情感识别方法,其特征在于,所述训练分类器步骤和情感识别步骤中,所述运动分割子步骤包括以下具体过程:

3-1.计算每一个运动序列中每一帧对应时刻的人体运动的运动能量:

第i帧数据的运动能量Ei按下式计算:

Ei=Σj=18ωjθ·i,j2

式中,为第i帧对应时刻的人体运动的第j个关节点旋转自由度的角速度:

θ·i,j=θi+1,j-θi,j

其中,θi,j为第i帧对应时刻的人体运动的第j个关节点旋转自由度,为第j个关节点的相连两根骨头的夹角;ωj为各个关节点旋转自由度的系数,取值范围为0.1-0.8,关节点旋转自由度越大、取值越大,Σj=18ωj=1;i=1…N,N为自然数,是运动序列的帧数;j=1…8,分别为上肢左右肩关节、左右肘关节和下肢左右膝关节和左右髋关节所对应的8个序号;

3-2.对每个运动序列,根据每一帧对应时刻的人体运动的运动能量,绘制运动序列的能量曲线图,所有运动能量大于噪音阈值的连续的帧序列组成一个个初始分割,运动能量不大于噪音阈值的连续的帧序列组成一个个初始运动间隔,若一个初始运动间隔的长度超过间隔阈值,则该初始运动间隔为间歇,否则把该初始运动间隔和其左右的初始分割合并为一个动作,每个动作包含若干帧数据;最终将每个运动序列分割为若干个动作和间歇;噪音阈值为0.01~0.1,能量曲线的最小值越大、取值越大;间隔阈值为20~100帧,单位时间内采集帧数越多、取值越大。

所述的情感识别方法,其特征在于,所述训练分类器步骤和情感识别步骤中,所述特征提取子步骤包括如下具体过程:

4-1.对每个动作m,计算其中每一帧对应时刻的人体运动的特征向量φ(k,m):

φ(k,m)=(hdk,1,hsk,1,hak,1,hjk,1,...,hdk,8,hsk,8,hak,8,hjk,8),

其中,m=1,...,M,表示样训练样本集或待测人体运动序列中动作的序号;表示第k帧对应时刻的人体运动的第j个关节点的位置,k=1,...,K,K为当前动作包含的帧数;hdk,j,hsk,j,hak,j,hjk,j分别表示第k帧对应时刻的人体运动的第j个关节点到身体中心的距离以及第j个关节点的速度、加速度和急动度;

所述肢体关节点的速度、加速度和急动度分别对应肢体关节点位置的一阶、二阶和三阶导数;所述身体中心为骨盆中心点;

4-2.计算特征向量均值:计算每一个动作包含的所有帧对应时刻的人体运动的特征向量均值μm

μm=1KΣk=1Kφ(k,m);

4-3.计算协方差:计算每一个动作包含的所有帧对应时刻的人体运动的特征向量协方差矩阵∑m

Σm=1K-1Σk=1K(φ(k,m)-μm)(φ(k,m)-μm)T;

4-4.构建高斯特征Sm:对于每一个动作,组合该动作的协方差和均值得到其高斯特征Sm

Sm=Rmμm01;

其中,Rm满足关系式∑m=RmRmT,并且Rm为下三角矩阵;各个动作的高斯特征构成一个李群空间;

4-5.获得特征序列:将M个动作的高斯特征组合为特征序列S,

S:{S1,...,Sm,...SM}。

所述的情感识别方法,其特征在于,所述训练分类器步骤中,所述训练子步骤包括以下过程:

5-1.输入训练样本集,构造二维矩阵:

(S1,y11)·········(S1,y1T)······································(Sm,ym1)·········(Sm,ymT)······································(SM,yM1)·········(SM,yMT),

其中,Sm为第m个动作的高斯特征,ymt表示第m个训练样本是否为第t类情感,若是则ymt取1,否则取0;t=1,...,T,T为情感类别个数;

5-2.初始化样本权重wmt、样本为正样本的可能性估计pt(Sm)、分类函数Ft(S):

wmt=1/M,

pt(Sm)=1/T,

Ft(S)=0,

置迭代序号p=1,

其中,m=1,...,M;情感序号t=1,...,T;

5-3.置情感序号t=1;

5-4.根据下式计算zmt和wmt

zmt=ymt-pt(Sm)pt(Sm)(1-pt(Sm)),

wmt=pt(Sm)(1-pt(Sm));

5-5.归一化权重wmt,计算特征序列S:{S1,...,Sm,...SM}的带权均值μ:

wmtwmtΣm=1Mwmt,

μ=argminlLΣm=1Mwmd2(Sm,l),

其中L为高斯特征Sm所处的李群空间,d(Sm,l)为Sm与l之间的距离,d(Sm,l)=log(Sm-1l);l为L中的任意一个元素;

5-6.将μ和高斯特征Sm之间的距离映射到向量空间:

Sm=vec(d(μ,Sm)),

将μ和高斯特征Sm之间的距离矩阵d(μ,Sm)的所有非0元素依次序排列得到向量sm,d(μ,Sm)=log(μ-1Sm);

5-7.通过带权最小二乘法,基于权重wmt拟合出向量sm→zmt的系数,并将其组合成向量g,从而得到一个弱分类器fpt(S):

fpt(S)=1g·vec(d(μ,S))>00g·vec(d(μ,S))0,

其中1表示正样本,0表示负样本;

5-8.判断是否t<T,是则置情感序号t=t+1,转过程5-4;否则转过程5-9;

5-9.更新Pt(Sm)和Ft(S):

fpt(S)T-1T(fpt(S)-1TΣn=1Tfpn(S)),

Ft(S)←Ft(S)+fpt(S),

Pt(Sm)eFt(S)Σn=1TeFn(S),Σn=1TFn(S)=0;

5-10.判断是否p<P,是则置迭代序号p=p+1,转过程5-3;否则转过程5-11;P=50~200,为迭代次数;

5-11.输出各情感类别对应的分类函数Ft(S),作为各情感类别对应的强分类器。

所述的情感识别方法,其特征在于,所述训练分类器步骤中,通过下述迭代式计算所述训练子步骤过程5-5中μ值:

Δμ=exp(Σm=1Mwmlog(μq-1Sm)),

μq=μqΔμ,

μq初始值为从特征序列S中随机选择的一个高斯特征,

若满足|log(Δμ)|<ε,ε取10-11~10-9,则停止迭代,最后得到的μq就是待求的μ。

所述训练子步骤的过程5-5、5-6、5-7涉及到高斯特征的距离度量d的计算,由于高斯特征为矩阵表示,而非向量表示,这样一来高斯特征间的距离度量不能简单的采用向量间的距离度量方法,所以高斯特征的距离度量问题便成了一个迫切需要解决的问题。

同样是矩阵表示的协方差特征,有人根据它的正定对称性,将协方差特征间距离的度量转化为黎曼流形(Riemannian Manifolds)下的对应点间距离的度量,并基于此对经典的LogitBoost机器学习方法予以改进,以对协方差特征进行学习训练。本发明中,解决高斯特征间距离度量问题的思路和协方差特征间距离度量是相同的,又因高斯特征并不具有对称正定性,所以黎曼流形空间不适合它,但由高斯特征的定义式不难证明所有的高斯特征实际上构成了一个李群空间,由此高斯特征距离度量问题就完全可以借助成熟的李群理论来解决。因此给定两高斯特征S1和S2,S1和S2的距离d(S1,S2)的计算式如下:

d(S1,S2)=l0g(S1-1S2)。

本发明采用高斯特征描述人体运动,该特征具有描述能力强、特征维度低、有良好的李群结构和能够有效的分析其空间结构等优势;采用基于李群空间的LogitBoost机器学习方法进行多类情感识别,在机器学习过程中充分利用高斯特征的李群结构,训练与识别效率高,实用性更强。

附图说明

图1是本发明的流程示意图;

图2是本发明训练子步骤的流程示意图。

具体实施方式

图1是本发明的流程示意图;图2是本发明训练子步骤的流程示意图。

下面结合实施例对本发明详细说明。

本实施例基于格拉斯哥大学Pollick等建立的包括走路、敲门、举手、扔东西等四种人体运动类型和高兴、悲伤、无情感、愤怒四种情感类别的运动数据库。该数据库中共有30个角色,每个角色每种运动类型包含四种情感类别,每种情感共有两个运动序列,一种运动类型一共含有240个人体运动序列,本实施例从中提取敲门运动类型的人体15个关节点的三维运动数据,并由于大部分人是右手敲门的特点可知情感识别主要涉及右肩关节和右肘关节的运动,首先对输入的运动序列进行数据处理:为达到人体运动的平移和旋转不变性,将三维运动数据序列转换为以身体中心为原点的局部坐标,然后进行规范化:取某一被测者的右臂长度去除所有人的右臂各关节点的坐标。

一、训练分类器步骤:

1.训练数据采集子步骤:从格拉斯哥大学运动数据库的30个角色中选择29个角色的敲门动作类型,该动作类型的每种情感类型包括2个运动序列,共计232个运动序列,作为训练样本集;

2.运动分割子步骤:将训练样本集中的人体运动序列分割为若干个动作;

2-1.计算每一个运动序列中每一帧的运动能量:敲门动作的运动能量由右肩关节和右肘关节的旋转自由度引起,计算公式如下:

Ei=ω2θ·i,22+ω4θ·i,42

其中Ei表示第i帧的能量,ω2和ω4分别是右肩关节和右肘关节两个旋转自由度的能量系数,因系数之和为1,本例依据大臂和小臂的旋转自由度大小,分别取0.2和0.8;分别是右肩关节旋转自由度和右肘关节旋转自由度的角速度,其计算公式如下:

θ·i,j=θi+1,j-θi,j,

其中j=2,4;可得第一个人的一个运动序列的第一帧的肩关节旋转自由度的角速度为0.0042,该帧对应时刻的运动能量值为0.00519285;

2-2.对每个运动序列,根据2-1得到每一帧对应时刻的人体运动的的运动能量绘制运动序列的能量曲线图,所有运动能量大于经验噪音阈值t0(经验值取0.01)的连续的帧序列组成一个个初始分割,运动能量不大于噪音阈值的连续的帧序列组成一个个初始运动间隔,若初始运动间隔的长度超过间隔阈值(此处取30帧),则该段为间歇,否则把初始运动间隔和其左右的初始分割合并为一个动作;本实例训练样本集中每个运动序列分别分割为5个动作,共得到1160个动作;

3.特征提取子步骤:对分割得到的每一个动作,提取其高斯特征,获得运动序列的特征序列;

3-1.对每个动作m,计算其中每一帧对应时刻的人体运动的特征向量φ(k,m):

φ(k,m)=(hdk,1,hsk,1,hak,1,hjk,1,...,hdk,8,hsk,8,hak,8,hjk,8);

其中,第一个人的一个运动序列分割后得到的第一个动作的第一帧的特征向量为:(0.40782717,0.00213876,0.00247773,0.00117469,0.53413537,0.00114627,0.00092994,0.00159401);

3-2.计算特征向量均值:计算每一个动作包含的所有帧对应时刻的人体运动的特征向量均值μm

μm=1KΣk=1Kφ(k,m);

其中,第一个人的运动序列分割后得到的第一个动作包括179帧,其特征向量均值为:(0.89342013,0.03117220,0.00623311,0.00239637,0.72697111,0.01341624,0.00233629,0.00102327);

3-3.计算协方差:计算每一个动作包含的所有帧对应时刻的人体运动的特征向量协方差矩阵∑m

Σm=1K-1Σk=1K(φ(k,m)-μm)(φ(k,m)-μm)T;

其中,第一个人的运动序列分割后得到的第一个动作的特征向量协方差矩阵为8×8矩阵,

其中第一行矩阵元素为:

0.11492570    -0.00048734    0.00072089    0.00044750    0.04134104;

0.00055740    0.00012903     0.00011202

第二行矩阵元素为:

-0.00048734   0.00042318     0.00000070    0.00000077    -0.00000624;

0.00011341    0.00000084     0.00000013

第三行矩阵元素为:

0.00072089    0.00000070     0.00000221    0.00000058    0.00028045;

-0.00000017   0.00000052     0.00000019

第四行矩阵元素为:

0.00044750    0.00000077     0.00000058    0.00000059    0.00017807;

-0.00000036   0.00000014     0.00000016

第五行矩阵元素为:

0.04134104    -0.00000624    0.00028045    0.00017807    0.01540005;

0.00013535    0.00000529     0.00000421

第六行矩阵元素为:

0.00055740    0.00011341     -0.00000017   -0.00000036   0.00013535;

0.00000589    0.00000009     -0.00000009

第七行矩阵元素为:

0.00012903    0.00000084     0.00000052    0.00000014    0.00000529;

0.00000009    0.00000022     0.00000005

第八行矩阵元素为:

0.00011202    0.00000013     0.00000019    0.00000016    0.00000421;

-0.0000009    0.00000005     0.00000008

3-4.构建高斯特征Sm:对于每一个动作,组合该动作的协方差和均值得到其高斯特征Sm

Sm=Rmμm01;

其中,第一个人的运动序列分割后得到的第一个动作的高斯特征为为9×9矩阵,

其中第一行矩阵元素为:

0.33900694    0             0            0            0           0;

0             0             -0.08981188

第二行矩阵元素为:

-0.00143757   0.02052101    0            0            0           0;

0             0             0.00327213

第三行矩阵元素为:

0.00212647    0.00049221    0.00416899   0            0           0;

0             0             0.00153724

第四行矩阵元素为:

0.00132003    0.00046739    0.00067465   0.00187571   0           0;

0             0             0.00088803

第五行矩阵元素为:

0.12194747    0.00550277    0.00441839   0.00615302   0.02100477  0;

0             0             -0.02533044

第六行矩阵元素为:

0.00164420    0.00564165    -0.00192256  -0.00379077  -0.00306505 0.00488871;

0             0             0.00192287

第七行矩阵元素为:

0.00038063    0.00043826    0.00100840   -0.00000113  -0.00000146 -0.00000734;

0.00090243    0             0.00047927

第八行矩阵元素为:

0.00033045    0.00000876    0.00027604   0.00049114   -0.00014057 0.00000369;

0.00000404    0.00057909    0.00020142

第九行矩阵元素为:

0             0             0            0            0           0;

0             0             1

3-5.获得特征序列:将1160个动作的高斯特征组合为特征序列S,

S:{S1,...,Sm,...SM};

本实例中训练样本集共得到1160个特征序列;

4.训练子步骤:对当前训练样本集,使用李群流形上的LogitBoost机器学习方法按照既定的训练策略进行学习训练,得到各个情感类别对应的强分类器;具体包括以下过程:

4-1.输入训练样本集,构造二维矩阵:

(S1,y11)·········(S1,y1T)······································(Sm,ym1)·········(Sm,ymT)······································(SM,yM1)·········(SM,yMT);

4-2.初始化样本权重wmt、样本为正样本的可能性估计pt(Sm)、分类函数Ft(S):

wmt=1/1160,

pt(Sm)=1/4,

Ft(S)=0,

置迭代序号p=1,

P取为20;

4-3.置情感序号t=1;

4-4.根据下式计算zmt和wmt

zmt=ymt-pt(Sm)pt(Sm)(1-pt(Sm)),

Wmt=pt(Sm)(1-pt(Sm));

wmt初始值为3/16;

4-5.归一化权重wmt,计算特征序列S:{S1,...,Sm,...SM}的带权均值μ:

wntwmtΣm=1Mwmt,

μ的计算:

Δμ=exp(Σm=1Mwmlog(μq-1Sm)),

μq=μqΔμ,

μq初始值为从特征序列S中随机选择的一个高斯特征,若满足|log(Δμ)|<ε(ε取10-10),则停止迭代,最后得到的μq就是待求的μ;

4-6.将μ和高斯特征Sm之间的距离映射到向量空间:

Sm=vec(d(μ,Sm));

4-7.通过带权最小二乘法,基于权重wmt拟合出向量sm→zmt的系数,并将其组合成向量g,从而得到一个弱分类器fpt(S):

fpt(S)=1g·vec(d(μ,S))>00g·vec(d(μ,S))0;

4-8.判断是否t<T,是则置情感序号t=t+1,转过程4-4;否则转过程4-9;

4-9.更新Pt(Sm)和Ft(S):

fpt(S)T-1T(fpt(S)-1TΣn=1Tfpm(S)),

Ft(S)←Ft(S)+fpt(S),

Pt(Sm)eFt(S)Σn=1TeFn(S),Σn=1TFn(S)=0;

4-10.判断是否p<P,是则置迭代序号p=p+1,转过程4-3;否则转过程4-11;本实例取P=20,也可不断调整P来提高识别结果的准确率;

4-11.输出四个情感类别对应的分类函数Ft(S),作为各情感类别对应的强分类器。

二、情感识别步骤:

1.待测数据采集子步骤:将步骤一中的训练数据采集子步骤中30个角色中选择29个角色后剩余的一个角色的敲门动作类型的每种情感类型包括的2个运动序列,共计8个运动序列作为测试数据集;

2.运动分割子步骤:将待测人体运动序列分割为若干个动作;

2-1.计算运动序列中每一帧的运动能量:敲门动作的运动能量由右肩关节和右肘关节的旋转自由度引起,计算公式如下:

Ei=ω2θ·i,22+ω4θ·i,42

其中Ei表示第i帧的能量,ω2和ω4分别是右肩关节和右肘关节两个旋转自由度的能量系数,因系数之和为1,本例依据大臂和小臂的旋转自由度大小,分别取0.2和0.8;分别是右肩关节旋转自由度和右肘关节旋转自由度的角速度,其计算公式如下:

θ·i,j=θi+1,j-θi,j,

其中j=2,4;

2-2.对每个运动序列,根据1-1得到每一帧对应时刻的人体运动的的运动能量绘制运动序列的能量曲线图,所有运动能量大于经验噪音阈值t0(经验值取0.01)的连续的帧序列组成一个个初始分割,运动能量不大于噪音阈值的连续的帧序列组成一个个初始运动间隔,若初始运动间隔的长度超过间隔阈值(此处取30帧),则该段为间歇,否则把初始运动间隔和其左右的初始分割合并为一个动作;本实例每个待测人体运动序列分割为5个动作,共得到40个动作;

3.特征提取子步骤:对分割得到的每一个动作,提取其高斯特征,获得运动序列的特征序列;

3-1.对每个动作m,计算其中每一帧对应时刻的人体运动的特征向量φ(k,m):

φ(k,m)=(hdk,1,hsk,1,hak,1,hjk,1,...,hdk,8,hsk,8,hak,8,hjk,8);

3-2.计算特征向量均值:计算每一个动作包含的所有帧对应时刻的人体运动的特征向量均值μm

μm=1KΣk=1Kφ(k,m);

3-3.计算协方差:计算每一个动作包含的所有帧对应时刻的人体运动的特征向量协方差矩阵∑m

Σm=1K-1Σk=1K(φ(k,m)-μm)(φ(k,m)-μm)T;

3-4.构建高斯特征Sm:对于每一个动作,组合该动作的协方差和均值得到其高斯特征Sm

Sm=Rmμm01;

3-5.获得特征序列:将40个动作的高斯特征组合为特征序列S,

S:{S1,...,Sm,...SM};

本实例中每个待测人体运动序列中共40个特征序列;

4.识别子步骤:把待测人体运动序列的40个特征序列分别放入各个情感类别对应的强分类器Ft(S)中,得到待测样本中40个动作分别属于每种情感类别的概率值,将其中最大的概率值对应的情感类别作为输出结果。

本发明从Pollick等所建立的人体运动数据库的30个角色中抽取29个角色的人体运动序列作为训练样本,另外1个角色的人体运动序列作为测试样本,共进行30次的交叉验证。对每个角色进行测试时,由该角色所有动作的识别结果计算出对其所有情感的识别错误率(0.25、0.475、0.65、0.325、0.5、0.45、0.525、0.3、0.15、0.15、0.65、0.7、0.425、0.35、0.75、0.5、0.4、0.575、0.55、0.6、0.675、0.325、0.325、0.35、0.575、0.525、0.175、0.475、0.275、0.5),最终得到识别准确率提高至55.1%。在同一设备上,实验大约耗时650分钟,速度也有提高。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号