当前位置: 首页 > news >正文

2018ToG | 可逆的灰度图像

写在前面:这篇论文是比较早期的论文了,但由于本人是第一次见到该方向的相关研究,所以觉得比较新奇。本文用以梳理这篇论文的阅读思路,文末附上了一些个人思考。

0. Abstract

一旦彩色图像被转换为灰度图像,普遍认为即使采用最先进的图像上色方法,也无法完全恢复其原始色彩。本文提出了一种创新方法,用于合成可逆灰度图像,即一种能够完全还原其原始色彩的灰度图像。其核心思想是将原始的颜色信息编码嵌入至所合成的灰度图像中,同时确保人眼无法察觉其中的异常。本文提出利用卷积神经网络(CNN)来学习并实现这一颜色编码机制。该网络由两个部分组成:一个编码网络用于将彩色图像转换为灰度图像,另一个解码网络则用于将灰度图像恢复为彩色图像。为了确保网络具备必要的性能,本文设计了一种损失函数,使得训练后的网络同时满足以下三项关键属性:(a)颜色可逆性;(b)灰度一致性;(c)对量化误差的鲁棒性。本文在大量彩色图像上开展了密集的定量实验与用户研究,以验证所提出的方法。无论输入图像的类型与内容如何,该方法在各类场景下均取得了令人信服的效果。

1. Introduction

人们将彩色图像转换为灰度图像,出于多种目的和应用场景,包括黑白印刷、美学摄影以及对传统显示设备的向后兼容。然而,在彩色转灰度的过程中,颜色信息会丢失。尽管现有的图像上色方法可以为灰度图像添加颜色,但生成的颜色往往并非原始色彩。

【图1】在这里插入图片描述

本文提出了一种创新方法,可将彩色图像转换为可逆灰度图像,从而支持后续将其恢复为彩色版本。本文称之为 invertible grayscale。图 1 展示了该方法的效果:中间为从左侧彩色输入生成的可逆灰度图像,右侧则是由其还原得到的彩色图像。其核心思想是在生成的灰度图像中编码原始的颜色信息,从而在后续的彩色还原过程中能够恢复出该颜色信息。如图 1 底部放大的灰度子图所示,颜色信息被编码为肉眼难以察觉的模式。然而,由于输入内容具有无限多样性,手动设计这样一种颜色编码方案极其复杂。

为此,提出通过卷积神经网络(CNN)来学习并嵌入颜色编码方案。整个系统由两个神经网络模块组成:编码网络负责将彩色图像转换为灰度图像,解码网络则将灰度图像还原为彩色图像。在使用卷积神经网络实现该功能时,关键在于设计一个合理的损失函数。本文设计的损失函数由三部分构成:可逆性损失用于确保还原出的彩色图像与真实彩色图像尽可能相似,从而实现颜色的准确恢复;灰度一致性损失要求生成的灰度图像在结构、对比度和亮度等方面看起来像是原始彩色图像的正常灰度版本;量化损失用于模拟将可逆灰度图像以每像素 8 位格式存储时的量化过程。

一旦颜色编码与还原方案完成训练,本方法便可以应用于任意彩色图像,而不受图像内容的限制。为验证模型的有效性,本文在包含 3,000 张不同题材和内容的自然图像上进行了测试,并开展了定性评估、定量评估以及用户研究。各项实验均取得了令人信服的结果。例如,在还原图像与原始输入图像的对比中,本方法达到了平均 SSIM 为 0.9681、平均 PSNR 为 36.02 dB 的高性能表现。本文的主要贡献总结如下:

  1. 本文提出了一种创新方法,可将彩色图像转换为灰度图像,并在需要时将其恢复为彩色版本。

  2. 本文将颜色编码方案构建于神经网络框架中,以提供一种有效且高效的可逆灰度图生成方法。

尽管本方法主要针对可逆的彩色转灰度问题进行了定制,但所提出的通用神经网络框架同样适用于其他需要可逆性的应用场景。被编码的信息可以是颜色,也可以是其他任意类型的数据。该框架的核心在于将信息以视觉上不显著的方式嵌入图像中,并通过解码网络实现对嵌入信息的有效还原。

