本帖最后由 Asuka 于 2015-3-1 16:08 编辑
Sensation of Color, the PCEVA way
哟呵,好久不见。前两天看到秦老板的活动,Asuka一阵颤抖鸡动,去翻了Asuka 2014年的精华帖情况,却什么都没看到。这才想起来论坛嘎嘣的时候,Asuka丢的帖子都没有补过遗,也是醉了。不过2014年我也的确没有写很多东西,想想有些可惜,所以才有了现在这篇文章,Nevermind,让我们进入正题。
最近网上讨论的最激烈的无疑是集蓝白黑金于一体的一条裙子,想解释这个现象的文章也已经不胜枚举了,所以Asuka要与众不同,也就只能尝试用PCEVA的方式来和大家讲讲人对颜色的感觉以及在电脑世界里颜色的呈现,科普的同时也给这个疯狂的话题加一个新的视点,一枝一叶一世界。
首先让我们从颜色的构成开始讲起吧。在颜色系统中,也有一套类似坐标的体系来定位任意一个我们看到的具体颜色,这个坐标系是三维的,分别对应颜色的三个性质:Hue 色彩或者色度,lightness, brightness or Value 透明度,以及Saturation or Chroma 饱和度。这三者互相独立,共同决定最终呈现在我们眼前的是什么样的颜色。让我们来看看如何区分这三个性质吧。
Hue 色彩,这个是最好理解的了,红橙黄绿青蓝紫。然后是Lightness 透明度,如果把色彩拿掉,那透明度的变化就是从全暗(不透明)到灰(半透明)到亮(完全透明)。最后是Saturation 饱和度,这个稍微有一些复杂,我们可以把它理解为色彩的纯净程度,饱和度很高的时候颜色是最纯净的,随着饱和度的降低,颜色会被混入白光(整个可见光波段的所有颜色),当饱和度降到最低的时候,基本上原始的颜色已经被白光覆盖,达到完全无法辨识的程度。说了那么多,色彩这种视觉上的东西,还是用直观一点的方式来表达最好。
用一张图来表达这三个性质的关系的话,请看下图。
看着很陌生是不是,让我们从这张图的正上方向下看,也就是来看一下Hue 色彩和Saturation 饱和度构成的平面。如下
这就是我们熟悉的色域啦,圆周方向是Hue,径向是Saturation。
这套色彩的坐标系统是为了方便人类理解而设计出来的,但是放到计算机里,色彩又是如何被运算出来的呢?让我们先来看一个简化的GPU管线(pipeline),如下图。
涉及色彩变化的部分有以下几个,首先Hue 色彩是由Texture 纹理决定的,好比叶子是绿色的,虎皮是黄色的,brightness则要看我们这片纹理的前方是否有遮蔽物,从而决定我们看到的是完全透明的还是半透明抑或是遮挡住的。而Saturation 饱和度则还要观察 Lighting,也就是纹理照光的状态,来确定我们的色彩要混入多少白光。最终通过渲染出来的色彩,再传送到显示器进行显示。Asuka之前曾经介绍过,当今显示器的色彩都是由次级像素,也就是大家熟悉的RGB来呈现,很显然,仅仅是这三个颜色难以完美还原自然界中的所有颜色,所以夏普才会提出加入第四个次级像素黄色,来加强显示器的颜色表现能力。这也同样就是为什么我们评价显示器好坏的一个重要指标在于其色域表现。
现在让我们回到本篇文章的初衷,来解释一下这条裙子为什么会呈现出不同的颜色。首先,当我们被问及这条裙子是什么颜色的时候,我们的大脑并没有试图要描述究竟裙子的color是什么样的,所以很多人用Photoshop对这条裙子上的颜色进行采样的时候会发现,其颜色正好落在白与蓝,黑与金的边界上,然后试图用人眼的色彩感知能力差异来进行解释,显然这是有问题的。人的大脑实在是聪明,却又经常被欺骗啊!其实,当我们被问及这条裙子究竟是什么颜色的时候,我们下意识的反应其实是要回答这条裙子的 Hue 色彩。所以大脑就开始处理,按照GPU运算的相反方向尝试去判断这片纹理究竟是什么颜色的,所以我们开始去除光照对饱和度造成的影响,到这一步的时候分歧就产生了。很多人下意识地觉得,太阳好的时候世界是黄色的,而阴暗处或者背光处是蓝色的,因而将眼里出现的蓝色当做是光照的产物,从眼前的这条裙子上剥除了,GRB少了B,颜色自然发生了变化,从而得出了白金的答案。但当你的大脑意识到饱和度变化是混入全频段的白光而非单色光的时候,你的大脑才能做出正确的判断,其实裙子是蓝黑,只不过光照非常耀眼,饱和度大大下降,才造成这件衣服在照片中严重偏色的。这就是为什么有些人同时可以看到两种颜色,并最终可以从白金回归蓝黑的道理。
这就是人类的视觉分析系统的一瞥,在这个话题广泛讨论的时候也有很多人开始讨论人眼的颜色感觉组织,试图站在人类的生理极限角度解读这个世界,但现实是,人类引以为豪的大脑其实异常容易被人类有限的感知能力所局限。比如说,(人类的)可见光谱无非是电磁波谱中很有限的一段,这也使得人类的智慧可能永远无法理解鸽子所能看到的红外光波段究竟是什么样的颜色,也无法理解海洋底那某种虾子的眼里,几十种色彩感觉组织所描述出来的,超越红橙黄绿青蓝紫之后的这个世界究竟是多么丰富多彩。类似的例子,哪怕是人类亲眼看到的可见光,同样可以欺骗人类的大脑,比如叶绿素,人类之所以看到叶子是绿色的,是因为可见光谱范围内其他颜色的光大部分被叶绿素吸收作为光合反应之用,唯有绿光的吸收最少,反射进人类眼睛里才显出了绿色,抛开所有光与颜色的桎梏,究竟上帝眼里看到的这个世界又是什么颜色的,恐怕人类也无法理解了。就像黑客帝国里说的,我们的感觉终究只是大脑的信号而已。所以,要尽可能多的理解这个世界,还需要借助各种工具,用理性与智慧去分析,万不能任由自己一叶障目不见泰山啊!与诸君共勉!
发现好多站友都没有看过这条裙子,借用一张图过来。
|