标定与调优:从实验室到产线的一致性控制)
134、色彩校正矩阵(CCM)标定与调优:从实验室到产线的一致性控制去年夏天,某款旗舰机量产前夜,产线突然爆出同一批次模组拍出的红色饱和度差了15%。实验室标定数据明明完美,换到产线就翻车。我连夜飞到工厂,发现产线光源色温波动±200K,而实验室用的是标准D65灯箱。这就是CCM标定从实验室到产线最典型的“水土不服”——你调好的矩阵,换个光源就崩了。为什么CCM不是“算一次就完事”CCM本质上是一个3×3矩阵,把sensor的RGB响应映射到标准色彩空间(比如sRGB或BT.2020)。但问题在于:sensor的响应是非线性的,且受光源、镜头、IR cut filter、甚至模组温度影响。// 别这样写:直接套用标准公式 // CCM = inv(RGB_sensor) * RGB_standard // 这会导致暗部偏色、高光溢出踩过坑的都知道,CCM标定必须分亮度区间处理。暗部噪声大,亮部可能饱和,中间调才是人眼最敏感的区域。我们通常的做法是:先做线性化校正(Lens Shading + 黑电平补偿),再分3-5个亮度区间分别计算CCM,最后做平滑过渡。实验室标定的“假完美”陷阱实验室用X-Rite ColorChecker 24色卡,在D65光源下,用高精度分光辐射计测量。但这里有个致命问题:色卡的反射特性是Lambertian的,而真实场景有镜面反射、有纹理、有半透明物体。// 这里踩过坑:色卡摆