Blind image quality assessment via learnable attention-based pooling

摘要

如今大多数结构为双阶段结构,测量每个局部质量分数然后再通过全局平均池化,在该文中未采用该结构针对池化阶段提出了一个基于显著性的池化网络结构。方法的核心是引入了一种可以模拟人类视觉注意力的可学习池化结构,该结构由数据驱动。具体来说,APNet引入了注意力模块,该模块允许局部质量和局部权重的联合学习。当开始生成质量时,其可以自动学习部署视觉权重。除此之外在局部质量和权重之间引入了关联约束来正则化训练。该限制约束了吸引更多注意力的局部质量区域和总体质量分数相差很大的情况。

介绍

显著性和目标检测池化已经广泛的应用于IQA中,权重是由显著性和目标检测方法产生的,但是这种池化方式通常在失真图像中效果没有那么好,因为显著性和目标检测是在自然图像中使用的,这些图像是未失真的。APNet将注意力模型和分类网络融合,其能自动学习来部署视觉权重。其允许局部质量和局部权重的学习。在训练时局部质量预测和局部权重预测的关联约束被引入到APNet中,这样有助于训练。这种约束是用来约束吸引人类视觉的区域预测分数和总体的质量分数差别大的情况。
创新点

  • 实现了可学习的基于注意力的池化,这有助于提高IQA性能。
  • 引入了局部质量估计和局部权重之间的关联约束来正则化模型训练。
  • 基于显著性的池化模型是算法独立的,该方法可以用与其他的IQA算法上,并且提高算法性能。

基于注意力的可学习池化BIQA

可学习池化的基本原理
Blind image quality assessment via learnable attention-based pooling
X为特征映射图,X和w点乘得到图像局部分质量分数,所有的局部质量分数进行全局平均池化得到图像的质量分数。但是全局平均池化和人类已知的HVS不符,因为并不是图像的每个块都对人眼有相同的吸引,人眼总是针对特别的区域例如显著物体。最广泛的解决方法是采用显著性和或目标检测方法产生权重,但是这种方法对没失真的自然图像效果良好,对于失真图像效果就会变差。
因此在此基础上也提出了基于注意力的权重,简单来说就是在每个局部质量分数上添加了一个权重
Blind image quality assessment via learnable attention-based pooling
该权重是由数据驱动的不需要任何HVS的先验知识,除此之外,该权重是被部署到特征向量的感受野中,具体来说a是x特征在总体质量预测中的权重,a越大,代表x特征所占的比重越大,即吸引更多的视觉感知。在实现中发现仅仅使用质量分数回归无法很好的将和视觉注意机制对应良好的池化模型学习到。为了解决这种情况,提出了局部质量预测和局部权重之间关系的约束来帮助训练。这种关系约束不仅有助于性能的提高还能所学习的池化的可解释性。
该网络的结构图如下
Blind image quality assessment via learnable attention-based pooling
正则化训练的关系约束
Blind image quality assessment via learnable attention-based pooling
训练阶段的损失函数如上所示,但是仅仅使用分数回归损失无法学习到和人眼注意力一致的池化权重,因此加入了局部质量和局部分数之间的关系约束。由于视觉注意力和质量感知之间的关系,吸引视觉注意力的区域应该对总体的质量分数由更大的影响,也就是说这些区域的质量分数不应该和总体的质量分数相差太大,因此引入了正则化项
Blind image quality assessment via learnable attention-based pooling
最终的损失函数为
Blind image quality assessment via learnable attention-based pooling
向量回归的APNet
向量回归的基本定义为学习一个从特征到预定义的致信分数之间的映射。具体来说,Gu等人将连续的评分尺度划分为若干个质量区间,并设计了信念评分来隐式地测量由总体分配给这些区间的输入图像的概率,第k个质量区间的置信分数为
Blind image quality assessment via learnable attention-based pooling
在生成局部置信图时不是生成一个而是生成K个,最终的损失函数为
Blind image quality assessment via learnable attention-based pooling
在测试时采用下式计算图像分分数
Blind image quality assessment via learnable attention-based pooling
实施细节
网络结构:映射是采用小的网络微注意力模型实现的,其包括8个3x3x2048的卷积核和1个1x1x8的卷积核,卷积步长和padding均为1来保持空间分辨率。
使用向量回归来进行微调细节:首先使用向量回归微调resnet-50,输入图像大小为224x224x3,并且置信分数向量K为5,然后使用5维回归层来代替resnet的softmax层,使用SGD来训练网络,batch为8.
基于注意力的池化网络的训练细节:在使用向量回归微调网络后继续使用SGD来训练注意力网络模型。输入是384x384x3的图片来扩大特征图的大小,训练时的参数和微调时的参数相同,超参数设置为10。
训练数据的生成:通过对图像进行裁剪,得到224x224x3和384x384x3的图像块,给每一个图像块分配一个和原图像相同的质量分数,这样就可以计算置信分数。因为图像块已经足够大,因此这种数据增强方式可以被接受。