徐晶晶,张俊升,李腾腾,祝汉城,谢 涛,余 伟
(1.中国矿业大学 信息与控制工程学院,江苏 徐州 221116;2.成都理工大学工程技术学院 电子信息与计算机工程系,四川 乐山 614000)
情感计算的概念是由Picard提出的,他在《Affective Computing》一书中给出了情感计算的定义,即情感计算是指与情感相关、来源于情感或能够对情感施加影响的计算[1]。情感计算具有很多潜在的广泛应用,比如情感图像检索[2]、美学质量评价[3]、数据挖掘[4]和评论助手[5]等方面。
早期针对图像的情感计算主要是利用颜色[6]、纹理[7,8]和形状[9,10]等低层次特征进行图像情感分析,但是这些低层次特征描述图像所蕴含的高层次的情感特征的能力十分有限。随着卷积神经网络(convolutional neural network, CNN)在提取图像高层次特征能力的凸显,越来越多的基于卷积神经网络的图像情感计算方法被提出。
目前,基于卷积神经网络的情感计算方法对图像情感区域的研究甚少,大多从图像的情感分类任务进行研究的,且研究任务单一,没有考虑到图像的情感区域和情感分类之间的相关性。图像激发情感的区域和激发的情感类别是相关的,图像情感区域是局部的,图像情感的类别是由观看者观看图像的局部区域而激发的,因此,图像的情感区域检测和图像的情感分类在情感计算中都具有重要的意义。考虑到图像的情感区域检测和图像的情感分类任务的相关性,受到多任务学习思想的启发,本文设计了一种基于多任务深度神经网络的模型检测图像的情感区域。
近年来,与情感相关的话题在计算机视觉领域受到越来越多的学者关注,尤其是图像的情感分类,但是对于图像的情感区域问题的研究较少。如You等[11]为解决在大规模且有噪声的数据集上训练的问题,采用逐步训练的策略对网络架构进行微调,提出了用于视觉情感分析的渐进卷积神经网络(progressive CNN, PCNN);Wu等[12]基于情感的形容词-名词对(adjective-noun pairs, ANP)的标签提出了一种增强CNN模型来提高情感分类性能。然而上述方法均是通过图像的全局信息来对图像传达的情感进行建模的,图像的全局信息中包含的与情感无关的冗余信息大大增加了情感计算的工作量,所以有学者提出从图像的局部情感注意力区域进行分析与研究。
针对图像局部区域的分析与研究。Zhu等[13]使用弱监督网络生成局部区域预测性格特征;You等[14]使用注意力模型来学习图像局部区域与视觉情感之间的对应关系,然而,由于视觉属性检测器的性能较差,无法准确检测图像的情感区域;Yang等[15]使用弱监督的方法生成情感区域来监督情感的分类,虽然情感分类效果有提升,但是对于情感区域检测的准确率不高,这是因为在模型训练过程中很少考虑到多个因素对图像情感的影响,这样容易造成模型的过拟合,不能达到很好的泛化能力。
尽管上述方法在情感计算方面的研究都取得了一定的效果,但是大多数都是基于图像情感的分类研究的,没有考虑到图像情感区域检测的重要性。通常情况下,观看者观看图像时的注意力会集中在图像的局部区域而不是整体区域。图1为选自EmotionROI数据集[16]中的3幅图像以及对应的情感注意力区域,图像的情感区域是由15位用户进行手工标注合成的。由图可知,人们对图像的注意力往往在局部区域。因此,在视觉情感分析中,研究图像的情感区域检测方法对图像情感计算具有重要意义。
图1 EmotionROI情感库图像
图像的情感区域与图像的显著性区域以及物体区域之间有着密切的关系,图像的显著性区域和物体区域往往是图像中突出的物体,虽然情感区域中也包含着图像中的显著物体,但是情感区域更多关注的是物体与物体之间的联系和更高层次的语义信息。
图2为图像以及对应的情感区域、显著性检测[17]区域和物体检测[18]区域。图2(c)中的显著性检测区域主要集中在狗的身体部分,而图2(d)中的物体检测区域主要集中在狗的头部,图2(c)和图2(d)检测出的区域与情感区域图2(b)差异较大。
图2 图像以及对应的情感区域、显著性检测区域和物体检测区域的对比
由图2可知,图像的情感区域包含了图像中的显著物体,但是除此之外,情感区域还包含物体周围的一些场景信息,因此仅通过图像的显著性检测和物体检测方法不能准确得到图像的情感区域。
为了更加准确检测图像的情感区域,本文设计了一种基于多任务的深度神经网络来检测图像的情感区域。多任务网络结构是由情感区域检测网络和情感分类网络两部分组成,本节将详细介绍这两个网络的结构。基于多任务深度神经网络结构如图3所示。
图3 基于深度学习的多任务网络结构
如图3所示,本文提出的多任务网络的共享层为 VGG-16 网络[19]结构,但是省略了最后的池化层和全连接层。共享层初始化使用的权重是在ImageNet[20]数据集上预训练得到的。
情感区域检测网络采用编码-解码的网络结构,解码器的网络结构与编码器相同,并且解码器和编码器在结构上是对称的。编码器部分为共享层的结构,网络结构包含最大池化层减小特征图的大小;解码器部分使用上采样层,通过卷积滤波将减小的特征图恢复到与输入图像分辨率相同的大小。网络最后一层添加非线性的1×1的sigmoid激活层来生成情感区域映射,网络的最终输出是与输入图像大小相同的情感区域映射。
在图像情感区域检测网络训练时,损失函数定义在检测的情感区域图与其对应的情感区域标签之间,内容损失计算检测结果图与真实结果图之间的欧式距离,称为均方误差(MSE)定义为
(1)
(2)
在情感分类网络中,共享层的最后一层使用512个大小为3×3的卷积核生成512个通道的特征图,使用全局平均池化(global average pooling, GAP)输出维度为512的情感向量d, 然后将情感向量d送到全连接层(full connected layer, fc),并通过softmax分类器输出情感类别。
在图像的情感分类过程中,输入图像Xi以及对应的情感标签Yi需要计算输入图像的情感预测。softmax层可以解释为情感特征向量d到输出的情感类别中且分配一个相对应的概率分数s(yi=c|d,wc), 定义为
(3)
(4)
式中:I(x) 为指示函数,如果条件x为真,则I(x)=1, 否则为I(x)=0。
从图3可以看出,多任务网络有情感区域检测和情感分类两个输出。本文使用随机梯度下降法优化网络,同时训练情感区域检测网络和情感分类网络,提出的多任务网络模型损失函数为
L=LBCE+Lcls
(5)
式中:LBCE为情感区域网络的损失函数,Lcls为情感分类网络的损失函数。
本文方法的性能在EmotionROI数据集上进行评估,EmotionROI数据集共有1980幅图像,包含生气、厌恶、恐惧、愉快、悲伤和惊喜6种情感。数据集中70%的图像作为训练集,30%的图像作为测试集。
本文实验运行环境为Linux-Ubuntu16.04,python3.6,Theano 0.8.2,开发工具为Pycharm。输入图像的尺寸大小为224×224,选择Momentum的随机梯度下降法优化网络,Momentum设为0.5,学习率设为0.001,所有模型均训练100个Epoch。
平均绝对误差(MAE)是检测结果和真实结果之间的绝对误差的平均值定义为
(6)
查准率定义为被正确检测区域的像素与检测区域像素的比值,查全率定义为被正确检测区域的像素与情感区域中标记的区域像素的比值。F-measure根据查准率和查全率定义如下
(7)
分类准确率(Accuracy)为测试集中正确预测的情感类别的数目与总的测试集数目的比值。
为了验证本文提出的多任务网络的有效性,分别在图像情感区域检测的单任务网络和图像情感分类的单任务网络上进行与多任务网络相同的实验设置的训练。单任务情感区域检测网络训练时的损失函数为式(2)所示,单任务情感分类网络训练时的损失函数为式(4)所示。
3.2.1 情感区域检测结果
在EmotionROI测试集上将提出的多任务情感区域检测方法和单任务情感区域检测方法与显著性区域检测方法和物体区域检测方法进行比较分析。图4为不同算法检测结果的可视化图。图(a)为输入图像;图(b)为图像的情感区域标签;图(c)为多任务情感区域检测网络(MT)生成的情感区域图;图(d)为单任务情感区域检测网络(ST)生成的情感区域图;图(e)为显著性GBVS[21]方法生成的显著图;图(f)为物体检测方法RDLM[22]生成的物体区域图;图(g)为显著性SDSP[23]方法生成的显著图;图(h)为物体检测方法OBJ[15]生成的物体区域图;图(i)为显著性ITTI[24]方法生成的显著图;图(j)为显著性LARK[25]方法生成的显著图;图(k)为显著性AIM[26]方法生成的显著图;图(l)为显著性SR[27]方法生成的显著图;图(m)为显著性SUN[28]方法生成的显著图;图(n)为显著性FT[29]方法生成的显著图。从图中可以看出图(c)和图(d)的情感区域与情感区域标签图(b)最接近,多任务情感区域检测结果能准确表示真实的情感区域。
MAE为情感区域检测结果与情感区域标签图4(b)之间的平均绝对偏差,MAE越小,说明检测结果与真实结果越接近,算法的性能越好。从图4可以看出本文提出的多任务情感区域网络模型的测试结果图与情感区域真实结果图的MAE为0.045,单任务情感区域检测的结果图与情感区域真实结果图的MAE为0.062,均小于GBVS和RDLM等方法的测试结果。由以上分析可知,多任务情感区域检测网络的测试结果与真实情感区域结果最接近,多任务情感区域检测方法的性能优于单任务情感区域检测方法和显著性物体检测方法的性能。
图4 本文提出的算法在EmotionROI上的测试结果的情感区域
图5为本文提出的方法和显著性物体检测方法在EmotionROI数据集上测试的PR曲线图。从PR曲线中评价算法性能的好坏可以从平衡点的大小判断,平衡点是F1时的取值,平衡点值越大,说明算法性能越好。其中MT和ST为多任务情感区域检测方法和单任务情感区域检测方法;AIM、FT、GBVS、ITTI、LARK、SDSP、SR和SUN为显著性检测方法;OBJ和RDLM为物体检测方法。
图5 不同算法在EmotionROI数据库上测试的PR曲线图
从图5可以看出,MT算法、ST算法和GBVS算法的PR曲线值在这些方法中是最高的,MT算法平衡点值为0.85,ST算法和GBVS算法的平衡点分别为0.84和0.79。MT算法的平衡点值最大,这表明多任务情感区域检测方法的性能要优于单任务情感区域检测和显著性物体区域检测方法。
表1为本文提出的多任务方法与对比方法在EmotionROI测试集测试的F-measures分数,F-measures分数值越高表示算法性能越好。
由以上分析可知,对不同的评价指标,基于多任务的情感区域检测方法 MT的性能都是最好的。这表明本文提出的多任务情感区域检测方法的性能优于单任务的情感区域检测方法和显著性检测方法以及物体检测方法。
表1 不同算法的F-measures的结果
3.2.2 情感分类结果
为了评估提出的多任务情感分类网络的性能,在EmotionROI数据集上将提出的多任务情感分类方法(MTC)和单任务情感(STC)分类方法与现有的一些方法进行比较分析。EmotionROI数据集将情感分为生气、厌恶、恐惧、愉快、悲伤和惊喜6种情感。
表2为多任务情感分类方法和单任务情感分类方法与现有方法的分类准确率。其中MTC为多任务的情感分类方法,STC为单任务的情感分类方法。从表2中可以看出,准确率最高的3种算法分别为MTC、STC和DeepSentiBank,其中MTC算法的准确率最高为52.17%。
表2 不同情感分类方法准确率结果比较
由以上分析可知,基于多任务的情感分类网络的性能要优于单任务的情感分类网络,这也验证了本文提出的多任务网络的有效性,基于多任务情感区域检测网络和情感分类网络的性能相比较单任务的情感区域检测网络和情感分类网络都有所提高。
本文提出了一种基于多任务深度神经网络的情感区域检测方法,多任务网络包括情感区域检测网络和情感分类网络两部分,本文通过加入与情感区域相关的情感分类网络增加了网络共享层的泛化能力从而提高了情感区域网络的检测性能。实验结果表明,相比较单任务的图像情感区域检测方法、显著性检测方法和物体检测方法,本文提出的基于多任务深度神经网络的方法对图像的情感区域检测更准确,且情感分类网络的加入不仅提高了情感区域网络的性能,也提高了情感分类的准确率,基于多任务的情感分类网络的性能要优于单任务的情感分类网络的性能。