CV-笔记-图像质量评价Image quality assessment IQA简介

目录

    • 1 简介
    • 2 基于深度学习的图像质量评价
    • 2.1 直接利用回归
      • 2.1.1 RankIQA
    • 2.2 利用伪参考图像
      • 2.2.1 RAN4IQA
      • 2.2.2 Hallucinated-IQA
    • 3 总结
    • 4 参考

2019年10月10日

1 简介

图像质量评价(Image quality assessment,IQA)按照是否有参考图像可以分为三种:1. 有参IQA,2.半参IQA,3. 无参IQA。

有参图像质量评价虽然效果很好,但是前提是要有一个参考图像,也就是说一张质量好的图像作为参考,然后给评价的图像进行打分,而且参考图像和被打分的图像是要同一个图。但是在某些场景下参考图像是比较难获得的。

在测试图像压缩、图像传输效果时候或许可以有一个原始图像作为参考,然后测试被压缩或被传输后的图像知道。但是在很多场景是无法获得参考图像的,例如你拍摄一张图像,如果你没有拍摄一个绝对清晰的图像,那就无法拿到参考图像。比还有一些实时的场景下我们是不好获得参考图像的。

所以这时候无参图像质量评价就出来了。

2 基于深度学习的图像质量评价

废话不多说直接进入正题,这里我们主要讨论利用深度学习来解决图像质量评价问题。传统方法可以自行谷歌。

在我看来基于深度学习的图像质量评价主要有两种:

  1. 直接利用回归,输入为图像,输出为质量评价分数。那么训练数据集就是 图像和label。
  2. 利用伪参考图像,然后将待评价图像和伪参考图像一起输入到回归网络中,输出质量评价分数。那么训练数据要包含:待评价图像、参考图像和label。注:伪参考图像这个说法是我自己想的。

接下来对这两种基于深度学习的方法进行简单介绍,并且附上论文。

2.1 直接利用回归

直接利用回归进行质量评价。这个思路比较简单,就是我们输入一张待评价图像然后输出的是一个值(score)。

网络就可以设计为一个卷积神经网络,例如我们可以选用VGG网络进行回归。

但是由于图像质量评价的数据往往难以获得,且存在很大的主观性,所以说数据量是不大的。所以Xialei Liu等人就提出了RankIQA来解决数据量小的问题。

2.1.1 RankIQA

别看名字这么玄乎,其实本身思想其实很简单,就是利用迁移学习。那么从哪里迁移网络参数呢?是从参数共享的网络得到。这个参数共享又不能说是孪生网络(注:论文中说是孪生网络),因为这个网络不像孪生网络一样有连接在一块,所以应该只能算是参数共享的网络

首先构建两个参数共享的网络,这时候将两张图分别从两个网络输入,网络输出的是一个质量评价分数,这时候我们是知道两张输入图像哪张好哪张坏的,所以这时候就可以比较两个网络输出的质量评价分数来进行计算loss。如果输出的质量评价分数的大小关系和实际一样,那么就不计算loss。


那么输入的图像是哪里来的呢?是我们自己构造的,利用高斯核对图像进行模糊,这样我们就可以生成一组不同模糊程度的图像。因为我们不知道模糊程度该打几分,所以在训练参数共享网络的时候,loss是通过比较两个网络的数据来进行计算的,而不是和传统的一样计算均方差。

LOSS:
CV-笔记-图像质量评价Image quality assessment IQA简介_第1张图片
这里有个假设,就是x1是大于x2的,所以从这个公式1的Loss公式可以看出,当网络输出x1大于x2时不计算loss,反之则计算一个loss。

最后,由于我们自己生成了许多可以指定图像质量相对好坏的数据,所以可以训练更深的网络,克服了一部分数据量的问题。然后利用在人工标注的groundtruth上进行finetune(微调)得到最终的回归网络(质量评价网络)。

总结:数据上只需要图像和对应的质量分数,网络相对简单。利用了迁移学习和很聪明的学习技巧和损失函数

2.2 利用伪参考图像

为什么我说这个是伪参考图像,因为这里面训练的时候是需要参考图像的,并且网络会生成一个假的参考图像,这个参考图像是通过网络对质量差的图像修复得到,例如一种模糊图像,然后由网络对其进行修复生成一张清晰的图像。然后利用这个清晰的图像作为参考图像对图像进行质量评价。

这里介绍两篇文章:RAN4IQA和Hallucinated-IQA,这两篇文章都是这样的思路,都是利用GAN(对抗生成网络)修复质量差的图像,然后将得到的修复后的图像(伪参考图像)作为参考图像对待评价图像进行打分。

所以这两个网络可以分解成三部分:伪参考图像评价网络 = GAN + 评价网络 = 修复网络(生成网络)+ 判别网络 + 评价网络

其实我们可以发现,当我们抛开评价网络,剩下的GAN就成了一个图像修复网络了

再说一下这两个网络的区别:

  • RAN4IQA是将修复后的图像和待参考图像输入到孪生网络中去回归得到分数。当然这里是基于patch的,所以还会有一个patch的权重,最后将所有patch的权重加权平均得到最后整张图像的分数。
  • Hallucinated-IQA是将差值图像(修复后的和待评价图像相减后得到的图)和待参考图像输入到一个双输入网络中,回归得到一个分数。并且使用了修复网络的下采样输出的特征。

2.2.1 RAN4IQA

CV-笔记-图像质量评价Image quality assessment IQA简介_第2张图片

2.2.2 Hallucinated-IQA

CV-笔记-图像质量评价Image quality assessment IQA简介_第3张图片

3 总结

当有参考图像的时候可以训练一个伪参考图像网络,当没有参考图像的时候可以训练一个RankIQA网络。

4 参考

  • Hallucinated-IQA: No-Reference Image Quality Assessment via Adversarial Learning
  • RAN4IQA: Restorative Adversarial Nets for No-Reference Image Quality Assessment
  • RankIQA: Learning from Rankings for No-reference Image Quality Assessment

你可能感兴趣的:(机器视觉,论文,深度学习,IQA,图像质量评价,学习排序,RankIQA)