理解色彩与相机内图像处理流程——色彩 1

本文来自ICCV 2019的tutorial:“Understanding color & the in-camera image processing pipeline for computer vision”,详细介绍请见这里。
算不上翻译,演绎了不少,希望大家能够结合原pdf甄别地看,欢迎提出疑问。

1 色彩

【色彩与色彩空间】

首先,什么是色彩?

色彩是一种光的视觉效应。这句话蕴含了两层含义,首先,色彩依赖于场景发射或者反射的可见光,但这还不够,还需要经过人的视觉系统处理过后,才能得到可见光对应的视觉效应。注意,可见光和视觉效应的对应并不是一一映射。

那么先看可见光。

物理学知识告诉我们,光的本质就是电磁波,而可见光就是电磁波谱中很短的一段。
因此,给我们带来色彩感受的可见光,其本质就是一段电磁波的分布,我们用**光谱能量分布(Spectral power distribution,SPD)**来表示,其横轴是波长,纵轴就是不同波长对应光的强度。
在这里插入图片描述

我们可以看到,SPD是一条连续的曲线,每一个波长都会对应一个值,如果我们想要记录一条SPD,理论上需要测量无数个波长对应的强度值——换言之,每个SPD是一个无穷维度的空间里的点(可以把所有波长看作一组基)。

这件事先放在这,我们来看色彩的生理基础,也就是眼睛。

在眼睛中用于感受光的细胞有两种,视杆(rod)细胞视锥(cone)细胞,其中视杆细胞不区分光线波长,主要在低光时起作用(猫咪的视杆细胞就超级多),分布在视网膜中心凹的边缘。
在这里插入图片描述在这里插入图片描述
而视锥细胞则对波长敏感,按照敏感波长为三种:长、中、短,分布在视网膜的中间。
在这里插入图片描述
如图是不同视锥细胞的敏感分布,可以看到长和中视锥细胞的敏感曲线很接近,这是因为他们是从同一种细胞突变过来的,在那之前人类都是红绿色盲。

由此我们可以看出,对于眼睛接收到的可见光(也就是一段SPD),三种不同的视锥细胞会给出三种信号,而我们看到的色彩就是依靠这三种信号重建出来的。所以,我们看到的色彩空间实际上就是无穷维的SPD在三维上的投影,这也解释了为什么我们在表示色彩时总是会取三个参数。

容易想到,这种高维向低维投影时,会出现不同SPD对应同一颜色——这种现象就叫做条件等色(metamer),如下图所示,虽然SPD不同,但看起来却是一样的颜色。
在这里插入图片描述
事实上,在了解生理结构之前,人们就经验性地知道了可以通过三种颜色混合出其他颜色,并且得到了一些结论。

其中一个重要的理论是格拉斯曼定律(Grassmann’s law)。定律的具体内容挺绕,可以参看各种百科,这里提及这个定律是因为它给出了一个很重要的经验结论:人眼看到的色彩具有很强的线性加和性质

下图中,R、G、B都是数值,指的是光的强度。
在这里插入图片描述
好,到这里我们小结一下。我们已经知道,色彩是可见光分布视觉系统作用后产出的感受。如果把视觉系统看作黑盒子,那么色彩就是产生并存放于黑盒子里的。因此为了量化色彩,绕不开的一步就是活体实验。接下来就来看两个精巧的实验。

第一个实验叫做闪烁混合测试(Flicker Fusion Test)。其目的是得到人对不同波长光的感受亮度。
在这里插入图片描述如图,在这个实验中,将一束参考光(图中右侧的光)打在光屏上,并用另一束特定波长强度可调单色光打在同一位置,再以每秒钟17次(17Hz)的频率在两个光线中切换,如果两束光差异较大,观察者就会看到一个闪烁光斑。调整单色光的强度,当观察者看不到闪烁时,即可说明此时两者在视觉系统中感受到的亮度相同。

改变单色光的波长,即可得到视觉对不同波长光线的感受强度
在这里插入图片描述

可以看到如果想要匹配同样的参考光亮度,400 nm的光需要比550 nm的光更强。换言之,在你眼中,同样强度下,550 nm的光线要比400 nm的光线更亮。
在这里插入图片描述

翻过来,我们就得到了不同波长下的主观亮度,或者说,敏感度的分布曲线了。这条曲线又被称为**光度函数(luminosity function)**记作y-bar(lambda)或者V(lambda)。(为什么是y?之后你就知道了)。

第二个实验叫做色彩匹配实验(Metameric Matches),目的是量化所有的可见颜色。

在这里插入图片描述

在1920年代,W. David Wright(Wright 1928)和John Guild(Guild 1931)独立进行了这一系列视觉实验,在实验中,让健康的志愿者来担任“标准观察者”,并使用2度视场角的圆形屏幕(固定视场角是因为视锥细胞集中分布于视网膜的中心凹区域,从而对色彩最敏感)。屏幕的一半投上测试单色光,另一半投上可调整的光

