图像质量打分算法-NIMA – Semocean

标签: | 发表时间:2019-07-27 21:27 | 作者:
出处:http://www.semocean.com

业务背景
随着手机性能提升,网络速度改善流量资费下降,原有网络上消费的内容很大程度上都被图片,视频所取代。此时很多应用中就会碰到一个技术问题,如何评价图像,甚至视频的质量。而这里边一个比较重要的场景,就是如何选择内容的头图。例如大众点评UGC评价推荐的首图,爱奇艺、优酷视频的头图。好的头图能够提升内容的表达能力,提升用户体验,从业务指标上也能从内容的点击率体现出来,所以,需要一种可靠的图像质量打分算法,该算法不仅需要能够识别技术上质量差的图片(例如清晰度差,饱和度,噪音点多等),还要根据具体的业务场景,判断该图片适用于该业务场景的程度,例如美团点评的头图如果是菜品时,显示已经就餐完毕的残羹冷炙就不合适,而爱奇艺,优酷等视频网站,则不适合出色情的头图。

算法
业界有很多算法解决此类问题,例如BDN(Brain-Inspired Deep Networks for Image Aesthetics Assessment)中使用多路人工构建特征进行打分能够在该类问题中取得较好成绩。
比较有名的end2end方法,是2017年Google Research发表的NIMA算法(Neural Image Assessment算法)。正好这几天有时间业看了下论文,感觉Google的论文都是比较接地气的:不复杂,能解决实际问题,甚至拿来修改下就可以在实际场景中使用。
该论文解决Image Assessment的算法的思想主要如下:

  1. 使用预训练的ImageNet网络作为Baseline,该处的Baseline可以是MobileNet,VGG16,Inception等
  2. 在Baseline的基础上,将最后一层替换掉,使用随机初始化的FC进行任务Fine Tuning
  3. 使用的数据集论文中提到3个,AVA,TID2013,LIVE。数据集中对图片的标注,均是同一个Image多个人进行打分,用打分分布进行描述,包含mean,deviation。使用上述数据集进行模型Fine Tuning
  4. 论文中考虑到各个打分等级虽然是离散的,但却是有顺序的(Ordered),所以模型最终的loss并不是使用cross entropy进行衡量,而是使用EMD,这样有助于将各个离散的分档的大小关系考虑到任务重,缓解了cross entropy将各个类别看成相互独立的缺点

图:NIMA算法架构图,使用ImageNet任务网络(MobileNet,VGG16,Inception)移出最后一层,然后新增随机初始化FC。训练loss使用EMD

图:EMD loss

总结
在很多任务重,NIMA都能够表现良好,甚至使用AVA公开数据进行训练后的模型就能够取得较好成绩,但是很多时候,我们还是需要根据具体业务进行定制,特别是加入符合业务场景需求的训练样本,例如电商UGC中不能出现色情内容,单是否出现年轻,二次元的美女可以加分? 另外文中使用EMD来缓解cross entropy不能建模ordered category信息缺点的思路,也可以在很多场景中借鉴,例如地图中,路况状态一般分为:畅通,缓行,拥堵,极度拥堵,如果直接使用cross entropy就将各种状态之间的顺序关系丢弃了,此时使用EMD作为loss,而仍然将问题看成是分类问题会更加合适。

Reference
Zhangyang Wang, Florin Dolcos, Diane Beck, Shiyu Chang, Thomas S. Huang:
Brain-Inspired Deep Networks for Image Aesthetics Assessment. CoRR abs/1601.04155
NIMA: Neural Image Assessment. 原论文下载地址:https://arxiv.org/abs/1709.05424

github Keras实现:https://github.com/titu1994/neural-image-assessment

 

 

 

 

 

相关 [图像 质量 算法] 推荐:

图像质量打分算法-NIMA – Semocean

