主题列表:juejin, github, smartblue, cyanosis, channing-cyan, fancy, hydrogen, condensed-night-purple, greenwillow, v-green, vue-pro, healer-readable, mk-cute, jzman, geek-black, awesome-green, qklhk-chocolate

贡献主题:https://github.com/xitu/juejin-markdown-themes

theme: juejin
highlight:

文章来自:同作者微信公众号【机器学习炼丹术】~

0 综述

这一篇文章和上一篇的rank-IQA感觉都是不错的处理NR-IQA任务的框架,让我们好好学一学这一篇文章中的精髓。

这一篇文章的related work列举了很多之前的NR-IQA的模型:

  • 【18】
    • DIIVINE:先识别图像失真的类型,然后选择对应类型的回归模型得到具体质量分数;
  • 【20】
    • BRISQUE:利用非对称广义高斯分布在空间域对图像进行建模,模型特征是空间邻域的差值;
  • 【21】
    • NIQE:利用多元高斯模型提取特征,然后利用无监督的方法把他们和质量分布结合起来;
  • 【22】
    • FRIQUEE:把人工提取的特征图输入到4层的深度置信网络中,输出特征向量,利用SVM分类;
  • 【24】
    • CORNIA:最先使用纯数据驱动解决NR-IQA问题的模型之一,使用k-mean聚类处理亮度和对比度被标准化的图片patch,然后从数据中抽取软编码距离来预测质量分数;
  • 【28】
    • 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。

对于FR-IQA问题,reference patch和distorted patch经过feature extractor得到两个512的向量,然后在fusion阶段使用concat拼接在一起,除了这两个,还把两个特征向量的差值也一同拼接进来,显式的把两个特征的区别也作为特征了,总之是这个样子的:\(concat(f_r,f_d,f_r-f_d)\)

在fusion features vector后面有两个部分,一个是回归,一个是weights;关于如何从很多的patches中得到整个图片的质量分数,作者给出了两个方法: 这个patch是从图像中无重叠的采样

  1. 简单的平均。

对于这种平均的方法,所有patch对于整个图片的影响是相同的,所以损失函数也定位MAE:

  1. 加权平均。
    如上图的结构,对特征进行融合之后,进行回归,输出一个patch的质量分数之后,还要在另外一个分支输出这个patch在整个图片中的权重分数。权重参数保证是大于0的。

1.2 NR-IQA


就是单纯的把reference去掉,然后不做特征融合。

2 总结

这是一种利用CNN来处理质量评估的一个基本框架和思路。作为入门学习是比较好的一个框架。