2. Related Works

2.1 去色方法

去色方法(Decolorization methods)旨在将彩色图像转换为灰度图像。需要注意的是,灰度图的生成并不存在绝对的标准,因为可见光本质上是一种光谱量,在现实世界中始终呈现出丰富的色彩。不同应用场景在生成灰度图像时采用的标准和准则各不相同。早期的灰度图生成主要用于模拟最初的单色摄影技术,而当时的摄影设备尚无法捕捉和呈现颜色信息。最简单且最常用的彩色转灰度方法,是将彩色图像在 CIELab 色彩空间或 YUV/YIQ 色彩空间中的亮度通道(“亮度”或“照明”通道)作为目标灰度图像的灰度值。然而,这种朴素的方法不仅会导致颜色信息的丢失,在某些情况下,当相邻区域的灰度值相近时,还可能引发图像对比度或结构信息的损失。为了解决这一问题,已有多种去色方法被提出,旨在在彩色转灰度的过程中尽可能保留颜色对比度。这些方法大致可分为两类:局部去色方法(local decolorization)全局去色方法(global decolorization)

局部去色方法通过利用局部色度边缘来增强灰度图像的对比度。例如,Bala 等人在亮度通道中加入了高频色彩成分,以保留色度边缘信息。Neumann 等人提出了基于局部颜色和亮度对比的梯度场一致性方法。Lu 等人则通过优化双峰分布,根据视觉上下文寻找合适的颜色顺序。相比之下,全局去色方法则通过全局颜色映射来保留局部与非局部对比度。Gooch 等人提出了基于对比参考图的线性模型映射规则,Kuk 等人在此基础上进一步结合了局部和全局对比信息。Liu 等人提出通过计算彩色图像与其灰度目标图像之间的梯度相关性来实现去色。尽管本文的方法同样在可逆灰度图生成过程中注重对比度的保留,但其核心目标与上述方法本质不同:上述方法均未考虑生成可还原至彩色版本的灰度图像,而这是我们方法所独有的目标。

3. Overview

在这里插入图片描述

本方法的整体系统如图 2 所示,由编码神经网络 E E E 与解码神经网络 D D D 组成。编码网络 E E E 将任意 RGB 彩色图像转换为灰度图像,而解码网络 D D D 则实现从灰度图像到 RGB 彩色图像的反向转换。编码器 E E E 与解码器 D D D 的具体网络结构将在第 4 节中详细介绍。

在训练阶段,对于训练数据集中每一张彩色图像 I I I,首先通过编码器 E E E 将其转换为灰度图像 G G G,再通过解码器 D D D G G G 恢复出彩色图像 R R R。具体过程可表示为:
G = E ( I ) G = E(I) G=E(I)

R = D ( G ) = D ( E ( I ) ) R = D(G)=D(E(I)) R=D(G)=D(E(I))

通过同时对灰度图像 G G G 与其还原的彩色图像 R R R 施加约束,进而对编码器 E E E 和解码器 D D D 提出相应要求,本文对 E E E D D D 进行联合训练。具体而言,本文设计了三项损失函数:可逆性损失 L V ( E , D ) L_V(E,D) LV(E,D),用于保证原始图像 I I I 与重建图像 R R R 之间的相似性;灰度一致性损失 L C ( E ) L_C(E) LC(E),用于确保生成的灰度图像 G G G 既具有灰度图像的视觉特征,又与输入图像 I I I 保持一致;量化损失 L Q ( E ) L_Q(E) LQ(E),用于促使灰度图像 G G G 的像素值趋于整数,以增强其抗量化误差能力。最终的整体损失函数 L ( E , D ) L(E,D) L(E,D) 被表示为上述三项损失的加权和:
L ( E , D ) = L V ( E , D ) + w 1 L C ( E ) + w 2 L Q ( E ) \mathcal{L}(E,D) = \mathcal{L}_V(E,D)+w_1\mathcal{L}_C(E) + w_2\mathcal{L}_Q(E) L(E,D)=LV(E,D)+w1LC(E)+w2LQ(E)
各项损失函数的具体设计将在第 5 节中进行详细讨论,完整的训练方案将在第 6 节中予以说明。由于各训练阶段所使用的损失函数权重不同,相关的加权系数设置也将在第 6 节中一并讨论。

