论数码成像的色彩平衡
19256 321
[23 楼] johnyj [资深泡菜]
10-9-19 01:14
对于3X3的矩阵转换,我的高等数学不行,无法解释为何很有效,只能从矩阵所进行的计算上猜。比如说某个像素的各通道输出值要经过三个计算才能得出相应的该像素在CIE的X通道值,那我猜这三个参数应该是调整红色感应曲线的位置,高度和宽度。如果相机的感应曲线和人眼的感应曲线是同一类型的,比如说都是正态分布曲线,那用线性的矩阵去进行转换,就很容易做到完全拟合。

从其他这几个芯片的光谱感应曲线来看,就能理解为何有人说MSK不容易表现连续过渡的色彩。除了插值算法导致的虚假颜色之外,如果芯片的光谱感应曲线在光谱上相近的位置却具有相同的输出,就无法表现颜色的细微变化。

不管细节吧,总之这个比较证明了X3因为成像是利用半导体的天然性能,所以颜色准确度实际上是很精确的。

但这和实际使用体验不符,众所周知X3的偏色是很常见的。问题出在哪儿?就是白平衡。
[22 楼] johnyj [资深泡菜]
10-9-19 00:43
原文由 5265 在2010-09-18 23:33发表
仅靠一个3X3的矩阵....這對於X3...

話說若是按下面的圖譜修正起來就簡單了,不過SPP...算法應該不會簡單


为什么仅靠一个3X3的矩阵就可以将X3的输出几乎完整地转换为XYZ三刺激色的信号而不发生大的误差?误差到底和其他成像器件比起来有多大?这里再把X3那份技术资料的相关页贴一下。

左侧分别是A)KODAK CCD;B)SONY CCD;C)Agilent CMOS的光谱感应曲线,右侧那个表中的METAMERISM INDEX可以看作是色彩空间转换误差的大小。

可以看出,这个色彩空间转换的误差,取决于芯片的光谱感应曲线是否平滑。SONY的那个CCD,过渡很平滑,分离度也很好,就获得最小的色彩转换误差(当然文中也指出那是加了优化滤镜后的效果)。而KODAK和Agilent的芯片色彩转换误差就很大,因为在光谱感应曲线中有很多的褶皱。
[21 楼] 5265 [泡菜]
10-9-18 23:33
仅靠一个3X3的矩阵....這對於X3...

話說若是按下面的圖譜修正起來就簡單了,不過SPP...算法應該不會簡單
[20 楼] johnyj [资深泡菜]
10-9-18 06:48
很自然的一个问题就是,在这个转换中,仅靠一个3X3的矩阵,就要将X3那特殊的三层感光的输出转化为类似人眼XYZ细胞的输出,准确度能有多高?

准确度是靠反过来保证的:先通过大量计算找到一个3X3矩阵,这个矩阵能把XYZ感应曲线转化到相当接近X3的感应曲线,然后用紫外镀膜和红外滤镜进行调整,使得X3的感应曲线逼近这个从XYZ感应曲线转化过来的新曲线。然后原来矩阵的反矩阵就可以将X3的信号完整转化为XYZ信号。

图中是FOVEON示意的加入一个最佳颜色效果滤镜后,X3的光谱感应曲线,以及通过计算找到的最佳颜色匹配函数(矩阵)从XYZ转换过来的光谱感应曲线。可以看到在加入滤镜后,X3的光谱感应曲线已经非常接近最佳颜色匹配函数得出的曲线,只有绿色通道准确度稍差一些,蓝色端的绿色通道过强了(这里似乎可以看到些X3的蓝天往往发绿的原因)。
[19 楼] johnyj [资深泡菜]
10-9-18 06:14
继续分析图7。

X3的特点是,每一感光层都几乎对整个光谱上所有颜色都有感应。

比如说650纳米的红色光处,红绿蓝三个通道都有输出,而人眼此时只有L细胞有信号,S和M细胞都没有信号。

