参考目录:
- 0 综述
- 1 related work
- 1 细节
- 1.1 FR-IQA
- 1.2 NR-IQA
- 2 总结
- 论文名称:"Deep Neural Networks for No-Reference and Full-Reference Image Quality Assessment"
- 论文链接:https://arxiv.org/pdf/1612.01697.pdf
0 综述
这一篇文章和上一篇的rank-IQA感觉都是不错的处理NR-IQA任务的框架,让我们好好学一学这一篇文章中的精髓。
1 related work
这一篇文章的related work列举了很多之前的NR-IQA的模型:
- DIIVINE:先识别图像失真的类型,然后选择对应类型的回归模型得到具体质量分数;
- BRISQUE:利用非对称广义高斯分布在空间域对图像进行建模,模型特征是空间邻域的差值;
- NIQE:利用多元高斯模型提取特征,然后利用无监督的方法把他们和质量分布结合起来;
- FRIQUEE:把人工提取的特征图输入到4层的深度置信网络中,输出特征向量,利用SVM分类;
- CORNIA:最先使用纯数据驱动解决NR-IQA问题的模型之一,使用k-mean聚类处理亮度和对比度被标准化的图片patch,然后从数据中抽取软编码距离来预测质量分数;
- BIECOM:第一步用标准话的图片patch经过CNN估计出一个本地质量分数(这个模型是使用现有的FR数据集预训练),然后在把分数的均值和方差作为特征回顾分数;
不说了,看了半天很多都是很老的人工特征的方法,不太行不太行。
1 细节
1.1 FR-IQA
论文中也是使用了和上一篇文章rank-IQA一样的模型,孪生网络saimese net,论文中先提出了FR-IQA的模型框架:
在这个框架中,图片是被patch称32x32的大小,然后feature extractor使用的是VGG19,包含5个maxpool层,也就是说,经过features extractor后,特征会变成(512,1,1)这样的shape。
之前有读者提出哪里可以看到之前孪生网络的文章,我这里直接放上链接方便大家查阅:
孪生网络入门(下) Siamese Net分类服装MNIST数据集(pytorch)
孪生网络入门(上) Siamese Net及其损失函数
对于FR-IQA问题,reference patch和distorted patch经过feature extractor得到两个512的向量,然后在fusion阶段使用concat拼接在一起,除了这两个,还把两个特征向量的差值也一同拼接进来,显式的把两个特征的区别也作为特征了,总之是这个样子的:
在fusion features vector后面有两个部分,一个是回归,一个是weights;关于如何从很多的patches中得到整个图片的质量分数,作者给出了两个方法: 这个patch是从图像中无重叠的采样
- 简单的平均。
对于这种平均的方法,所有patch对于整个图片的影响是相同的,所以损失函数也定位MAE:
- 加权平均。如上图的结构,对特征进行融合之后,进行回归,输出一个patch的质量分数之后,还要在另外一个分支输出这个patch在整个图片中的权重分数。权重参数保证是大于0的。
1.2 NR-IQA
就是单纯的把reference去掉,然后不做特征融合。
2 总结
这是一种利用CNN来处理质量评估的一个基本框架和思路。作为入门学习是比较好的一个框架。