面部表情交互识别方法研究

2021-02-28 06:20刘秋实赵长宽
小型微型计算机系统 2021年10期
关键词:共情准确率卷积

刘秋实,赵长宽,张 昱,陈 默,于 戈

(东北大学 计算机科学与工程学院,沈阳 110169)

1 引 言

一直以来,基于视觉的人类行为识别是一个非常活跃的研究领域,在人类行为识别中,双人交互行为识别是一个重要组成部分[1].目前,双人交互行为识别的研究在智慧教育、智能安防、视频监控领域中有很大的应用前景,尤其是多种神经网络模型的提出,推动了深度学习技术在双人交互行为识别上的应用[2].

瑞士IDIAP研究院提出了社交信号处理网络[3],能够获得大量有关个体的情感、意图及社会关系的社交信息.该研究表明,多种非语言行为都可以作为表达人的情感、意图的社交信号.在人与人之间的互动中,大量的信息是通过人与人之间说话的方式、面部表情、手势和其他方式[4].美国著名心理学家Albert Mehrabian研究发现[5],面部表情在感情交流中占有约55%的重要性,因此表情在人们的交流互动中占有举足轻重的地位.

目前,双人交互行为识别方法重点关注人的身体行为(如握手、拥抱、斗殴等)所引起的交互活动,对面部表情引起的交互问题研究的很少.另一方面,为满足人机交互的需求,表情识别技术经过几十年发展,取得了显著成果.但是,这方面的研究主要是针对个人的表情识别,没有考虑表情交互问题.

因此,本文尝试将表情识别和交互行为识别两个概念联系起来,以将发生在可以相互影响两方或者多方之间的表情序列作为表情交互的研究对象.

本文将表情交互识别问题定义为,从给定的视频序列中分离出特定的表情交互序列,通过分类学习,判别交互双方的人际关系行为模式.人际关系是指人与人之间通过交往与相互作用而形成的直接的心理关系,人际行为是指人际关系在行为上的表现,具有反应性和雷同性等特征,反应性是指一方的行为会引起另一方的行为,雷同性是指个体的人际行为具有很大的相似性.鉴于人际行为具有雷同性,可把人际行为分为若干类型,即有若干种人际关系行为模式[6].

数据集由标签和数据两部分组成.其中数据为典型场景下关键帧表情构成的表情交互序列,目前最常使用的表情划分形式包括愤怒,厌恶,恐惧,幸福,悲伤,惊奇和中立7个基本类别[7].虽然人脸表情识别研究已经有了很大进展,但传统的特征提取和分类方法对于复杂多变的环境考虑不足,削弱了表情识别的适用性[8],在现实生活中不受约束的自动面部表情识别遇到了多种挑战,例如遮挡、光照变化、头部运动以及受试者的年龄、性别、肤色和文化差异[9],考虑到表情交互序列对表情识别准确率的要求较高,本文采用人工方法,进行表情识别,保证表情数据的准确性.标签为社会心理学领域普遍认同的8种代表性的人际关系行为模式[10],本文按照标签对每一个数据样本进行人工标注.

人类的情感反应不可避免地受到他人的影响.例如,在电影《霸王别姬》中,菊仙看着程蝶衣因饱受毒瘾折磨而痛苦不堪时会抱着他失声痛哭,局外的观众看此场景,也忍不住泪目,这就是一种共情现象.共情是从他人的参照系中理解或感受他人经历的能力,即将自己置于他人位置的能力[11],共情作为人类社会行为的一个显著特征,可以作为衡量双方交互的一个重要手段.因此,本文引用共情这一概念,将情感计算融入到识别模型中.为了对共情程度进行量化,本文定义了参数值e作为其量化值.

本文提出的算法流程图如图1所示,其中表情交互序列是由交互双方A、B的表情序列叠加而得到的,除此之外,参数值e也作为特征值输入从而改善模型效果.

图1 面部表情交互行为识别算法流程图

本文的贡献主要有以下方面:

1)提出了基于视觉的表情交互识别问题,将表情交互行为和人际关系行为模式这两种概念相关联,为解决双人交互识别问题提供了新的思路.

2)建立了基于神经网络的3种识别模型.分别采用全连接神经网络(FCN)、卷积神经网络(CNN)、长短期记忆网络(LSTM),利用采集的双人交互数据进行训练,通过输入表情交互序列,可判断出双方当前的具体人际关系行为模式.