在测试阶段,给定任意彩色输入图像 I I I,首先通过编码器进行灰度转换,得到灰度图像 G = E ( I ) G = E(I) G=E(I)。需要注意的是, G G G 中的每个像素值实际为 32 位浮点数。因此,需要对 G G G 进行量化,生成 8 位灰度图像 G ‾ \overline{G} G,使得所有像素值均为介于 [ 0 , 255 ] [0, 255] [0,255] 之间的整数。随后,通过解码器恢复出彩色图像 R = D ( G ‾ ) R = D(\overline{G}) R=D(G)。相关实验结果及深入的验证分析将在第 7 节中给出。

4. Network Architecture

如上所述,本方法的系统由一个将彩色图像转换为灰度图像的编码网络和一个将灰度图像还原为彩色图像的解码网络组成。乍看之下,该过程类似于彩色图像与灰度图像之间的循环转换,似乎可以通过 CycleGAN进行建模。然而,CycleGAN 仅能保证输出图像属于目标图像域(灰度或彩色),并不能确保所生成的灰度图像与其对应的输入彩色图像之间具有严格的一致性。由于 CycleGAN 属于无监督学习框架,其生成结果缺乏对输入图像内容的强约束,无法满足本方法对灰度图像与原始彩色图像之间对应关系的要求。本文提出的编码-解码框架在形式上也与哈希自编码器(hash autoencoder)较为相似。然而,尽管现有的自编码器方法在某些情况下可以实现可逆性,但它们普遍并未对潜在表示(latent representation)的视觉外观提出任何约束,这与本文方法对灰度图像外观的一致性要求存在显著差异。在本方法中,要求潜在的稀疏表示具备可视化能力,表现为一幅与输入彩色图像在视觉上保持一致的灰度图像。

【图3】

本文所提出的编码与解码网络的具体结构如图 2 所示,各模块下方标注了关键参数。编码网络由两个下采样卷积模块、两个上采样卷积模块、八个残差模块 [He et al. 2016] 以及两个平坦卷积层组成。下采样与上采样卷积结构用于扩大感受野,以增强特征提取能力。解码网络则由八个残差模块与一个平坦卷积层构成。下采样/上采样卷积结构仅用于编码网络,是因为将彩色图像编码为灰度图像时需要更丰富的邻域上下文信息,而从灰度图像解码回彩色图像则属于相对局部的任务。此外,为缓解下采样与上采样过程中可能引入的模糊伪影,编码网络中引入了跳跃连接策略(skip connection)。图 3 展示了是否使用下采样/上采样卷积结构的对比结果。从图 3(b) 可以看出,当不使用该结构时,墙面区域出现了明显的伪影。

5. Loss Function

5.1 可逆性损失

对输入图像 I I I和恢复图像 R R R施加MSE约束。因为图像恢复涉及到了编码器和解码器,因此该项损失函数同时约束了编码器和解码器。

5.2 灰度一致性损失

对于输入彩色图像 I I I 及其对应的灰度图像 G = E ( I ) G = E(I) G=E(I)灰度一致性损失 L C ( E ) L_C(E) LC(E) 用于确保生成的灰度图像 G G G 在视觉上与原始彩色图像 I I I 保持一致,并符合人们对灰度图像外观的普遍认知。在此需要再次强调,灰度图像的转换过程并不存在绝对统一的标准。传统的灰度表示通常采用 CIE Lab 颜色空间中的 L L L 通道,或 YIQ/YUV 空间中的 Y Y Y 通道作为灰度图像,但这类方法并未特别强调区域对比度的保留。一些去色方法则采用更复杂的计算方式以增强图像对比度。而在本方法中,核心目标是将颜色信息编码为不易察觉的图案形式。因此,灰度一致性损失不应过于严格地仅依赖均方误差(MSE)进行约束,而应采用一种相对宽松的设计形式。具体而言,本文提出的灰度一致性损失由三项子损失组成:亮度损失、对比度损失以及局部结构损失。

