图像质量评估 (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

如果我们会死,也要听着音乐死亡。 —— 记者,阿列克谢耶维奇 【我不知道该说什么,关于死亡还是爱情】

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。copyright@江户川柯壮 https://blog.csdn.net/edogawachia/article/details/79955454
个人分类: IQA
上一篇python中的内存管理和垃圾回收机制(附gc(Garbage Collection)模块常用方法)
下一篇classical CNN models : LeNet-5 模型结构详解
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