发明名称 一种双通道信息融合的情感识别方法
摘要 本发明提出的一种双通道信息融合的情感识别方法,属于自动情感识别领域。其基本思想是:从情感视频数据中提取脸部表情和语音特征数据;然后使用脸部表情特征数据初始化Boltzmann拉链中慢链的可见节点的状态值;使用语音特征数据初始化Boltzmann拉链中快链的可见节点的状态值,对BOLTZMANN拉链进行训练;使用训练好的BOLTZMANN拉链识别情感视频的情感类别。本发明使用Boltzmann拉链来融合紧密耦合的语音-视觉模态,有效利用了两个通道的内在关联,解决了两个通道数据不同的时间尺度问题,并在训练过程中避免了局部能量极小,实验结果证明了该方法的高准确率和有效性。
申请公布号 CN102819744B 申请公布日期 2014.09.10
申请号 CN201210225169.8 申请日期 2012.06.29
申请人 北京理工大学 发明人 吕坤;贾云得;张欣
分类号 G06K9/62(2006.01)I;G06K9/00(2006.01)I;G10L15/24(2013.01)I 主分类号 G06K9/62(2006.01)I
代理机构 代理人
主权项 一种双通道信息融合的情感识别方法,其特征在于:该方法包括:训练过程和识别过程;所述训练过程的具体实施步骤如下:步骤一、对训练数据中的情感视频数据进行预处理;训练数据中的每种情感视频数据不少于20个;分别对训练数据中的每个情感视频数据做预处理,得到表情离散观察变量序列和音频离散观察变量序列;所述得到表情离散观察变量序列的具体步骤为:第1步:从每个情感视频中提取脸部表情特征,具体为:第1.1步:从每个情感视频中以等间隔的方式提取m帧图像组成一个表情图像序列,m≥20;第1.2步:依次从每个表情图像序列中的各帧图像中提取θ个脸部表情特征值,分别用T<sub>1</sub>至T<sub>θ</sub>表示,θ≥5;所述脸部表情特征值包括但不限于:脸部几何特征值;脸部纹理特征值;第1.3步:为了解决因不同人脸型不同造成的对脸部表情特征值T<sub>1</sub>至T<sub>θ</sub>的影响,对所有图像的脸部表情特征值T<sub>1</sub>至T<sub>θ</sub>进行归一化处理,具体为:第1.3.1步:从全部表情图像序列中找出包含待处理图像中人脸的所有表情图像序列;所述待处理图像为当前等待做归一化处理的图像;第1.3.2步:分别计算经过第1.3.1步处理后得到的包含待处理图像中人脸的所有表情图像序列的第一帧图像中脸部表情特征值T<sub>1</sub>的均值、T<sub>2</sub>的均值、……、T<sub>θ</sub>的均值,分别用<img file="FDA0000504057920000011.GIF" wi="50" he="79" />至<img file="FDA0000504057920000012.GIF" wi="66" he="79" />表示;第1.3.3步:用<img file="FDA0000504057920000018.GIF" wi="45" he="67" />对待处理图像的脸部表情特征值T<sub>1</sub>进行归一化处理,归一化处理后的脸部表情特征值T<sub>1</sub>用符号T<sub>1</sub>′表示,<img file="FDA0000504057920000013.GIF" wi="234" he="83" />用<img file="FDA0000504057920000014.GIF" wi="48" he="78" />对待处理图像的脸部表情特征值T<sub>2</sub>进行归一化处理,归一化处理后的脸部表情特征值T<sub>2</sub>用符号T<sub>2</sub>′表示,<img file="FDA0000504057920000015.GIF" wi="255" he="83" />……;以此类推,用<img file="FDA0000504057920000016.GIF" wi="50" he="78" />对待处理图像的脸部表情特征值Tθ进行归一化处理,归一化处理后的脸部表情特征值T<sub>θ</sub>用符号T<sub>θ</sub>′表示,<img file="FDA0000504057920000017.GIF" wi="258" he="83" />第1.4步:获得每个表情图像序列中各帧图像的表情特征向量,用V<sub>r</sub>表示,1≤r≤m;一个表情图像序列中第r帧图像的表情特征向量V<sub>r</sub>由经过第1.3步归一化处理后的θ个特征值组成,V<sub>r</sub>=[f<sub>r1</sub>,f<sub>r2</sub>,……,f<sub>rθ</sub>]<sup>T</sup>,f<sub>r1</sub>为该表情图像序列的第r帧图像中经过归一化处理的第1个脸部表情特征值T<sub>1</sub>′,f<sub>r2</sub>为该表情图像序列的第r帧图像中经过归一化处理的第2个脸部表情特征值T<sub>2</sub>′,……,以此类推,f<sub>rθ</sub>为该表情图像序列的第r帧图像中经过归一化处理的第θ个脸部表情特征值T<sub>θ</sub>′;第1.5步:对于一个情感视频,使用矩阵M来表示其脸部表情特征,M=[V<sub>1</sub>,V<sub>2</sub>,……,V<sub>m</sub>]∈R<sup>θ×m</sup>;第2步:将表情特征向量转换成表情离散观察变量;全部表情图像序列中各帧图像的表情特征向量的个数用符号NUM<sub>1</sub>表示,NUM<sub>1</sub>为表情图像序列的个数与m的乘积;依次为每一个表情特征向量从1到NUM<sub>1</sub>编号,用U<sub>g</sub>表示第g个表情特征向量,1≤g≤NUM<sub>1</sub>;使用聚类算法对全部NUM<sub>1</sub>个表情特征向量进行聚类,得到m<sub>1</sub>个类别,m<sub>1</sub>为人为设定的正整数,m<sub>1</sub>≥10;对聚类后得到的m<sub>1</sub>个类别分别编号为1、2、……、m<sub>1</sub>;使用表情特征向量U<sub>g</sub>对应的聚类后的类别编号作为该表情特征向量U<sub>g</sub>对应的表情离散观察变量;第3步:对于一个情感视频,使用其脸部表情特征矩阵M中的表情特征向量V<sub>r</sub>对应的表情离散观察变量组成的序列作为该情感视频的表情离散观察变量序列;所述得到音频离散观察变量序列的具体步骤为:步骤1:从每个情感视频中提取语音情感特征,具体为:步骤1.1:从每个情感视频中以等间隔的方式提取p个音频帧组成一条音频序列;p=a×m,a=2或3;步骤1.2:依次从每条音频序列的各音频帧中提取λ个音频特征值,分别用F<sub>1</sub>~F<sub>λ</sub>表示,λ≥4;所述音频特征值包括但不限于:信号强度;短时过零率;基音频率;共振峰频率;线性预测倒谱系数;线谱对参数;Mel频率倒谱系数;感知线性预测倒谱系数;步骤1.3:对所有音频帧的音频特征值F<sub>1</sub>~F<sub>λ</sub>进行归一化处理,具体为:步骤1.3.1:找出与待处理音频帧为同一发声人物的所有中性情感的音频序列;所述待处理音频帧为当前等待做归一化处理的音频帧;步骤1.3.2:分别计算经过步骤1.3.1处理后得到的与待处理音频帧为同一发声人物的所有中性情感的音频序列中各音频帧的音频特征值F<sub>1</sub>的均值、F<sub>2</sub>的均值、……、F<sub>λ</sub>的均值,分别用<img file="FDA0000504057920000021.GIF" wi="46" he="78" />至<img file="FDA0000504057920000022.GIF" wi="64" he="78" />表示;步骤1.3.3:用<img file="FDA0000504057920000031.GIF" wi="62" he="79" />对待处理音频帧的音频特征值F<sub>1</sub>进行归一化处理,归一化处理后的音频特征值F<sub>1</sub>用符号F<sub>1</sub>′表示,<img file="FDA0000504057920000032.GIF" wi="256" he="83" />用<img file="FDA0000504057920000033.GIF" wi="56" he="79" />对待处理音频帧的音频特征值F<sub>2</sub>进行归一化处理,归一化处理后的音频特征值F<sub>2</sub>用符号F<sub>2</sub>′表示,<img file="FDA0000504057920000034.GIF" wi="272" he="83" />……;以此类推,用<img file="FDA0000504057920000035.GIF" wi="65" he="78" />对待处理音频帧的音频特征值F<sub>λ</sub>进行归一化处理,归一化处理后的音频特征值F<sub>λ</sub>用符号F<sub>λ</sub>′表示,<img file="FDA0000504057920000036.GIF" wi="284" he="83" />步骤1.4:获得每个音频序列中各音频帧的音频特征向量,用V<sub>t</sub>′表示,1≤t≤p;一个音频序列中的第t帧音频帧的音频特征向量V<sub>t</sub>′由经过归一化处理后的λ个特征值组成,V<sub>t</sub>′=[f<sub>t1</sub>′,f<sub>t2</sub>′,……,f<sub>tλ</sub>′]<sup>T</sup>,f<sub>t1</sub>′为该音频序列的第t帧音频帧中经过归一化处理的第1个音频特征值F<sub>1</sub>′,f<sub>t2</sub>′为该音频序列的第t帧音频帧中经过归一化处理的第2个音频特征值F<sub>2</sub>′,……,以此类推,f<sub>tλ</sub>′为该音频序列的第t帧音频帧中经过归一化处理的第λ个音频特征值F<sub>λ</sub>′;步骤1.5:对于一个情感视频,使用矩阵M′来表示其语音情感特征,M′=[V<sub>1</sub>′,V<sub>2</sub>′,……,V<sub>p</sub>′]∈R<sup>λ×p</sup>;步骤2:将音频特征向量转换成音频离散观察变量;全部音频序列中各音频帧的音频特征向量的个数用符号NUM<sub>2</sub>表示,NUM<sub>2</sub>为音频序列的个数与p的乘积;依次为每一个音频特征向量从1到NUM<sub>2</sub>编号,用U′<sub>g′</sub>表示第g′个音频特征向量,1≤g′≤NUM<sub>2</sub>;使用聚类算法对全部NUM<sub>2</sub>个音频特征向量进行聚类,得到m<sub>2</sub>个类别,m<sub>2</sub>为人为设定的正整数,m<sub>2</sub>≥15;对聚类后得到的m<sub>2</sub>个类别分别编号为1、2、……、m<sub>2</sub>;使用音频特征向量U′<sub>g′</sub>对应的聚类后的类别编码作为该音频特征向量U′<sub>g′</sub>对应的音频离散观察变量;步骤3:对于一个情感视频,使用其语音情感特征矩阵M′中的音频特征向量V<sub>t</sub>′对应的音频离散观察变量组成的序列作为该情感视频的音频离散观察变量序列;步骤二、建立BOLTZMANN拉链;此步骤可以与步骤一同步操作:Boltzmann拉链由2个分量BOLTZMANN链互联而成,2条分量BOLTZMANN链的采样时间尺度不同,其中1条分量BOLTZMANN链的采样时间间隔是另外一条分量BOLTZMANN链的采样时间间隔的a倍,a=2或3;采样时间间隔短的分量BOLTZMANN链被称为快链;采样时间间隔长的分量BOLTZMANN链被称为慢链;慢链对应m个采样时间点;对应每个采样时间点,慢链中的可见节点的数量为m<sub>1</sub>个,隐节点的数量为m<sub>1</sub>′个,5≤m<sub>1</sub>′≤30;快链对应p个采样时间点;对应每个采样时间点,快链中的可见节点的数量为m<sub>2</sub>个,隐节点的数量为m<sub>2</sub>′个,5≤m<sub>2</sub>′≤30;所述Boltzmann拉链中的所有可见节点和隐节点的数量用N表示,N=(m<sub>1</sub>+m<sub>1</sub>′)×m+(m<sub>2</sub>+m<sub>2</sub>′)×p;依次为Boltzmann拉链中的所有可见节点和隐节点从1到N编号;用Wi<sub>j</sub>表示第i个节点和第j个节点之间的网络权值,1≤i,j≤N,i≠j;步骤三、训练BOLTZMANN拉链;步骤一和步骤二操作的基础上,针对每一种情感训练一个Boltzmann拉链;每一种情感的训练数据称为一个训练样本集,训练样本集中的每一个训练样本经过步骤一的处理后得到一个表情离散观察变量序列和一个音频离散观察变量序列;每个Boltzmann拉链的训练过程为:使用表情离散观察变量序列初始化Boltzmann拉链中慢链的可见节点的状态值,慢链的隐节点状态值随机给定;使用音频离散观察变量序列初始化Boltzmann拉链中快链的可见节点的状态值,快链的隐节点状态值随机给定,然后对所述BOLTZMANN拉链进行训练,确定BOLTZMANN拉链的网络权值W<sub>ij</sub>;所述识别过程是使用经过训练过程的操作后得到的多个BOLTZMANN拉链对待识别情感视频中的人的情感进行识别,其具体操作步骤为:步骤四、对待识别情感视频进行预处理,得到待识别情感视频的表情离散观察变量序列和音频离散观察变量序列;所述得到待识别情感视频的表情离散观察变量序列的具体步骤与训练过程的步骤一中所述得到表情离散观察变量序列的具体步骤为一致;所述得到待识别情感视频的音频离散观察变量序列的具体步骤与训练过程的步骤一中所述得到音频离散观察变量序列的具体步骤为一致;步骤五、依次使用待识别情感视频的表情离散观察变量序列和音频离散观察变量序列初始化训练过程得到的每一种情感的Boltzmann拉链的可见节点,隐节点的状态值随机给定,然后将Boltzmann拉链的可见节点箝位,对Boltzmann拉链执行确定性模拟退火算法,得到每一种情感的Boltzmann拉链的最优构型;步骤六、判断待识别情感视频的情感类别;在步骤五的基础上,用公式(8)依次计算待识别情感视频在每一种情感的Boltzmann拉链下的后验概率,后验概率最大的Boltzmann拉链对应的情感即为待识别情感视频所属的情感类别;<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>P</mi><mo>=</mo><mfrac><msup><mi>e</mi><mrow><mo>-</mo><msub><mi>E</mi><mi>&gamma;</mi></msub><mo>/</mo><msub><mi>T</mi><mi>&beta;</mi></msub></mrow></msup><mrow><mi>Z</mi><mrow><mo>(</mo><msub><mi>T</mi><mi>&beta;</mi></msub><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000504057920000051.GIF" wi="1899" he="179" /></maths>其中,P为后验概率;γ表示经过步骤五的操作后得到的可见节点箝位状态下Boltzmann拉链的最优构型;E<sub>γ</sub>为经过步骤五的操作后得到的可见节点箝位状态下Boltzmann拉链最优构型的能量,将该Boltzmann拉链的网络权值以及经过步骤五的操作后得到的可见节点箝位状态下该Boltzmann拉链最优构型的各节点的状态值代入能量函数即可得到,能量函数如公式(9)所示;T<sub>β</sub>为步骤五中Boltzmann拉链执行确定性模拟退火算法后得到的最低温度;Z(T<sub>β</sub>)是分配函数,如公式(10)所示;<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>E</mi><mo>=</mo><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><munder><mi>&Sigma;</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></munder><msub><mi>W</mi><mi>ij</mi></msub><msub><mi>S</mi><mi>i</mi></msub><msub><mi>S</mi><mi>j</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000504057920000052.GIF" wi="1880" he="150" /></maths>其中,W<sub>ij</sub>表示第i个节点和第j个节点之间的网络权值,1≤i,j≤N,i≠j;S<sub>i</sub>表示可见节点箝位状态下的Boltzmann拉链的最优构型中,第i个节点的状态值;S<sub>j</sub>表示可见节点箝位状态下的Boltzmann拉链的最优构型中,第j个节点的状态值;<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>Z</mi><mrow><mo>(</mo><msub><mi>T</mi><mi>&beta;</mi></msub><mo>)</mo></mrow><mo>=</mo><munder><mi>&Sigma;</mi><msup><mi>&gamma;</mi><mo>&prime;</mo></msup></munder><msup><mi>e</mi><mrow><mo>-</mo><msub><mi>E</mi><msup><mi>&gamma;</mi><mo>&prime;</mo></msup></msub><mo>/</mo><msub><mi>T</mi><mi>&beta;</mi></msub></mrow></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000504057920000053.GIF" wi="1904" he="140" /></maths>其中,γ′表示Boltzmann拉链的某一种构型;E<sub>γ′</sub>为Boltzmann拉链某一种构型的能量,将该Boltzmann拉链的网络权值及该构型的各节点的状态值代入公式(9)即可得到。
地址 100081 北京市海淀区中关村南大街5号