← 返回 2026-04-01

RawGen:学习相机原始图像生成 RawGen: Learning Camera Raw Image Generation

Dongyoung Kim, Junyong Lee, Abhijith Punnappurath, Mahmoud Afifi, Sangmin Han, Alex Levinshtein, Michael S. Brown 📅 2026-03-31 👍 21 2026-07-13 08:36
ISP处理 低层视觉 图像生成 扩散模型 计算机视觉

首个基于扩散模型的文本到raw图像生成框架,支持任意目标相机

前置知识

ISP(Image Signal Processor)

图像信号处理器是相机内部的处理流水线,对传感器捕获的线性raw数据进行一系列操作,包括去噪、去马赛克、白平衡、颜色校正、色调映射等,最终输出适合显示的sRGB图像。这些操作会引入非线性的照片处理效果,使得sRGB图像不再保持原始场景的辐射度线性关系。

本文核心挑战就是逆转这些ISP操作,从sRGB图像中恢复出物理有意义的线性raw表示,因此理解ISP的工作原理是读懂本文的基础。

Inverse ISP

逆ISP是指从已渲染的sRGB图像逆向重建出相机原始的线性raw数据。传统方法通常假设一个固定的、已知的ISP流水线,通过学习一对多的映射来实现。但现实中的sRGB图像来自各种不同的相机和处理流水线,其ISP参数未知且高度多样化。

本文的主要贡献就是解决现有逆ISP方法无法处理未知、多样化photo-finishing效果的问题,这是理解本文动机的关键。

CIE XYZ

CIE XYZ是一种与设备无关的线性颜色空间,由国际照明委员会定义。它基于人类视觉系统的颜色匹配函数,能够表示所有可见颜色,并且保持了物理上的线性关系。XYZ颜色空间与相机的特定raw空间之间存在标准的颜色转换矩阵。

本文选择CIE XYZ作为规范的线性锚点空间,使得方法能够实现相机无关的生成,是理解本文技术路线的基础。

Rectified Flow DiT

Rectified Flow是一种扩散模型的变体,通过学习从噪声到数据的确定性ODE轨迹来进行生成。DiT(Diffusion Transformer)是使用Transformer架构的扩散模型,FLUX.1就是一个流行的DiT模型。Rectified Flow的特点是直接预测速度场v,而非传统的噪声预测。

本文的基础模型FLUX.1-Kontext就是基于Rectified Flow的DiT,理解这种架构有助于理解本文的微调策略和损失函数设计。

LoRA

LoRA(Low-Rank Adaptation)是一种参数高效的微调技术。它通过在预训练模型的权重矩阵旁添加低秩分解矩阵,仅训练这些新增的低秩参数,而不是整个模型。这样可以大大减少显存占用和训练时间,同时保持模型的泛化能力。

本文使用LoRA来微调DiT模型,仅修改注意力投影层,冻结预训练骨干,这是实现技术可行性的关键设计。

研究动机

收集大规模相机raw数据集面临巨大挑战。现有数据集有限且绑定特定相机硬件,每当传感器或相机流水线改变时都需要重新捕获数据,限制了可复现性和跨设备覆盖。这种稀缺性成为依赖线性、传感器中心测量的低层视觉和计算摄影研究的根本瓶颈。虽然扩散模型在生成高质量sRGB图像方面取得成功,但它们主要在8位sRGB域工作,该空间针对显示和存储而非保留物理线性性进行了优化。sRGB表示通常包含非线性的照片处理操作(如伽马校正、色调映射、颜色风格化),这些操作扭曲了场景的底层辐射度结构。因此,扩散模型输出与场景参考的线性信号(如相机raw测量或设备无关的线性表示)不直接兼容。更关键的是,现有逆ISP方法大多在固定成像流水线生成的成对数据集上训练,隐含地假设单一相机响应和已知的颜色与色调变换序列。然而,扩散模型是在大规模sRGB语料库上训练的,这些语料库包含来自未知ISP和后处理流水线的多样化照片处理风格。这造成了一个根本的域缺口:常规逆ISP模型期望由固定已知渲染流水线产生的sRGB输入,而扩散生成的sRGB图像纠缠了未知、多样且高度非线性的照片处理效果。

