Theme-Aware Aesthetic Distribution Prediction With Full-Resolution Photographs

该论文发表在IEEE TRANSACTIONS ON NEURAL NETWORKS AND LEARNING SYSTEMS, VOL.XX, NO.XX, JANUARY, 2021,CCF B评级

1.Introducation

为了解决统一的输入尺寸约束和真实世界图像的不同尺寸之间的冲突,

本文通过在以填充图像为输入的网络中应用RoM池化,开发了一种名为PRP的新方法。

1.这种方法使我们能够利用填充来保持统一的图像大小,同时消除其副作用。这是AQA中第一个支持端到端批处理的方法。

2.提出了一种SA模块来弥补RoM池化层中形状信息丢失的问题。对原始图像纵横比进行编码,并与视觉特征进行融合,使模型适应不同的图像形状。

3.我们发现,在没有主题信息的AVA数据集中对图像进行评价是不准确的,因为存在主题准则偏差。一个主题感知模块被提出来解决这个问题。对主题进行编码,并结合视觉特征,更准确地预测美学质量。

4.我们提出了一个基于注意力机制的融合模块,将包括形状特征主题特征在内的额外特征与图像特征进行融合。该模块有效地挖掘了不同特征之间的关系。

A.Photo Aesthetic Quality Assessment

尽管这些基于DNNs的工作已经取得了很大的进展,但它们仍然受到固定输入大小问题的困扰

因此,研究人员提出了解决这一问题的方法。一些工作[ 11 ]、[ 12 ]、[ 40 ]、[ 45 ]提出从原始图像中裁剪出多个固定大小的图斑,并将这些图斑提取的特征进行聚合来预测美学质量

Ma等人[ 12 ]提出根据一些基于人类感知的标准来选择补丁;因此,斑块可以更具有代表性。Sheng等人[ 46 ]提出了一种基于注意力的方法,动态地学习不同块的权重,而不是根据预定义的标准来选择块

另一些工作则试图保持输入图像的纵横比;他们采用FCN [ 13 ]或SPP [ 14 ]从任意网络输入生成固定大小的特征[ 16 ],[ 15 ],[ 47 ],[ 17 ]。为了适应更好地在固定输入上运行的深度学习工具,一些人使用多尺寸训练作为近似,但只考虑了1.0和1.5的纵横比[ 15 ],[ 17 ]。Apostolidis等人[ 16 ]进行了批大小为1的实验,以便可以接受任何输入大小。然而,该方法的性能甚至不如图像变换方法,可能是由于训练过程不稳定造成的。Hosu等人[ 26 ]从ImageNet预训练的模型中提取特征,无需微调;因此,他们可以在一个两阶段的训练过程中使用原始照片。Chen等人[ 48 ]提出了一种不同的思想,即使用分数步幅的卷积来适应扭曲的输入。

B.Pooling Methods and Multisize Feature Extraction Methods

池化在降低计算复杂度方面起着至关重要的作用。在最初的池化方法实现中,步长和核大小都是人工固定的

即池化输入大小和输出大小之间的比例是固定的。He等人[ 14 ]指出这样的性质使得网络不灵活,因为全连接层只能接受固定大小的输入。SPP的设计目的是使池化层能够从任意输入中生成固定大小的特征,并且它还可以提取多尺度信息。这是通过使用自适应池化核和步长来实现的。具体来说,池化尺寸是手动固定的,池化步长和内核尺寸定义为输入尺寸和固定池化尺寸之间的比值。为了将SPP融入到网络中,提出了两种方法。一种使用多尺寸端到端训练策略,具有两个预定义尺寸224和180。另一种采用两阶段训练框架,不需要对主干CNN进行微调,使得图像不需要调整大小。

在传统池化和SPP中,池化都应用于整个输入特征图。也就是说,池化核的移动范围固定为整个输入。然而,在目标检测任务中,一个物体只占据图像区域的一部分。为了仅从目标区域提取特征而丢弃其他特征,RoI池化在[ 18 ]中被提出。RoI池化能够从任意大小和位置的区域中提取固定大小的特征。这意味着可以根据不同的RoI自适应地修改核的移动范围、核的大小和步长。为了校正量化误差,文献[ 52 ]将RoI池化改进为RoI对齐。这种增强显著提高了小目标的检测性能。RoI池化(对齐)变成了st模型[ 53 ],[ 54 ],[ 55 ] . SPP和RoI池化都可以使网络接受任意大小的输入图像。为了实现这一目标,去除全连接层和仅使用卷积层也是一种解决方案。这种网络被命名为FCN,最初被用于解决语义分割任务[ 13 ]。

SPP和RoI池化都可以使网络接受任意大小的输入图像。为了实现这一目标,去除全连接层和仅使用卷积层也是一种解决方案。这种网络被命名为FCN,最初被用于解决语义分割任务

3.Method

A. RoM Pooling on Padded Full-Resolution Images