5.2.1 亮度损失

亮度损失用于确保生成的灰度图像 G G G 在视觉上与输入彩色图像 I I I 的亮度保持一致,即亮区域依然明亮,暗区域依然昏暗。然而,为了给颜色信息的编码保留一定的空间,本文在损失函数设计中引入了灰度差容许范围 θ \theta θ。具体而言,当灰度图像与原图在像素层面的亮度差异小于该阈值 θ \theta θ 时,亮度保持损失 ℓ l ( E ) \ell_l(E) l(E) 被视为零:
ℓ l ( E ) = E I ∈ I { ∥ max ⁡ ( ∣ G − L ( I ) ∣ − M θ , M 0 ) ∥ 1 } \ell_l(E) = \mathbb{E}_{I \in \mathcal{I}} \left\{ \left\| \max \left( \left| G - L(I) \right| - M_{\theta},\ M_0 \right) \right\|_1 \right\} l(E)=EII{max(GL(I)Mθ, M0)1}
其中, ∥ ⋅ ∥ 1 \|\cdot\|_1 1 表示 L 1 L_1 L1范数, ∣ ⋅ ∣ |\cdot| 为逐元素绝对值操作符; L ( I ) L(I) L(I) 表示输入图像 I I I 的亮度通道(例如 Lab 颜色空间中的 L L L 分量); max ⁡ { ⋅ , ⋅ } \max\{\cdot, \cdot\} max{,} 是两个相同尺寸矩阵间的逐元素最大值操作。矩阵 M θ M_\theta Mθ M 0 M_0 M0 的尺寸与灰度图 G G G 相同,其中 M θ M_\theta Mθ 的每个元素均为常数 θ \theta θ M 0 M_0 M0 的每个元素均为 0。由于图像 I I I G G G 的像素值均定义在区间 [ 0 , 255 ] [0, 255] [0,255] 内,本文在所有实验中将阈值 θ \theta θ 经验性地设置为 70。值得注意的是,该约束条件相当宽松,目的是为模型提供更大的搜索空间。

【博主解读】对于阈值 θ \theta θ,可以简单理解为:在 θ \theta θ 设置为70的前提下,输入图像和生成的灰度图中每个像素的亮度差异均需要小于或等于70。

5.2.2 对比度损失

本研究发现预训练的 VGG-19 网络中的高层特征对于表达图像的全局对比度表现非常出色。因此,有如下公式:
ℓ c ( E ) = E I ∈ I { ∥ VGG k ( G ) − VGG k ( I c ) ∥ 1 } \ell_c(E) = \mathbb{E}_{I \in \mathcal{I}} \left\{ \left\| \text{VGG}_k(G) - \text{VGG}_k(I_c) \right\|_1 \right\} c(E)=EII{VGGk(G)VGGk(Ic)1}
其中,VGG_k取VGG网络的conv4_4,c表示输入图像的通道序号,取 1 , 2 , 3 {1,2,3} 1,2,3

5.2.3 局部结构损失

最后一项子损失旨在保持彩色输入图像 I I I局部结构在灰度图像 G G G 中的一致性。具体而言,若输入图像中某一像素在局部区域内是平滑的,则在生成的灰度图像中,该像素也应保持平滑性。这样的约束有助于防止颜色编码模式在灰度图中显性化。为度量局部结构的相似性,本文采用了一种简单但有效的局部变化(local variation)作为衡量指标。因此,局部结构损失 ℓ s ( E ) \ell_s(E) s(E) 可被表述为:
ℓ s ( E ) = E I ∈ I { ∥ Var ( G ) − Var ( I ) ∥ 1 } \ell_s(E) = \mathbb{E}_{I \in \mathcal{I}} \left\{ \left\| \text{Var}(G) - \text{Var}(I) \right\|_1 \right\} s(E)=EII{Var(G)Var(I)1}
其中, Var ( ⋅ ) \text{Var}(\cdot) Var() 表示用于计算图像
局部变化均值
的函数,即对图像中各像素局部区域的变化程度进行平均,以衡量其整体局部结构特性。

