色彩现象学

Dew-On-a-Leaf-Nature-Wallpaper-HD-817

请不要误会,我并不打算在这里讨论量子色动力学的现象学。“色彩现象学”这个标题就是它字面的意思:我想写一点纯粹来自人眼色觉经验的小问题,而完全不涉及色觉的生物学机理。

作此小文的最初动机来自我以前的一些很民科的想法。这些想法只是在和朋友闲聊时提起过,因为我并不熟悉相关的背景知识,故而一直没有深究。最近看到杨辰涛童鞋分享了他的两个知乎回答贴 [1],也约略提到了这些问题。它们虽然相当简单,但我觉得蛮有趣,所以决定写在这里和读者分享。

为了让这篇小文不致过于民科,我在下笔前回头读了Feynman物理学讲义专门讨论色觉的一段,即第一卷第35章 [2]。Feynman将这个问题的背景知识介绍得非常简洁清晰,我特别推荐有兴趣的读者在继续阅读此文之前或者读完此文之后去看看Feynman的讲义。让我感到高兴的是,Feynman为下文的讨论提供了足够的基础,从而,我之前的那些民科的假设就不再民科了;同时,我将要讨论的小问题,Feynman的讲义中并没有提到。所以这篇日志就不全是对Feynman结果的重复。

不过为了保持适当的完整性,我还是简单总结一下,在下文中将要用到的我们对色觉已有的一些经验认识 [3]。

首先是两个非常基本而简单的事实,我们作为假定接受下来:

A. 可见光波段的每一种单频光,被人眼反应成一种特定的颜色;不同频率的单色光,在人眼看来,其颜色也不同。当然,频率足够接近的两种单色光的色差肯定很难辨认,我们上面的假定模去这种情况。

B. 不同频率单色光的叠加可以生成新的颜色;这种新颜色不仅取决于每种单色光组分的频率,还取决于其亮度。一般而言,每种成分的亮度改变,就会改变复合色的色彩。比如,红光与绿光混合时,随着红光与绿光强度之比由大到小,就能依次形成橙色、黄色,等等。

仅仅从这两个基本假设出发,我们能够知道的是,人眼至多有可能辨认出多少种“颜色”,而且它们自然地形成一个(不完整的)线性空间。具体来讲,通过假设A(不同的单频光具有不同的颜色),我们可以取所有的单频光作为这个空间的一组基 [4];而通过假设B(以不同亮度组合的各种单频光可以产生新的颜色),我们知道,可以将亮度作为这些基向量作线性组合时的系数。让我们以 \mathbf{F}_i 记频率为 F_i 的单色光所对应的基向量,其中 i 在所有的可见光频率中取值(或者更仔细地,按照注记[4]的操作取值)。从而,该色彩空间中的任何一种颜色 \mathbf{C} ,就可以表示成:

\displaystyle\mathbf{C}=\sum_i b_i \mathbf{F}_i

其中系数 b_i\geq 0 标记 \mathbf{F}_i 的亮度。我们记此色空间为V。 上面提到, V不是完整的线性空间,因为其中的亮度系数只能取非负实数。所以更确切地说,色空间V只是一个线性空间的第一象限(和它的边界)。

但这个空间大大超出了人眼可辨色彩的实际数目。我们从日常经验就知道,人眼无法区分单频黄光与某个单频红光与单频绿光的线性组合。在三基色显示器非常普及的今天,这一点更容易被我们察觉到。现在,我们用以下两条通过实验而得的事实将这一点讲清楚:

C. 色空间V中的两个不同的向量(即两种不同的频谱)有可能被人眼反应为相同的颜色。当人眼无法区分两种频谱时,我们就称相应的两个向量等同,以\cong 记之。比方说,红光与绿光可以合成与黄光无法区别的黄色这一事实,就可以粗略地表示成\mathbf{R}+\mathbf{G}\cong\mathbf{Y}

D. 以上的等同操作是线性的。即,若\mathbf{A}\cong\mathbf{B} ,则对任取的\mathbf{C} ,有\mathbf{A}+\mathbf{C}\cong\mathbf{B}+\mathbf{C} 。这一点尤其关键,因为它保证了我们在色空间V模去等同关系\cong 之后仍然能有意义地谈论线性组合。

