AISP Pipeline | 端到端camera成像原理

⚡ Model-Based Image Signal Processors via Learnable Dictionaries


✌️ 本文主要介绍华为手机相机成像模块中基于AI的ISP,可取代传统人工调参的ISP pipeline,实现了RGB和RAW可逆双向映射。


👀 Abstract

  • 数码相机通过其图像信号处理器 (ISP) 将传感器 RAW 读数转换为 RGB 图像。计算摄影任务(如图像去噪和色彩恒定性)通常在RAW域中执行,部分原因是固有的硬件设计,但也由于直接传感器读数产生的噪声统计的简单性。尽管如此,与可用RGB数据的丰富性和多样性相比,RAW图像的可用性是有限的。

  • 最近的方法试图通过估计RGB到RAW的映射来弥合这一差距:手工制作的基于模型的可解释和可控方法通常需要手动参数微调,而端到端可学习的神经网络需要大量的训练数据,有时需要复杂的训练程序,并且通常缺乏可解释性和参数控制。

  • 为了解决这些局限性,我们提出了一种基于混合模型和数据驱动的新型 ISP,它建立在规范的 ISP 操作之上,并且具有可学习性和可解释性。我们提出的可逆模型能够在RAW和RGB域之间进行双向映射,采用丰富的参数表示(即字典)的端到端学习,这些表示不受直接参数监督,并且还能够实现真实的数据增强。我们通过在RAW图像重建和RAW图像去噪任务下的广泛实验证明了我们的数据生成过程的价值,并在两者中都获得了最先进的性能。此外,我们表明,我们的ISP可以从少量数据样本中学习有意义的映射,并且使用我们基于字典的数据增强训练的去噪模型具有竞争力,尽管只有很少或零的真值标签。

🌈 Contributions

  • 我们提出了一种混合模型,该模型结合了基于模型的物理 ISP 操作和数据驱动的深度学习方法的强大功能。我们用可微分的ISP模型来约束求解空间,把相机参数作为字典来学习。
  • 我们可以端到端地学习相机参数,无需手动微调或参数监督。因此,我们可以在没有先验信息的情况下对任何相机进行建模。
  • 该模型具有模块化和可解释性,允许我们添加、修改或检查任何所需的块。
  • 我们的方法是可逆的,我们可以学习任何ISP相机的正向和反向转换。
  • 6个阶段的ISP参数化建模

    • Colour Filter Array Mosaic
    • Lens Shading Effect
    • White Balance and Digital Gain
    • Color Correction
    • Gamma Correction
    • Tone Mapping

😍 Methodology

1️⃣ Overview

  • 前向 RAW to RGB

  • 反向 RGB to RAW

  • 6个stage的参数化建模,参考Related Work

  • 整个pipeline端到端训练

2️⃣ Learning Parameter Representations

Color Correction

现代智能手机摄像头通常会根据特定的光线条件和拍摄模式使用不同的 CCM (Color Correction Matrix)和捕捉模式的不同而使用不同的 CCM。

CCM 模式的方法可能难以应对色彩变化。此外,ISP 模型可能会被训练用于重建不同相机拍摄的 RAW 图像,因此也会有不同的 ISP 和 CCM。

  • 创建一个字典 Dccm,每个原子都是 CCM
  • 为了保留这些矩阵的意义和物理并避免学习非现实的参数,我们对字典中学习到的原子进行约束 按照 L1规范对每个矩阵进行列规范化
  • 我们以卷积操作的方式进行色彩校正。卷积核是 Dccm 的原子,输入是 ISP 模型中前一个函数的中间表示,输出N个 RGB 图像 Iccm:
  • Iccm 通过 一个CNN编码器 Eccm,产生权重向量 Wccm
  • 经过色彩转换的 sRGB 图像是由 Iccm 和 Wccm 的线性组合获得,这相当于将字典中的原子进行线性组合,并将结果 CCM 应用于图像
  • 模型同时学习字典 Dccm 和编码器 Eccm
  • 这种新颖的摄像机参数字典表示法可以一次性学习各种摄像机的 CCM
  • 注意可逆映射过程中Eccm前向和反向是不同的