5.2.4 组合损失函数

整体的灰度一致性损失由上述三项子损失的加权和构成:
L C ( E ) = ℓ l ( E ) + α ℓ c ( E ) + β ℓ s ( E ) L_C(E) = \ell_l(E) + \alpha \ell_c(E) + \beta \ell_s(E) LC(E)=l(E)+αc(E)+βs(E)
其中, α \alpha α β \beta β 分别为加权因子。为了平衡卷积特征空间与图像像素空间之间的量纲差异,本文经验性地将 α \alpha α 设定为 10 − 7 10^{-7} 107。局部结构损失与其他损失项之间的权重平衡则由 β = 0.5 \beta = 0.5 β=0.5 控制。实际上,实验发现训练结果对这两个超参数并不敏感,因此在所有实验中均采用固定值。

【图4】

图 4 展示了灰度一致性损失及其各子项的重要性。当不引入灰度一致性损失时,生成的灰度图(如图 (b))在视觉上无法体现输入彩色图像的灰度外观。若移除亮度项,图像的局部对比可能会被颠倒,如图 © 中花瓣所示;若去除全局对比项,则无法在灰度图中保留原图的整体对比度,导致图像呈现出“发灰”的视觉效果,如图 (d) 所示。若省略局部结构项,模型将无法有效抑制颜色编码所带来的纹理伪影,如图 (e) 所示(可与图 (f) 中对应的局部放大图进行对比)。只有在包含所有子项的情况下,才能如图 (f) 所示,生成既具视觉美感又无明显颜色编码痕迹的灰度图像。

5.3 量化损失

前述讨论中的图像(无论是灰度图还是彩色图)均以 32 位浮点精度进行表示。然而,在实际应用中,灰度图像的每个像素通常以 8 位无符号整数形式进行存储。该量化过程可能导致在灰度图恢复为彩色图时产生伪影,如图 5(a) 所示。为此,本文提出通过如下量化损失对所有非整数像素值进行惩罚:
L Q ( E ) = ⟨ ∥ min ⁡ d = 0 255 ∣ G − M d ∣ ∥ 1 ⟩ I L_Q(E) = \left\langle \left\| \min_{d = 0}^{255} \left| G - M_d \right| \right\|_1 \right\rangle_I LQ(E)= d=0min255GMd 1I

其中, min ⁡ { ⋅ } \min\{\cdot\} min{} 表示在一组尺寸相同的矩阵中进行的逐元素最小值操作。矩阵 M d M_d Md 的尺寸与灰度图 G G G 相同,其所有元素均为常数 d d d。通过引入量化损失,可以有效抑制因量化所带来的伪影,从而在重建图像时获得显著更优的效果(如图 5(b) 所示)。
在这里插入图片描述

6. Training

6.1 训练数据

采用VOC2012数据集,13758张图像作为训练集,3367张图像作为测试集。

【表1】

6.2 两阶段的训练过程

本模型采用端到端方式进行训练,损失函数如公式(3)所定义。模型可以直接从头开始训练(即单阶段方案),其训练损失随实际运行时间的变化如图 6 中绿色曲线所示。然而,量化损失是一个分段定义的函数,不仅训练困难,而且占用较大的显存。因此,本文提出了一种两阶段训练策略,以加速模型收敛并降低内存消耗。

