目录 / 文档-技术白皮书 / 17-EFT.WP.Methods.Imaging v1.0
一句话目标:建立从传感器线性域到目标色域的可审计色彩流水线,完成场景/视景一体的白点估计、色适应、CCM 求解与渲染输出,并以度量与契约控制 ΔE、肤色与中性灰的稳定性。
I. 范围与对象
- 输入
- 原始成像与元数据:RGB_raw(拜耳/多谱)、ts|tau_mono、ISO, exposure, T_cam, gain_map、镜头与滤光片信息。
- 标定与参考:色卡观测 {patch_j}, 参考光源或 SPD E(λ)、传感器光谱响应 S_c(λ)、参考白点 W_ref。
- 目标色域与传输特性:dst_cs ∈ {sRGB, DisplayP3, Rec.2020, ACEScg, ProPhotoRGB}, TRC/OETF。
- 输出
- 白平衡参数:wb = diag(g_R, g_G, g_B) 或 tile-wise wb(x,y);光源估计 illuminant = {CCT,Tint or W_src}。
- 色彩变换:M_ccm、色适应矩阵 CAT(W_src→W_dst)、渲染矩阵 M_render = M_dst * CAT * M_ccm * wb。
- 工件与清单:profile.v1(含模型与系数)、manifest.imaging.color、hash_sha256(profile)、signature。
- 适用边界
- 白平衡默认在 RAW 线性域先于去马赛克;多模态/多分辨共享同一白点但允许独立 M_ccm。
- 双光源/混合光可采用分区或软分割估计,发布时需标注策略与掩码。
II. 名词与变量
- 物理与感知
- E(λ):scene spectral power distribution;R(λ):surface reflectance;S_c(λ):sensor spectral sensitivity。
- W = (X_w, Y_w, Z_w):white point;XYZ、Lab:CIE spaces;u'v':chromaticity。
- 相机与矩阵
- RGB_raw_lin:dark/PRNU/DSNU 校正后的线性 RAW。
- wb = diag(g_R,g_G,g_B):white balance gain matrix。
- M_ccm ∈ R^{3×3}:camera to XYZ (scene-referred)。
- CAT(W_s→W_d) = M^{-1} * diag( W_d / W_s ) * M(Bradford/Von Kries family)。
- M_dst:XYZ to target RGB linear for dst_cs。
- TRC/OETF:tone/gamma mapping of target system。
- 度量
- ΔE_ab(CIE76)、ΔE_00(CIEDE2000);err_awb(white-point residual in u'v')。
- gamut_viol:gamut overflow ratio;skin_angle:肤色色调角偏差。
- 单位与量纲
unit(RGB_raw_lin)="a.u.", unit(XYZ)="a.u."(相对量);unit(CCT)="K";check_dim 必须通过。
III. 公设 P210-*
- P210-1(线性先行):白平衡与 CCM 必须在线性域执行,严禁在非线性 TRC 后做通道增益。
- P210-2(场景参照):色彩管理默认 scene-referred,到 display-referred 的映射必须显式记录 OETF 与 tone curve。
- P210-3(白点一致):同一帧所有通道与后续空间变换共享单一 W_src,多光源时需显式分区与融合权重。
- P210-4(可逆与可追溯):M_ccm, CAT, M_dst 与 TRC 版本化发布,可逆段(线性矩阵)需在 Omega_valid 内条件数受控。
- P210-5(噪声感知):白平衡与色适应估计应考虑通道噪声与 SNR,低照或高 ISO 优先使用稳健估计器。
- P210-6(光谱不完备):摄像机与目标观察者失配不可避免,M_ccm 的训练与评测需覆盖代表性光谱集。
- P210-7(时温稳定):温度/曝光导致的增益/响应漂移需在清单中记录并进行颜色回归或插值补偿。
IV. 最小方程 S210-*
- S210-1(成像形成)
y_c = k * ( ∫ E(λ) * R(λ) * S_c(λ) dλ ) + n_c,c ∈ {R,G,B}。 - S210-2(白平衡线性增益)
RGB_wb = wb * RGB_raw_lin = diag(g_R,g_G,g_B) * RGB_raw_lin。 - S210-3(相机到XYZ 的线性映射)
XYZ_s = M_ccm * RGB_wb。M_ccm 可由最小二乘 argmin_M ∑_j || XYZ_ref_j - M * RGB_wb_j ||_2^2 得到。 - S210-4(色适应 CAT)
XYZ_d = CAT(W_src→W_dst) * XYZ_s,其中 CAT = M_B^{-1} * diag( (M_B*W_dst) / (M_B*W_src) ) * M_B(Bradford)。 - S210-5(目标色域线性化)
RGB_dst_lin = M_dst^{-1} * XYZ_d,并执行 gamut_map(RGB_dst_lin) 于 Ω 内。 - S210-6(传输特性)
RGB_out = OETF( RGB_dst_lin )(如 sRGB piecewise gamma, PQ, HLG 等)。 - S210-7(白点残差与色差)
err_awb = || u'v'(W_est) - u'v'(W_ref) ||_2;
ΔE_ab = sqrt( (L1-L2)^2 + (a1-a2)^2 + (b1-b2)^2 )。 - S210-8(双光源插值 CCM)
M_ccm(T) = α(T) * M_A + ( 1 - α(T) ) * M_B,α(T) ∈ [0,1] 由 CCT 或 D_uv 插值。 - S210-9(肤色轴角度)
skin_angle = atan2( a*, b* ) - theta_skin_ref,用于色调一致性监控。
V. 流水线与操作流程 M100-*
- M100-1 就绪:应用暗场/平场与固定图样噪声校正(见第8章),得到 RGB_raw_lin;校核 unit/dim。
- M100-2 白点估计:按优先级选择
- 高亮/灰卡检测(几何/辐射一致性校验),
- 灰世界/灰边(Gray-world/Gray-edge),
- 学习式 illuminant_net(低照/混合光增强),
输出 W_src, wb 与可信度。
- M100-3 线性白平衡:RGB_wb = wb * RGB_raw_lin(RAW 域,拜耳通道按 CFA 图样映射)。
- M100-4 CCM 选择/插值:根据 CCT/D_uv、T_cam、ISO 从配置中选择或插值得到 M_ccm。
- M100-5 色适应:计算 CAT(W_src→W_dst),得到 XYZ_d。
- M100-6 目标色域映射:RGB_dst_lin = M_dst^{-1} * XYZ_d,执行 gamut_map(优先压缩后再裁剪)。
- M100-7 传输与渲染:应用 OETF/TRC、可选局部色调映射;写入 ICC/DNG Profile 标签与 profile.v1。
- M100-8 质量评估:在色卡与肤色 ROI 上评估 ΔE_00、err_awb、gamut_viol、skin_angle。
- M100-9 契约与回退:若断言失败,降级到保守配置或仅应用白平衡并保持 XYZ 发布。
- M100-10 落盘与签名:输出 manifest.imaging.color,记录矩阵、白点、TRC、度量与签名。
VI. 契约与断言
- assert wb_domain:wb 应用于线性 RAW,||log2(g_R) - log2(g_G)|| 与 ||log2(g_B) - log2(g_G)|| 在阈值内以防增益饱和。
- assert awb_residual:err_awb ≤ tol_awb_uv,灰卡 a*,b* 的绝对值 ≤ tol_gray_ab。
- assert color_error:mean(ΔE_00) ≤ tol_dE_mean 且 p95(ΔE_00) ≤ tol_dE_p95。
- assert gamut:gamut_viol ≤ tol_gamut_overflow,并记录压缩比。
- assert cond_render:cond(M_render_linear) ≤ tol_cond,避免数值不稳。
- assert skin_tone:|skin_angle| ≤ tol_skin_angle,肤色亮度落在 [L_min, L_max]。
- assert profile_binding:运行时渲染采用的 profile.v1 与清单中的哈希一致。
VII. 实现绑定 I100-*
- I100-1 estimate_illuminant(RGB_raw_lin, meta, strategy) -> W_src, wb, conf
- I100-2 apply_wb_raw(raw, wb, cfa) -> raw_wb
- I100-3 select_or_interpolate_ccm(CCT, T_cam, ISO, repo) -> M_ccm
- I100-4 chromatic_adapt(XYZ, W_src, W_dst, method) -> XYZ_d, CAT
- I100-5 rgb_xyz_transform(RGB, M) -> out(通用 3×3 线性变换)
- I100-6 gamut_map(RGB_lin, mode, params) -> RGB_lin'(compression→clip)
- I100-7 apply_oetf(RGB_lin, oetf_name) -> RGB_out
- I100-8 evaluate_color_metrics(image, patches, refs) -> {ΔE_00, err_awb, gamut_viol, skin_angle}
- I100-9 emit_color_profile(M_ccm, CAT, M_dst, wb, oetf, meta) -> profile.v1
- I100-10 bind_manifest_color(profile, metrics, hashes) -> manifest.imaging.color
VIII. 交叉引用
- 固定图样噪声与平场:见本卷第8章,白平衡前需完成 DSNU/PRNU 与 color shading 校正。
- 光学与 PSF:见本卷第5章,色散与轴外像差可引发色边,与色彩去马赛克策略联动。
- 采样与重建:见本卷第6章,拜耳/多谱插值应在白平衡之后或采用色度守恒核。
- 噪声与去噪:见本卷第7章,不同通道 SNR 影响白点估计器与 wb 上限。
- 清洗时间轴:见《Methods.Cleaning v1.0》第5章,色卡多帧平均与自动曝光对齐需要 tau_mono。
- 数据规范:见《EFT.WP.Core.DataSpec v1.0》,profile.v1 与 manifest.imaging.color 字段绑定。
IX. 质量度量与风控
- 核心指标
- mean/p95(ΔE_00)、err_awb(u'v')、gamut_viol、skin_angle、cond(M_render)、artifact_rate。
- 运行期监控:窗口 Delta_t 上的 drift_g_R,B、drift_CCT、ΔE_00 漂移斜率与告警。
- 主要风险与处置
- 混合光场景:分区 AWB + feather 融合;失败时回退到灰世界并标注低置信度。
- 高增益/溢出:约束 wb 上限并优先在 G 通道归一;必要时高光保护。
- 观察者失配:切换到 ACEScg 工作空间并发布观察者差异说明。
- 配置漂移:温度/曝光映射表 {CCT,T_cam} -> {wb, M_ccm} 按版本回归与插值。
- 算法不稳:cond(M) 超阈值时切换到 LUT-based 渲染或降阶矩阵。
小结
本章确立了色彩管理的最小闭环:RAW → wb → M_ccm → CAT → M_dst^{-1} → TRC,并通过 ΔE、白点残差、色域溢出与肤色角等指标定义契约与回退;工件以 profile.v1 与 manifest.imaging.color 形式出库,保证跨设备、跨场景的一致渲染与可审计性。版权与许可(CC BY 4.0)
版权声明:除另有说明外,《能量丝理论》(含文本、图表、插图、符号与公式)的著作权由作者(“屠广林”先生)享有。
许可方式:本作品采用 Creative Commons 署名 4.0 国际许可协议(CC BY 4.0)进行许可;在注明作者与来源的前提下,允许为商业或非商业目的进行复制、转载、节选、改编与再分发。
署名格式(建议):作者:“屠广林”;作品:《能量丝理论》;来源:energyfilament.org;许可证:CC BY 4.0。
首次发布: 2025-11-11|当前版本:v5.1
协议链接:https://creativecommons.org/licenses/by/4.0/