3)引入共情这一概念,提出对其进行量化的方法,将其量化值融入到神经网络模型中,进一步提高识别的准确率.

4)在实际数据集上进行了对比性能实验,结果表明,本方法具有较高的识别准确率.

2 相关工作

目前关于表情交互行为的研究很少,但深度学习在表情识别、行为分析、情感计算等相关领域已经取得了很多成果,可以为后续工作提供借鉴.

在表情识别领域中,深度学习的快速发展促使研究人员利用深度神经网络开发面部表情识别(FER)系统.近几年来,研究人员为提高表情识别效率及降低特殊场景下表情识别的失误率提出了各种新颖的表情识别模型和算法.Kai Wang等人[12]提出了一种简单而有效的自修复网络(SCN),它能有效地抑制不确定性,防止深度网络对不确定的人脸图像进行过拟合.Huiyuan Yang等人[13]针对人脸表情可以分为中立部分和表情部分的假设提出一种新颖的残余表情识别算法(DeRL)从而缓和个体特征对面部表情的影响.Chieh-Ming Kuo等人[14]提出了一个精简的FER模型,在性能不降低的条件下还能够有效减少参数量提高效率.

面部表情行为是人类众多表达行为的一种,虽然FER可以取得很好的效果,但多种模态(语音、文字)的结合可以互补信息,进一步增强模型的鲁棒性.S Poria等人[15]开发了一个基于LSTM的神经网络模型,从视频的话语中提取上下文特征,用于多模态情感分析.此外Hazarika等人[16]提出的CMN模型,Navonil Majumder等人[17]提出的DialogueRNN模型均在多模态情感数据集IEMOCAP上表现出了很好的效果.相比于传统方法,神经网络在对数据进行情感特征提取时表现出了一定的优越性.

在行为分析领域中,随着大规模骨架数据集变得可用,基于骨架的人体动作识别受到了越来越多的关注,Chao Li[18]提出了一种端到端的共现特征学习框架,其使用了CNN来自动地从骨架序列中学习分层的共现特征;Sijie Yan[19]提出基于骨架的动作识别的时空图卷积网络(ST-GCN);Chenyang Si[20]等人提出了一种新的注意力增强图卷积LSTM网络(AGC-LSTM),用于从骨架数据中识别人体动作.随着单人行为分析模型的不断提出,双人交互行为识别技术也受到了关注,X.Ji[21]等人考虑到RGB图像和深度图像各自的优点以及信息互补的特点,提出了一种多源信息融合算法对双人交互行为进行识别.但其研究对象主要是身体交互行为,不同于本文的表情交互行为.

3 数据准备

3.1 数据与标签定义

输入数据集定义为S={s1,s2,s3,…,sn},其中,n为样本数,si为第i个样本的表情交互序列,si={t1,t2,t3,…,tm},m为时间片数,tj为第j个时间片下交互双方的表情交互序列.其中tj=tAj+tBj,tAj、tBj分别为交互双方A、B在第j个时间片下的表情.

通常,将肉眼可识别的人类面部表情称为“宏表情”,其持续时间一般在0.5s-4s之间[22],易于被人察觉和识别.考虑到人的反应时间和记录时间,规定3s记录一个“宏表情”,因此在建立数据集时,将时间片长度设定为3s,同时将7种基本表情及其序列号进行映射,如表1所示.

表1 表情与序列号关系

设R为实数域,则根据One-hot编码,tj的表示形式为tj∈R1×7矩阵,si的表示形式为si∈Rm×7.

本文在8种典型人际关系行为模式基础上,根据实际情况扩展两个其他类型.标签定义为Y={y1,y2,y3,…,yn}.根据One-hot编码,标签yi的表现形式为yi∈R1×10.

10种模式如表2所示,尽管8种标签适用于绝大部分场景.我们发现仍有小部分场景需要其他类型的标签,主要有:1)8种标签不能包含的其他类别,但其仍属于人际关系行为模式,例如,由一方的兴致勃勃导致另一方的挖苦甚至愤怒,或者由一方的伤心难过导致另一方的兴奋甚至嘲笑;2)不可识别的类型.在这类场景中一方行为未能明显影响或改变另一方行为,交互双方情感色彩过于平淡,比如交互双方一问一答,并未流露过多情感,因此这一类别不属于人际关系行为模式.

