摘要
2020MM 日本
图像重定向:将输入图像调整为任意大小。
最好算法是MULTIOP:在每个阶段结合多个重定向算子并生成重定向图像,以寻找最优算子序列,使原始图像和重定向图像之间距离最小。缺点是处理时间太长。
本研究在合理的处理时间内找到最优算子组合,提出一种使用强化学习智能体预测每个步骤的最优算子方法。
技术贡献如下:
- 提出基于self-play的奖励,该奖励对MULTIOP中测量的与内容相关的距离的巨大差异不敏感。意味着能够有效应对多算子的不同算子之间的差异,避免训练过程中受到大方差的影响。
- 建议动态改变每个动作的损失权重,防止算法陷入局部最优,并在训练中只选择最常用算子。
目前2020年效果最好的多算子图像适配算法,处理时间缩短三个数量级。
介绍
图像重定向,重要的是生成结果自然,同时保留重要对象/区域。然而裁剪和均匀缩放很难实现该目标,尽管已经有内容感知的重定向方法[1,4,7,9,13,16,21,30,31],但使用单一的重定向算子并不能在所有情况下、对所有大小的图像都成功。本文提出多算子图像重定向,利用多算子适当组合它们以获得更好的调整结果。
在Rubinstein等人提出基于多算子的重定向方法中,[22]提出了一种图像到图像的距离度量----双向扭曲(BDW),使用动态规划寻找最优重定向算子组合,但有一个致命缺陷:巨大计算时间。这是因为要生成使用多个算子的图像。本文提出了一种告诉多算子图像重定向方法,通过预测逐步优化重定向算子。通过使用强化学习代理而不是生成多个图像来搜索算子组合来实现。
该代理的目的是寻找能够尽可能减少原始图像与重定向图像之间距离的算子。当强化学习应用于这种搜索时,出现以下两个问题:
由于距离的动态范围(BDW分数)随图像内容变化较大,不能直接将距离作为训练的奖励;通过神经网络预测BDW分数是非常困难的。
让智能体与它的副本对局,并根据胜利或失败计算奖励,智能体可以根据它们之间的相对分数而不是绝对的BDW分数来训练。
简单地将胜利或失败作为对智能体的奖励通常会导致过度拟合,其中只选择了一两个行动。
本文提出动态改变每个动作的损失权重。根据动作被选择的频率改变损失函数的权重,使得使用频率相对较低的动作和使用频率相对较强的动作的选择概率相等。
贡献
- 提出基于强化学习的方法,可以实现超快速的多算子重定向。
- 基于self-play的奖励可能对距离独立的巨大方差不敏感。
- 建议动态改变每个动作的损失权重,以便可以平衡地评估和选择多个算子,以避免过拟合。
- 速度提高3个数量级,并且user study相同。
Li等人[15]提出了美学感知强化学习(A2- RL),通过图像裁剪提高图像的美学质量。智能体迭代地选择裁剪窗口的区域,以最大化裁剪图像的美学分数。
方法
旨在研究基于内容感知的图像重定向技术。MULTIOP[22]每一步生成多幅重定向图像,利用动态规划确定最优操作序列。本文提出一种使用强化学习智能体逐步预测最优重定向算子的方法。传统方法通过crop生成多幅图像,而所提方法使用最短路径生成重定向图像(图1)。
本文将图像重定向表述为一个顺序决策过程。智能体与环境交互,并选择一个动作来优化目标。当我们将原始图像表示为𝐼𝑜𝑟𝑖𝑔𝑗,并将当前步骤编号表示为 𝑖 时,代理首先接收当前状态 𝑠𝑖𝑗 ,其中包含𝐼𝑜𝑟𝑖𝑔𝑗和当前重定向图像 𝐼𝑖𝑗。【第一步重定向的图像与原始图像相同。】
然后,智能体基于所学策略的概率分布从动作空间中对动作𝑎𝑖𝑗进行采样。根据选择的动作 𝑎𝑖𝑗 ,使用重定向函数𝐹更新当前重定向图像𝐼𝑖𝑗,即 𝐼(𝑖+1)𝑗=𝐹(𝐼𝑖𝑗,𝑎𝑖𝑗)。这个新图像用来得到新状态 s(i+1)j,并且代理基于新状态重复动作采样。这个连续的决策过程会重复 imax次,其中 Iimaxj被用作最终的重定向结果。
每个步骤中,智能体根据最终回报Rimaxj,计算出每个动作的即时奖励Rij,该即时奖励被定义为
论文中采用了A3C算法,由两个网络组成:
- 第一个是值网络 𝑉(𝑠𝑖𝑗; 𝜃𝑣) ,用于估计当前状态的价值,为了优化网络参数𝜃𝑣,我们定义了损失函数,使得𝑉(𝑠𝑖𝑗; 𝜃𝑣)能够预测回报。
- 第二个网络是策略网络𝜋(𝑎𝑖𝑗|𝑠𝑖𝑗; 𝜃𝜋),用于输出每个动作的概率。我们优化网络参数𝜃𝜋,使得最小化以下损失函数:
其中𝐻是一个计算熵的函数,它鼓励智能体进行探索,并防止陷入局部最优解。通过最小化𝐿𝜋𝑖𝑗,策略网络𝜋(𝑎𝑖𝑗|𝑠𝑖𝑗; 𝜃𝜋)被训练以最大化预期回报。
状态和动作空间
A3C中,智能体根据每个步骤中从当前状态计算的策略输出来确定行动, 在连续决策过程中,当前状态 𝑠𝑖𝑗={𝑜0𝑗,𝑜1𝑗,···,𝑜(𝑖−1)𝑗,𝑜𝑖𝑗},其中𝑜𝑖𝑗是智能体当前的观察结果。为了记忆历史观测值,使用一个遵循A2-RL模型[15]的LSTM单元。在我们的模型中,当前观察𝑜𝑖𝑗由原始图像𝐼𝑜𝑟𝑖𝑔𝑗、当前重定向图像𝐼𝑖𝑗和表示到episode结束的步数的独热向量u组成。
至于动作空间,将智能体的动作定义为选择一个重定向算子,并将该算子应用于图像。该模型使用左裁剪(CRL)、右裁剪(CRR)、缩放(SCL)和缝裁剪(SC)[21]作为重定向算子。我们让𝑎𝑖𝑗取{0,1,2,3}的值,并将每个值关联到每个算子。这些重定向算子的选择与MULTIOP[22]中的操作符相匹配,并且很容易根据需要添加或删除重定向操作符。
所有这些操作都将图像宽度调整为原始图像大小的2.5%。
奖励
智能体根据重定向图像的评估获得奖励。在MULTIOP[22]重定向方法中,他们定义了一种新的图像相似性度量BDW,并使用该度量来评估原始图像与重定向图像之间的距离。在本研究中,我们还基于BDW为智能体提供了奖励。其他评估函数,如美学分数[29],可以用作奖励。最简单的,代理就是BDW分数本身。然而,由于BDW算法,每幅图像的BDW分数的尺度都有显著差异(见图3),并且无法通过神经网络进行近似。如果BDW分数被用作奖励,则无法预测其值,强化学习将无法正常进行。
为了处理BDW分数差异较大的问题,通过自玩强化学习对评价值进行归一化。将图像重定向任务扩展为“玩家为输入图像选择重定向算子,胜利或失败由BDW分数决定的游戏”。在这个模型中,智能体与它的副本对抗,并根据胜利或失败获得奖励。
代理接收两个状态,𝑠𝑖𝑗和𝑠’𝑖𝑗,并根据策略输出的概率分布从动作空间中采样两个动作。随后,代理执行采样的操作,以分别将当前重定向图像𝐼𝑖𝑗和𝐼’𝑖𝑗更新为新的重定向图像。对状态的观察和对动作的选择是重复的,并且在一个回合的结束时,智能体根据BDW分数的胜利或失败获得奖励。
频率感知加权损耗
智能体经常导致局部最优,其中只选择了少数行动。本文提出动态改变每个动作的损失权重。因此,对较强动作和较弱动作的策略输出进行平衡评估;我们根据选择动作的次数来改变损失权重。在每个回合中,我们计算在获胜和失败的情况下每个动作被选择的次数。统计的结果定义为四维向量f𝑤𝑖𝑛和f𝑙𝑜𝑠𝑒。例如,如果𝑎𝑖𝑗的取值为1,并且代理获胜时该行动被选择了三次,那么𝑓𝑤𝑖𝑛1将增加三次。我们在多个图像𝐼𝑗上统计这些数字,并使用最终的策略来指导智能体的行动选择。
我们将这些图像定义为一个小batch B,当更新网络参数时,损失权值𝑤ij计算为:
利用这种频率感知加权损失,可以避免陷入局部最优,其中总是选择相对较强的动作。