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. python关于openpyxl库的常用使用介绍

    from openpyxl import load_workbook #只能加载已存在的表格 wb=load_workbook("D:\zhijing_work\测试数据\测试文件\yeta ...

  2. Linux系统配置(系统优化)

    镜像下载.域名解析.时间同步请点击  阿里云开源镜像站 前言 系统安装完成后,需要基于系统做出一些调整来让系统使用起来更加顺手,可以根据个人喜好对linux进行调整,还有一些是linux的必要设置 一 ...

  3. pthread_once函数

    http://blog.csdn.net/lmh12506/article/details/8452659 pthread_once()函数详解 在多线程环境中,有些事仅需要执行一次.通常当初始化应用 ...

  4. Mysql学习笔记-InnoDB深度解析

    前言 我们在上一篇博客聊了Mysql的整体架构分布,连接层.核心层.存储引擎层和文件系统层,其中存储引擎层作为Mysql Server中最重要的一部分,为我们sql交互提供了数据基础支持.存储引擎和文 ...

  5. python的内存回收机制

          变量相当于门牌号,当门牌没有了,即函数的引用都没有调用了,内存的数据就会被清除掉. python内有个定时器,定期的会刷新,如果发现内存中数据被引用了,就会被回收,这个就是内存的回收机制 ...

  6. T12焊台控制器制作教程 | T12烙铁 | PID增量式算法恒温控制 | 运算放大器-热电偶电压采集 | OLED屏幕显示-SPI通信 | 旋转编码器EC11用户操作

    前言 购买T12烙铁的相关配件已经1年多了,期间也尝试了一些开源的T12控制器,但都没有成功,要么是配套资料少,要么是英文的,其中51和arduino的居多,STM32的较少.求人不如求己,索性自己开 ...

  7. [MRCTF]XOR-无法生成反汇编的处理

    主程序,无法生成伪代码 由此分为两种方法即: 直接看反汇编 解决问题,尝试生成伪代码 硬啃汇编 输入与输出 判断输入长度是否为0x1B,其中al为eax的低8位 将输入的字符每个与当前字符所在下标异或 ...

  8. Kruscal algorithm

    #include <iostream> #include <algorithm> using namespace std; #define MAX 5 #define INF ...

  9. python 列表list-增删改查操作

    初始化: a.    data_list1 = [] b.    data_list2 = [a,b,c] c.     data_list = list() 新增: a. data_list1.ap ...

  10. linux设置java环境变量与开机自启

    一.下载jdk并放置在指定位置 二.编辑profile文件 vim /etc/profile  或者  将/etc下的profile 文件修改好再上传覆盖源文件 修改方式即添加以下内容至文件最底部即可 ...