概念与背景:
图像质量评价(IQA),顾名思义就是对图像进行质量好坏的评定。分为主观评价(人作为参与者直接打分)和客观评价(利用模型来打分)。主观评价费时费力,IQA领域的数据集制作过程就是主观评价,其中的失真图标签过程需要大量志愿者对一系列失真图片进行精确打分(比如DMOS,[0-100],数值越大代表质量越差),这样的过程就注定了IQA数据集不可能做的太大。不像ImageNet数据集的标签只需要标明飞机啊狗啊的类别,可以做到百万级别。IQA领域最大的数据集目前也就LIVEC,才1162个样本。
另,客观IQA要分类的话,你要打分的失真图如果有无失真版本做参照,就叫全参考IQA. 没有参考图,只有失真图,需要打分的话就叫无参考IQA(NR-IQA). 当然这个应用范围更广一些啦。还有个中间的部分参考IQA, 没太关注过。
早期做NR-IQA的方法:
最开始人们用传统方法解决IQA问题,先手动提取图像特征(NSS之类的),然后用SVR建立特征与分值之间的映射关系模型。
后来CNN在其他图像领域诸如图像识别上有了很大的发展,促使人们开始想法子将CNN用到IQA任务中来。
基于CNN做NR-IQA最大的难题:
数据集太小!小!小!因为想要训练好一个神经网络,海量训练样本是必须的。CNN里有句话说的好:
“It's not who has the best algorithm that wins. It's who has the most data.”
...这可怎么办?数据集完全做不大,对寥寥几张打分也就罢了,对海量图片精确打分,志愿者们早疯了。
那小小IQA数据集还要被划分成80%和20%,分别用来训练和测试网络,真是怎么想怎么不够啊。这可是要过拟合的,网络都不敢太深的设计啊。
数据集不足的解决办法:
难道因为数据集不足就停下脚步吗,不。大家想了各种方法来解决问题,非要用CNN不可。
解决数据集不足这个大问题,第一个方向是