1:Color Constancy?

世界上并不存在颜色。颜色仅仅是我们的眼睛和大脑对不同可见光的波长进行的一层映射。也就说颜色只是我们大脑和视网膜处理的结果。

1.1 关键问题

我们的视觉系统有一个特殊的功能就是在光源变化的情况下,依然能够确定物体的真实颜色,这种鲁棒性是计算机等处理机器所不具有的。

同一个红彤彤的苹果,在不同颜色的光源(比如卖猪肉的地方的灯是红色光源,比如户外装饰树的小灯有的是蓝色光源)下,摄像头拍摄出来的照片与我们眼睛看到的苹果是不一致的。

这种不一致性就是要解决的“图片的颜色在不同光源下,不恒定的问题”

1.2 关键目标

色彩的恒常性,也就可以简单的理解为,在外界光源变化的情况下,依然能够保留物体原始的色彩。

我们研究色彩恒常性,提出各种算法,目的就是让计算机也具有人类视觉系统的这个特殊功能,在不同光源的照射下还原图像的本来颜色。

example:一块白色的桌布,在偏黄色的灯光照射下,手机拍摄的照片显示出:这块桌布偏黄色。此时就需要一种算法将该图片恢复成白色。

人的视觉系统具有颜色恒常性,能从变化的光照环境和成像条件下获取物体表面颜色的不变特性,但成像设备不具有这样的调节功能。

不同的光照环境会导致采集的图像颜色与真实颜色存在一定程度的偏差,需要选择合适的颜色平衡(校正)算法,消除光照环境对颜色显现的影响。

总结下就是:Colour constancy refers to the task of revealing the true colour of an object despite ambient(环境的) presence of intrinsic illuminant(光源).

1.3 什么是Color constancy?

Color constancy is the ability to recognize colors of objects invariant(• adj. 不变的) of the color of the light source.

Color constancy 是指【照片中物体的颜色】相对于【光源的颜色】,保持恒定不变。

如果发现【图片中物体的颜色】有失真,就需要通过特定的算法进行修正。那什么算法可以对失真的图片进行修正呢?

此时就必须引入著名的The Grey-World hypothesis灰度世界假说理论了。

2 灰色世界假说 The Grey-World Hypothesis

2.1 灰度世界假说

灰度世界假说是通过大量的图片分析发现,正常的图片具备一种统计特征:对于一幅有着大量色彩变化的图像(R,G,B),三个分量的平均值趋于同一灰度值。

灰度世界算法是最常用平衡算法。

  • 从物理意义上讲,灰色世界假设自然界景物对于光线的反射的均值在总体上是个定值,这个定值近似地为“灰色”。
  • 颜色平衡算法将这一假设强制应用于待处理图像,可以从图像中消除【环境光】的影响,获得原始场景图像。

2.2 灰度世界算法步骤

灰度世界算法简单快速,但是当图像场景颜色并不丰富时,尤其出现大块单色物体时,该算法常会失效。

3 各种不同算法的性能比较

Reference

  • [Paper] Color constancy based on the Grey-edge hypothesis
  • [Paper] Learning to Enhance Low-Light Image via Zero-Reference Deep Curve Estimation

