图像质量评估 (IQA) 论文笔记: Convolutional Neural Networks for No-Reference Image Quality Assessment
图像质量评估 (IQA) 论文笔记: Convolutional Neural Networks for No-Reference Image Quality Assessment
Convolutional Neural Networks for No-Reference Image Quality Assessment
Le Kang1 , Peng Ye1 , Yi Li2 , and David Doermann 1
2014 IEEE Conference on Computer Vision and Pattern Recognition
按照之前看过的一篇综述性文章Deep Convolutional Neural Models for Picture-Quality Prediction: Challenges and Solutions to Data-Driven Image Quality Assessment的说法,本文是第一篇将CNN用于IQA问题的。下面简单看一下作者的思路和模型。
INTRO
FR measures,有参考的图像评估,state of the art 的传统方法:
VIF:
H. R. Sheikh, A. C. Bovik, and G. de Veciana. An information fidelity criterion for image quality assessment using natural scene statistics. IEEE Transactions on Image Processing, 14(12):2117–2128, Dec. 2005.
FSIM:
L. Zhang, D. Zhang, X. Mou, and D. Zhang. FSIM: A feature similarity index for image quality assessment. IEEE Transactions on Image Processing, 20(8):2378–2386, 2011.
已经可以和人类的感知有较好的相关性了。
但是NR没有参考图像,因此需要在畸变了的图像中去找特征。比较成功的就是NSS(自然图景统计量),传统的NSS是在小波或者DCT域里提NSS-based特征,所以比较慢,而CORNIA P. Ye, J. Kumar, L. Kang, and D. Doermann. Unsupervised feature learning framework for no-reference image quality assessment. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 1098–1105, 2012. 和 BRISQUE A. Mittal, A. Moorthy, and A. Bovik. No-reference image quality assessment in the spatial domain. IEEE Transactions on Image Processing, 21(12):4695–4708, 2012. 两种方法从空域提取特征,从而使得效率提上来了。而且CORNIA方法说可以直接从原始图像像素中提取特征,不需要手工提取特征。
普通的CNN的结构实际上不适合做IQA问题,因为CNN目的是提取具有不变性的图像特征,而IQA需要的是NSS统计特性,所以需要修改CNN的结构。另外,以前的工作多是对所有的像素点统计,从而估计整体质量,而文章的CNN可以对patch的质量进行估计,从而使得enhancement只在需要的地方进行。
传统方法CORNIA已经有了从原始图像直接学习特征的思路,本文就是受其启发。之前的神经网络做IQA都是用网络学一个回归,而之前的输入还是由手工提取的特征。本文是由图像直接提取特征回归出一个评分。
CNN for NR-IQA
32 × 32 −26 × 26 × 50 − 2 × 50 − 800 − 800 − 1 网络结构如左。先32的patch然后用7×7的kernel卷积,得到26 26 50,然后用一个min pooling和max pooling得到一个min一个max,就变成了2×50,最后过两个全连接,输出。
首先先对图片patch做一个local normalization,如图:
文中选的是P=Q=3,这样得到了局部的对比对均衡,而且大的归一化的窗口会导致performance变差,如果做uniform的normalization,那么会降低3%。但是用了局部归一化,说明这个网络相对较少的关心对比度的下降,而是更多关注degradation,如blur,compression,noise等。
网络结构如图:
接下来是pooling,这里把每个feature map 池化成为一个min一个max,也是来源于CORNIA。相比于max pooling,加上min pooling可以提高performance大约2%.
激活函数用relu,但是由于用了min pooling,所以在卷积和pooling层不用relu,只在最后的FC层用。
另外,用了dropout,也只在FC层用。最后的目标函数是L1范数。
下面是局部质量估计的结果:
2018年04月16日00:33:29
如果我们会死,也要听着音乐死亡。 —— 记者,阿列克谢耶维奇 【我不知道该说什么,关于死亡还是爱情】