图片美学评价

技术
背景

得物社区动态中有大量图片,那么是否有一种方式来衡量用户发布的图片质量如何呢?

图像质量和美学的量化一直是图像处理和计算机视觉中长期存在的问题,虽然技术质量评估涉及测量噪声、模糊、压缩伪像等低级退化,但美学评估量化了与图像中的情感和美感相关的语义级别特征。

大多数现有方法仅预测由AVA[1]和TID2013[2]等数据集提供的评分得分。

本文介绍一种我们在动态图片打标中用到的基于深度学习模型的方法[3],该方法与其他方法的区别在于我们使用卷积神经网络预测人类意见得分的分布,同时该方法在架构方面远比其他方案简单得多。

一、模型结构

picture.image

卷积神经网络(CNN)通常包含以下几种层:

  • 卷积层(Convolutional layer) ,卷积神经网路中每层卷积层由若干卷积单元组成,每个卷积单元的参数都是通过反向传播算法优化得到的。卷积运算的目的是提取输入的不同特征,第一层卷积层可能只能提取一些低级的特征如边缘、线条和角等层级,更多层的网络能从低级特征中迭代提取更复杂的特征。
  • 线性整流层(Rectified Linear Units layer, ReLU layer) ,这一层神经的活性化函数(Activation function)使用线性整流(Rectified Linear Units, ReLU)。
  • 池化层(Pooling layer) ,通常在卷积层之后会得到维度很大的特征,将特征切成几个区域,取其最大值或平均值,得到新的、维度较小的特征。
  • 全连接层( Fully-Connected layer) , 把所有局部特征结合变成全局特征,用来计算最后每一类的得分。

该方案的模型结构很简单,baseline网络用ImageNet预训练权重,将CNN的最后一层替换为具有10个神经元的全连接层,然后进行softmax激活,在训练的时候,将输入图像缩放为256×256,然后随机提取大小为224×224的裁剪块。

训练的目标是预测给定图像的评级分布而不是简单的评分。下面这幅图可以看出预测结果的直方图和真实直方图的比较。

picture.image

可以看出,该模型接近真实的预测了真实平均分数的分布。

二、损失函数

损失函数用来评价模型的预测值和真实值不一样的程度,损失函数越好,通常模型的性能越好。

不同的模型用的损失函数一般也不一样。

交叉熵损失函数是广泛应用在分类上的损失函数。

该损失可以表示为 picture.image

(其中psi表示第i个分数区间的估计概率),以最大化正确标签的预测概率。

但是它在有序类别上(例如美学和质量评估),交叉熵没有办法体现出得分之间的内部关系。

有人可能会争辩说,有序类可以用实数表示,因此可以通过回归框架来学习。然而,[4]已经证明,对于有序类,分类框架可以胜过回归模型[4],[4]表明,对类之间具有内在排序的数据集进行训练可以从基于EMD损失中受益,这些损失函数根据类别距离惩罚错误类。

对于图像质量等级,类本身按s1<...<sN排序,类之间的r-norm距离定义为||si - sj||r,其中1<=ij<=N

EMD定义为将一个分布的质量移动到另一个分布的最小成本。

给定真实和估计的概率质量函数ppicture.image,具有N个有序类别的距离||si - sj||r,归一化的EMD距离可以表示为以下公式:

picture.image

其中,picture.image是预测的概率,p是真实的概率,N是有序类别的个数(即10)。

CDFp(k)是picture.image

设置γ为2来惩罚CDFs之间的欧氏距离,同时也有利于进行梯度下降的优化。

keras实现EMD的代码:

def earth_movers_distance(y_true, y_pred):                     
    cdf_true = K.cumsum(y_true, axis=-1)
    cdf_pred = K.cumsum(y_pred, axis=-1)
    emd = K.sqrt(K.mean(K.square(cdf_true - cdf_pred), axis=-1))
    return K.mean(emd)
三、数据集

我们采用了AVA数据集(美感视觉分析的大规模数据集),图片来自DPChallenge.com的250000张图,包括美学标注、66类语义标签和14类风格标签。标注人员由专业的图像工作者、摄影师、摄影爱好者组成;每张图的投票数量为78~549,平均为210个,投票分值为[0, 10],值越高则图片质量越高,数据集中有很多非真实的摄影图,以及后期处理过的图,AVA中分数超过5分占多数。

四、实验与效果

本文介绍的CNN使用TensorFlow 实现。通过ImageNet上的训练初始化基准CNN权重,并随机初始化最后一个全连接层。

权重和偏差动量设置为0.9,并且在基准网络的最后一层上应用比例为0.75的dropout。基线CNN层和最后全连接层的学习率分别设置为3x10-7和3x10-6。

我们观察到,当使用随机梯度下降时,在基准CNN层上设置低学习率导致更容易和更快的优化。

此外,在每10个训练周期之后,对所有学习率应用具有衰减因子0.95的指数衰减。

可以使用预测的平均分数可以实现对照片进行打分,图片打分的结果如下图所示(左侧的数值表示模型预测的评分,右侧的数值表示真实评分)。

下图的结果表明,除了图像内容之外,诸如色调,对比度和照片构图之类的其他因素是重要的美学品质。

picture.image

下图展示了同一张图片在不同类型和级别的失真下该模型的效果,通过比较真实分数和预测分数,表明该模型可以准确地对图片进行打分。

picture.image

下表简单展示了该模型在我们社区图片上的效果。图片清晰且构图优美的图片获得高的分数,图片模糊且构图较差的评分相对较低。

picture.image

五、参考

[1]N. Murray, L. Marchesotti, and F. Perronnin, “AVA: A large-scale database for aesthetic visual analysis,” in Computer Vision and Pattern Recognition (CVPR), 2012 IEEE Conference on. IEEE, 2012, pp. 2408– 2415. 1, 2, 3, 7, 8, 9, 10

[2]N. Ponomarenko, O. Ieremeiev, V. Lukin, K. Egiazarian, L. Jin, J. Astola, B. Vozel, K. Chehdi, M. Carli, F. Battisti et al., “Color image database TID2013: Peculiarities and preliminary results,” in Visual Information Processing (EUVIP), 2013 4th European Workshop on. IEEE, 2013, pp. 106–111. 1, 2, 3, 4, 7, 8, 9, 10

[3]https://arxiv.org/abs/1709.05424

[4]L. Hou, C.-P. Yu, and D. Samaras, “Squared earth mover’s distance- based loss for training deep neural networks,” arXiv preprint arXiv:1611.05916, 2016. 2, 6

[5]https://github.com/idealo/image-quality-assessment

文|饭希

65
0
0
0
关于作者
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论