在第一阶段,仅考虑可逆性损失灰度一致性损失;第二阶段则将三项损失全部纳入训练目标。为实现这一策略,本文在前 90 个训练周期(第一阶段)中将公式(3)中的 ω 2 \omega_2 ω2 设为 0,即忽略量化损失;在随后的 30 个训练周期(第二阶段)中将其设为一个相对较大的值,从而强化量化损失对训练的主导作用。同时,权重参数 α \alpha α β \beta β 在两个阶段中保持不变。具体的参数设置详见表 1。

【图6】

图 6 中的红色曲线绘制了两阶段训练方案下的训练损失随实际时间的变化,每个点代表一个训练周期。可以观察到,两阶段训练在实际运行时间上比单阶段训练收敛得更快。尽管训练轮数相同,两阶段方案整体耗时更少。此外,使用两阶段策略训练得到的彩色图像在重建效果上也略优于单阶段方案,详见图 9(b)、(c) 及表 2。

【表2】

在训练过程中,学习率初始设为 0.0002,并在整个 120 个训练周期中线性衰减至 0.000002。模型的优化采用 ADAM 优化器。

7. 结果和讨论

7.1 定性评估

我们在多种题材与内容的图像上对本文方法进行了评估,所有场景下均获得了令人满意的结果。如图 14 所示,展示了多个类别的可逆灰度图像与其还原出的彩色图像,涵盖从人像特写到远景风光,以及从乡村场景到都市街景等多种内容。对于每一个样例,依次展示了原始彩色输入图像(第一列)、经过 8 位量化处理的可逆灰度图(第二列)、由该灰度图还原得到的彩色图像(第三列),以及对应的伪彩色差异图(第四列)。在还原的彩色图像中,我们标注了与原始图像之间的 PSNR 和 SSIM 值;在差异图中,则标注了平均绝对误差(MAE)。建议读者放大图像,以便观察细节。生成的灰度图既符合输入彩色图像的视觉特征,也符合人们对典型灰度图像的感知预期。除非对图像进行大幅缩放,否则难以察觉其中隐含的颜色编码模式;尤其在纹理复杂区域中,该编码更难以识别。还原得到的彩色图像与原始彩色输入几乎完全一致。更多样例可参考附录材料。

7.1.1 色彩还原与上色

【图7】

本文首先在图 7 中展示了与当前主流 CNN 上色方法的结果对比。然而,需要指出的是,该比较在严格意义上并不完全公平:对方方法使用的输入灰度图为原始彩色图像的 L 通道,而本方法的输入则为可逆灰度图。由于该上色方法在很大程度上依赖于颜色与自然纹理之间的相关性,当图像中缺乏足够纹理时(如图 7(b) 所示),其效果通常不佳。相比之下,本方法通过解码可逆灰度图中嵌入的颜色信息,能够准确还原出原始彩色图像(如图 7© 所示)。此外,本文还进一步与基于用户颜色提示的交互式上色方法进行了比较,该方法依赖人工指定的局部颜色提示进行灰度图像上色。对于每张图像,按照原方法设定,随机采样 500 个颜色提示点生成其上色结果。图 8 展示了该方法与本方法的结果对比。即便在颜色提示点分布较密集的情况下,该方法生成的图像仍可能与真实彩色图存在较为明显的差异。

【图8】

7.1.2 色彩编码模式

在可逆灰度图中嵌入颜色信息的副作用是引入了不明显的图案结构(如图 1 与图 9 所示)。这种图案仅在图像被大幅放大时才可观察到。通常,该图案结构难以理解,在亮度较高的区域中较为微弱,而在暗部区域相对更明显;此外,相较于纹理复杂区域,在平滑区域中该图案也更加可见,这可能与人类视觉系统对复杂视觉内容的变化敏感度较低有关。实验还发现,所生成图案的尺度与输入图像的分辨率无关。如图 9 所示,输入图像(图 9(a))被分别缩放至 400×300(图 9(b))和 1600×1200(图 9©)两种分辨率,其中高分辨率版本更能隐藏颜色编码图案,因为识别该图案需进行更大倍数的放大。
在这里插入图片描述