由以上两个假设,我们就可以将此前定义的过于大的色空间V按照关系\cong 作等同,其结果就是我们实际上可辨识的所有色彩的空间。这个空间有多大呢?要回答这个问题,我们还需要下面这个非常关键但尽人皆知的事实:

E. 可见光谱中任何单色光的颜色,几乎都可以通过红、绿、蓝三种单频光的线性组合而得。这里说“几乎”,是因为实际上,如果要想通过红绿蓝的线性组合模拟所有单色光,那么对于某些特定频率区间的单色光,就需要这三种颜色中的某些颜色的亮度取负值,虽然是很小的负值。这里,亮度取负值的意义可参考[2]的解释。不过为了清晰起见,我们这里摘录[2]中的图35-5如下:

屏幕快照 2015-12-11 17.57.51图1. 三基色对单色光的还原曲线

其中每条曲线代表了复现该频率单色光的色彩所需的红(R)绿(G)蓝(B)三种颜色的亮度。从中可以看出,其实在几乎所有频段,如欲复现该频率的单色光,都需要三基色中的某种取负的亮度。不过由于这负值其实非常小,最大不过0.1的量级(在波长500nm处),因此可以说,用红绿蓝三种颜色几乎可以构造出人眼所能看见的全部色彩。

现在,我们就清楚了全部可辨识色彩构成的空间(可以记作V/\cong )长成什么样:它不过是由红绿蓝三种单频光以非负线性组合系数所张成的一个三维线性空间的“第一象限”,加上其中某些分量取很小的负值所造成的一点点溢出。为了图示这个空间,我们其实还可以作另一个等同,那就是将“总亮度”这个与颜色无关的因素剔除[5]。在我们线性空间的语言中,这就是将方向相同而长度不同的两个向量视为等同。最终所得的结果,可以表示成红绿蓝所张三维空间的第一象限及其“溢出”,与位于原点的单位球壳的交集。这不过就是一个二维的三角形,加上一点点因取负系数而导致的溢出,也就是Feynman讲义的图35-4:

屏幕快照 2015-12-11 18.19.10图2. 人眼可辨识的等亮度色彩空间

我想这张图中的各种标示的意义应当是自明的,所以不再多作解释。请需要了解详情的读者参考[2]。

上面用五条经验事实,大致解释了人眼的色觉特性。由此马上可以得到一些有趣的观察,我们逐一列举,作为本文的后半部分。

1) 三基色显示器永远无法复现自然的光谱;显示器所呈现的彩虹与实际的彩虹永远有色差。这是因为三基色显示器只能提供三种正的亮度,但我们观察图2可知,由于人眼色觉辨识空间边界的不规则性,无论怎样选取三种基色的频率,都不可能复现所有的自然色。换句话说就是,图2中的实线区域不可能完全包含于其任何内嵌三角形中。我想这就是为什么我们每次亲眼看到清晰的彩虹、或者三棱镜所折射出的光带时,都会觉得其颜色非常鲜艳,而在以三基色为基础的显示器和印刷品上,就很难得到这样的经验。(所以,我们能不能开发一种多基色显示器,用于增强560-580nm、~500nm、<440nm这些频段的颜色?)

2) 人眼的色觉几乎可以完全还原为三种基色的叠加,这是相当令人吃惊(至少令我吃惊)的事实。三这个数目既不多也不少:相对于所有不同的单色光而言,这区区三种基色的确是够少了,但还不是最少。实际上,如果想要辨识出不同频率的颜色,即满足上文的假设A,只要两种基色(比方红与蓝)就足矣。

3) 让我们再仔细地看看图1。在红绿、绿蓝之间相当宽的区间内,两种基色的叠加随频率的关系几乎是线性的。比如,为了复现640nm到520nm之间的任何一种单色光,只需要将红绿两种单色光作加权算数平均即可。非常粗略地看,可见光谱中几乎所有的单色光都可以通过这样的两两加权平均而得。实际上,已如上述,这只要红蓝两种基色就可以做到。但是多了一种绿基色,就使我们可以察觉出一些不存在于自然光谱中的颜色。简单粗暴地说,就是紫色。现在,设若人眼的色觉只有红蓝两种基色,那么我们将无法区分绿色和红蓝叠加色,这样一来,题图中的左右两部分在我们看来也会是同一种颜色。

