前言:色彩客观评测是指通过分析色卡在指定光源环境下的色彩客观数据来判断当前相机是否满足客观标准,本文整理了Imatest中ColorCheck测试步骤及色彩相关指标的数据解读,并在第五章中介绍了一种批量色卡识别并输出结果报表的解决方案。
一、可测图像质量指标
通常在可控光源环境(灯箱/实验室/实景)里拍摄色卡可用于测试相机如下图像质量指标:
1、色彩:
color accuracy(色精度)、
white balance(白平衡)、
saturation(饱和度)等。
2、噪声:
noise(噪声)、
SNR(信噪比)、
visual noise(视觉噪声)等。
3、Tonal Response(色调响应)
Dynamic Range(动态范围),
Gamma(伽马)等。
4、分辨率:图卡:ISO12233卡
5、均匀性:Imatest——Light Falloff
6、畸变:Imatest
7、坏点和脏污
物理尺寸
子像素排列
分辨率
清晰度
亮度
对比度
亮度均匀性
可视角度
响应时间
几何失真
对角线视场角
帧频率
纹理细节
视觉噪声
像面色彩均匀度
频闪
行列间串扰
二、Imatest色卡测试及操作流程
1、手机/相机正对色卡拍摄,并保证色卡占预览面积的70%左右,光源包括D65、TL84、CWF、A光等。
2、导出图片到Imatest Master工具中,点击"Colorcheck",
3、依次选择①→⑦,
①——选择被拍摄色卡的基准参考,默认X-rite default,具体看所购买的色卡注明。
②——色彩空间,根据被测相机/手机的色彩空间而定,近几年上市的主流旗舰手机如iphone 13系列均采用的P3色域。
③——噪声fig展示,可按需选择需要展示的噪声指标如SNR等。
④——偏色误差展示,可按需选择CIE1976, CIE1994, CIE2000等标准下的△C, △E。CIE1976, CIE1994, CIE2000均为CIE(国际照明委员会)定义的色彩空间,他们计算偏色误差的标准不同,CIE1976是直接计算的理想落点与实际落点的欧氏距离,致使△E数值偏大,但在高饱和场景时△E的计算结果就不会太准确;而CIE1994和CIE2000在计算时就会考虑到人眼在高饱和色彩时减弱敏感度的真实感受,相对而言CIE2000更精准。
⑤——容许椭圆展示,可按需在a*b* color error图上选择对应容许椭圆进行展示(结果如图Fig 3.3(a)所示)。
关于容许椭圆,需要知道SDCM(色彩匹配标准差)反映的是色彩空间中两个颜色点之间的色差,麦克亚当椭圆(MacAdam ellipses)定义了色彩空间中两个点之间的色差标准(一般可称为容许椭圆),以24色卡为例,当色块实际落点位于理想落点所在的容许椭圆外,表明实际落点超出了容许范围,客观上意味着当前色块色差偏离大;反之亦然。类似地Delta-C 94 ellipses,Delta-C 2000 ellipses都是类似解读。
实际上,各手机/相机厂商/第三方检测机构(Imatest/IE/DXO等)都可以针对各色块定义自己的容许椭圆,椭圆中心以色卡各色块理想落点为中心,椭圆长短轴则根据厂商需求去自定义,理论上椭圆半径越小说明对色差的容许越苛刻,在有效的管控下出来的色彩就会越接近想要的理想落点。
⑥——ROI选取(针对下一次运行时而言)。官方推荐是选2或3或4,三者的区别就是,2是一个半自动的粗略ROI提取,会展示各个色块的提取框如下;3是全自动ROI检测,但会提供展示及确认的步骤;4就是全自动提取并跳过ROI确认。实测2,3,4最后都会需要确认,个人感觉2或3还是会稳妥些。如下Fig 2.5为colorchecker在提取到色块后的confirm过程。
⑦——按需plot相应的图表。
三、Imatest输出数据解读
3.1 图像色彩相关指标
1)色彩精度(Color Accuracy)
色彩精度反映的是手机/相机对色彩的还原能力,用Imatest工具可以测得色卡各色块的实际落点,某一色块实际落点与理想落点之间的差异大小即代表了该色块的色精度水平。通常用△E(色差)或△C(彩度差)来衡量,以Lab色彩空间为例,△E的值取决于L,a,b三个通道共同作用;△C则主要跟a,b两个通道的值相关(即不考虑亮度的影响故而也称彩差)。如Fig 3.1所示,通常测色卡前18个色块的色彩精度作参考。
(2)白平衡误差(WB Error)
白平衡误差反映的手机/相机对白色被摄物的颜色还原能力,如Fig 3.1所示,通常测色卡最后一行19-24色块的WB Error作参考。
(3)色彩饱和度(Saturation)
即色彩的鲜艳程度,包括各色块的Chroma值及1-18色块的平均饱和度。
3.2 输出报表解读
如下主要截取色彩相关指标进行解读。
(1)RGB, Lab, xyY, Chroma值
meas代表measured,即实测结果;ideal即理想结果。
①——表示各色块测得的平均RGB值(归一化后),各色块被统计的像素源于Fig 2.5中各个青色方框所框选到的像素:
[R, G, B] = np.divide(RGB, 255.0)
②——表示转换到Lab空间下的色彩表示(sRGB→XYZ→Lab),公式如下(代码实现见附录【A1】色彩空间转换):
③——表示转换到xyY空间下的色彩表示(sRGB→XYZ→xyY),XYZ→xyY公式如下:
④——各色块饱和度Chroma计算公式如下:
⑤——为色卡出厂时各色块的参考(理想)RGB值。
(3)White Balance Error
3.3 图表解读
(1)a*b*图
上图说明了设备无关的CIELAB色彩空间的a*b*平面的颜色误差,其中a*是横轴(绿-红),b*是纵轴(蓝-黄):
方块是各色块的理想落点(a*, b*)值,该数值为所选色卡出厂的标准,在3.2(1)也有提及;
圆圈是各色块实测落点的(a*, b*)值。正方形或圆形附近的数字对应于色卡色块的编号;
色块 19-24(底行)的数字被省略,因为它们的 (a*, b*) 值聚集在 (0, 0) 周围;
理想落点与实测落点之间以线段相连,映射在a*b*平面坐标上代表的就是二者之间的彩度差即△C;
各理想落点外围均绘制有MacAdam椭圆或类椭圆,椭圆以理想落点为中心,代表了当前标准下各色块的色差容许范围。如图所示,色块5的实测落点位于椭圆内则代表色差可接受;色块10的实测落点位于椭圆外则代表当前色差过大超出容许范围。
(2)标准色块对照图
图中上半部分,每个色块内部都嵌套了2个小矩形块,
其含义如下:
最外围矩形1是实拍的patch,对应于图中的实测落点;
中心矩形2是实拍patch的参考值,该值是对实拍patch的亮度做了校正,校正值是灰块做二阶拟合后的结果,默认情况下以HSL颜色完成,但也可以在HSL, HSV, xyY, La*b*之间选择。矩形1和矩形2的平均亮度接近,矩形2可能在某些色块中更暗,而在其他色块中更亮。矩形2和矩形3对应于图中的小方块即理想落点。
矩形3是当前色块的理想值,无需亮度校正。对于所有色块,矩形2的亮度将始终比矩形3亮或暗,具体取决于曝光。
todo:这里说的亮度校正具体是怎么矫正的我还没整明白,请教了朋友说亮度是按照反射率*cmf算出来的
图Fig 3.3(d)是Fig 3.3(b)图中的下半部分,反映了当前色卡图像的白平衡误差,该误差以4种方式量化如下,
1、△C2000 。CIE2000标准下的偏色误差指标,最接近人眼感知。
2、HSV色彩模型中的饱和度S。S的值介于0(表示完美的中性灰)到1(表示完全饱和的颜色)之间。白平衡误差往往在灰块上表现最为明显(对应底行为2-5色块)。对于 S < 0.02,几乎看不见。对于 S > 0.10 来说,这是相当严重的WB误差。图像质量管控中通常会参考这一数值来评判当前相机的白平衡表现。
3、CCT(相关色温)误差,单位为开尔文。以K为单位的色温通常用于指定照明环境,比如D65(6500K),D50(5000K)。CCT误差反映的是照明色温的变化,通常较高的色温呈现为更多的蓝色,感知上会“更冷”;较低色温呈现为黄色,感知上会“更暖”。
4、以Mireds为单位的反色温(微倒数度)(蓝色),其中 Mireds = 106/(开尔文度)。比 CCT 误差在感知上更统一的指标。它用于指定光学色彩校正滤光片的强度,但在数字时代使用不多,因为很少需要这种滤光片。
四、色彩客观管控标准
在图像质量管控中,客观国标测试是检验当前产品是否达到国家标准合格上市的重要一环。国内终端厂商主要在《YD/T1607-2016 移动终端图像及视频传输特性技术要求和测试方法》的基础上制定自家的客观质量标准,并基于此进行客观图像质量管控。
在该国标中关于色精度、饱和度、白平衡的标准如下:
https://zhuanlan.zhihu.com/p/658866229
测试项
测试图卡
标准
测试条件
色彩还原误差(色精度)
ColorCheck
△C<=35, △E<=35
D65,TL84,A光
色彩饱和度
ColorCheck
D65、TL84光:95%<饱和度<130%;
D65、TL84、A光源 700~1200Lux 图卡亮度均匀性 10%以内
A光:90%<饱和度<125%
白平衡误差
ColorCheck
D65、TL84:≤0.15
D65、TL84、A光源 700~1200Lux 图卡亮度均匀性 10%以内
A:≤0.4