根据本文题目中Image Quality Assessment可知,本文的研究方向是图像质量评价,也就是给定一张图片,输出它的质量分数(或其他的评价标准,例如好坏等等)
根据数据集中未失真的图片(reference image)或与之相关的信息是否可利用,将该研究方向的任务分为三种:
- full-reference IQA(FR-IQA)
- reduced-reference IQA(RR-IQA)
- no-reference IQA(NR-IQA)
本文是针对第三小类的任务进行研究,做出了如下两个贡献:
- Learning from rankings
- 由于人类对图片的绝对评价是比较难获得的,而对两张图片孰好孰坏却是很容易产生。
- 因此本文提出从图片质量的相对比较中学到知识,具体来说也就是将原始图片用不同的失真方法结合不同的失真强度进行失真,这样得到大量不同程度失真的图片(rankings)。
- 对于同一张图片,由它产生出来的一系列失真图片的rank是已知的,也就是这些图片,谁的质量更好些我们都清楚。
- 如图所示,本文先对rankings进行学习,利用孪生网络(即两个相同的网络(网络可以是CNN、lstm等),共享权重)进行建模。
- pipeline是这样的,将rankings形成两两组合,传入孪生网络,然后得到高级特征(可以认为是quality score)进行比较,计算出loss,然后反向传播。
- loss则是利用了hinge loss,能够更容易准确地学习到rank,也就是大间隔分类损失。
- 由图片x1得到的质量分数y1,由图片x2得到的质量分数y2,若y1与y2的比较结果与它们的真实rank一致则损失为0,若不一致,真实情况下大于则损失为1,真实情况下小于则为-1,真实情况下等于则为0。
- 在模型训练好过后,只取孪生网络的一支(两支都一样,其实真实模型就是一支,不过当成两支来用)。
- 将IQA数据集传入模型,根据图片的真实分数进行回归,微调(fine-tune)模型的参数,loss采用MSE。
- Efficient backpropagation
- 在传统做法中,要从n张图片里产生出所有的图片对需要n(n-1)次操作(考虑顺序)。
- 而本文提出在网络的尾部再加能产生图片对的一层,实质是计算出该batch中所有图片的quality score,然后交叉计算出梯度,这样只需要n次操作。