可逆网络实现 RAW 和 RGB 图像转换:Invertible Image Signal Processing

1. 摘要

未经处理的 RAW 数据对于图像编辑和计算机视觉来说是一种非常有价值的图像格式。然而,由于RAW 数据的文件大小巨大,大多数用户只能访问经过处理和压缩的 sRGB 图像。为了弥补这一差距,本文设计了一个可逆图像信号处理 (InvISP) pipline,它不仅能够渲染视觉上吸引人的 sRGB 图像,而且还允许恢复近乎完美的 RAW 数据。由于本文的框架固有的可逆性,可以重构真实的RAW 数据,而不是从 sRGB 图像合成 RAW 数据,而不需要任何内存开销。本文还集成了一个可微分的 JPEG 压缩模拟器,使我们的框架能够从 JPEG 图像重建 RAW 数据。在两台单反相机上进行的大量定量和定性实验表明,与其他方法相比,本文的方法在 sRGB 图像和 RAW 数据重建中都获得了更高的质量。

2. 介绍

2.1 研究背景

专业摄影师可以选择自己处理 RAW 图像,而不是 RGB 图像,以产生更好的视觉效果的图像,因为 RAW 数据通过相机捕获每个未经处理的 12-14 bits 场景 irradiance。由于其线性关系与场景照度,许多图像编辑的和计算机视觉任务中,与 RGB 图像相比,原始传感器 RAW 数据是一个更好的选择,如光度立体,内在形象分解,图像去噪,反射去除,图像超分辨率。但是,由于 RAW 映像的内存需求特性,访问 RAW 映像非常困难: 在数据存储、传输和共享过程中,RAW 映像可能会被丢弃。本文感兴趣的问题是:用户是否可以在不显式存储的情况下访问真实的 RAW 数据?

2.2 现有方法不足

由于 RAW 图像的巨大优势,已经有许多方法提供从 sRGB 图像到其 RAW 副本的映射。Nguyen等人提出显式地将 sRGB-RAW 映射函数的参数存储到 JPEG 元数据中,以便于预期的 RAW 重构。Brooks 等人利用相机的先验信息 (例如,色彩校正矩阵和数字增益) 逐步反转 ISP。另一条工作遵循 ISP 的逆顺序,提出了基于学习的方法从 sRGB 图像合成 RAW 数据。然而,这些方法仍然依赖于底层的有损相机内 ISP pipeline,恢复的 RAW 图像是不准确的,可能与原始图像不同。

本工作提出了一种新的有效的学习解决方案,将摄像机图像信号处理管道重新设计为一个可逆的 pipline,称之为可逆 ISP (InvISP)。基于学习的 InvISP 能够在前向处理中呈现视觉上吸引人的RGB 图像,并通过反向处理从压缩的 RGB 图像中恢复几乎完美质量的原始传感器数据。重建的RAW 数据与真实的 RAW 数据几乎相同,可以实现计算机视觉应用,如图像修饰和 HDR 重建,如图 1 所示。

在这里插入图片描述
设计一个可逆 ISP 不是一项简单的任务,至少有三个原因。首先,传统 ISP 中的一些步骤,如去噪、色调映射和量化,会不可避免地导致从宽范围 (12位或14位) 原始传感器数据到 8 位 RGB 图像的信息丢失。第二,可逆 ISP 不应该产生像光晕和重影伪影这样的视觉伪影。为了呈现视觉上吸引人的 sRGB 图像,去噪、消色、色彩校正、白平衡增益、色调映射和色彩增强必须在 ISP 中仔细设计。第三,现代数码相机以 JPEG 格式存储 RGB 图像,有损压缩过程使得重建高质量的RAW 数据非常具有挑战性。

为了克服这些挑战,本文利用了基于标准化流模型的固有可逆性,并在提出的可逆 ISP使用一个可逆神经网络设计了 RAW 到 RGB 和 RGB 到 RAW 的映射。本文深入分析了传统 ISP 的特性,设计了特定的模块,不仅可以很好地逼近相机 ISP,而且可以与相机 RAW 数据重建几乎相同的 RAW 数据。具体来说:

设计的模型由一叠仿射耦合层组成,并利用可逆的 1 × 1 卷积作为耦合层之间的可学习排列函数;

此外,为了使模型能够从 JPEG 图像中恢复真实的 RAW 数据,在可逆神经网络中集成了一个可微分的 JPEG 模拟器

利用傅立叶变换的思想来代替 JPEG 压缩中的不可微量化步骤。

