Park_Distort-and-Recover_Color_Enhancement_CVPR_2018_paper

Distort-and-Recover: Color Enhancement using Deep Reinforcement Learning(失真与恢复:使用深度强化学习的颜色增强 )

0 Abstract

本文提出一种基于深度学习(DRL)的颜色增强方法,模拟人类修饰过程的逐步本质。

将彩色增强过程定义为马尔可夫决策过程,其中动作定义为全局彩色调整操作,然后训练agent学习最优的全局增强序列。

提出一种“失真-恢复”训练方法,其只需要高质量的参考图像进行训练,而不需要输入和修饰图像对。给出高质量的参考图像,对图像的颜色分布进行扭曲,形成扭曲的参考图像对进行训练。

1 Contribution

1、提出一种color enhancement agent ,在没有任何明确的监督中间步骤下,学习一步一步的修饰过程。

2、提出一种失真和恢复训练方案,使能在无昂贵输入图像对的情况下训练我们的代理。

3、 代理、失真和恢复训练方案的训练可以增强来自未知颜色分布的图像。

2 Problem Formulation

通过迭代应用调整动作 A A A来增强 I I I,使用上下文特征 F c o n t e x t ( I ( t ) ) F_{context}(I(t)) Fcontext(I(t))和全局颜色特征 F c o l o r ( I ( t ) ) F_{color}(I(t)) Fcolor(I(t))表示第t步的图像 I ( t ) I(t) I(t)

代理在政策 Ω Θ Ω_Θ Θ的每一步 t t t决定颜色调整行动 A ( t ) A(t) A(t),找到一个最优调色动作序列 T { A o p t i m a l ( t ) ⊂ A } T \left\{A_{optimal}(t)⊂ A\right\} T{Aoptimal(t)A}

颜色审美取决于图像语义语境和个体偏好,为了衡量彩色美感,将人类修饰过的的图像 I t a r g e t I_{target} Itarget视为ground truth,将美感度量定义为图像 I ( t ) I(t) I(t)与相应修饰过的图像 I t a r g e t I_{target} Itarget之间的 − ℓ 2 -ℓ_2 2,寻找一个最优的调色动作序列 T { A o p t i m a l ( t ) ⊂ A } T \left\{A_{optimal}(t)⊂ A\right\} T{Aoptimal(t)A}使得 ∣ ∣ I ( t f i n a l ) − I t a r g e t ∣ ∣ 2 ||I(t_{final}) − I_{target}||^2 I(tfinal)Itarget2

S S S是上下文特征和颜色特征 ( F c o n t e x t , F c o l o r ) (F_{context}, F_{color}) (Fcontext,Fcolor),动作空间是颜色调整操作 A A A的集合,即时奖励是 ℓ 2 ℓ_2 2的变化:

R ( t ) = ∣ ∣ I t a r g e t − I ( t − 1 ) ∣ ∣ 2 − ∣ ∣ I t a r g e t − I ( t ) ∣ ∣ 2 R(t) = ||I_{target} − I(t − 1)||^2 − ||I_{target} − I(t)||^2 R(t)=ItargetI(t1)2ItargetI(t)2

Θ Θ Θ参数化的代理决策$ Ω_Θ$,其没有像典型马尔可夫决策过程的过渡概率,每个颜色调整动作操作是确定的。

训练agent逼近行为值 Q ( S ( t ) , A ) Q(S(t),A) Q(S(t),A),并选择一个使价值最大化的行为 A A A,行动 A A A t t t时刻的行动值是未来奖励的期望总和: Q ( S ( t ) , A ) = E [ r ( t ) + γ ⋅ r ( t + 1 ) + γ 2 ⋅ r ( t + 2 ) + ⋅ ⋅ ⋅ ] Q(S(t), A) = E[r(t) + γ·r(t + 1) + γ^2· r(t + 2) + · · ·] Q(S(t),A)=E[r(t)+γr(t+1)+γ2r(t+2)+]

γ γ γ 是一个discount factor。

由上下文特征和颜色特征组成的状态空间是连续的,因此近似的复杂度很高,所以采用神经网络作为代理处理如此高的复杂性, 这个代理估计 S ( t ) S(t) S(t)的动作值 Q ( A , t ) Q(A,t) Q(A,t)