若系统输入为灰度图像,则可逆灰度图中不会引入颜色编码图案,因为原始图像中不包含可编码的颜色信息。如图 10 底部所示,输入为彩色图像的情况下会产生图案(图 10©),而输入为灰度图像时(图 10(f))则无可见图案;此时生成的可逆灰度图几乎与输入灰度图完全一致。此外,相较于常规的 L 通道图像(图 10(e)),本方法生成的可逆灰度图像(图 10(b))能够更好地保留原图的整体对比度,这归功于所引入的对比度损失项。然而,在色彩对比度的保持能力上,本方法仍不如现有的保持对比度的去色方法。需要强调的是,尽管本方法在一定程度上能够保留全局对比度,其核心目标仍在于可逆性的实现。

【图10】

7.2 定量验证

本文进一步在由3367张图像组成的测试集上进行了定量评估。为了衡量恢复图像和原始图像的相似性,本研究采用三项指标对重建彩色图像进行评估:平均绝对误差(MAE)峰值信噪比(PSNR) 以及 结构相似性指数(SSIM),其中各项指标均在 RGB 三个通道上分别计算后取平均值。类似地,与另一方法进行了对比,该方法在每张图像中随机采样 500 个颜色提示点。评估统计结果列于表 2。对于 MAE 指标,其取值范围为 [ 0 , 255 ] [0, 255] [0,255],值越小表示与真实图像越接近,0 表示完全一致。对于 PSNR 和 SSIM 指标,值越大表示相似性越高,其中 PSNR 的上限为 ∞ \infty ,SSIM 的最大值为 1。实验结果显示,相较于对比方法,本文方法在 MAE 指标上取得了显著更低的数值,同时在 PSNR 与 SSIM 两项指标上均取得了更高的得分,说明所重建的彩色图像在整体质量与真实图像的相似性方面具有明显优势。

目前尚无统一标准可用于衡量生成灰度图像与原始彩色图像之间的一致性。本文采用 SSIM 中定义的结构项来度量生成灰度图像与彩色图像 L 通道 之间的结构相似性。之所以将 L 通道作为参考基准,是因为其能够较好地保留彩色图像中的结构信息。在取值范围为 [ − 1 , 1 ] [-1, 1] [1,1] 的情况下,结构相似性的平均值为 0.9799,标准差为 0.008830。这表明所生成的可逆灰度图能够较好地保留输入图像的结构信息。

7.3 用户调研

7.4 时间消耗

【表3】

本模型基于 Python 使用 TensorFlow 实现。所有实验均在一台配备 Intel Xeon E5-1630 v4 3.70GHz CPU 和 GeForce GTX 980 Ti GPU 的个人计算机上完成。分别在启用与未启用 GPU 的情况下,对不同分辨率图像的编码与解码网络的运行时间进行评估。每种分辨率下均运行 100 次实验,并取平均值。运行时间统计结果列于表 3。总体来看,编码过程所耗时间普遍高于解码过程,这是由于编码网络包含更多卷积层,计算复杂度也更高。在使用 GPU 的条件下,本方法在分辨率为 512 × 512 的图像上可实现实时性能。

7.5 局限性

【图12】

由于本方法所生成的可逆灰度图通过嵌入不显眼的图案来编码原始颜色信息,因此其颜色还原效果在很大程度上依赖于这些图案的准确性。因此,该可逆灰度图对常见的图像操作(如旋转、缩放及 JPEG 压缩)并不具备鲁棒性,因为这些图像处理操作可能破坏其中的颜色编码图案。图 12 展示了在不同存储条件下恢复出的彩色图像结果,包括无损存储(图 12(a))、高质量 JPEG 压缩(图 12(b))以及中等质量 JPEG 压缩(图 12©)。随着压缩质量的降低,灰度图中嵌入的颜色编码图案受到的破坏程度也随之加剧,进而导致还原彩色图像的质量下降。为提升对图像操作的鲁棒性,一种可能的解决方案是在模型训练阶段引入这些图像操作过程,这也是未来研究的潜在方向之一。