具体来说,我们将数据集中的所有图像填充到相同的尺寸。不管图像是如何填充的,所以我们使用最直接的方法,即沿着底部和右侧边界垫零。经过填充后,输入图像变成两个区域的空间可分离的组合:一个区域被填充为0的填充值,另一个区域是原始图像。原始图像的区域称为RoM,其空间坐标范围为(0,0 )到( w , h),其中w和h分别为原始图像宽度和高度。

然后将填充后的图像送入网络,并通过一些卷积层进行处理。将RoM对应映射到特征图上。因此,RoM池化层的输入特征图也成为填充区域和图像区域( RoM )在空间上可分离的组合。RoM池化层将RoM中的特征池化到手动定义的大小,并将RoM外的特征丢弃。因此,池化后的特征具有相同的大小,并且去除了填充引入的额外信息。形式上,RoM池化的输出位置( b , c , m , n)处的特征给出如下。

在我们的实现中,我们直接使用文献[ 23 ]中提出的多传感头注意力,并将头数设置为8。由于查询特征长度ft为1,因此不需要进行位置嵌入。注意力层将视觉特征的空间维度变为1,可以看作是一种特殊的全局池化层,根据额外的特征对不同的空间位置赋予不同的权重。该模块挖掘了额外特征与图像空间特征之间的关系。因此,更有效地利用了额外的特征。

B.Encoding Shape Information

将连续的纵横比离散化,并将离散值转化为独热码。然后使用两个全连接层从one - hot编码中提取形状特征。最后,将形状特征与视觉特征进行融合,对美学质量进行预测

C.Theme-aware AQA

我们将AVA数据集中的1,397个不同主题转化为one - hot编码,并使用两个全连接层来提取主题特征

D. Attention-Based Feature Fusion

将RoM得到的视觉特征和形状特征和主题特征融合。基于注意力机制的特征融合,利用两个注意力层分别用于处理形状特征和主题特征,另外利用全局平均池化层来直接池化视觉特征。最终得到3个特征,包括形状引导的视觉特征、主题引导的视觉特征和纯视觉特征。将这3个特征相加作为融合输出。

额外的特征被视为查询Q,扁平化的视觉特征被用作键值K和值V。注意力层的架构如图6所示,其中ft和fi分别为额外特征和扁平化的视觉特征。我们直接使用文献[ 23 ]中提出的多传感头注意力,并将头数设置为8。由于查询特征的长度ft为1,因此不需要进行位置嵌入。注意力层将视觉特征的空间维度变为1,可以看作是一种特殊的全局池化层,根据额外的特征对不同的空间位置赋予不同的权重。

4.Experiment

我们选择Inception-V3[ 9 ]作为我们的骨干网络,这与之前的工作[ 28 ],[ 29 ],[ 26 ]相同。在Inception-V3中插入RoM池化层来代替原来的第一个池化层。我们的模型以填充图像作为输入。这与最初的Inception-V3不同,它将所有的输入大小调整为299 × 299。因此,RoM池化的大小需要进行相应的修改。RoM池化大小是一个超参数,没有简单的方法来寻找最优解。

因此,我们根据一些经验线索来选择池化规模。我们的主要考虑是保持第一个池化尺寸与原始图像尺寸之间的比例与原始Inception-V3的比例相似。然而,对于不同的图像,其大小可能是不同的。因此,我们选择AVA数据集中比较常见的600大小的图像作为基准。因此,RoM池化尺寸( wout , hout)是通过将基准尺寸600与原始Inception-V3中相应的比率73/299相乘得到的,

wout = hout = 600 × 73/299 ≈ 146,

73为原始Inception-V3中第1个池化层的池化大小,299为Inception-V3的输入大小。

在训练阶段,通过对所有预定义质量分数的投票数进行归一化处理,计算训练图像xi的真实感美学分布pi。

pi k = vi k ∑K k=1 vi k ,

其中vi k为质量分数k的投票数,K为最大质量分数。在我们的模型得到预测的美学分布Δ pi后,我们使用分布之间的地球自转距离( EMD ) [ 28 ]作为损失函数。EMD损失基于累积分布密度,当分布有序时效果较好。

Implementation Details

我们的所有模型都在ImageNet上进行预训练以加速收敛,并在相应的数据集上进行微调。使用动量为0.9,权重衰减为0.0001的SGD优化器对网络进行训练。学习率每10个epoch除以2,模型训练40个epochs。我们将卷积层的初始学习率设置为4 × 10 - 3;而对于随机初始化的层,学习率要大10倍。我们测试了两种类型的填充实现,并得到了几乎相同的性能。

Ablation Study

第一个基线模型将图像缩放到相同大小,由于我们的方法使用了全分辨率图像,为了公平比较,我们将所有图像尺寸调整为800 × 800,这是AVA数据集中最大的图像尺寸。

第二个基线模型使用填充变换。我们将所有的图像填充到800 × 800。在缩放基线和填充基线中,为了消除其他因素的影响,我们使用与全模型实验相同的数据增强方法和特征图尺寸(第一个池化层的输出大小)。随机裁剪固定大小块的第三条基线,由于大小的原因,需要与图像缩放相结合裁剪后的图像块不能大于数据集中的最小图像尺寸。然而,AVA的最小尺寸仅为160 × 160。