4) 据说一些生物的色觉感受器比人要多,比如虾蛄(皮皮虾)的色觉感受器就有16种之多 [6]。这意味着,如果请一只皮皮虾来看我们人类的三基色显示器,它一定会觉得这种发明做得一塌糊涂。在它看来,显示器对自然景象的复现,就好像我们看到本文题图的右半边一样。同时,还有一些动物的色觉感受器比人少,比如狗的视觉只有两种基色(黄与蓝)[7]。

5) 只是我们不通皮皮虾的语言,所以大概很难直接求证。不过可以退而求其次,那就是请色盲患者来做实验。通常,色盲患者也有三基色感受器,只不过其对应于图1的感受曲线与常人不同。图1中,常人的三基色曲线呈现出良好分离的三个峰,这保证了我们的确能看到三种独立的颜色。但是在色盲患者那里,这三种基色曲线中的两种可能会非常靠近,这就等效于丢掉了一种基色。假如一位色盲患者完全丢掉了绿色,那么在其看来,本文的题图就没有什么异常。当然这个极端的情形实际上也许不太可能发生。但总体上,色盲患者的色彩辨识空间,要比图2的区域小得多。在缺一色的情况下,他们的辨色空间会塌成一维;而如果缺两色,他们的辨色空间就只有一个点。实际上这就不能辨色,而只能感受亮度了。不过人类的色盲其实并不是缺色,而是三基色曲线发生了大范围的重合。所以只要不是完全重合,其辨色空间就不会完全降维。基于这点观察,现在已经开发出了为色盲患者矫正色觉的特殊眼镜,通过对特定频段的光线进行过滤,可以将本来大范围重叠的基色曲线在等效的意义上分开,从而帮助色盲患者看到常人所感受到的色彩。(为避免做广告之嫌,这里就不贴链接了。)

6) 很可惜,上面这种帮助色盲患者纠正色觉的方法,其本质并不是增添了新的基色。但如果我们能找到这样的方法,就能藉此一窥皮皮虾眼中的世界。看来这不大容易做到,但就像用二维的图像演示高维空间一样,我们还是有办法通过将皮皮虾的15维辨色空间投影到我们人类的2维,来间接地感受之。例如,在一幅只包含红色到绿色频率范围的图中,将黄色频率附近的所有颜色以蓝色代之。这样我们就能区分出真正的黄色(现在是蓝色)与红绿叠加而得的“赝黄色”。我们将看到什么呢?我们将看到,比如,对着“蓝色”的“钠黄灯”拍一张照片,在我们数码相机的CCD显示频上,却变成了“赝黄色”。想想看,这是一个怎样诡异的世界。

 

 


[0] 题图来源:http://wallarthd.com/imagepics/dew-on-a-leaf-nature-wallpaper-hd-816.html
[1] 为什么要叫蓝移而不叫紫移? – 名字长记不住斯基的回答 – 知乎什么是颜色? – 名字长记不住斯基的回答 – 知乎
[2] Feynman, Leighton, & Sands: The Feynman Lectures on Physics, Vol. 1, Chapters 3536.
[3] 似乎有必要在这里加一个关于方法论的脚注:我们不讨论关于色觉的解剖学知识,同时也不讨论非物理的问题,诸如“两个人看到的红色是同一种颜色吗”、“如果将人眼对三种原色的感受器相互调换会如何”,等等。这些问题在现象学中其实没有意义。
[4] 更仔细地做法是,将可见光频段按人眼辨色的最小频率差值切成若干小区间,从每个小区间中任取一个单频光作为色空间的基。下文讨论亮度组合时,也可作类似处理。
[5] 依语境而异,同一种颜色的不同亮度有时也被说成是不同的颜色,例如:蓝色/深蓝色、粉色/紫色、白色/灰色,还有Feynamn所举的橙色/棕色。
[6] https://en.wikipedia.org/wiki/Mantis_shrimp
[7] 可以参考这个有趣的网页:https://dog-vision.com/#Color

 

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

You are commenting using your WordPress.com account. Log Out /  更改 )

Google photo

You are commenting using your Google account. Log Out /  更改 )

Twitter picture

You are commenting using your Twitter account. Log Out /  更改 )

Facebook photo

You are commenting using your Facebook account. Log Out /  更改 )

Connecting to %s