本文的目标是本文提出RawGen,一个基于扩散模型的框架,旨在弥合显示参考生成模型与场景参考线性表示之间的差距。RawGen保留大规模扩散模型的强语义先验和可提示性,同时结合学习的潜空间级和像素级处理,从多样化sRGB输入中恢复规范的场景参考线性表示。通过采用many-to-one重建目标,其中单个场景的多个照片处理sRGB图像作为输入,映射到共同的线性参考,RawGen明确鼓励恢复的线性表示对后处理操作中的差异(如色调映射、伽马校正和颜色风格化)保持不变,同时保留底层场景结构和语义内容。该方法支持两种互补的生成模式:一是将sRGB图像转换为对多样化后处理风格稳健的规范场景参考线性表示;二是将文本提示产生的非线性图像表示映射到规范线性表示。当需要目标相机raw空间时,可以使用标准的颜色空间映射和相机元数据将规范线性输出转换为相机特定的raw域,实现无需重新训练的相机无关raw合成。

与已有工作不同的是,本文的独特切入角度是放弃了传统逆ISP方法中固定、已知的成像流水线假设,转而学习对未知、多样化照片处理效果的鲁棒性。与现有的基于扩散的ISP相关工作相比,RawGen不是假设固定的one-to-one ISP逻辑来合成训练对,而是采用many-to-one训练范式,将多样化的照片处理观察锚定到共享的线性目标,实现物理一致的raw规模生成。与控制相机参数的生成方法不同,RawGen将初始生成与后续调整解耦,使得在标准专用软件中进行灵活高效的后处理成为可能。更重要的是,RawGen是第一个能够直接从开放世界文本提示合成物理有意义的raw图像而不假设固定成像流水线的框架。

核心方法

RawGen的整体思路是将预训练的sRGB扩散模型重新用于合成物理有意义的线性数据。方法的核心思想是抑制并消除嵌入在扩散生成图像中的不可控和多样化的照片处理效果,从而恢复一致的、物理基础的线性合成。为此,方法采用many-to-one重建目标,将同一场景的多个sRGB变体映射到单一的线性参考(CIE XYZ)。训练分为两个阶段:首先微调去噪器,使其能够从sRGB条件输入生成CIE XYZ潜空间表示;然后微调VAE解码器,使其能够从XYZ潜空间重建线性XYZ图像。推理时,方法支持两种模式:Image-to-Raw(I2R)从输入sRGB图像生成,Text-to-Raw(T2R)从文本提示生成。无论哪种模式,都先生成CIE XYZ图像,然后使用目标相机的校准元数据(如ForwardMatrix)将其确定性映射到特定相机的raw空间,实现相机无关的生成。

RawGen的核心创新在于采用many-to-one训练范式来处理未知、多样化的ISP流水线。传统逆ISP方法假设one-to-one关系,即一个sRGB输入对应一个已知的ISP和线性目标。然而,现实中的sRGB图像来自各种不同的相机和处理流水线,其ISP参数未知且高度多样化。RawGen的many-to-one方法将同一场景的多个照片处理sRGB变体映射到单一的CIE XYZ锚点,从而鼓励模型学习对照片处理效果的鲁棒性,而保留场景内容和语义。这种设计使得RawGen能够从扩散模型输出的纠缠了未知照片处理效果的sRGB图像中恢复一致的、场景参考的线性表示,这是与已有方法的本质区别。另一个关键创新是将内容合成与渲染解耦,先生成场景参考的线性表示,然后再使用标准软件ISP流水线进行各种编辑操作,无需重新调用生成模型。

方法步骤详情