因此,本文端到端的 InvISP 框架绕过了传统的 ISP 模块,最大限度地减少了 RAW 数据和 RGB 图像转换的信息损失。本文双向训练网络,共同优化 RGB 和 RAW 重建过程。实验证明,本文的框架可以在不牺牲 RGB 重建性能的情况下恢复比 state-of-the-art baselines 更好的 RAW 数据。

ISP_29">3. 传统的ISP管线

现代数码相机采用一系列操作,形成图像信号处理 pipeline (ISP),将 RAW 数据渲染为人类可读的 RGB 图像。这些操作包括白平衡、消色、去噪、颜色空间变换、色调映射等 [24]。传统上,ISP 的每一步都需要为特定的摄像机进行密集的调整,而反转传统 ISP 的步骤是相当具有挑战性的。

本节分析了传统 ISP 中存在的信息丢失模块。作者表明,传统 ISP 中的有损步骤限制了一系列旨在从 sRGB 图像合成 RAW 的重构性能。与以往的工作不同,本文将 ISP 重新设计为端到端可逆ISP,可以绕过传统的模块,最大限度地减少 RAW 数据和 JPEG 图像转换过程中的信息损失,进一步实现高质量 RAW 数据的恢复

在这里插入图片描述
在这里插入图片描述
一些 ISP 步骤 (如demosaicing 和 gamma compression) 可能涉及浮点运算,因此,为了将数据转换为整数类型,量化是不可避免的。例如,舍入函数理论上可以给像素带来 (−0.5,0.5) 强度误差。然而,在 ISP 环境下,tone mapping 步长可使强度误差的放大幅度远远大于 ±0.5。tone mapping 曲线通常设计为 s 曲线,高强度值和低强度值比中强度值压缩更多。如图 2 所示,对于14 位原始图像,gamma 压缩使 [16313,16383] 的像素强度在归一化为 (0,255) 后都四舍五入到最大强度 255。这一步可能会在这个单一像素上造成 0.004 RMSE 误差。因此,对于现有的工作[31,7,44] 来说,直接从 8 位 sRGB 对应数据合成 14 位 RAW 数据是一项挑战,特别是在过曝光区域。我们在图 5 中展示了恢复的 RAW 与以前的工作的比较。我们的方法可以保留更多的 RAW 数据的细节,甚至在高强度像素。

值裁剪 Value clipping 是将原始值在合理范围内归一化的常见步骤,可能发生在色彩空间变换、demosaicing、去噪 和 tone mapping 之后。最常用的 Value clipping 操作是 min(max(x, 0), 1),这将丢弃过度和不足曝光区域的超出范围的像素。注意,这限制了进一步调整时的图像容量。此外,传统的 ISP 是由专家单独手动调优的,这就积累了 ISP 步骤之间的 clip 误差,导致进一步的信息丢失。我们的端到端管道联合优化了所有 ISP 步骤,缓解了clip 误差积累问题,以恢复更真实的 RAW 图像。

现代数码相机以 JPEG 格式存储 RGB 图像,其信息丢失进一步给 RAW 图像重建带来挑战。JPEG 编码流水线由四个主要步骤组成:颜色空间变换、离散余弦变换 (DCT)、量化和熵编码。实际上,量化是 JPEG 压缩中唯一有损且不可微的步骤。请注意,JPEG 信息的丢失很难逆转。因此,我们采取了折衷的步骤,将 JPEG 压缩过程集成到我们的网络优化过程中,以减轻信息损失。为此,我们设计了一个可微 JPEG 模拟器,精细地模拟 JPEG 压缩过程,并用可微傅里叶变换代替量化步骤

4. 本文方法

ISP_46">4.1 可逆ISP

在这里插入图片描述
我们将 RAW 数据空间表示为 X, sRGB 数据空间表示为 Y。本文的目标是找到一个可以将数据点从 RAW 数据空间映射到 sRGB 数据空间的可逆双射函数,记为 f : X → Y。为了达到这一目的,经典神经网络需要两个独立的网络分别逼近 X→Y 和 Y→X 映射,这就导致了不准确的双目标映射,可能会将一个映射的误差累积到另一个映射上

本文采用了另一种方法,利用 [12,25] 中的仿射耦合层 (affine coupling layers) 来实现单个网络的可逆性。设计的可逆 ISP 由堆叠的可逆和易于处理的双射函数 组成,即 。对于给定的观测数据样本 x,我们可以通过推导到目标数据样本 y 的变换 (1) 和 (2)。

在这里插入图片描述

4.2 可微JPEG模拟器

我们的目标是训练一个 robust 可逆 ISP,能够容忍 JPEG 压缩的失真,以恢复准确的 RAW。但是JPEG 压缩算法是不可微的,不能直接集成到我们的端到端框架中。因此,我们提出了一个可微分的 JPEG 模拟器,使我们的网络通过优化过程实现 robust JPEG 压缩。由于熵编码是无损的,并且是在量化之后进行的,所以我们跳过这一步,只模拟颜色空间变换、DCT 和量化步骤。

