论文阅读:GamutMLP A Lightweight MLP for Color Loss Recovery

这篇文章是关于色彩恢复的一项工作,发表在 CVPR2023,其中之一的作者是 Michael S. Brown,这个老师是加拿大 York 大学的,也是 ISP 领域的大牛,现在好像也在三星研究院担任兼职,这个老师做了很多这种类似的工作,通过一些轻量模型,将一些数据转换过程中的变换关系进行拟合,然后再进行恢复,比如 RAW域 到 sRGB 域的转换,这篇文章是 wide RGB 到 sRGB 的转换

一般相机的 ISP 或者一些图像编辑软件,可以处理更为宽广的色域,也就是 wide-gamut,广色域基本涵盖了 90% 的可见光色彩空间,不过这些图像最终转换到标准色域 standard-RGB (sRGB) 的时候,由于标准色域空间 sRGB 只涵盖了 30% 的色彩空间,所以会有很多的截断及精度损失,这篇文章也是借助神经网络强大的隐式表达能力,这篇文章提出在进行色彩转换的时候,用一个轻量级的的 MLP 去记录转换时的截断像素值。这个 MLP 需要大概 2s 的时间训练,需要大概 23k 的存储空间,可以看到,这是一个类似在线拟合的过程,每转换一张图片,需要同步去训练一个 MLP 在线拟合这个色彩转换过程,然后后面需要再进行色彩恢复的时候,可以调用这个模型进行色彩恢复。

文章整体的思路还是比较直观简单的,可以分成两个阶段,第一个阶段是编码阶段,也就是从 wide gamut 到 standard gamut 的时候,需要同步训练一个 MLP; 第二个阶段可以认为是解码阶段,就是从 standard gamut 重新扩展成 wide gamut 的时候。

  • 编码阶段
  • 解码阶段

假设一张 wide gamut 的图像可以表示成 I P P ∈ R 3 × N \mathbf{I}{PP} \in \mathbb{R}^{3 \times N} IPP∈R3×N,转换后的 sRGB 图像为 I s R G B \mathbf{I}{sRGB} IsRGB,整个转换过程可以表示为:

I s R G B = g ( clip ( M I P P , m i n = 0 , m a x = 1.0 ) ) (1) \mathbf{I}{sRGB} = g(\text{clip}(\mathbf{M}\mathbf{I}{PP}, min=0, max=1.0)) \tag{1} IsRGB=g(clip(MIPP,min=0,max=1.0))(1)

M \mathbf{M} M 是一个色彩转换矩阵, I P P \mathbf{I}_{PP} IPP 表示广色域的图像,clip 是一个截断操作, g g g 表示 gamma 变换,可以看到,由于其中有一个 clip 的截断操作,所在这个变换是不可逆的,当从 sRGB 图像转换回 wide gamut 图像时,可以用下面的式子表示:

I C l i p e d P P = M − 1 g − 1 ( I s R G B ) (2) \mathbf{I}{ClipedPP} =\mathbf{M}^{-1}g^{-1}(\mathbf{I}{sRGB}) \tag{2} IClipedPP=M−1g−1(IsRGB)(2)

为了能从 I C l i p e d P P \mathbf{I}{ClipedPP} IClipedPP 恢复得到真正的 I P P \mathbf{I}{PP} IPP,文章提出用一个 MLP 网络来进行拟合。MLP 本身预测的是残差,整个恢复过程如下所示:

I ^ P P ( x ) = f θ ( x , I C l i p e d P P ( x ) ) + I C l i p e d P P ( x ) (3) \hat{\mathbf{I}}{PP}(\mathbf{x}) = f{\theta} (\mathbf{x}, \mathbf{I}{ClipedPP}(\mathbf{x})) + \mathbf{I}{ClipedPP}(\mathbf{x}) \tag{3} I^PP(x)=fθ(x,IClipedPP(x))+IClipedPP(x)(3)