RawGen的方法分为三个主要步骤:数据构建、训练和推理。在数据构建阶段,从raw图像I_raw开始,通过应用每场景白平衡和相机到XYZ颜色转换矩阵,得到线性CIE XYZ图像I_XYZ作为锚点。然后使用软件ISP和随机化的照片处理参数向量P(控制全局色调、对比度和色调映射)生成N个sRGB变体{I_sRGB^(n)}从n=1到N。每个图像被冻结的VAE编码器E_VAE编码为潜空间表示:z_sRGB^(n) = E_VAE(I_sRGB^(n))和z_XYZ = E_VAE(I_XYZ)。在训练阶段,第一阶段微调去噪器,从锚点潜空间z_XYZ开始,通过插值高斯噪声epsilon~N(0,I)得到z_t = (1-t)z_XYZ + t*epsilon,并调优DiT参数theta来预测rectified-flow速度目标v_gt = epsilon - z_XYZ,最小化损失L_denoise = E[n,epsilon][||v_gt - v_theta(z_t, t; z_sRGB^(n))||^2]。第二阶段微调解码器,使用真实锚点潜空间z_XYZ,通过微调D_VAE最小化l1重建损失L_recon = ||I_XYZ_hat - I_XYZ||_1,其中I_XYZ_hat = D_VAE(z_XYZ)。在推理阶段,对于I2R模式,给定sRGB图像I_sRGB,得到条件潜空间z_sRGB = E_VAE(I_sRGB),初始化目标token为噪声,求解反向ODEz_XYZ_hat = z_1 - integral from 1 to 0 of v_theta(z_t, t; z_sRGB)dt,用Euler步骤近似,然后解码I_XYZ_hat = D_VAE(z_XYZ_hat)。对于T2R模式,给定文本提示,首先使用基础模型的预训练文本到潜空间路径获得sRGB条件潜空间z_sRGB,然后执行与I2R相同的条件生成和解码步骤。最后,使用目标相机的校准元数据和选择的照明参数,将I_XYZ_hat转换为目标相机的线性raw-RGB空间。

技术新颖性

RawGen的技术新颖性体现在多个方面:首先,它是第一个实现文本到raw生成的扩散框架,支持任意目标相机,无需为每个相机重新训练。其次,它提出了many-to-one训练范式和相应的数据构建方法,将多个照片处理的sRGB观察映射到单个共同的线性参考,实现了对异构和未知ISP变换的鲁棒性。第三,它采用了两阶段微调策略,分别针对去噪器和解码器进行优化,保留了预训练模型的强大语义先验。第四,它将内容合成与渲染解耦,先生成场景参考的线性表示,然后再进行各种ISP操作,提高了效率。第五,它在推理时支持统一的I2R和T2R管道,共享核心DiT和VAE编码器/解码器,实现了架构的简洁性。最后,它证明了生成的raw图像可以作为下游低层视觉任务的有效训练数据,如光照估计、神经ISP学习和去噪。

我们提出RawGen,一个基于扩散的方法,用于生成真实的相机raw图像。RawGen生成线性CIE XYZ图像的潜表示,条件是sRGB图像或文本提示。潜表示被解码为CIE XYZ并映射到任意目标相机raw空间。
Fig. 1: 我们提出RawGen,一个基于扩散的方法,用于生成真实的相机raw图像。RawGen生成线性CIE XYZ图像的潜表示,条件是sRGB图像或文本提示。潜表示被解码为CIE XYZ并映射到任意目标相机raw空间。
RawGen框架概述。在训练期间,raw图像被转换为CIE XYZ和sRGB表示,用于(A)微调DiT以在sRGB图像条件下对CIE XYZ潜空间进行去噪,以及(B)微调VAE解码器以重建CIE XYZ图像。在推理期间(C),使用sRGB图像(图像到raw,I2R)或文本提示(文本到raw,T2R)来条件DiT以生成CIE XYZ潜空间,该潜空间被解码以获得CIE XYZ图像,并随后使用其校准元数据映射到目标相机的raw空间。
Fig. 2: RawGen框架概述。在训练期间,raw图像被转换为CIE XYZ和sRGB表示,用于(A)微调DiT以在sRGB图像条件下对CIE XYZ潜空间进行去噪,以及(B)微调VAE解码器以重建CIE XYZ图像。在推理期间(C),使用sRGB图像(图像到raw,I2R)或文本提示(文本到raw,T2R)来条件DiT以生成CIE XYZ潜空间,该潜空间被解码以获得CIE XYZ图像,并随后使用其校准元数据映射到目标相机的raw空间。

实验结果