5.Conclusion

该论文工作的缺点:

1.我们的方法在偏态分布上效果很差

该模型不能预测不常见的分布。这两种分布都是非高斯的,且都有异常值。在第一幅图像中,投票得9分的人数太少。对于第二幅图像,许多用户投票得分为1。它们都是AVA数据集中的非典型分布,如Gamma分布[ 10 ]。这可能是模型不能很好地评估它们的原因。

2.首先,BERT码在不同主题之间具有较低的区分性。第二,我们的模型不能有效地利用BERT码中的语义信息。我们认为BERT码中的语义信息是有价值的。我们将在未来的工作中进一步研究这种编码方法。

6.Personal Thinking

SPP(spatial pyramid pooling)金字塔池化

一般而言,对于一个CNN模型,可以将其分为两个部分:

  1. 前面包含卷积层、激活函数层、池化层的特征提取网络,下称CNN_Pre
  2. 后面的全连接网络,下称CNN_Post

许多CNN模型都对输入的图片大小有要求,实际上CNN_Pre对输入的图片没有要求,可以简单认为其将图片缩小了固定的倍数,而CNN_Post对输入的维度有要求,简而言之,限制输入CNN模型的图片尺寸是为了迁就CNN_Post。

SPP是为了解决,无论CNN_Pre输出的feature maps尺寸是怎样,都能输出固定的维度传给CNN_Post。

Rol Pooling

是一种针对于特征图的一种特殊pooling操作,特点是输入的特征图尺寸不固定,但是输出特征图尺寸固定。可以看成是特殊的SPP。

Rol Pooling最初被提出是在目标检测任务中,在目标检测中提取的候选框中,’候选框(proposal)’的大小是不一样的,所以映射到feature map上的矩阵大小也是不一样的。我们需要将‘候选框’映射到特征图上所产生的的矩阵通过一些操作产生shape相同的vector or matrix,因此使用Rol Pooling的方法。

Example:

(考虑一个8*8大小的feature map,一个ROI,以及输出大小为2*2.):

1.输入的固定大小的feature map

2.region proposal 投影在feature map上的位置

3.将其划分为(22)个sections(因为输出大小为22),我们可以得到:

4.对每个section做max pooling,可以得到:

注意力机制(Attention mechanism)

1.单头注意力

最初注意力机制的提出,是在Transformer中,参考论文Attention is All You Need。

输入是query和 key-value,注意力机制首先计算query与每个key的关联性(compatibility),每个关联性作为每个value的权重(weight),各个权重与value的乘积相加得到输出。

Example:

厨房里有苹果、青菜、西红柿、玛瑙筷子、朱砂碗,每个物品都有一个key( dk维向量)和value( dv维向量)。现在有一个“红色”的query( dq维向量),注意力机制首先计算“红色”的query与苹果的key、青菜的key、西红柿的key、玛瑙筷子的key、朱砂碗的key的关联性,再计算得到每个物品对应的权重,最终输出 =(苹果的权重x苹果的value + 青菜的权重x青菜的value + 西红柿的权重x西红柿的value + 玛瑙筷子的权重x玛瑙筷子的value + 朱砂碗的权重x朱砂碗的value)。

最终输出包含了每个物品的信息,由于苹果、西红柿的权重较大(因为与“红色”关联性更大),因此最终输出受到苹果、西红柿的value的影响更大。

2.多头注意力

上述只求一次注意力的过程可以叫做单头注意力。多头注意力就是对同样的Q, K, V求多次注意力,得到多个不同的output,再把这些不同的output连接起来得到最终的output

不同头部的output就是从不同层面(representation subspace)考虑关联性而得到的输出。

例如,以“红色”为query,第一个头部(从食物层面考虑)得到的output受到苹果、西红柿的value的影响更大;第二个头部(从餐具层面考虑)得到的output受到玛瑙筷子、朱砂碗的value的影响更大。相比单头注意力,多头注意力可以考虑到更多层面的信息。

3.自注意力(self-attention)

当注意力的query和key、value全部来自于同一堆东西时,就称为自注意力。

例如,厨房里有苹果、青菜、西红柿、玛瑙筷子、朱砂碗,每个物品都会计算得到一个query( dq 维向量),以及一个key( dk维向量)和value( dv维向量)。“苹果”的query与苹果、青菜、西红柿、玛瑙筷子、朱砂碗的key和value做注意力,得到最终输出。其他物品的query也如此操作。这样,输入5个物品,有5个query,得到5个输出,相当于将这5个物品换了一种表示形式,而这新的表示形式(得到的输出)每个都是是考虑了所有物品的信息的。

reference:

注意力机制


觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭



wechat pay



alipay

Theme-Aware Aesthetic Distribution Prediction With Full-Resolution Photographs
http://yuting0907.github.io/2023/09/19/paper-Theme-Aware-Aesthetic-Distribution-Prediction-With-Full-Resolution-Photographs/
作者
Echo Yu
发布于
2023年9月19日
许可协议