PCANet for Blind Image Quality Assessment
Abstract
本文介绍了一种简单的深度学习网络,即PCANet用于通用盲/无参考图像质量评估(NR-IQA)。无参考/盲图像质量评估(NR-IQA)的目标是设计一个能准确预测人眼视觉畸变图像质量的感知模型,其中特征提取是一个重要的问题。然而,对于大多数NR-IQA模型来说,其特征提取过程都是一种有监督的模型,而且这些特征通常是基于自然场景统计(NSS)或感知相关的,因此这些模型的性能有限。
本文提出了一种新的NR-IQA度量方法,该方法在无监督的情况下提取特征。一旦参数被赋予训练好的深网络,它就不需要任何人工修正就可以输出最终的结果。在实时数据集上的实验结果表明,该方法获得了最新的性能。
PCANet
包含三步骤:
1.PCA
2.二值哈希(二进制哈希,binary hashing)
3.分块直方图(基于块的直方图,block-wise histograms)
2.1 第一步:PCA(做两次,两个阶段)
假如我们的训练图片有 N 张,都是 mn 的。我们设定所有阶段的滤波器都是 k1k2 的。PCA滤波器需要从输入图片中得到。
对于每一个像素,我们都取一个 k1k2 的patch(重叠也无所谓),一共就是 mn 个patch。每个patch里的数都要减(小块内的)均值,得到处理后的mn个patch。然后我们每一张输入图片都这么处理一下,并且把这些patch展平后拼在一起,一共mnN个patch。拼在一起之后的尺寸是:
k1k2Nmn,它每个patch是展开的,每一列都是一个展开的patch,一共Nmn个列
对X做PCA,按特征值的大小取前L1个特征向量,把这L1个特征向量的每一列(每一列含有k1k2个元素)重排列为一个patch,相当于我们得到了L1个k1*k2的窗口,即L1个滤波器。
上面的W即为滤波器。然后就是对每一张图片,都用这L1个窗口做一次卷积。First stage到此结束。
这里一张输入图片卷积生成L1个结果。这是第一阶段。然后第二阶段和第一阶段一样,只不过用的是第一阶段的输入。
2.2 第二步:二值哈希
把上面得到的输出二值化,正值赋1,其他赋0。目前,我们手里得到的结果就是L1组被二值化了的图片,每组里有L2张图片。这L2张图片每一处对应的像素点组成了一个长度为L2的向量(由01组成的),把这一个由01组成的向量视为一个二进制编码转换成十进制,一个向量得到一个十进制数字,每一组的L2张图片都变成为1张图片,共L1张图片。
2.3 块直方图
这是直方图统计。论文中所描述的具体步骤是:先把这L1个图片中的每一个图片都分为B个块,然后对每一个块都进行直方图统计,然后得到B个直方图统计。再把这B个结果拼接起来,得到这个图片的结果。每个图片都这么做一次,最终拼接出来的结果就是最终得到的特征。
PCANET FOR NR-IQA
1. Local Normalization
对于测试图像,我们从局部亮度归一化处理
2. Feature extraction
1.PCA
2.二值哈希(二进制哈希,binary hashing)
3.分块直方图(基于块的直方图,block-wise histograms)
3. Regression
在PCANet中,采用线性支持向量机作为分类器。线性支持向量机已经被[17]证明比传统的支持向量机(甚至是最先进的线性分类器,如Pegasos和SVMperf)要快得多。这使得PCANet简单高效。对于回归,为了简单起见,我们使用线性支持向量回归(SVR)。回归参数选择为’-s 13-p 0.0025-e0.07’,其中’-s’表示L2正则L1损失SVR,’-p’是SVR损失函数中的epsilon,’-e’设置终止准则的公差。
III. PERFORMANCE EVALUATION
A. Experiments on the LIVE database
B. Effects of parameters
1) Patch size
图2示出了性能如何随补丁大小而变化。从中可以看出,随着补丁大小的增加,性能呈下降趋势。但下限仍高于0.95
2) Number of filters
PCA滤波器的数量对整体性能有很大的影响,如图3所示。但性能开始稳定在6个滤波器点。
3)Overlapped block region ratio
我们还研究了块区域重叠率从0到0.4,步长为0.1,这是因为当块区域重叠率设置为0.5以上时,会消耗太多的内存。从图4可以看出,这个值可以安全地设置为0,从而在总体性能和内存成本之间做出折衷。在我们的实验中,我们把它设为0.4