RawGen在多个实验中表现出色。在MIT-Adobe FiveK数据集上的many-to-one重建实验中,RawGen在五种专家编辑风格下 consistently优于基线方法。具体来说,对于Expert A风格,RawGen的PSNR为23.20,SSIM为0.8432,而最佳基线CIE XYZ Net的PSNR为19.60,SSIM为0.7861;对于Expert B,RawGen的PSNR为24.35,SSIM为0.8581,基线为21.04和0.8431;对于Expert C,RawGen的PSNR为23.37,SSIM为0.8387,基线为19.49和0.7795;对于Expert D,RawGen的PSNR为23.51,SSIM为0.8531,基线为19.44和0.8058;对于Expert E,RawGen的PSNR为23.89,SSIM为0.8500,基线为18.64和0.7918。重要的是,RawGen_one-to-one(使用严格one-to-one监督训练的消融版本)性能明显下降,突出了many-to-one监督的重要性。在文本增强合成变体实验中,使用FLUX.1-Kontext为每个提示生成100个颜色分级变体,然后在VAE潜空间计算与质心的平均L2距离。RawGen在PCA、t-SNE和UMAP三种投影下的距离分别为160.0、10.69和1.067,显著低于其他方法(InvISP为265.4、24.33、1.913;XYZNet为256.1、25.52、2.014;RAW-Diffusion为318.2、19.58、2.557)。t-SNE可视化显示RawGen形成最紧密的聚类,表明它能够最有效地抑制照片处理变异性。在设备特定raw合成评估中,RawGen生成的raw图像在真实数据(Samsung Galaxy S24主摄像头S24数据集)上训练的神经ISP模型上产生了合理的sRGB渲染,特别是Modular Neural ISP有效地抑制了注入的合成噪声,表明与真实设备特定raw统计数据的强分布对齐。在下游任务应用中,RawGen的T2R合成在光照估计、神经ISP学习和去噪三个任务上都改善了性能。对于光照估计,RawGen的平均角误差为3.14,中位数为2.11,最差25%为7.37,明显优于Graphics2RAW的4.21、3.38、8.57和EnlightenGAN的7.01、6.82、11.07。对于神经ISP学习,RawGen的PSNR为38.42,SSIM为0.970,ΔE为2.183,Graphics2RAW为38.10、0.974、2.301。对于去噪(ISO 1600),RawGen的PSNR为50.63,SSIM为0.994,Graphics2RAW为49.37、0.991;对于去噪(ISO 3200),RawGen的PSNR为48.57,SSIM为0.992,Graphics2RAW为48.16、0.989。值得注意的是,RawGen的性能接近真实数据训练的模型(光照估计:3.02、2.17、6.77;神经ISP:38.32、0.974、2.133;去噪ISO 1600:49.80、0.993;去噪ISO 3200:48.25、0.990),证明了其生成数据的质量。