3 Automatic Color Enhancement

在这里插入图片描述

图2为自动颜色增强算法的流程。

将输入图片 I I I转发到特征提取器中,提取特征 S = ( F c o n t e x t , F c o l o r ) S = (F_{context}, F_{color}) S=(Fcontext,Fcolor),然后对于每个预定义的调整动作 A A A,代理就会获取特征并估计动作值 Q ( S , A ) Q(S, A) Q(S,A)。之后,代理就会选择一个动作值最高的动作,如果动作值是正的,则将该动作应用到输入图像上。 代理重复这个过程,并在所有估计的动作值为负值时停止。

3.1 Actions

在这里插入图片描述

如表1所示,在本实验动作项目中,动作1和动作2用于调整图像对比度,动作3和动作4用于控制颜色饱和度,动作5和6用于控制图像亮度。动作7到动作12,增加或减少两个颜色组件,用于控制白平衡。这些动作都是量化的。

3.2 Features

agent根据特性中嵌入信息决定采取何种行动,

本实验使用深度卷积神经网络的中间激活在 I L S V R C ILSVRC ILSVRC分类数据集上进行预先训练,由于该网络经过训练可识别1.3M图像中的1000个对象类,因此该网络的中间激活嵌入了图像的语义信息。

将激活作为一种通用的图像特征可以显著地改善了其他视觉识别任务,所以选用 V G G − 16 VGG-16 VGG16模型的第六层4096维激活作为上下文特征 F c o n t e x t F_{context} Fcontext

对于颜色特征,采用 C I E L a b CIELab CIELab颜色直方图,将 C I E L a b CIELab CIELab空间的每个轴线性量化为20个区间,并计算每个区间中的像素数量,以获得 20 × 20 × 20 20×20×20 20×20×20维直方图,

3.3 Agent

该代理从当前图像中提取特征,并估计每个动作的动作值。行动 A A A的行动值 Q ( S ( t ) , A ) Q(S(t),A) Q(S(t)A)是该行动未来奖励的期望总和。

本实验agent由一个4层多感知器组成,所有感知器层都使用一个修正线性单元作为激活函数。

在训练过程中,策略 Ω Θ Ω_Θ Θ通过 ϵ − g r e e d y \epsilon -greedy ϵgreedy算法,随机抽取概率为 ϵ \epsilon ϵ的动作,以概率为 1 − ϵ 1-\epsilon 1ϵ的贪心方式选择期望收益最高的动作,使用 R ( t ) = ∣ ∣ I t a r g e t − I ( t − 1 ) ∣ ∣ 2 − ∣ ∣ I t a r g e t − I ( t ) ∣ ∣ 2 R(t) = ||I_{target} − I(t − 1)||^2 − ||I_{target} − I(t)||^2 R(t)=ItargetI(t1)2ItargetI(t)2的中间奖励 R ( t ) R(t) R(t)训练agent, R ( t ) = ∣ ∣ I t a r g e t − I ( t − 1 ) ∣ ∣ 2 − ∣ ∣ I t a r g e t − I ( t ) ∣ ∣ 2 R(t) = ||I_{target} − I(t − 1)||^2 − ||I_{target} − I(t)||^2 R(t)=ItargetI(t1)2ItargetI(t)2被定义为 − ℓ 2 -ℓ2 2距离的变化量。

在推理阶段,采用纯贪心算法确定策略,其中 ϵ \epsilon ϵ为0(总是选择最高的期望收益),不断重复,直到所有预期收益都为负。

4 ‘Distort-and-Recover’ Training Scheme

问题:基于学习的方法严重依赖于数据集,且都至少需要输入修饰图像对进行训练。成对的数据集收集困难,难以开发一个系统来考虑个性化的图像增强。该情况下的数据集通常只覆盖特定的输入分布,并且由于输入的分布变化很大,导致其泛化能力差。

解决方案:提出一种扭曲和恢复(distort-and-recover)的训练方案,其只利用润色或策划的图像。通过随机的彩色调整操作来扭曲高质量的参考图像,并合成伪输入修饰的图像对。