表2 标签与序列号关系

3.2 时间窗口范围设定

在日常生活中,人与人之间的交互往往不受时长限制,但在课题研究中,由于人力有限,且视频时长愈长,所耗费的人工采集时间愈长,因此本文只基于时长较短的交互视频片段进行处理,同时我们提出以下要求:1)视频反映内容需要贴近日常生活,具有普适性.2)视频中两人发生交流,且有表情互动.3)所有视频片段时长相同.

时间窗口即视频时长,本文共采集50个满足上述要求60s的视频片段,但60s未必是最佳时间窗口,最佳时间窗口不宜过长也不宜过短,若过长则不利于人工标签,且很有可能出现前后标签不一致的情况.但时长过短也不科学,仅仅几秒钟的视频片段不足以反应出二者交互状态.对此我们进行了一次粗略调查,首先采集50个满足上述要求60s的视频,然后从大学生中随机采访5个普通人,每人对其中的10段视频进行观察,并分别记录他们在观察10段视频过程中判定标签的最短识别时间和最长维持时间,表3记录了5人A、B、C、D、E对于10段视频的标签最短识别时间均值和最长维持时间均值,同时对于5个人的标签识别时间均值和标签持续时间均值再次求平均值.

表3 标签识别时间及标签维持时间记录表

调查显示,对于一段60s的双人交互视频,通常在17.3s左右,人们可以给视频打出一个较为合理的标签,而对于该标签,其维持的时间大约在31.5s左右,超过一定时长,标签有很大概率将会发生改变,因此时间窗口设定在15s-30s范围内.

3.3 共情的度量方法

共情即人类识别他人的感受能力,研究表明人类识别他人感受的能力与一个人的模仿能力有关,并且似乎是基于一种天生的能力,这种能力将一个人看到的另一个身体动作和面部表情与自己产生相应的动作或表情的本体感受相关联[23].

因此本文将交互双方的表情相似度作为共情的度量参数e.相似度的计算通常采用欧氏距离,但距离和共情程度应当是负相关的关系,即距离越大,共情程度越低.

同时对于双人表情交互场景,需要考虑一些实际问题,比如,在得知一方情绪低落时,另一方的第一反应通常是先询问对方,倾听对方的讲述,其次才是安慰对方,替对方感到难过,情感产生共鸣并不是一瞬间的事情,持续时间也并不固定,考虑到倾听时间、反应时间等因素,在进行进行表情相似度计算时,不再直接使用欧式距离.

因此,本文采用动态时间规整算法(DTW算法)[24],该算法在计算距离前需要完成模板匹配,然后基于这一路径,再计算相应的距离.动态时间规整算法在语音识别领域中得到了广泛应用,由于在语音识别中人的语速不同,导致发音长短不一,时间长度不同,虽然在本文中,交互双方的时间序列长度相同,但要考虑到时间的延迟.现设定sA、sB分别为交互双方A、B的表情交互序列,sA={tA1,tA2,tA3,…tAm},sB={tB1,tB2,tB3,…tBm},其中m为时间序列数,同时构造矩阵D∈Rm×m,D′∈Rm×m.

D(i,j)=d(tAi,tBj)

(1)

D′(i,j)=D(i,j)+min{D(i,j-1),

D(i-1,j),D(i-1,j-1)}

(2)

其中d(tAi,tBj)表示tAi与tBj的欧氏距离.则D(i,j)为欧氏距离向量中对应的元素值,D′(i,j)为累计距离向量中对应的元素值.按照公式(2)从(0,0)开始匹配两个序列,直至到达终点D′(-1,-1),终点所求得的累计距离即是最终的共情量化值e,且e∈R1.

4 识别模型

本节共介绍3种识别模型.第1种识别模型采用全连接神经网络(FCN),该模型结构简单,但没有考虑数据内各个元素之间的关系;第2种识别模型采用卷积神经网络(CNN),该模型在图片处理方面具有出色的表现,其优势在于紧密联系图片内各个像素的位置,本文的数据具有特征和时间两个维度,其结构类似于图片,适用于卷积神经网络;第3种识别模型采用长短期记忆(LSTM)神经网络,作为循环神经网络(RNN)的变种,该模型最擅长处理序列化结构数据,同时考虑到了数据在时间维度上的长期依赖性,符合本文采集数据的特点.

