news 2026/10/16 12:13:12

ICCV 2019【从颜色科学到相机】02_颜色从哪里来?从光谱、同色异谱到 CIE XYZ

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ICCV 2019【从颜色科学到相机】02_颜色从哪里来?从光谱、同色异谱到 CIE XYZ

颜色与相机成像专题(2):颜色从哪里来?从光谱、同色异谱到 CIE XYZ

为什么三种光可以表达大量颜色?为什么两个物体看起来颜色相同,换一盏灯却不同?本文从光谱出发,建立后续理解白平衡和色彩空间所需的基础。

关键词:光谱、同色异谱、CIE XYZ、色度图、颜色科学

1. 颜色不是物体自带的一组三通道数

说“番茄是红色的”很自然,但相机真正收到的是来自番茄的光。对非荧光、漫反射表面的简化描述是:

L ( λ ) ∝ E ( λ ) ρ ( λ ) L(\lambda)\propto E(\lambda)\rho(\lambda)L(λ)∝E(λ)ρ(λ)

E ( λ ) E(\lambda)E(λ)是入射光谱,ρ ( λ ) \rho(\lambda)ρ(λ)是表面光谱反射率,L ( λ ) L(\lambda)L(λ)是朝观察方向传播的光谱辐亮度。比例关系省略了几何因素;镜面反射、自发光和荧光物体需要更完整的模型。

同一个番茄放在不同灯下,ρ ( λ ) \rho(\lambda)ρ(λ)可以不变,但E ( λ ) E(\lambda)E(λ)改变,因此进入眼睛或相机的光谱也会改变。讨论物体颜色时,如果不说明照明和观察条件,就容易把不同问题混在一起。

2. 人眼如何把光谱压缩成三个响应?

人眼在明视觉条件下主要通过三类视锥细胞产生颜色信息,通常记为 S、M、L,对短、中、长波段有不同的响应。它们的响应曲线有明显重叠,不能简单想象成三个互不相交的红、绿、蓝滤光片。

以 L 类视锥为例,其响应可以抽象为:

r L = ∫ L ( λ ) s L ( λ ) d λ r_L=\int L(\lambda)s_L(\lambda)\,d\lambdarL​=∫L(λ)sL​(λ)dλ

【补充lambda是什么东西,最好你的这个含义可以加一个中文解释,比如L的xxx,xxx怎么相当于用中文解释替换里面的数学符号,额外解释一轮】

其他两类类似。完整光谱包含大量维度,而观察系统最终只保留三个加权积分,所以信息一定会丢失。

图 1:曲线是帮助理解积分过程的示意,不是实测光谱或官方 CIE 数据。

暗视觉下,视杆细胞的作用增强;观察亮度、适应状态、视场等也影响颜色感知。因此“三个数决定颜色”应放在约定的观察条件下理解。

3. 同色异谱:颜色相同,光谱可以不同

如果两个不同光谱经过观察者的三通道加权积分后得到相同结果,就可能被感知为同一种颜色。这称为同色异谱。

【这里的光谱怎么理解,可以理解为一道光,就是带有分布的一种光谱?自然光是一种光谱?我们在自然光的环境下,进行拍摄,拍摄后加上一系列图像处理,实现同色异谱(补充英文原文)的效果?怎么产线你说的这个光谱,这个是不是可以用来说明相机如何还原显示世界色彩】

图 2:讲义 PDF 第 33 页。真实生菜与印刷图像可以产生相似颜色感觉,但对应的光谱分布不同。

它带来两个实际结论:

  • 一般不能仅凭 RGB 或 XYZ 唯一恢复完整光谱。光谱重建模型必须依赖额外假设或先验。
  • 对人眼同色的两种光谱,对某台相机未必同色,因为相机的光谱响应不等于人眼的响应。

还要区分固定条件下的同色异谱与“换灯后仍然相同”。两块色样在一种光源下匹配,不代表在另一种光源下仍然匹配。产品配色、纺织检测和跨相机颜色标定都可能受到影响。