C I E L a b CIELab CIELab颜色空间中,失真图像与参考图像的 L 2 L^2 L2距离保持在10–20之间,这提供了更加清晰的监控信号和有效搜索空间。为了防止颜色失真的偏置,使用DRL代理动作集的不同全局操作:在高亮/阴影像素上进行亮度/对比度/颜色饱和度调整,在高亮C/M/Y/R/G/B像素上进行C/M/Y/R/G/B调整。

在选择高亮/阴影像素时,使用一种带有sigmoid函数变体的软像素(soft pixel )选择方法,该方法对具有高/低值的像素应用高权重。

5 Experiments

使用 T e n s o r f l o w Tensorflow Tensorflow建立网络,agent网络由4个全连接层组成,各层输出分为4096、4096、512、12,输入大小根据所使用的输入特征类型不同而不同。 使用 M I T − A d o b e F i v e K MIT-Adobe FiveK MITAdobeFiveK数据集,在单个 N V I D I A G T X 1080 NVIDIA GTX 1080 NVIDIAGTX1080上训练代理网络至少需要12小时。

持续时间取决于训练集的大小。 m i n i − b a t c h mini-batch minibatch大小为4,基本 l e a r n i n g learning learning r a t e rate rate 1 0 − 5 10^{−5} 105 m i n i m u m minimum minimum l e a r n i n g learning learning r a t e rate rate 1 0 − 8 10^{−8} 108,每5000次迭代学习率衰减0.96倍。 在 T e n s o r f l o w Tensorflow Tensorflow提供的许多默认优化器中,本实验使用采用Adam优化器显示了最稳定的训练和最好的结果。

Pix2Pix Baseline

使用Pix2Pix作为像素级预测方法的Baseline,它是一种条件生成对抗网络,可将图像转换到不同的领域。

通过大量的试验和错误调整Pix2Pix的超参数,以获得最佳的增强结果。

Pix2Pix实现的输入是256 × 256平方图像。 直接对正方形图像进行弯曲可能会使图像的颜色分布发生扭曲,因此保持图像的宽高比,并添加零像素形成正方形的输入输出对,然后将其大小调整为256 × 256分辨率。 输入通道从RGB转换为CIELab颜色空间,其中像素重新缩放为[-1,+1], R G B RGB RGB L 1 L^1 L1损耗转换为 C I E L a b CIELab CIELab L 2 L^2 L2损耗。

Dataset and metrics

使用MIT-Adobe的FiveK数据集,由5000张原始图像组成,每一张原始图像都与来自5个不同专家(A/B/C/D/E)的修饰过的图像配对,因此有5组5000张输入修饰过的配对图像。

5.1 Feature Selection

比较代理网络输入的背景和颜色特征各种组合的结果。

用在ImageNet上预训练的VGG16模型的第六层卷积特征作为上下文特征。

结合上下文特征,评估了各种颜色特征,深层特征包含了高级语义信息,低级信息对颜色增强很重要。
在这里插入图片描述

表2显示,CIELab颜色直方图和上下文特征的结合在平均 L 2 L^2 L2方面产生了最好的性能 。同时也验证了上下文特征对颜色增强的作用,在没有上下文特征的情况下,误差会增加很多。 在接下来的所有实验中,使用了最好的特征组合:VGG特征和CIELab颜色直方图。

5.2 Input-Retouched Dataset

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

表3总结了不同方法的结果,图3给出了定性比较的示例结果。

本实验主要受限于表1中预定义的动作。然而,像素级预测方法在处理高分辨率图像时存在局部伪影。 为了定量地比较这些伪影,本实验在表3和表4中测量了SSIM得分,得分表明本实验的结果具有优越的图像质量。此外,与网络直接估计像素值相比,本实验具有可解释性,因为本实验的代理主动选择并应用一系列自定义的编辑操作。 这些中间修饰操作提供了更好的修饰过程的理解,可以在许多场景中有用,如用户引导的照片修饰和个性化的教程生成。

5.3 Distort-and-Recover Training

在这个实验中,假设只有高质量的参考图像,而不是输入修饰的对。 相反,我们通过随机操作和使用来扭曲参考图像用于训练的扭曲参考对。