可调整的光是三种单色光的混合,他们波长固定(700 nm, 546 nm, 435 nm)强度可调节,并称这三个波长为原色。 选择546.1 nm和435.8 nm的原色是因为它们是汞蒸气放电的颜色,容易复现,而选择700 nm是因为眼睛在700 nm处对光线的变化不敏感,波长的误差对感知的影响不大。

实验时,对于每个波长下的测试光,观察者可以分别调整三种原色光的强度,直到两侧的颜色看起来一样,并记录下三个原色光分别的强度。

在实验中发现,有些测试光,无论怎样调节三原色也无法匹配。在这样的情况下,要求观察者在测试光内加入一种可变强度的原色光来进行匹配,并将这个原色光的系数看作负值

通过这样的方法,可以将人类感知色彩的范围完全覆盖
在这里插入图片描述

如图,纵坐标就是指为了匹配横坐标所对应的单色光时需要的三原色的强度系数。可以看到大约430 nm到530 nm的单色光需要红色的参与才能达成匹配。

这样的函数被称为CIE RGB颜色匹配函数(CIE是国际照明委员会的法语缩写),它的输入是一个波长,输出则是一个代表着强度混合系数的三维向量,他们在视觉系统的处理下是等价的

CIE RGB函数包含了负值,为了方便使用,1931年CIE研究并定义了新的权威基准,被称为CIE XYZ,这套基准由CIE RGB数据变换得到。

变换后的空间具有这样的性质:
1 白点定义在 X=1/3,Y=1/3,Z=1/3处
2 Y应是光度函数(还记得吗
最后被采用的转换形式是:
在这里插入图片描述

看一看对角线就可以发现,R值被改动比较大,谁让它那么负呢。

让我们来看一看CIE XYZ空间。
在这里插入图片描述在这里插入图片描述

这里的XYZ又被称为三刺激值,需要注意的是,这个空间并不是全充满的,XYZ分别等于1的颜色并不存在

我们现在可以量化色彩了!

怎么量化呢?

假如我们拿到了一个SPD,我们希望得到它对应的XYZ值。SPD可以看作每一个波长对应的强度函数,记作I(λ),由线性混合的原理,我们看到的颜色对应的XYZ应该是不同波长对应颜色的XYZ强度为权重加和(积分),而不同波长对应颜色的XYZ由x-bar,y-bar,z-bar给出(见前面的曲线图),由此我们得到公式:
在这里插入图片描述
于是我们得到了SPD到XYZ的函数。比如下面这两个SPD,他们的CIE XYZ值相等,那么即使不用真正去看,也能知道他们有一样的颜色。
在这里插入图片描述

看来,我们真的可以量化色彩了!

CIE XYZ空间很棒,它不依赖于设备,不同电子设备可以将他们自己对颜色的表达映射到CIE XYZ空间上,从而(至少在理论上)得到了一种设备之间匹配的权威色彩空间。

有时候我们还会用明度(luminance)和色度(chromaticity)来讨论颜色,一个说的是感受到的明暗,一个说的是色调(hue)和饱和度(saturation),由此又发展出CIE xyY空间

令x = X/( X + Y + Z)、y = Y/( X + Y + Z),第三个参数取和原来一样的Y(也是明度函数),这样就得到了CIE xyY空间。在使用时,还经常将其投影到X + Y + Z = 1平面上,得到的图就叫CIE xy色度图
在这里插入图片描述在这里插入图片描述
这是一个马蹄形的2d图像,坐标为x和y,其中(1/3,1/3)对应的点E具有同样的XYZ值,称为白点或者等能量点

需要注意的是,在大多数情况下应该避免使用这张2d的色相图,尤其是当所研究的问题高度依赖于色彩的三维本质时。“色度图的滥用对比较显示设备色域的误导几乎达到完全错误的地步了。”(但其实大多数比较,包括官方广告,都是在二维上进行的,毕竟比三维图直观一些,pdf中这句话可能是在说,当讨论到百分比时,应该指的是三维空间的占比)。

好,我们已经可以非常便利地量化色彩了,让我们快进80年。

2°标准观测者的CIE 1931 XYZ和CIE 1931 xyY色彩空间经受了时间的考验。这期间有很多其他的跟进研究(最值得一提的有10°标准观测者的CIE 1965 XYZ),但在很多文献(以及本教程)中,CIE 1931 XYZ色彩空间依然是首选标准。

八十多年来,我们对CIE XYZ的研究都是基于来自“标准观测者”的实验数据,那么猜猜看,这群肩负了全人类色彩表示的重要使命的 “标准观测者”共有多少人?

100?

500?

1000?
 
 
 
 
 
 
事实上,答案是——
 
 
 
 
 
 
在这里插入图片描述
17个!

Wright找了10个人,Guild找了7个人!

这件事真的十分有趣(什么你不觉得?)

(待续)

发布了2 篇原创文章 · 获赞 0 · 访问量 28

猜你喜欢

转载自blog.csdn.net/weixin_42028449/article/details/105342781
今日推荐