有意思的地方不在于「又做了一个 sRGB 转 RAW」,而在于它挑明了一件被长期含糊处理的事:从成品图反推 RAW 根本不是一个逆问题,而是每台相机各一个逆问题。原因是色彩机制层面的——不同相机的光谱敏感度(spectral sensitivity)不同,同一束光在各自传感器上被积分成不同的 RGB,于是每台相机的原始色空间是被自己那套 QE 曲线「切」出来的一块不同的锥体。用一个统一网络硬拟合,等于把好几套互相冲突的颜色映射平均掉。
问题背景
RGB→RAW 这几年火,是因为 RAW 域训练数据太贵:检测、去噪、HDR 想在传感器线性域做,却几乎没有带标注的 RAW。于是大家想用海量 sRGB「反渲染」出 RAW 来补数据。难点有二:一是 ISP 是有损且高度非线性的(色调映射、gamut 压缩、白平衡都不可逆),二是跨相机——A 机的 sRGB 反推出的必须是 A 机的 RAW,不能串味。这正是色彩科学里跨设备一致性的老问题,只是方向反了过来。
方法的关键转折
SpiralDiff(天津大学,CVPR 2026)把这件事写成相机条件下的扩散生成,两个转折点值得看:
- CamLoRA:不为每台相机训一个模型,而是共享一个扩散主干,只挂一枚轻量 LoRA 承载相机特有的 ISP 特性。换句话说,把「相机身份」压缩进一小撮低秩参数里,一模型多机,靠 LoRA 在不同原始色空间之间切换。
- 信号相关的噪声加权:还原保真度按像素亮度自适应——亮部暗部的重建难度本就不同,让扩散在不同强度层用不同权重收敛。
- 一个容易被忽略但很对味的细节:它直接读 RAW 元数据里的拍摄白平衡系数做 ISP 仿真,而不是再估一遍白平衡。这一步把 AWB 的误差从还原链路里摘掉,颜色因此更忠实——对做白平衡的人来说,这是个干净的解耦。

论文在四个基准上验证,并用下游 RAW 目标检测的涨点来佐证还原出的 RAW 是「能用的」,代码已开源。
应用发散
对影像工作流,最直接的是跨相机 RAW 数据合成:一枚 LoRA 就能把某台新机的原始色空间「学」进来,为它凭空造出成千上万张 RAW 训练样本,省掉重新采集标注。往色彩这边引申,CamLoRA 本质上是把相机的颜色渲染特性参数化了——这套「用一小撮参数编码相机身份」的思路,可以迁到跨设备 CCM 预测、跨相机 color constancy 的相机指纹,甚至反过来给光谱敏感度估计当先验。而「读元数据白平衡、不重估」的解耦习惯,值得任何 RAW 域生成任务照抄。
局限与存疑
它和我们之前读过的 RawGen 是同月的两条路:RawGen 走 sRGB/文本→XYZ latent→任意相机 RAW 的解耦生成,SpiralDiff 走的是忠实的跨相机 RGB→RAW 转换,靠 CamLoRA 适配——目标不同,别混。存疑处也在这:CamLoRA 依赖每台目标相机有一小批配对 RAW 才能微调,真正「零样本上新机」还没解决;扩散反推出的 RAW 颜色是否在色度上可信,论文用检测涨点旁证,但缺 ΔE、跨光源的直接色彩误差评估——对把它当色彩 GT 用的人,这一步得自己补。