- -
随着手机性能提升,网络速度改善流量资费下降,原有网络上消费的内容很大程度上都被图片,视频所取代. 此时很多应用中就会碰到一个技术问题,如何评价图像,甚至视频的质量. 而这里边一个比较重要的场景,就是如何选择内容的头图. 例如大众点评UGC评价推荐的首图,爱奇艺、优酷视频的头图. 好的头图能够提升内容的表达能力,提升用户体验,从业务指标上也能从内容的点击率体现出来,所以,需要一种可靠的图像质量打分算法,该算法不仅需要能够识别技术上质量差的图片(例如清晰度差,饱和度,噪音点多等),还要根据具体的业务场景,判断该图片适用于该业务场景的程度,例如美团点评的头图如果是菜品时,显示已经就餐完毕的残羹冷炙就不合适,而爱奇艺,优酷等视频网站,则不适合出色情的头图.

神奇的图像处理算法

- etalkr - 博客园新闻频道
这是利用数学算法,进行高难度图像处理的一个例子. 事实上,图像处理的数学算法,已经发展到令人叹为观止的地步. Scriptol列出了几种神奇的图像处理算法,让我们一起来看一下. 数字时代早期的图片,分辨率很低. 尤其是一些电子游戏的图片,放大后就是一个个像素方块. Depixelizing算法可以让低分辨率的像素图转化为高质量的向量图.

图像搜索(SIFT算法)组件

- - 行业应用 - ITeye博客
前阵子做图像搜索功能, 对比过一些搜索算法, 发现 sift 比较能满足我的需要, 它在图像旋转, 比例缩放, 图像扭曲的情况下也能有很好的识别效果, 在网上找了一些资料, 有些介绍了算法的细节, 有些做了对比评测. 2013计算机视觉代码合集 - Note of Transposition - 博客频道 - CSDN.NET.

图像主题色提取算法

- - 文章 – 伯乐在线
许多从自然场景中拍摄的图像,其色彩分布上会给人一种和谐、一致的感觉;反过来,在许多界面设计应用中,我们也希望选择的颜色可以达到这样的效果,但对一般人来说却并不那么容易,这属于色彩心理学的范畴(当然不是指某些伪神棍所谓的那种). 从彩色图像中提取其中的主题颜色,不仅可以用于色彩设计(参考网站: Design Seeds),也可用于图像分类、搜索、识别等,本文分别总结并实现图像主题颜色提取的几种算法,包括颜色量化法(Color Quantization)、聚类(Clustering)和颜色建模的方法(颜色建模法仅作总结),源码可见: GitHub: ImageColorTheme.

一种快速确定图像边缘的算法

- sdyy1990 - 增强视觉 | 计算机视觉 增强现实
tortoise童鞋推荐的一篇MIT的CVPR. MIT一篇cvpr2011实现的快速确定图像边缘的算法,效率比以前快50000多倍. MIT的Chang和Fisher基于物体外观的相似度和相异性给每个分割分配一个总的得分,与其他方法为找到一个最高得分的分割不同,他们用高效的找到许多次优的分割,这样不仅可以找到最优的分割,也能找到许多它的分割.

一点老东西:神奇的图像处理算法

- $n0wd0wn - 丕子
日期: 2011年8月13日. 几周前,我介绍了相似图片搜索. 这是利用数学算法,进行高难度图像处理的一个例子. 事实上,图像处理的数学算法,已经发展到令人叹为观止的地步. Scriptol列出了几种神奇的图像处理算法,让我们一起来看一下. 数字时代早期的图片,分辨率很低. 尤其是一些电子游戏的图片,放大后就是一个个像素方块.

神奇的图像处理算法 - 阮一峰的网络日志

- gOODiDEA - www.ruanyifeng.com
日期: 2011年8月13日. 这是利用数学算法,进行高难度图像处理的一个例子. 事实上,图像处理的数学算法,已经发展到令人叹为观止的地步. Scriptol列出了几种神奇的图像处理算法,让我们一起来看一下. 一、像素图生成向量图的算法. 数字时代早期的图片,分辨率很低. 尤其是一些电子游戏的图片,放大后就是一个个像素方块.