Color Constancy 颜色恒定性的更多相关文章

  1. 深度学习白平衡(Color Constancy,AWB):ICCV2019论文解析

    深度学习白平衡(Color Constancy,AWB):ICCV2019论文解析 What Else Can Fool Deep Learning? Addressing Color Constan ...

  2. 白*衡(Color Constancy,无监督AWB):CVPR2019论文解析

    白*衡(Color Constancy,无监督AWB):CVPR2019论文解析 Quasi-Unsupervised Color Constancy 论文链接: http://openaccess. ...

  3. Android:认识R类、findViewById方法查找组件、@string查找字符、@color查找颜色、@drawable查找图片、@dimen某个组件尺寸定义、项目引入资源国际化

    导入 之前都是断断续续的看了一些于如何使用android开发的文章.资料等,到目前位置很多基础的东西都不清楚,于是去学习了别人的课程,才了认识了R类.findViewById方法查找组件.项目引入资源 ...

  4. (转)System.Drawing.Color的颜色对照表

    经常使用System.Drawing.Color, 本篇介绍一下颜色与名称及RGB值的对应关系. 1. 颜色与名称的对照表(点击下图放大看): 2. 颜色与RGB值对照表: Color.AliceBl ...

  5. HTML5的input color系统颜色选择器

    前两天,我写了一篇<推荐两款jQuery色盘选择器>介绍,那是使用JavaScript实现的色盘,今天我给大家介绍HTML5的色盘选择器.HTML5有一个input类型为color,即颜色 ...

  6. QTabWiget Change Color 改变颜色

    Qt中的QTabWiget 类提供了一个标签控件,但是这个控件默认初始化的颜色是白色,和原窗口的颜色不同,看起来非常的违和,所以我们希望将其的背景颜色设为当前窗口的背景颜色.我们所要做的就是先将应用程 ...

  7. iTween基础之Color(变换颜色)

    一.基础介绍:二.基础属性 原文地址: http://blog.csdn.net/dingkun520wy/article/details/51065275 一.基础介绍 ColorTo:从当前颜色变 ...

  8. QTabWiget Change Color 改变颜色(每个QWidget都有一个自己的调色板palette,设置它的颜色,然后setAutoFillBackground即可)

    Qt中的QTabWiget 类提供了一个便签控件,但是这个控件默认初始化的颜色是白色,和原窗口的颜色不同,看起来非常的违和,所以我们希望将其的背景颜色设为当前窗口的背景颜色.我们所要做的就是先将应用程 ...

  9. 基于神经网络的颜色恒常性—Fully Convolutional Color Constancy with Confidence-weighted Pooling

    论文地址: http://openaccess.thecvf.com/content_cvpr_2017/papers/Hu_FC4_Fully_Convolutional_CVPR_2017_pap ...

随机推荐

  1. Prism 框架解读之一系列

    名词解释 1.什么是IOC IOC是 Inversion of Control的缩写,多数书籍翻译成"控制反转". IOC 和依赖注入(DI) 所谓依赖注入,就是由IOC容器在运行 ...

  2. redis哨兵功能

    redis哨兵功能 redis-Sentinel(哨兵) 前言 当用redis作master-slave的高可用时,如果master本身宕机,redis本身或者客户都没有实现主从切换的功能 redis ...

  3. First Note

    第一篇博客 入驻博客园.

  4. 搭建域环境,安装Exchange Server 2013,复现CVE-2019-1040

    搭建域环境 操作系统: 域控:Windows server 2008 R2    域成员: Windows Server 2012 . Windows 7 对于将要安装成为DC的服务器来讲,其系统配置 ...

  5. XStream类的对象将javaBean转成XML

    [省市联动] servlet端: //返回数据xml(XStream) XStream xStream = new XStream(); //把路径设置别名 xStream.alias("c ...

  6. SpringBoot的 Actuator 是做什么的?

    本质上,Actuator 通过启用 production-ready 功能使得 SpringBoot 应用程序变得更有生命力.这些功能允许我们对生产环境中的应用程序进行监视和管理. 集成 Spring ...

  7. struts2学习二:Tomcat的部署目录和访问路径问题

    1:idea中配置tomcat后,那么最终的web工程发布到哪里去了?为什么在访问路径中不加工程名就可以访问? 1.1:因为tomcat有段时间没接触了,先回顾下tomcat的目录结构吧? 如图所示: ...

  8. MySQL_fetch_array 和 MySQL_fetch_object 的区别是 什么?

    以下是 MySQL_fetch_array 和 MySQL_fetch_object 的区别: MySQL_fetch_array() – 将结果行作为关联数组或来自数据库的常规数组返回. MySQL ...

  9. Spring Bean生命周期回调

    参阅官方文档:https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html#beans-factory ...

  10. 什么是 MyBatis 的接口绑定?有哪些实现方式?

    接口绑定,就是在 MyBatis 中任意定义接口,然后把接口里面的方法和 SQL 语句绑 定, 我们直接调用接口方法就可以,这样比起原来了 SqlSession 提供的方法我们可 以有更加灵活的选择和 ...