4. CIE RGB:先做颜色匹配实验

早期颜色科学通过实验询问观察者:如何调节三束基色光的强度,让它们混合后与测试色匹配?

图 3:讲义 PDF 第 43 页。标准化实验把主观感受转化为可记录的匹配系数。

有些测试色不能仅靠向匹配侧添加三种基色得到。这时可将某种基色加到测试色一侧,再实现匹配。把等式移项后,这种操作对应“负的匹配系数”。

负系数并不表示灯泡真的发出了负能量,而是说明选定的三个真实基色无法通过非负混合覆盖所有可见颜色。

5. CIE XYZ:一种标准的颜色坐标

CIE XYZ 在颜色匹配实验的基础上,通过线性变换构造了一套便于使用的坐标。它的三条颜色匹配函数记为x ˉ ( λ ) \bar{x}(\lambda)xˉ(λ)、y ˉ ( λ ) \bar{y}(\lambda)yˉ​(λ)、z ˉ ( λ ) \bar{z}(\lambda)zˉ(λ)。

X = k ∫ L ( λ ) x ˉ ( λ ) d λ X=k\int L(\lambda)\bar{x}(\lambda)\,d\lambdaX=k∫L(λ)xˉ(λ)dλ

Y = k ∫ L ( λ ) y ˉ ( λ ) d λ , Z = k ∫ L ( λ ) z ˉ ( λ ) d λ Y=k\int L(\lambda)\bar{y}(\lambda)\,d\lambda,\qquad Z=k\int L(\lambda)\bar{z}(\lambda)\,d\lambdaY=k∫L(λ)yˉ​(λ)dλ,Z=k∫L(λ)zˉ(λ)dλ

k kk取决于绝对测量还是相对归一化的约定。实际程序通常在离散波长上求和,同时考虑采样间隔。

图 4:讲义 PDF 第 48 页,CIE 1931 2° 标准观察者的颜色匹配函数。

XYZ 的重要性质不是“颜色更鲜艳”,而是提供了跨设备讨论颜色的共同参照。它不是传感器原生 RGB,也不是三盏可以实际制造出来的 XYZ 灯。Y YY被设计为与明视觉亮度测量相关的分量。

“设备无关”也不等于无条件统一:观察者、参考白、测量几何和数值归一化仍必须明确。

6. 辐射量、光度量与感觉,分别是什么?

概念关注什么例子
辐射度学光的物理能量辐照度、辐亮度
光度学按人眼明视觉敏感度加权的光量照度 lux、亮度 cd/m²
色度学标准观察者下的颜色匹配XYZ 三刺激值
主观感知观察者觉得多亮、什么颜色brightness、色适应

两个光源具有相同物理功率,不代表看起来一样亮,因为人眼对不同波长的敏感度不同。相反,相同 XYZ 也不能证明两个光源具有相同光谱。

7. xyY:把色度和亮度拆开

当X + Y + Z > 0 X+Y+Z>0X+Y+Z>0时,定义:

x = X X + Y + Z , y = Y X + Y + Z x=\frac{X}{X+Y+Z},\qquad y=\frac{Y}{X+Y+Z}x=X+Y+ZX​,y=X+Y+ZY​

再保留原来的Y YY,就得到 xyY。已知x , y , Y x,y,Yx,y,Y且y > 0 y>0y>0时:

X = x Y y , Z = ( 1 − x − y ) Y y X=\frac{xY}{y},\qquad Z=\frac{(1-x-y)Y}{y}X=yxY​,Z=y(1−x−y)Y​

例如( X , Y , Z ) = ( 0.3 , 0.4 , 0.3 ) (X,Y,Z)=(0.3,0.4,0.3)(X,Y,Z)=(0.3,0.4,0.3)与( 0.6 , 0.8 , 0.6 ) (0.6,0.8,0.6)(0.6,0.8,0.6)的x , y x,yx,y相同,但亮度分量不同。色度图只画x , y x,yx,y,正是把这类强度差异压掉了。纯黑点的色度没有定义,不应直接用零分母计算。