其中, f θ ( x , I C l i p e d P P ( x ) ) f_{\theta} (\mathbf{x}, \mathbf{I}{ClipedPP}(\mathbf{x})) fθ(x,IClipedPP(x)) 就是 MLP 网络预测的残差, I ^ P P ( x ) \hat{\mathbf{I}}{PP}(\mathbf{x}) I^PP(x) 表示最终恢复的 wide gamut 的 RGB 值,网络的输入是一个五维的向量 ( x , y , R ′ , G ′ , B ′ ) (x, y, R', G', B') (x,y,R′,G′,B′) ,文章中用了一个编码函数,对每个维度进行了编码,编码函数如下所示:

γ ( m ) = ( sin ⁡ ( 2 0 π m ) , cos ⁡ ( 2 0 π m ) , . . . , sin ⁡ ( 2 K − 1 π m ) , cos ⁡ ( 2 K − 1 π m ) ) (4) \gamma(m) = ( \sin(2^{0}\pi m), \cos(2^{0}\pi m), ..., \sin(2^{K-1}\pi m), \cos(2^{K-1}\pi m) ) \tag{4} γ(m)=(sin(20πm),cos(20πm),...,sin(2K−1πm),cos(2K−1πm))(4)

每个维度编码成一个 24 维的向量,5 个维度一共是 120 维的向量。最终的损失函数是一个 L 2 L_2 L2 的 loss

L g a m u t = ∑ x ∥ I ^ P P ( x ) − I P P ( x ) ∥ (5) \mathcal{L}{gamut} = \sum{\mathbf{x}} \left \| \hat{\mathbf{I}}{PP}(\mathbf{x}) - \mathbf{I}{PP}(\mathbf{x}) \right \| \tag{5} Lgamut=x∑ I^PP(x)−IPP(x) (5)

文章中也提到,训练的时候,不能只用 out-of-gamut 的像素值训练,out-of-gamut 和 in-gamut 都用上,模型拟合的效果最好,文章最后用了 20% 的 out-of-gamut 的像素,以及 2% 的 in-gamut 的像素,混合着训练。最后就是实验结果了。

这篇文章主要是为了解决色域转换时候的精度损失及截断问题,通过在线训练一个 MLP 网络,对转换过程进行拟合,文章整体的思路简单直观,效果从文章给的结果来看,比之前的一些方法要好。毕竟是每张图片都需要单独训练一个 MLP 网络,用效率换效果了。

相关推荐
觉醒大王1 小时前
哪些文章会被我拒稿?
论文阅读·笔记·深度学习·考研·自然语言处理·html·学习方法
觉醒大王5 小时前
强女思维:着急,是贪欲外显的相。
java·论文阅读·笔记·深度学习·学习·自然语言处理·学习方法
张较瘦_8 小时前
[论文阅读] AI | 用机器学习给深度学习库“体检”:大幅提升测试效率的新思路
论文阅读·人工智能·机器学习
m0_650108241 天前
IntNet:面向协同自动驾驶的通信驱动多智能体强化学习框架
论文阅读·marl·多智能体系统·网联自动驾驶·意图共享·自适应通讯·端到端协同
m0_650108241 天前
Raw2Drive:基于对齐世界模型的端到端自动驾驶强化学习方案
论文阅读·机器人·强化学习·端到端自动驾驶·双流架构·引导机制·mbrl自动驾驶
快降重科研小助手1 天前
前瞻与规范:AIGC降重API的技术演进与负责任使用
论文阅读·aigc·ai写作·降重·降ai·快降重
源于花海2 天前
IEEE TIE期刊论文学习——基于元学习与小样本重训练的锂离子电池健康状态估计方法
论文阅读·元学习·电池健康管理·并行网络·小样本重训练
m0_650108242 天前
UniDrive-WM:自动驾驶领域的统一理解、规划与生成世界模型
论文阅读·自动驾驶·轨迹规划·感知、规划与生成融合·场景理解·未来图像生成
蓝田生玉1232 天前
LLaMA论文阅读笔记
论文阅读·笔记·llama
*西瓜2 天前
基于深度学习的视觉水位识别技术与装备
论文阅读·深度学习