尽管存在一定的局限性,本文所提出的系统在实际应用中仍具备一定程度的抗干扰能力,相关结果展示于补充视频中。在该视频中,首先利用编码网络生成可逆灰度图像,并将其打印在普通 A4 纸上;随后使用手持式 PDA 相机对这些纸质灰度图进行拍摄,获得的图像可能包含噪声、模糊、光照变化甚至透视畸变。最后,通过解码网络从这些受干扰的灰度图像中恢复出彩色图像。如图 13 及补充视频所示,即便输入图像受到多种噪声污染,依然能够得到令人信服的恢复效果,尽管恢复出的颜色在某些情况下可能与原始图像存在轻微偏差。

【图13】

8. 结论

本文提出了一种创新性的彩色图像灰度化方法,该方法生成的灰度图像可在后续被还原为原始彩色图像。其核心思想在于将颜色信息编码嵌入到合成的灰度图中。具体地,本文通过卷积神经网络学习并实现该颜色编码机制。对于任意输入彩色图像,所训练的网络能够生成在视觉上自然、符合预期的灰度图像,并可还原出几乎无法与原始彩色图区分的彩色结果。所有的定量实验结果及用户评估统计均验证了该方法的有效性。

本方法主要针对静态图像设计。尽管可通过逐帧处理的方式将其应用于视频,但当前模型尚无法保证帧间的时序一致性,因此对该问题的进一步研究仍具有必要性。另一个值得探索的方向是提升模型的抗噪能力。目前,该方法对于有损图像压缩(如 JPEG)所引入的误差仍较为敏感。一种潜在的解决方案是将压缩误差建模纳入神经网络训练过程中,使模型能够学习出对噪声更具鲁棒性的颜色编码方式。

请添加图片描述

【思考1】作者在Intro中提到,这个架构是一个通用性架构,其理论意义不应局限于编码颜色信息,还可以扩展至任意类型的数据。看到这里就感觉这个思路可能就是CycleISP的前身,即sRGB-RAW-sRGB。

【思考2】a. 量化误差损失函数部分公式示例,举d=1和d=2进行示范:

请添加图片描述

b. 同时,正如6.2小节所述,量化损失函数是一个分段定义的函数,如图:
请添加图片描述

【思考3】作者在结论给出了未来研究方向,不知道该领域目前做到了什么地步?

相关文章:

  • 数据库三范式的理解
  • Java中Random类常用方法详解
  • 界面分析 - 上
  • 风控研发大数据学习路线
  • DAX权威指南6:DAX 高级概念(扩展表)、DAX 计算常见优化
  • 我的LGB模型的一些参数和说明
  • 从“人防”到“智防”,智驱力助力危化品企业智能化转型
  • #16 学习日志软件测试
  • bismark OT CTOT OB CTOB 以及mapping后的bam文件中的XG,XR列的含义
  • Python基础:人生重开模拟器(小游戏)
  • 2024年数维杯国际大学生数学建模挑战赛C题时间信号脉冲定时噪声抑制与大气时延抑制模型解题全过程论文及程序
  • CUDA与OpenGL混合编程图形渲染
  • vLLM实战部署embedding、reranker、senseVoice、qwen2.5、qwen3模型
  • [蓝桥杯]约瑟夫环
  • Qt/C++编写GB28181服务端工具/绿色版开箱即用/对标wvp-gb28181/实时画面预览/录像回放下载
  • 5.29 自学测试 Linux基础 Day4
  • 基于大模型的急性乳腺炎全病程风险预测与综合治疗方案研究
  • 快乐大冒险:解锁身体里的 “快乐密码”
  • 海外tk抓包简单暴力方式
  • 如何评估 RAG 的分块Chunking策略
  • 图书馆网站建设研究/推广网站推广
  • 用meteor框架做的微博网站/优化一下
  • 商业计划书ppt免费模板下载/aso应用优化
  • 南岸网站建设/营销管理
  • 全网营销型网站建设/百度商城官网首页
  • 手机商城建站系统网站建设/百度手机助手下载免费安装