图 5:讲义 PDF 第 57 页。二维马蹄形图便于讨论基色和白点,但不能完整表示三维颜色体积。

数学上,这是沿射线归一化到X + Y + Z = 1 X+Y+Z=1X+Y+Z=1平面,再使用两个坐标。不能把讲义中的简写理解为同时投到三个平面X = 1 X=1X=1、Y = 1 Y=1Y=1、Z = 1 Z=1Z=1。

图中的距离也不是均匀的感知色差;显示器无法真正显示所有边界颜色,因此图里填充的颜色只能辅助理解。

8. 对视觉工程有什么帮助?

如果两个设备都经过了可靠标定,可以先映射到共同的 XYZ 表示,再讨论颜色差异。如果直接比较两个设备的原生 RGB,差异可能来自光谱响应,而不全是算法误差。

如果任务要求识别材料而非“看起来是什么颜色”,还应考虑照明变化和同色异谱。只有三个通道时,有些材料本来就不可区分,需要更好的照明设计、更多波段,或者其他视觉线索。

参考与出处

  • Michael S. Brown,ICCV 2019 教程,PDF 第 24~61 页;照明与反射关系见第 63~64 页。

上一篇:为什么照片不是光照测量
下一篇:sRGB、Gamma、Lab 和亮度的区别

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/16 12:12:04

FLAC转MP3全指南:编码参数、批处理与避坑实战

简介:FLAC转MP3大师 v7.0 是一套面向音频处理与多媒体格式转换场景的实用工具,主要帮助用户将 FLAC 无损音频转换为高品质 MP3 音乐,同时兼容 WMV、MP4、MOV、MPG、WAV、WMA 等常见音视频格式转 MP3 的需求,适合日常整理无损音乐、…

作者头像 李华
网站建设 2026/10/16 12:12:03

Cassandra Compaction策略选型:STCS、LCS与TWCS实战解析

打开你的Cassandra集群的 nodetool tablestatus ,看到某张表SSTable数量冲到几十甚至上百,后台compaction永远跟不上写入,查询慢得像在拖泥巴——这类问题十有八九不是硬件不行,而是当初建表时随手选错了compaction策略。 Cass…

作者头像 李华
网站建设 2026/10/16 12:03:03

GPU容器化与AI训练平台实践:从Kubernetes调度到资源治理

1. 从裸机乱局到容器化:我们为什么非要重建一套训练平台 我所在的团队负责为整个公司的算法部门提供 GPU 算力支撑。两年前的状态,说实话,和很多公司一样:几台 8 卡的 GPU 服务器散落在不同机柜,算法同学申请到一台机器…

作者头像 李华
网站建设 2026/10/16 12:02:03

正整数划分经典解法:从动态规划到完全背包的笔试题实战

写笔试题有个很有意思的现象:越是看起来简单的数学题,越容易把人卡在笔试现场。正整数划分就是典型代表。题目往往只有一句话:“把一个正整数拆成若干个正整数之和,求方案数。”看完题目觉得不难,真到动手写状态转移方…

作者头像 李华
网站建设 2026/10/16 12:01:42

BiLSTM-CRF与BERT融合:序列标注面试核心原理拆解

1. 从原理到面试题,一次把双向序列模型的“底裤”拆干净今年校招和社招的算法岗面试,NLP方向绕不开的一个「全家桶」就是标题里这四个概念:BiRNN、BiLSTM、BiLSTM-CRF 以及 BERT-BiLSTM-CRF。每次面到序列标注、命名实体识别、分词或关系抽取…

作者头像 李华
网站建设 2026/10/16 11:58:23

KNN算法详解:从原理到实战,手写实现与调参优化指南

KNN算法大概是机器学习里最适合拿来手写的算法了。它思路直观、实现门槛低、不需要训练过程,天然支持多分类,甚至能直接用来做回归——听起来很简单对吧?但我在实际做项目的时候踩过不少坑,距离度量怎么选、K值设多少、特征要不要…

作者头像 李华