为了模拟 DCT 过程,我们计算 DCT 系数,并将输入分成 8 × 8 块。然后每个块乘以 DCT 系数得到 DCT 映射。在 JPEG 压缩中,DCT 映射被量化表分割并舍入为整数类型。由于舍入函数不可微,我们在傅里叶级数的基础上设计了一个可微的舍入函数,其定义为 (9)。

在这里插入图片描述
其中 I 为 JPEG 压缩中经过量化表的分割后的输入映射,K 用于在逼近精度和计算效率之间进行权衡。随着 K 的增加,仿真函数更接近真实的圆函数,但运行时间也会增加。我们根据经验把 K 设为 10。舍入过程如图 4 所示。

在这里插入图片描述
在 JPEG 压缩解码阶段,I 乘以量化表。然后应用 DCT 反变换和颜色空间变换重建仿真 JPEG 图像。

5. 测试

在这里插入图片描述
可微舍入函数在网络量化研究中得到了广泛的应用。为了充分证明我们所提出的舍入函数的有效性,我们还与 [17] 中的舍入函数进行了比较,如表 1 所示。我们的方法可以在 RGB 绘制和 RAW重建之间实现更好的平衡。

补充:图像降噪之Unprocessing Images for Learned Raw Denoising
补充:图像降噪之Cycle ISP: Real Image Restoration via Improved Data Synthesis

6. 最后


http://www.niftyadmin.cn/n/1715133.html

相关文章

噪声及降噪算法总结

1. 噪声介绍 噪声是图像中不请自来的信号。当相机拍摄一个亮度十分均匀的区域时,相机输出的结果会不可避免地叠加一部分噪声。 相机的输出信号真实信号噪声信号。由于真实信号的具体值是未知的,所以只能用多次测量的平均值来代替。用数学公式表示就是&a…

基于时空融合的高效率多阶段视频降噪方法-EMVD

1. 介绍 这是Huawei Noah‘s Ark Lab在CVPR2021上的文章。他们针对于终端设备算力有限的条件下,提出了一种有效的视频降噪算法EMVD,其主要特点在于 通过可学习的可逆变换,将图像的亮度和颜色信息,以及不同的频率信息进行分解&am…

模型压缩之知识蒸馏

1. 介绍 1.2 背景 虽然在一般情况下,我们不会去区分训练和部署使用的模型,但是训练和部署之间存在着一定的不一致性: 在训练过程中,我们需要使用复杂的模型,大量的计算资源,以便从非常大、高度冗余的数据集中提取出…

运动补偿和运动估计总结(MEMC)

1.概念 1.1 ME ME用来将获得相邻两帧图像中块或者像素的位移矢量 详见 https://zhuanlan.zhihu.com/p/100311043 1.2 MC MC通过获得的运动矢量,对前一帧进行warp,获得新的帧。它是减少帧序列冗余信息的有效方法。 详见 https://zhuanlan.zhihu.com/p…

手把手教你训练自己的YOLO V4数据集,过程超详细,附带作者测试数据集

手把手教你训练自己的YOLO V4数据集,超详细教程,附带训练数据集整体训练来源与结果YOLO V4 论文链接:https://arxiv.org/abs/2004.10934YOLO V4 开源代码:https://github.com/AlexeyAB/darknet本次训练系统环境整体数据处理流程训…

手把手教你编译TensorRT 自己的MaskRCNN例子和模型转化—sampleuffMaskRCNN。可用于nvidia-TX1下,TX2,Xavier等嵌入式开发板,亲测有效!

手把手教你编译TensorRT 自己的MaskRCNN例子和模型转化—sampleuffMaskRCNN。可用于nvidia-TX2,Xavier等,亲测有效 maskrcnn模型与代码keras版本 代码链接:git clone https://github.com/matterport/Mask_RCNN.git 本文基于tensorflow-gpu…

Keras模型保存

Keras模型保存的几个方法和它们的区别 model.save() model_save_path "model_file_path.h5" # 保存模型 model.save(model_save_path) # 删除当前已存在的模型 del model # 加载模型 from keras.models import load_model model load_model(model_save_path)mode…

YOLOv5的参数IOU与PR曲线,F1 score

YOLOv5的参数IOU与PR曲线,F1 score conf_thres Confidence Threshold,置信度阈值。 只显示预测概率超过conf_thres的预测结果。想让YOLO只标记可能性高的地方,就把这个参数提高。iou_thres Intersect over Union Threshold,交并比阈值。 I…