SDR → HDR:
让 AI 只当测光表
上一套系统靠规则式场景识别判断"哪里是光源",准但总有漏检。这一套换了思路: 用 LTX HDR 模型的 EXR 输出当"哪里该亮、该多亮"的增益图(gainmap), 再把这个增益只作用在原始 SDR 的像素上——既拿到 AI 的判断力,又一点不虚构画面细节。
为什么要换思路
上一套区域识别系统用 YOLOE 开放词汇检测把每个像素分成 自发光 / 反射 / 普通三类,再差异化提亮。它在"懂内容"这件事上已经做得很细,但命门是规则本身:
规则覆盖不全 → 漏检
提示词、阈值、形态学全是人定的。遇到非常规光源、复杂反射、奇异材质,规则没覆盖到就漏提亮——这正是实际使用里最常见的抱怨。
多环节耦合,调一处动全身
检测、分类、色调映射、时序四个环节互相牵连。一个"效果不对"背后可能是四个问题叠加,调参像走钢丝。
而 AI 恰好擅长"理解画面"
LTX 这类模型对"哪里该亮"的语义判断又准又全——正好补上规则的短板。问题只剩:怎么用它,又不被它的副作用反噬。
LTX HDR 是什么
本方案里的那个"AI 测光表",就是 LTX HDR——它建立在开源视频生成模型 LTX-Video(Lightricks)之上,是社区放出的一个 HDR IC-LoRA(In-Context LoRA)扩展(beta)。 给它一帧 SDR,它会"想象"出这帧在 HDR 下应有的样子,并以 线性光 EXR(scene-referred、亮度可超过 1.0)输出—— 相当于一张携带了真实高光亮度的"参考答案"。
它强在哪
靠生成模型的语义理解判断"哪里该亮、该多亮",能覆盖规则写不全的复杂光源与材质——基本不漏检。
它的副作用
毕竟是生成模型:会改写/虚构纹理与物体,分辨率受限(实测约 ~800p),且逐帧判断会抖动。
我们怎么用它
只取它 EXR 输出当"亮度参考"、提取增益图,丢掉它生成的像素——把判断力留下,副作用扔掉。
三种做法,各有死穴
把同一段室内 SDR 升 HDR,有三条路可走。关键矛盾就一句话: "判断哪里该亮"和"保住画面真实细节",能不能兼得。
| 维度 | 路线 A · 区域识别(规则) | 路线 B · LTX 直接输出 | 路线 C · LTX gainmap ✦ |
|---|---|---|---|
| "哪里该亮"判断 | 规则检测,易漏检 | AI 语义,准且全 | AI 语义,准且全(借 LTX) |
| 画面细节 | 原片,真实 | 被生成模型改写 / 虚构 | 原片,真实(增益只改亮度) |
| 分辨率 | 原生(4K) | 受模型限制(~800p) | 原生 4K |
| 时序稳定 | 中(检测抖动) | 差(逐帧生成抖动) | 中→好(增益是低频场,可时域滤波) |
| 可控 / 可解释 | 高 | 低(黑盒生成) | 高(增益场可视化、可限幅) |
Gainmap:只借 LTX 的"亮度判断"
手机 HDR 照片的本质就是 SDR 基础层 + 增益图。我们把同一思路反过来用: 让 LTX 当那张增益图的"预言家"。
为什么这能成立
- EXR 是线性、scene-referred 的,真实携带了高光超白亮度,正是"该多亮"的答案;
- 实测 LTX 与 SDR 在中间调的亮度比≈1.17、结构相关 0.86——结构一致,增益图有意义;
- 增益图是低频平滑场,升采样贴回 4K 不损原片任何细节。
几个关键护栏
- 曝光归一化:用中间调比值中位数去掉 LTX 的全局曝光漂移,只留语义提亮;
- 亮度空间封顶:按输出 nits(而非增益倍数)封顶——既不压暗处真实光源,又让高光不撞钳位、消除高光偏色;
- 暗部噪点保护:暗区默认压住、真实亮源可越权,避免放大 SDR 噪点。
拖动中线:左 SDR ↔ 右 HDR
同一帧(室内 · 第 11 秒)。左边永远是 SDR 原片,右边是可切换的 HDR 方案。 拖动中间的竖线,直接看同一处在 SDR 与 HDR 下的差别;点上方按钮切换右侧的 HDR 技术方案。
LTX gainmap(选定):借 LTX 的亮度判断、像素全用原片。4K 原生、细节真实、提亮精准——三者兼得。拖动时右侧只是变亮,画面结构和左侧 SDR 完全一致。
为什么选 LTX gainmap
把三条路线放回最初那句矛盾——"判断哪里该亮" × "保住真实细节"——只有路线 C 同时占住两头:
拿了 AI 的长处
"哪里该亮、该多亮"交给 LTX 的语义理解,不再靠规则、不再漏检——直接解决上一套系统的命门。
丢了 AI 的副作用
只取它的亮度判断,丢掉它生成的像素。细节、颜色、分辨率全来自原片 → 数学上不可能虚构细节。
保留了工程可控性
增益图可视化、可限幅、可时域滤波。延续上一套"有真值评测 + 单帧诊断"的方法论,黑盒变白盒。
已知局限与下一步
室内场景已经很稳;当前主要待解的是室外的帧间一致性。
问题 · 室外局部闪烁
实测全片高光闪烁均值仅 2.4%,但室外大动态区(天空 / 树叶 / 水面高光)存在局部闪烁。根因是 LTX 逐帧对这些高频亮区的判断在抖,而室外常伴随平移/推拉,固定像素位置的时域平滑会错位。
方向 · 运动补偿时域滤波
增益图是低频场,特别适合时域处理:先估相邻帧运动把上一帧增益 warp 对齐再做时域中值/EMA, 即可强力压闪而不糊运动;更进一步可让 LTX 跑关键帧 + 中间帧光流插值,从源头消抖动还省算力。