MIT-Adobe FiveK数据集上五种照片处理风格的sRGB-to-XYZ重建的定量比较。我们报告了RawGen消融变体的结果。最佳结果用黄色高亮显示。
Table 1: MIT-Adobe FiveK数据集上五种照片处理风格的sRGB-to-XYZ重建的定量比较。我们报告了RawGen消融变体的结果。最佳结果用黄色高亮显示。
sRGB到XYZ转换方法的潜空间紧致性。每个提示100个颜色分级sRGB变体被转换为XYZ并编码到VAE潜空间;到质心的较低平均L2距离表示更紧凑的聚类。
Table 2: sRGB到XYZ转换方法的潜空间紧致性。每个提示100个颜色分级sRGB变体被转换为XYZ并编码到VAE潜空间;到质心的较低平均L2距离表示更紧凑的聚类。
下游任务的定量比较:光照估计(报告为角误差统计)、神经ISP学习和两个ISO水平的去噪。每一行对应于使用所列方法生成的数据训练的模型。在真实数据上训练的模型显示在底行作为参考。在非真实raw数据上训练的模型的最佳结果用黄色高亮显示。
Table 3: 下游任务的定量比较:光照估计(报告为角误差统计)、神经ISP学习和两个ISO水平的去噪。每一行对应于使用所列方法生成的数据训练的模型。在真实数据上训练的模型显示在底行作为参考。在非真实raw数据上训练的模型的最佳结果用黄色高亮显示。
CIE XYZ重建结果。显示的是用不同渲染偏好(Expert A–E)渲染的sRGB输入图像,以及Raw-Diffusion、CIE XYZ Net和我们RawGen生成的相应CIE XYZ重建。最后一行显示了真实CIE XYZ图像。
Fig. 3: CIE XYZ重建结果。显示的是用不同渲染偏好(Expert A–E)渲染的sRGB输入图像,以及Raw-Diffusion、CIE XYZ Net和我们RawGen生成的相应CIE XYZ重建。最后一行显示了真实CIE XYZ图像。
每个sRGB到XYZ转换方法的VAE潜空间t-SNE可视化。虚线轮廓表示每种方法的估计密度区域。RawGen产生最紧凑的聚类。
Fig. 4: 每个sRGB到XYZ转换方法的VAE潜空间t-SNE可视化。虚线轮廓表示每种方法的估计密度区域。RawGen产生最紧凑的聚类。
Raw重建和生成结果。显示的是输入sRGB图像(A)和相应的真实raw图像(B)。我们的重建raw结果显示在(C)中。从图像描述生成的同一语义场景的额外生成raw图像显示在(D)中,其中使用InstructBLIP-2生成文本描述。
Fig. 5: Raw重建和生成结果。显示的是输入sRGB图像(A)和相应的真实raw图像(B)。我们的重建raw结果显示在(C)中。从图像描述生成的同一语义场景的额外生成raw图像显示在(D)中,其中使用InstructBLIP-2生成文本描述。
预训练神经ISP在Samsung S24主摄像头真实数据(S24数据集)上的渲染结果。(A)我们RawGen生成的CIE XYZ图像。(B)映射到S24主摄像头raw空间并添加合成噪声的图像。(C)PyNet的结果。(D)Modular Neural ISP的结果。
Fig. 6: 预训练神经ISP在Samsung S24主摄像头真实数据(S24数据集)上的渲染结果。(A)我们RawGen生成的CIE XYZ图像。(B)映射到S24主摄像头raw空间并添加合成噪声的图像。(C)PyNet的结果。(D)Modular Neural ISP的结果。
查看结构化数据
任务指标本文基线提升
sRGB-to-XYZ重建(MIT-Adobe FiveK,Expert A风格) PSNR / SSIM 23.20 / 0.8432 CIE XYZ Net: 19.60 / 0.7861 PSNR提升18.4%,SSIM提升7.3%
sRGB-to-XYZ重建(MIT-Adobe FiveK,Expert B风格) PSNR / SSIM 24.35 / 0.8581 CIE XYZ Net: 21.04 / 0.8431 PSNR提升15.7%,SSIM提升1.8%
潜空间紧致性(文本增强合成变体,t-SNE投影) 与质心的平均L2距离 10.69 InvISP: 24.33 距离降低56.1%
光照估计(NUS-8数据集,9个相机) 平均角误差 / 中位数 3.14 / 2.11 Graphics2RAW: 4.21 / 3.38 平均误差降低25.4%,中位数降低37.6%
去噪(ISO 1600) PSNR / SSIM 50.63 / 0.994 Graphics2RAW: 49.37 / 0.991 PSNR提升2.6%,SSIM提升0.3%

局限与改进

作者在结论中承认了一些局限性。虽然RawGen生成规范的场景参考XYZ表示,但准确的设备特定raw合成还取决于颜色映射以外的因素,如噪声特性和点扩散函数(PSF)。当前的噪声合成使用异方差高斯噪声模型,虽然能够近似真实raw相机图像的噪声特性,但更高级的噪声建模(如文献中提出的)可以产生更真实的噪声特征,但这超出了本文的范围。此外,方法没有考虑空间变化的噪声、镜头阴影和光学模糊等传感器特性,这些因素对于设备保真度和物理一致性很重要。从观察角度来看,方法依赖于CIE XYZ到相机raw的颜色转换矩阵,这些矩阵需要从目标相机的DNG元数据中获取。这意味着方法需要一个DNG文件来提取校准信息,这可能不是所有相机都容易获得的。另外,方法的两阶段微调策略虽然保留了预训练模型的强大语义先验,但也意味着推理时需要同时运行DiT和VAE,计算开销相对较大。对于需要实时生成的应用场景,这可能是一个限制。最后,方法在many-to-one训练中假设多个sRGB变体来自同一场景,但在实际应用中,特别是在T2R模式下,生成的场景可能与任何真实场景都不对应,这可能影响生成raw图像的物理一致性。

