图像质量评估-NIMA(Neural Image Assessment)「建议收藏」

1.背景图像质量和美学的量化一直是图像处理和计算机视觉长期存在的问题。技术质量评估测量的是图像在像素级别的损坏,例如噪声、模糊、人为压缩等等,而对艺术的评估是为了捕捉图像中的情感和美丽在语义级别的特征。通常情况下,图像的质量评估一般分为两种:有参照(Full-Reference,FR):PSNR(峰值信噪比)、SSIM(标准-结构相似度)等图像质量评分系统无参照(No-Referen…

大家好,又见面了,我是你们的朋友全栈君。

图像质量评估-NIMA(Neural Image Assessment)「建议收藏」

1. 背景

图像质量和美学的量化一直是图像处理和计算机视觉长期存在的问题。技术质量评估测量的是图像在像素级别的损坏,例如噪声、模糊、人为压缩等等,而对艺术的评估是为了捕捉图像中的情感和美丽在语义级别的特征。

通常情况下,图像的质量评估一般分为两种:

  • 有参照(Full-Reference,FR):PSNR(峰值信噪比)、SSIM(标准-结构相似度)等图像质量评分系统
  • 无参照(No-Reference,NR):需要依靠模型来进行评估

但无论是哪种方式,都是为了得到的评分结果接近人类评分。

传统的基于深度卷积神经网络的图像质量评价方法中,一般都是先用一套经典图像数据库(如ImageNet等)训练系统,初始化权重,然后利用人工分类后的不同质量图像进行微调,进一步训练系统。然而,这些方法通常简单地将图像分为低质量和高质量的两类,范围有些狭窄。为了得到更准确的图像质量预测,我们提出的方法可以得不出同的预测评级,更接近于真实的评级,更适用于一般图像。

2. NIMA

NIMA基于最新的深度物体识别(object detection)神经网络,能够从直接观感(技术角度)和吸引程度(美学角度)预测人类对图像的评估意见的分布。文中提出的神经网络的打分具有与人类主观打分很相近的优点,因此可以用于图像质量评估工作。

在训练数据集中,每张图像都与人类直方图相连接,但是传统的美感评分系统还是只能将图像质量分为好或者不好两种。NIMA算法没有采用这种分类方法,也没有使用回归平均分的方法,而是对任意图像都生成评分直方图–即对图像进行1-10分的打分,并直接比较同一主题的图像。 这种设计跟人类评分系统产生的直方图在形式上吻合,且评估效果更接近人类评估的结果。

3. 论文贡献

论文的主要目的是通过CNN预测图像质量得分的分布,将分数的分布作为直方图来预测。同时根据人类对图像的评价概率分布,计算出EMD-based loss,进行反向传播。之所以这样做的原因是,EMD在有序分类上有很好的表现,因此将其作为损失。不用回归而用分类是因为根据相关文献指出,基于分类的做法的效果更好些,而这个分类也不是纯粹的相互独立地分类,因为类与类之间也有比较关系,而EMD-based loss可以做到这点。

4. 本文方法

本文方法基于图像分类架构,试过VGG16,Inception-v2(Rethinking那篇,不是BN),MobileNet。
在这里插入图片描述
baseline网络用ImageNet预训练权重。训练时图像首先被缩放到256×256,然后随机裁剪224×224。值得注意的是,本文也试过不缩放直接随机裁剪的训练方法,不过结果不行。还有个数据增强方法是水平翻转crop。

本文的目的是预测图片评分的分布。简单来说,最后一层 FC 层的10个 unit 分别输出该图片获得 1 ~ 10 分的概率。然后平均值和标准差这么计算:

在这里插入图片描述
在这里插入图片描述

5. 损失函数

在这里插入图片描述
其中, C D F p ( k ) CDF_p(k) CDFp​(k),【也就是预测评分的概率的累加值,而不是独立的预测获得每一个评分的概率。以此代替分布。在 label 中,评分越高,累计概率越大。在 predictions 中,因为用了 softmax 确保每个独立概率都大于零 (且和为1),因此 predictions 的累加概率也能随评分单调递增。】

在本文中 r 取值为 2. 作者表示这样可以使梯度下降收敛的更快。

5. 数据集

5.1 AVA dataset

25万张图,美感分数由业余摄影师给出。每张图平均有200个人打分。分数范围从1到10。
在这里插入图片描述
平均分在5.5分左右。平均标准差在1.4。越靠近中间的分数分歧越小,越靠近两边的分数分歧越大。
在这里插入图片描述

5.2 Tampere(TID2013)数据集

属于全参考这种。以柯达提供的25张图作为参考,每张图有5个级别,24种类型(噪声,模糊,颜色扰动。。)共120个扰动,最后得到3000张图。分数范围从0-9。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.3 LIVE IN the Wild Image Quality Challenge Database

包含1162张由移动设备捕获的照片,每张照片的平均从175个不同的主题来打分,分数范围是1-10.不像AVA数据集,每张图都有分数分布,TID2013和LIVE只提供平均分和标准差
在这里插入图片描述
在这里插入图片描述
不像AVA数据集,每张图都有分数分布,TID2013和LIVE只提供平均分和标准差。

6. 实验

6.1 照片排序

评估的时候按类别分别排序,而不是全部统一排序。 下图说明除了图像本身的内容外,其他如色调,对比度和照片组成物也是美学质量的重要因素。
在这里插入图片描述
下图说明除了图像语义,框架和调色板也是关键因素。
在这里插入图片描述

6.2 图像增强

以最大化NIMA得分作为先验,可以增加似然度,它是增强感知质量的似然度。通常通过在各种摄影条件下的大量实验来选择增强算子的参数,例如图像去噪和对比度增强,需要耗费大量的人力物力。本文提出的模型用来增强的更多细节可见作者发表的另一篇文章『Learned perceptual image enhancement』NIMA模型可以指导多层拉普拉斯滤波器找到其参数在美学上接近最佳的设置。

在这里插入图片描述
在这里插入图片描述

7. 论文复现

在 Github 上找到了本文方法的非官方复现代码:https://github.com/titu1994/neural-image-assessment/

这位小哥不仅提供了复现代码,复现结果,还很友好地把训练完成的模型上传了。

下面先展示下复现小哥的复现结果:
在这里插入图片描述
看起来挺棒的对不对?我和模型得出了一样的结论——第二行中间的图片最好看。然后我就很开心地拿自己的图片上来做测试了。用的是复现小哥最为推荐的 Nasnet Mobile 结构 + 小哥提供的训练好的 weights

结果如下。在下图中,最右上角的是我的原始图片,然后通过修正对比度得到一系列的图片(按对比度从小到大进行排序,即对比度越小越倾向于黑白)。然后模型就炸了…… 从黑白照到高对比度的彩照,模型得出的分数都是差不多的。
在这里插入图片描述
我认为本文的方法在我的对比度测试中表现较差的原因可能有2个:

  • 审美有很多层面,比如构图,色彩等。本文提出的方法是对照片整体进行评分,因此当照片的某个特定层面 (或细节) 被改变时,模型不能正确工作。
  • 我的这张图片与训练模型所用的数据集(AVA Dataset)的分布相去甚远。

8. 最后

图像质量评估-NIMA(Neural Image Assessment)「建议收藏」

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/125571.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 验证二叉搜索树 leetcode_二叉树 面试题

    验证二叉搜索树 leetcode_二叉树 面试题重写equal()时为什么也得重写hashCode()之深度解读equal方法与hashCode方法渊源 原创  2016年05月08日 23:14:19 标签:java equal方法重写 /java /重写equals方法和hashCode方 10077 转载请注明出处: http://blog.csdn.net/javazejian/art…

    2022年8月8日
  • 突破思维的障碍

    突破思维的障碍译者的话   在众多的讲述思维及创造性的书中,这是一本普通的小册子,但它却是吸引人的。作者用妙趣横生而又日常可见的素材向我们娓娓叙说了人人都会关心的问题,即我们是否意识到自己的思维障碍,怎样克服它,让自己变得更富有创造活力。   这本书在美国一版再版,风靡一时,拥有广泛的读者,无论是从事研究工作的高级学者、研究人员,还是从事行政、工商和管理活动的人士或普通学生。相信本书与中国读者的见面

    2022年5月5日
  • Eclipse的代码自动补全功能「建议收藏」

    Eclipse的代码自动补全功能「建议收藏」Eclipse的代码自动补全功能学习Java已有两个月的时间了,今天鼓起勇气尝试写第一篇CSDN博客,希望在帮助自己记录的同时能够帮助到有需要的朋友。众所周知Eclipse是一款非常智能的IDE工具,那么我们如何设置才能让它更为智能呢?本文主要介绍以下两点内容。Eclipse代码自动补全功能只按回车键来达到自动补全代码的目的要实现Eclipse的代码自动补全功能,我们需要这样设置…

    2022年5月31日
  • dpkg命令的用法

    dpkg命令的用法dpkg命令的用法dpkg是Debianpackage的简写,为”Debian“操作系统专门开发的套件管理系统,用于软件的安装,更新和移除。所有源自"Debian"的Linux的发行版都使用dpkg,  例如"Ubuntu" 阅读目录 安装软件列出与该包先关联的文件显示包的版本移除软件(保留配置)移除软件(不保留配置)查找包的详细信息列出deb包的内容 安装软件命令:dpkg-i&…

    2022年5月11日
  • 32H7_H7可以改H4吗

    32H7_H7可以改H4吗完整版教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=94547第38章STM32H7的FIR高通滤波器实现(支持逐个数据的实时滤波)本章节讲解FIR高通滤波器实现。目录38.1初学者重要提示38.2高通滤波器介绍38.3FIR滤波器介绍38.4Matlab工具箱filterDesinger生成高通滤波器C头文件38.5FIR高通滤波器设计38.5.1函数arm_fir_i…

    2022年9月3日
  • getenforce命令什么意思_安卓修改selinux策略

    getenforce命令什么意思_安卓修改selinux策略使用getenforce命令可以在Linux下查看是否开启了SELinux。下面是Linuxgetenforce命令的使用方法。[root@DB-Server~]#getenforceEnforcing如何开启、关闭SELinux呢?最简单的方式使用setenforce,这样不用重启服务器,但是该命令只能将SeLinux在enforcing、permissive这两种模式之间切换,服务器重启后,又会恢复到/etc/selinux/config下,也就是说setenforce的修改是不能持久的。

    2022年4月19日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号