因此在出图的过程中,就需要对红绿蓝三个通道的输出加以转换,转为人眼色觉细胞LMS各自对应的信号。

这个转换业界都是用一个3X3的矩阵,这里面涉及线性代数,早记不清了,看图吧。

具体怎么算的搞不太清楚,希望有会矩阵的指点一下,反正结果就是,通过这个3X3的矩阵转换后,最终的X3的三层感光RGB值就转换成了XYZ三刺激值,也即类似人眼的SML细胞的感应。
[18 楼] johnyj [资深泡菜]
10-9-18 04:51
原文由 5265 在2010-09-17 22:47发表

很奇怪若按這個色彩是不用說的了...


没错,X3的颜色准确性确实是很优秀的(如果能找对白平衡的话)。这是X3的光谱感应曲线整体非常平滑的结果,而这种平滑就是因为颜色分离是依靠半导体材料的天然性能,是很自然的。
[17 楼] 5265 [泡菜]
10-9-17 22:47
原文由 johnyj 在2010-09-17 22:03发表
言归正传,看完人眼的光谱感应曲线,再来看X3的光谱感应曲线。这是加了紫外镀膜和红外滤镜之后的最终效果,可以看到过渡相当平滑。


很奇怪若按這個色彩是不用說的了...
[16 楼] johnyj [资深泡菜]
10-9-17 22:03
言归正传,看完人眼的光谱感应曲线,再来看X3的光谱感应曲线。这是加了紫外镀膜和红外滤镜之后的最终效果,可以看到过渡相当平滑。
[15 楼] 5265 [泡菜]
10-9-17 20:23
成像色彩由RGB三個通道分別對.4-.7nm的響應曲綫來決定.當然還有慮入射光強度與非線性問題...

無論是X3還是MSK幾乎都不會有接近人眼的響應曲綫還有動態範圍.

三個通道輸出經過機內簡單處理再到電腦進行特定算法...再到SRGB...

秖要通道不食飽(溢出),通道差異夠大,足夠算法計算...都應該是可以很好計算回來的...不過SPP...
[14 楼] johnyj [资深泡菜]
10-9-17 19:59
原文由 fpp 在2010-09-17 19:48发表

论文成绩评估标准
  (一)优秀(90-100分)   1、综合运用所学的理论知识和有关方法、技能。   2、密切联系审计或工程管理工作实际,分析问题正确、全面,具有一定的理论深度和创见,对实际工作或学术研究有一定的现实意义。   3、论文中心突出,论据充足,数据可靠,层次分明,逻辑清楚,文字结构严谨。    ......


呵呵,这个问题要写论文估计要好几年,就偏色问题研究一下对策即可。
[13 楼] fpp [资深泡菜]
10-9-17 19:48
论数码成像的偏色问题


论文成绩评估标准
  (一)优秀(90-100分)   1、综合运用所学的理论知识和有关方法、技能。   2、密切联系审计或工程管理工作实际,分析问题正确、全面,具有一定的理论深度和创见,对实际工作或学术研究有一定的现实意义。   3、论文中心突出,论据充足,数据可靠,层次分明,逻辑清楚,文字结构严谨。   4、原始资料齐全,能运用科学方法进行加工整理。   

(二)良好(80-89分)   1.正确理解运用所学的理论知识和有关方法、技能。   2.较好地联系审计或工程管理工作实际,分析问题比较正确、全面,对实际工作或学术研究有一定的参考作用。   3.论文中心明确,论据较充足,数据基本可靠,层次较分明,文句通顺。   4.原始资料基本齐全,能较好地进行加工整理。   

(三)中等(70-79分)   1.基本掌握所学的理论知识和有关方法、技能。   2.能联系审计或工程管理工作实际,分析问题具有一定的说服力。   3.语句通顺,主要数据基本可靠,有一定的论据。   4.具有一定的原始资料,但不够全面,加工整理也较差。   