Digital Gain and White Balance

  • 定义参数字典 Dwb,N个白平衡和数字增益
  • 每个原子是一个标量三元组
  • 将字典中每一个原子 g 用于输入图像,得到 Iwb, 表示将对输入图像应用每个 g i 后得到线性分解的结果
  • 编码器 Ewb 产生权重 Wwb
  • 编码器 Ewb 和字典 Dwb 在优化过程中共同学习
  • Iwb 和 Wwb 线性组合产生白平衡图像
  • 为了确保我们所学 WB 增益的物理意义和可解释性,我们发现使用均匀分布 U(1,2) 来初始化 Dwb 中的原子就足够
  • 注意 Ewb 前向和反向不同参数但是原理相同

Dictionary Augmentations

  • 对于给定的 RGB 输入,编码器找到字典中能优化 RAW 图像重构的原子组合,其表示为权重 W。
  • 我们可以进一步利用这种表示,通过对最佳权重 Wccm 和 Wwb 增加扰动,比如添加高斯噪声,生成无限的 RAW 图像
  • 这些字典代表了可信参数的凸壳空间。因此,该空间内的任何变化都有可能为下游任务提供有用的数据。

2️⃣ Piecewise Linear Tone Mapping

  • 色调映射是照相机用来映射一组颜色的技术,通过压缩高强度和低强度值比中间强度值更大。色调映射 通常设计为一维查找表(LUT),应用于每个色彩通道,以调整图像的色调值,或平滑步进 S 曲线。 从 sRGB 重建 RAW 数据色调是一项挑战,尤其是在过曝区域和高动态范围图像中。
  • 提出了一种 piecewise linear CNN。在正向传递中,使用 f 1 进行色调映射。在反向传递中,我们使用 f -1 进行反色调映射。这两个函数都是使用 pixel-wise convolutional blocks 实现的浅层 CNN,限制可能的变换并轻松控制网络,

3️⃣ Lens Shading Modelling

  • 由于传感器的光学原理,照射到传感器上的光量向边缘径向衰减,产生渐晕效果,即所谓的镜头阴影。

  • 我们建议将该掩码建模为像素级的增益图 gain map

    • 1 Gaussian mask

      • 优化 µ 和 Σ
    • 2 Attention-guided mask

      • 用 CNN attention block

4️⃣ Training

  • 整个管道是端到端可训练的,我们可以使用训练 RAW 图像 y 和估计 RAW 图像 y_hat 之间简单的 L2 loss

  • 为确保整个管道是可逆的,我们为每个中间图像添加了 L2 损失,以及正向和反向编码器的分解向量 w 的一致性损失

🏀 Experiments

Datasets

  • SIDD
  • MIT-Adobe FiveK dataset

Quantitative comparison

Qualitative comparison

  • 从左到右:sRGB、RAW、使用我们的方法生成的 RAW。(来自数码单反相机佳能 EOS 5D 和尼康 D700 的图像)
  • 使用 SIDD 数据集进行定性 RAW 重建比较。我们的方法重建了RAW图像更好的颜色、色调和亮度。
  • 定性 RAW 降噪样本。我们的模型在保留纹理和细节的同时去除了噪点。
  • Few-shot and Unsupervised Denoising

✋ Conclusions

  • 较好的效果 RAW image reconstruction & RAW image denoising
  • 少量标注样本即可训练鲁棒模型
  • 将传统的ISP用参数化方法建模,通过神经网络学习映射,实现了端到端的RGB2RAW和RAW2RGB (双向可逆)

🤝 References

相关推荐
游是水里的游1 小时前
【算法day19】回溯:分割与子集问题
算法
不想当程序猿_1 小时前
【蓝桥杯每日一题】分糖果——DFS
c++·算法·蓝桥杯·深度优先
南城花随雪。1 小时前
单片机:实现FFT快速傅里叶变换算法(附带源码)
单片机·嵌入式硬件·算法
dundunmm1 小时前
机器学习之scikit-learn(简称 sklearn)
python·算法·机器学习·scikit-learn·sklearn·分类算法
古希腊掌管学习的神1 小时前
[机器学习]sklearn入门指南(1)
人工智能·python·算法·机器学习·sklearn
波音彬要多做1 小时前
41 stack类与queue类
开发语言·数据结构·c++·学习·算法
程序员老冯头4 小时前
第十五章 C++ 数组
开发语言·c++·算法
AC使者8 小时前
5820 丰富的周日生活
数据结构·算法
cwj&xyp9 小时前
Python(二)str、list、tuple、dict、set
前端·python·算法
xiaoshiguang313 小时前
LeetCode:222.完全二叉树节点的数量
算法·leetcode