Comparison with supervised learning
在这里插入图片描述

使用MIT-Adobe FiveK中Expert C修饰过的图像作为参考图像,并将其扭曲作为训练代理的输入。 也用同样的扭曲和恢复训练方案来训练Pix2Pix。对比结果如表4所示。

用4,750对失真参考图像训练代理,其中每个参考图像只生成一个随机失真的图像。 在这种设置下,本实验方法显示了良好的性能,尽管原始测试图像的颜色分布从未显示给代理网络。与表3中之前使用输入修饰对的结果相比,Pix2Pix的性能严重下降。 当使用大量增强对进行训练时,即参考图像与多幅失真图像相关联时,Pix2Pix的性能会得到改善,但很快就会饱和。

实验结果表明,即使没有额外的数据增强,DRL方法也能很好地适应失真恢复训练方案,而监督学习方法可能存在未知源颜色分布问题。 推测本实验的高性能是由于强化学习的高效的状态探索性质:在DQN框架中,搜索空间受到离散行为集的约束,马尔可夫属性使代理能够有效地搜索近颜色状态。 另一方面,Pix2Pix可以被看作是在一个大的搜索空间中将输入分布转换为具有高度非线性的参考分布的一步行动。 它的性能在很大程度上取决于训练集。也就是说,如果一个训练集覆盖有限的输入分布,那么训练后的网络在测试用例中泛化能力较差。因此,DRL代理对输入分布位移是鲁棒的,而Pix2Pix则不是。

Learning a style filter

一个通过扭曲和恢复方案学习某些风格的实验。将预定义的过滤器(Nashville in Instagram)应用于Expert C的修饰图像,以创建一组新风格的参考图像。 用失真和Nashville 滤波的图像对训练DRL代理,并在RANDOM 250上用原始输入图像测试代理。 输入与对应的ground truth图像之间的$ L^2 平 均 误 差 为 27.78 , 而 输 出 与 g r o u n d t r u t h 图 像 之 间 的 平均误差为27.78,而输出与ground truth图像之间的 27.78groundtruth L^2$平均误差为17.87。这些结果验证了本实验代理能够在希望风格图像中学习不同的修饰风格,证明了通过失真和恢复训练计划,从用户策划的数据集展示个性化增强的可能性。

Distort-and-Recover with Shutterstock 150K

构建一个能够处理广泛图像内容的自动色彩增强系统,必须有大量的训练数据和不同的上下文。

失真与恢复方案为这个问题提供了一个切实可行的解决方案。

从一个库存图片网站Shutterstock收集高质量的参考图片。 从Shutterstock中爬了150K张缩略图,通过搜索“食物、花、自然、肖像、山”等通用关键词,并按受欢迎程度排序。 然后,用爬的参考图像训练我们的DRL代理。 爬的图像由不同的摄影师润色或策划,因此图像没有特定的风格或个人偏好。 从这些参考图像中,可以期望agent网络根据图像内容学习一种总体上令人愉快的风格。 在MIT-Adobe FiveK上测试本实验代理网络的原始图像作为输入。 图4显示了与人类专家相比我们的增强结果的示例。
在这里插入图片描述

6 Conclusion

通过深度强化学习方法建模了一个人工修饰过程,根据预定义的动作估计了可解释的修饰步骤,而不需要额外的注释。

提出了失真恢复训练方案解决训练数据收集困难的问题,能够以经济的方式用大规模数据学习本实验模型。

证明了本实验的DRL方法有效地弥补了畸变图像中一般性的不足,并且在测试时间内很好地推广到未知的输入分布。

基于DRL的色彩增强和高效数据训练方案在一些有趣的应用中显示了新的可能性,包括自动教程生成和个性化增强,希望在未来探索这些应用。

训练数据收集困难的问题,能够以经济的方式用大规模数据学习本实验模型。

证明了本实验的DRL方法有效地弥补了畸变图像中一般性的不足,并且在测试时间内很好地推广到未知的输入分布。

基于DRL的色彩增强和高效数据训练方案在一些有趣的应用中显示了新的可能性,包括自动教程生成和个性化增强,希望在未来探索这些应用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

St-sun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值