(四)及格(60-69分)   1、基本掌握所学的理论知识和方法、技能。   2、尚能联系审计或工程管理工作实际,对所论述的问题有一定分析和考证。   3、语句尚通顺,主要数据基本可靠,有一定的论据。   4、原始资料不全,加工整理也较差。  

(五)不及格(59分以下)   凡具有以下条款之一者,应判为不及格:   1、理论上有原则性错误,没有掌握所学的理论知识、方法和技能。   2、论文缺乏中心,层次含混不清,缺少主要论据,或论据、论点与结论相互矛盾,语句不通顺。   3、基本内容属抄袭他人成果。   4、原始资料残缺不全,主要数据失真或已过时,加工整理极差。   5、论文字数不足3000字。
[12 楼] 涌泉 [资深泡菜]
10-9-17 19:48
原文由 johnyj 在2010-09-17 16:04发表
先看这副人眼的光谱感应曲线:

人眼可见的电磁波,波长为400到700纳米之间,有三种不同的色觉细胞S,M,L分别感知蓝、绿、红。严格点来说,S细胞对于400-550纳米之间的光最为敏感,M能够感知400-650纳米波长的光,L的感应范围在420-700纳米之间。

从这张图可以看出些简单的结论:
在波长650纳米以上的红色区域,只有L细胞有感应
在波长600纳米的位置,是橙色光,S细胞无感应,M细胞感应度2.5,L细胞感应度5.4
在波长500纳米的位置,是蓝绿色光,S细胞感应度1.9,M细胞感应度2.5,L细胞感应度1
在波长450纳米的位置,是蓝色光,S细胞感应度为10,M和L细胞感应很微小可不计

收藏。
[11 楼] johnyj [资深泡菜]
10-9-17 19:39
原文由 5265 在2010-09-17 17:05发表

不同亮度的情況下人眼的光谱感应曲线的確是會漂移一些...以前不知在那一個網站看過..你查查..


找到了一些:亮的时候最敏感是550NM光,暗的时候最敏感是510NM光,也就是由黄绿往蓝绿方向偏移,http://www.telescope-optics.net/eye_spectral_response.htm

但这很可能是因为光线暗的时候对蓝色光敏感的杆状细胞开始起作用了,基本上可认为这种偏移对于锥状细胞来说是较小的可忽略不计。
[10 楼] 5265 [泡菜]
10-9-17 17:05
原文由 johnyj 在2010-09-17 16:37发表

有一点很重要:自然界的光线虽然千变万化,但无论如何最终是在人眼成像,只要能把感光器材的光谱感应性能做到和人眼的SML三种细胞的光谱感应性能一样,那就完全有信心感光器材可真实再现人眼看到的颜色。

另外有一个同样很重要的问题,也就是KERON提到的亮度不同:这幅人眼的光谱感应曲线,是否在不同亮度下是不同的 ......


不同亮度的情況下人眼的光谱感应曲线的確是會漂移一些...以前不知在那一個網站看過..你查查..
[9 楼] eazo [泡菜]
10-9-17 16:49
原文由 johnyj 在2010-09-17 16:23发表

这篇不错,讨论了过爆的问题


这涉及到X3色深的处理,表象上一些有意义的总结,如果单以过曝文献来看就太可惜了。
[8 楼] johnyj [资深泡菜]
10-9-17 16:37
原文由 johnyj 在2010-09-17 16:04发表
先看这副人眼的光谱感应曲线:

人眼可见的电磁波,波长为400到700纳米之间,有三种不同的色觉细胞S,M,L分别感知蓝、绿、红。严格点来说,S细胞对于400-550纳米之间的光最为敏感,M能够感知400-650纳米波长的光,L的感应范围在420-700纳米之间。


有一点很重要:自然界的光线虽然千变万化,但无论如何最终是在人眼成像,只要能把感光器材的光谱感应性能做到和人眼的SML三种细胞的光谱感应性能一样,那就完全有信心感光器材可真实再现人眼看到的颜色。