独立分析的弱点

RawGen的几个弱点值得指出。首先,噪声建模相对简单,使用异方差高斯噪声模型,这可能无法捕捉真实传感器的复杂噪声特性,如与信号相关的噪声、热噪声、固定模式噪声等。改进方向是引入更高级的噪声模型,如基于物理的传感器噪声模型或从真实raw数据学习的噪声模型。其次,方法没有考虑光学系统的影响,如镜头畸变、暗角、光学模糊等,这些都是真实raw图像的重要组成部分。改进方向是在XYZ到raw的映射过程中引入光学系统的建模,如PSF建模、镜头阴影校正等。第三,方法依赖DNG元数据获取颜色转换矩阵,这限制了目标相机的范围。改进方向是学习通用的颜色映射,或从少数样本中估计相机特定参数。第四,两阶段推理需要运行DiT和VAE,计算开销较大。改进方向是探索端到端的单阶段生成架构,或优化推理效率,如知识蒸馏、模型压缩等。第五,方法在T2R模式下,生成的场景可能与任何真实场景都不对应,这可能影响物理一致性。改进方向是在文本提示中添加更多物理约束,如光照条件、相机参数等,或引入多模态条件来增强物理一致性。最后,方法的评估主要集中在下游任务性能上,缺乏对生成raw图像物理准确性的直接评估。改进方向是设计更直接的评估指标,如与真实raw数据的分布对齐、传感器特性匹配等。

未来方向

作者提出的未来工作方向包括条件RawGen于设备特定先验,以纳入更多物理基础的传感器建模,如空间变化的噪声、镜头阴影和光学模糊,进一步提高设备保真度和物理一致性。基于RawGen的成果,可以延伸多个研究方向。首先,可以探索更复杂的噪声建模,如基于物理的传感器噪声模型或从大量真实raw数据学习的噪声先验,以更准确地模拟真实传感器的噪声特性。其次,可以引入光学系统建模,如PSF建模、镜头阴影校正、光学畸变等,使生成的raw图像更加逼真。第三,可以探索端到端的单阶段生成架构,直接从文本或图像生成raw图像,减少计算开销。第四,可以研究多模态条件生成,将文本、图像、相机参数、光照条件等多种信息整合到生成过程中,增强物理一致性和可控性。第五,可以将RawGen应用于更多下游任务,如计算摄影、高动态范围成像、多光谱成像等,探索其在更广泛领域的应用潜力。第六,可以研究从少量样本中学习相机特定参数的方法,减少对DNG元数据的依赖,扩大方法的应用范围。最后,可以开发更全面的评估指标和基准,如生成raw图像的物理准确性评估、传感器特性匹配评估等,以更好地衡量方法的质量。

复现评估

RawGen的可复现性评估:根据论文描述,作者使用MIT-Adobe FiveK和RAISE数据集进行训练,这两个都是公开可用的数据集。方法基于FLUX.1-Kontext作为基础模型,这是一个公开的DiT模型。训练细节包括LoRA微调的rank r=64和scaling alpha=64,这些都是标准设置。论文提供了详细的数据构建方法,包括照片处理参数的随机化策略。然而,论文没有明确说明是否开源代码和模型权重,这对于复现性是一个重要因素。从算力角度来看,基于FLUX.1的DiT模型微调需要相当大的计算资源,可能需要多GPU设置和数天的训练时间。论文没有提供具体的训练时间和硬件配置,这使得评估复现的难度变得困难。另外,论文提到从目标相机的DNG文件中提取校准元数据,如ForwardMatrix和AsShotNeutral,这需要用户能够访问相应相机的DNG文件,这可能限制了某些应用的复现性。总体而言,RawGen的复现性难度为中等,主要挑战在于计算资源和校准数据的获取。如果作者能够开源代码和预训练模型,复现难度将大大降低。