-
ABSTRACT:
-
本文提出——人类修图是按照步骤逐渐进行的序列,于是用MDP建模,训练agent得到一个最优的动作序列。此外,我们提出了一种“失真-复原”训练方案,只需要高质量图像进行训练,而不需要“修改前后的图像对“。资料和代码在https://sites.google.com/view/distort-and-recover/可以找到。
-
-
1. Introduction
- 自动调色是一项重要的任务。因为照片润色具有高度非线性和主观性。专业人员,根据图像上下文和颜色分布,重新修图的过程是一个迭代决策过程。专业人员会反复进行润色操作,直到颜色的分布符合个人的口味。因此,“每个像素值到最优状态”的transition是“像素值 & 全局/局部颜色 & 上下文信息”的复杂组合。而且,这是一个感知过程,不同个体的最优状态可以是不同的[1,7]。因此,这种transition变得高度非线性和多模态。
- 关于自动增色的研究有好几条线:
- 基于样本的方法[4,8,7]通过将样本图像的颜色分布转移到目标图像来处理非线性和/或多模态。在此过程中,从数据库中给出或检索样本图像,并将目标图像的颜色分布转化为样本图像的颜色分布。 在此过程中,从数据库中给出或检索范例图像,并将目标图像的颜色分布转换为范例图像的颜色分布。
- 在基于学习的方法[1,19,20]中,从训练数据中学习源图像颜色分布到目标图像颜色分布的映射函数。最近的工作[20]使用深度神经网络来处理其中的高度非线性问题。多模态问题还没有任何一种基于学习的方法来显式地解决。
- 本文中我们把人类修图建模成MDP,然后通过DEEP-DQN来解决问题。
- 其次,我们提出了一个经济的“失真和恢复”训练方案,以避免使用昂贵的数据集。这是一个简单和直接的方法,只需要一组高质量的参考图像就可以学习色彩修饰。我们随机地对采集到的参考图像进行畸变,从而收集到成对的图像。这种方法比原来的方法更经济,因为高质量的参考图像可以很容易地在个人相册或库存图像网站中收集。在实验部分,我们证明了这种方案适用于DRL方法,因为drl方法具有探测state的特性。
- 同时,上述方法有几种潜在应用:
- 由于这种相对经济的数据集收集方式,我们很容易设计一个供特定用户使用的修图agent。我们的实验证明,不同的数据集可以得到不同风格的修图agent。
- 我们的方法很容易嵌入到润色软件当中。
-
2. Related Work
- MIT-Adobe FiveK是专门提供好的,成对的数据集。Yan等人《Automatic photo adjustment using deep neural networks》提出了一种学习特定修图风格的深度学习方法:针对颜色和语义上下文的特点,将深度神经网络作为非线性映射函数进行训练,生成特定样式的像素颜色。
- 另一种就是本文,基于MDP的建模。
- 基于学习的方法相对于mdp方法,依赖于成对数据集,偏差较大。而我们证明我们的方法可以只训练参考图像或修改后的图像,并学会从未知的输入分布映射到目标分布。
- 本文把基于GAN的pixle2pixel作为baseline。
-
3. Problem Formulation
- 输入图像记为 I ,对其施加一系列修图的动作记为 A。我们用t时刻的全局特征 F context (I(t)) 和 全局色彩特征 Fcolor(I(t)) 来表征t时刻的图像。我们的agent根据策略 ΩΘ 来确定修图过程中每一步的调色动作 A(t)。我们的目标是找到最优的色彩调整序列
,从而给出最好的调色效果。
- 为了解决这个问题,我们需要一个标准度量来解决这个色彩美学度量 I(t)。色彩审美不仅依赖于图像的语义语境,还依赖于个体的偏好,因此很难确定一个绝对的审美评分度量。
- 为了衡量图像的色彩美感,我们简单地将人类专家修饰的图像 Itarget 作为ground truth,并将我们的审美尺度定义为图像 I(t) 与 Itarget 之间的负 l2 距离。于是,我们的目标就是找打一个最优序列
能够最小化
。
- 我们进行MDP建模,状态s是上下文特征和色彩特征的结合
。动作空间A是一系列色彩调节op。及时奖励是l2-distance上的改变:
。由Θ参数化的agent决定了策略 ΩΘ。传统MDP中还有转移概率,但是我们的问题中每个op是独立的,没有转移概率。
- 接下来我们训练action-value函数
。
- 状态空间是连续的,所以函数近似的复杂度很高,用神经网络来解决。
- 输入图像记为 I ,对其施加一系列修图的动作记为 A。我们用t时刻的全局特征 F context (I(t)) 和 全局色彩特征 Fcolor(I(t)) 来表征t时刻的图像。我们的agent根据策略 ΩΘ 来确定修图过程中每一步的调色动作 A(t)。我们的目标是找到最优的色彩调整序列
-
4. Automatic Color Enhancement
- 图像 I 输入特征提取器,提取特征
。agent根据特征S以及“预定义好的每个action”来估计q(s,a)的值大小,如果这个最大动作的value是正的,就根据贪婪选择值最大的动作。重复上述过程,当某个状态下所有的q-value都是负的时候,停止动作。
-
4.1. Actions
- 由于商业照片修图软件提供了各种内置的操作,我们还定义了几个编辑操作,如表1所示。
-
- 我们采用了一些《A learning-to-rank approach for image color enhancement》中定义的动作,还有一些额外关于白平衡的动作。根据表中,1&2调整色彩对比度,3&4控制色彩饱和度,5&6控制图像明亮度,7&12调节白平衡。考虑使用DQN网络,动作是离散化的。
-
4.2. Features
- agent根据embedding中的信息来选择动作。用与“人类照片修饰相关的信息”来定义特征,比如颜色分布和语义上下文。 “人对图像颜色的偏好”高度依赖于“图像语义语境”,因此语义信息是决定图像颜色的重要线索。提取上下文语义的方法很多。
- 我们用在ILSVRC分类数据集上预训练好的深度卷机神经网络的中间激活状态作为特征提取器。由于该网络经过训练能够识别包含130万幅图像的1000个对象类,因此这种网络的中间激活嵌入了图像的语义信息。我们从VGG-16的第六层中选择4096维的激活作为我们的上下文特征
。
- 对于颜色特征
,我们采用CIELab颜色直方图。我们将CIELab空间的每个轴线性量化到20个区间,计算每个区间的像素个数,得到一个20×20×20维直方图。【其余直方图都试过了,作者说这种性能最好】
-
4.3. Agent
- 我们的agent由一个4层的多层感知机组成,所有层都使用relu激活函数。策略ΩΘ使用 ε- greedy 算法。在推理阶段,ε=0,一直重复选择过程知道所有的q-value都是0。
-
5. ‘Distort-and-Recover’ Training Scheme
- 基于学习的方法需要成对的图像作为数据集。同时有一个硬伤就是:数据集只能覆盖特定输入分布。如果输入分布变化比较大的时候,泛化效果会很差。
- 我们提出的Distort-and-Recover方案可以解决这一问题。我们通过随机应用颜色调整操作来扭曲高质量参考图像,从而构成一组 伪图像对。
- 为了在有效的搜索空间中提供更清晰的监督信号,在CIELab颜色空间中,失真图像到参考图像的L2距离保持在10到20之间。此外,为了防止颜色失真的偏差,我们使用了与DRL-agent动作集不同的全局动作:(对高光&阴影像素)亮度/对比度/色温调整 以及 对C/M/Y/R/G/B高光像素的C/M/Y/R/G/B进行调整。
- 在选择高光/阴影像素时,我们使用了一种soft-像素选择方法,该方法使用了一个变型的sigmoid函数:对高/低值像素应用较高的权重。除了高度非线性的操作,我们还使用基本的亮度/对比度/色彩饱和度调整。失真操作在设计时考虑到了简单性。任何类型的全局操作都可以用于失真。随机变形操作的详细信息见补充材料。
-
6. Experiments
-
6.1. Experimental Setup
- 使用double-dqn,四个全连接层4096, 4096, 512, 12。在1080ti训练14小时。小批量大小为4,基本学习率为1e- 5,最小学习率为1e-8,学习率每5000次迭代衰减0.96倍,使用Adam optimizer。
-