4.1 全连接神经网络模型

全连接神经网络(FCN)仅包含一层全连接层,数据通过全连接层后直接完成分类,其中权重矩阵和偏置的设计仅与输入数据元素的数目和输出数据元素的数目有关,不考虑其具体形状.若输入矩阵si∈Rm×7输出pi∈R1×10,则权重w和偏置b的表现形式分别为w∈R7m×10,b∈R1×10.

4.2 卷积神经网络模型

第2种识别模型采用卷积神经网络(CNN),其特点在于隐藏层可划分为卷积层和池化层.

4.2.1 卷积层

由于表情交互序列具有一定的时间连续性,因此卷积核需要提取表情在时间维度上的特征,输入数据si∈Rm×7,其中m为时间序列数,卷积核大小设定为3×1,即对前一时间片、当前时间片及后一时间片的特征进行提取,同时为了对数据的观察更加仔细,卷积核步长设定为1,数目设定为16.基于TensorFlow的API具有一旦零填充,输出大小和输入大小一致的特点,因此经过卷积层后输出的大小为f(s)∈Rm×7×16.

4.2.2 池化层

经过卷积层处理后,数据仍需要通过池化层,进一步完成特征提取,其目的是去掉不重要的特征值从而减少参数数量.本文采用最大池化层(max pooling),其大小设定为2×1,相应地,2个维度的步长分别取值为2、1,因此经过池化层后,数据的元素数目可缩减为原来的1/2.最终数据通过全连接层完成分类.

4.3 长短期记忆神经网络模型

长短期记忆(LSTM)神经网络是一种特殊的循环神经网络(RNN),擅长处理序列化结构的数据的同时又具有更强大的记忆功能.本文的表情交互序列si={t1,t2,t3,…,tm},则输入矩阵xt可表示为tj∈R1×7,相应地,cell数目与时间片数目相同等于m,同时LSTM网络通过遗忘门ft、输入门it、输出门ot选择性地筛选数据,完成对cell状态Ct的不断更新,最后一个时间片下的ht即为LSTM层的输出.经过LSTM层后,数据再通过全连接层完成分类.

ft=σ(Wf[ht-1,xt]+bf)

(3)

it=σ(Wi[ht-1,xt]+bi)

(4)

(5)

(6)

ot=σ(Wo[ht-1,xt]+bo)

(7)

ht=ot×tanh(Ct)

(8)

4.4 输出结果

初始分类后的预测结果为p1,引入参数值e后得到的预测结果为p2,可定义为公式(9)和公式(10).其中w为权重.

p1=f(wT(s))

(9)

(10)

5 实验评价

本实验采用安装一颗Intel(R)Core(TM)i5-5200U CPU处理器和4GB内存的笔记本电脑,操作系统是64位Windows 7,深度学习框架为Tensorflow(版本号为1.2.1),编程语言为Python(版本号3.6.8).

5.1 实验数据

由于时间窗口设定为15s-30s范围内,因此根据3.2节提出的视频要求,我们人工采集了1000个时长30s的视频片段,且视频片段的前15s、18s、21s、24s、27s、30s依次作为不同时间窗口下的数据集,视频主要来源于电视剧:《都挺好》、《超级翁婿》、《独生子女的婆婆妈妈》.

5.2 实验结果

5.2.1 不同时间窗口测试准确率比较

根据调查显示,合理的时间窗口在15s-30s范围内.同时由于每隔3s应当记录一次两人交互表情,则相应的时间序列数m={5,6,7,8,9,10}.为了寻找其中最合适的时间窗口值,需要基于每个时间窗口的表情交互序列进行训练,并测试相应的准确率.本文基于3种神经网络分别进行测试.对于不同时间窗口,准确率如表4所示.

表4 3种经网络下不同时间窗口的数据测试准确率记录表

通过表4,可以看出时间窗口为27s时,基于3种模型进行训练并测试的准确率最高,因此设定27s为最佳时间窗口,此时交互双方表情序列长度为9,在之后实验中均将27s的表情交互序列作为研究对象.

整体来看,LSTM神经网络模型效果要好于全连接神经网络模型和卷积神经网络模型(如图2所示),这是因为LSTM相比CNN具有记忆的能力,其最大的优势在于每一时间步的输出都考虑到之前所有的输入,CNN神经网络模型中的卷积核虽然也可以提取数据在时间维度上的特征,但其大小是固定的,且并未考虑数据在时间维度上的长期依赖性.在最佳时间窗口下,准确率最高可以达到74.1%,这说明表情交互可以在一定程度上反应出人际关系行为模式.