另外有一个同样很重要的问题,也就是KERON提到的亮度不同:这幅人眼的光谱感应曲线,是否在不同亮度下是不同的?答案我还真没有,得去查查。。。

[johnyj 编辑于 2010-09-17 16:39]
[7 楼] johnyj [资深泡菜]
10-9-17 16:28
原文由 xgtl 在2010-09-17 16:22发表
说白了芯片中的算式可以适合一小部分拍摄情况,但自然界是千变万化的,数码相机厂商不可能面面俱到地设计不同环境下的色彩保留与倾向,芯片根本不可能对外界环境进行识别,就是把芯片换成CPU+硬盘也不能完全达到要求,凑合着用吧,不行就PS


没错,就是这么回事。作为用户来说,因为生产X3的厂家做的测试不够,导致实际使用中出现很多不便,这就是需要用户自己来调整,而对我来说这个调整的关键就在于白平衡,但现在就是想分析一下为何白平衡能解决问题。
[6 楼] johnyj [资深泡菜]
10-9-17 16:23
原文由 eazo 在2010-09-17 15:52发表
这有一些参考资料。
http://www.13thmonkey.org/~boris/photos/Foveon2/foveon-highlights.html


这篇不错,讨论了过爆的问题
[5 楼] xgtl [泡菜]
10-9-17 16:22
LZ看到的是经芯片处理后的图像,其实每个像素分别由红绿蓝三种光电二级管感应光线再经过内置芯片中厂商预设算式分别以不同比例保留红绿蓝色,厂商在设置算式时还是对大多数可能使用到的情况进行了分析总结,输入机器中的算式是最可能用到的环境下的色彩倾向与人们的日常喜好,所以在使用过程中会发现数码片有偏色的倾向,说白了芯片中的算式可以适合一小部分拍摄情况,但自然界是千变万化的,数码相机厂商不可能面面俱到地设计不同环境下的色彩保留与倾向,芯片根本不可能对外界环境进行识别,就是把芯片换成CPU+硬盘也不能完全达到要求,凑合着用吧,不行就PS
[4 楼] johnyj [资深泡菜]
10-9-17 16:04
先看这副人眼的光谱感应曲线:

人眼可见的电磁波,波长为400到700纳米之间,有三种不同的色觉细胞S,M,L分别感知蓝、绿、红。严格点来说,S细胞对于400-550纳米之间的光最为敏感,M能够感知400-650纳米波长的光,L的感应范围在420-700纳米之间。

从这张图可以看出些简单的结论:
在波长650纳米以上的红色区域,只有L细胞有感应
在波长600纳米的位置,是橙色光,S细胞无感应,M细胞感应度2.5,L细胞感应度5.4
在波长500纳米的位置,是蓝绿色光,S细胞感应度1.9,M细胞感应度2.5,L细胞感应度1
在波长450纳米的位置,是蓝色光,S细胞感应度为10,M和L细胞感应很微小可不计
[3 楼] eazo [泡菜]
10-9-17 15:52
这有一些参考资料。
http://www.13thmonkey.org/~boris/photos/Foveon2/foveon-highlights.html
[2 楼] wahyy [泡菜]
10-9-17 15:44
不是特别喜欢x3的红色,为什么不能是青色呢,正常多了
[1 楼] johnyj [资深泡菜]
10-9-17 15:38
看了猪猪的《玩转X3F色彩》大作,非常佩服猪猪将复杂事物解释得简单的能力。色彩方面因为涉及很多光学中的专业知识,寻找一个很好的切入点非常重要,这里我也学学猪猪,把色彩平衡这个概念以尽可能简单的方式解释一下

彩色图像的记录和重现,分两个步骤:
一是将图像的亮度和色彩记录和重现
二是将成像的环境光往白色校正,因为人脑有自动把环境光向白色印象靠拢的特点