5.2.2 共情量化值的比较

本文通过DTW算法统计出各个标签下共情量化值e的均值.

通过表5可以看出在各种标签下,交互双方的共情量化值具有明显差异,且共情量化值与共情程度是负相关的关系.在人际关系行为模式中,标签5(表2标签5)的共情程度最低.标签3(表2标签3)的共情程度最高.除此之外,自定义的其他两类标签(表2标签9、表2标签10),共情程度也有明显差异,标签9的共情程度较低,标签10的共情程度较高,事实上在这一类别中,由于双方表情均过于平淡,其表情相似度很高,因此共情程度反而很高,但由于其不属于人际关系行为模式,因此即使共情程度很高也不能说明二者情感产生强烈共鸣,但其仍然可以作为反应标签的特征值.

表5 各标签下表情序列距离平均值

5.2.3 对比实验

除深度学习模型之外,本文还采用了传统的机器学习模型对最佳时间窗口下的数据进行训练并测试,结果如图2所示.

图2 6类模型测试准确率

本文采用十折交叉验证技术对模型效果进行评估,通过结果可以看出,朴素贝叶斯模型(NBS)对于表情交互序列数据的识别效果要好于K近邻模型(KNN)和决策树模型(DT),这主要是由于朴素贝叶斯算法的健壮性比较好,但其准确率仍然低于基于深度学习的神经网络模型.分析其原因,是由于本文采集的表情交互序列数据在时间维度上是存在相关性的,而传统的机器学习模型忽略了特征之间的相关性,这也证明了深度学习网络模型的优越性.

此外通过DTW算法,对于每个样本,都可以求得一个共情量化值e,本文将其引入并作为特征值进行训练.

对于27s的表情交互序列,本文用十折交叉验证技术对3种神经网络模型分别进行评估,并将其与引入共情量化值e前的测试结果进行对比,结果如图3所示.其中β代指未引入共情量化值e,γ代指引入共情量化值.

图3 3类神经网络模型测试准确率

可以看到,相比于之前的结果,准确率有所提高.因此证明共情量化值在某种程度上与人际关系行为模式存在着一定的联系,同时可以起到改进模型的效果.

此外本文还统计了3类神经网络模型在其中一次测试中的混淆矩阵.如图4-图6所示.总体来看,3类模型在个别标签下表现效果不好,比如标签1,标签4,其原因是数据量过少,即属于当前类别下的训练集和测试集数目有限,因此分类效果不好,对比来看,LSTM网络模型分类效果略好于卷积神经网络和全连接神经网络模型,但其并非在所有标签下召回率都达到最高值,因此模型结构仍有待改进.

图4 FCN混淆矩阵图5 CNN混淆矩阵图6 LSTM混淆矩阵Fig.4 FCN confusion matrixFig.5 CNN confusion matrixFig.6 LSTM confusion matrix

6 结束语

本文提出将深度学习技术应用到表情交互行为的识别上,对表情交互给出了定义,即发生在相互影响两方或者更多方之间的表情序列,之后,进行了数据的采集,并通过运用深度学习开发平台TensorFlow构建了3种神经网络算法的模型,对数据进行了测试,测试准确率最高可以达到75.2%.因此,可以采取识别表情交互行为的方式判断二者当前的人际关系行为模式.

本文的研究虽然取得了一定的进展,但仍然存在一些问题,本文的模型结构仍有待改进,在数据方面,表情是人工进行识别的,后期可采用准确率可匹配人工识别准确率的表情识别算法,节省工作量,基于扩充数据集,可进一步提高识别的准确率.另一方面,双方在交互过程中,不仅面部表情会影响情感交流,头部的运动,手势的变化都在交流中起到了至关重要的作用,因此,综合应用面部表情、头部运动和手势变化等多模态数据的交互行为研究是未来的重要方向.

猜你喜欢
共情准确率卷积
基于全卷积神经网络的猪背膘厚快速准确测定
共情疲劳
发现高潜人才:共情与谦卑
基于图像处理与卷积神经网络的零件识别
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
多层螺旋CT技术诊断急性阑尾炎的效果及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察