以一个黄绿色背景为例,人眼看到黄绿色背景,也就是大片黄绿色光进入人眼时,其中负责辨别色彩的L和M两种感光细胞都会受到强烈刺激而产生反应,S感光细胞基本无反应,L和M两种细胞产生的反应强度正好相同,这就给大脑以“黄绿色”的印象

这是人眼的光谱感应曲线,可以看到,当M细胞(绿色曲线)和L细胞(红色曲线)产生的反应相同时,也就是两曲线相交的位置,对应光谱上的位置是560纳米波长处的黄绿色光


那么,同样的黄绿色背景,通过光学系统成像后记录为数字信息,然后再重新在显示器上显示为人眼看到的黄绿色,简化来说是这么个过程:
1.黄绿色背景通过镜头成像在感光芯片上
2.芯片的红绿蓝三个通道分别受到刺激而产生信号,也就是RAW文件中的红绿蓝三通道信号
3.RAW文件的红绿蓝三通道信号通过各通道增益调整和矩阵转换,驱动显示器的红绿蓝三通道显示出让人眼感受到同样黄绿色的背景

可见,在人眼成像的场合,只涉及人眼的三通道信号,而在数字成像的场合,涉及的三通道信号就起码有两种:
RAW文件的红绿蓝三通道信号
显示器的红绿蓝三通道信号

在这样的三通道信号转换过程中,只要出现误差,就将导致无法准确重现人眼所见的颜色

既然黄绿色背景可以使人眼的L和M细胞产生相同强度的信号而S细胞没有反应,那么假设显示器的红和绿两个通道输出了相同强度的信号,而蓝通道不发光,是否人眼会产生黄绿色的感觉?

答案是:不是,此时人眼看显示器的感觉是橙色

这是XYZ的色彩空间表述,表示的是如何用显示设备的不同强度的红绿蓝三色光来组合出光谱上的各种不同颜色。从这里可以看出,如果红绿通道光强相同,产生的则是580纳米处的光色,已经是橙色了。而要产生相当于560纳米附近的黄绿色光效果,显示器的红通道信号大概只有绿通道的60%


从这里可以得到一个关键点:不同的色彩表述,不具有相同的特性,只要在整个信号转换的过程中能精确地实现光谱上每种颜色的一一对应,就没问题

继续倒推,560纳米波长的黄绿色光可以精确地由显示器的(60,100,0)三通道信号来产生,那么这又该对应着RAW文件三通道的什么数值呢?

这是某X3芯片的光谱感应曲线,查图可以知道,在560纳米处,X3的三通道值是(0.037,0.033,0.018),用整数可以表达为(37,33,18)


也就是说,一幅黄绿色背景,在X3芯片上成像后,三通道信号的比例为37:33:18,这样一个比例,需要精确地对应显示器的60:100:0,就可以驱动显示器重现黄绿色。这样的精确对应,是依靠一个3X3矩阵来实现转换的(这是简化例,实际上是两个甚至更多矩阵转换,但只有一个矩阵最重要,其他都是固定的)

那么,白平衡的概念,又有什么关系?

首先,之前X3芯片的光谱感应曲线的纵轴,给出的只是相对强度表达,而输出的绝对数值可能有很大差异,比如说不是(37,33,18)而是(74,33,9),这样的差异需要参数来纠正,以使各通道获得合适的增益,比如说,红通道乘以0.5而蓝通道乘以2,这就是X3的各通道默认增益(0.5,1,2)(我称之为RAW平衡参数,因为此时还不涉及任何有关白光的概念)但很遗憾,在X3的SPP软件中,这一步被称为白平衡设置,我觉得是错误的概念

其次,因为人脑有自动把环境光向白色印象靠拢的特点,如果芯片真实地记录当时的颜色,未必和人当时的观感相同,这就需要后期对于白点进行调整,使最终成像接近人当时的观感,这是通常所说的白平衡,但这个调整是微小的,可以在后期用色盘调整或者在PS里做

本帖最后由 johnyj 于 2012-5-15 23:00 编辑