阅读《A2-RL: Aesthetics Aware Reinforcement Learning for Image Cropping Debang》

本文介绍了一种基于强化学习的图片美学裁剪方法A2-RL,旨在自动找到图片中最令人愉悦的部分。该方法避免了传统滑动窗口机制的局限性,通过定义状态空间、动作空间及奖励函数实现高效裁剪。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

阅读《A2-RL: Aesthetics Aware Reinforcement Learning for Image Cropping Debang》

一: 文章的主要任务

本文介绍的是如何用强化学习的方法对图片做美学剪裁
如下图,Input是一张风景图,初始化是整张图片,然后经过多个action后,我们得到了最后的裁剪方案作为输出。
Selection_067.png

二: 相关的工作

对于图片的裁剪,主要有两个大方向:

1. 基于Attention-based: 这个的目的是在原图中寻找关键区域。比如说在图片上寻找信息量最大的区域等等
2. 基于Aethetics-based: 即基于美学,这一方面是想在原图中寻找最让人感觉舒服的区域,这也是本文的目的。
3. 其他还有基于Change-based, 即比较原图和裁剪后的图,根据比较结果决定要去除哪些无关要紧的区域,保留一些质量较高的区域

对于前人的工作,主要有如下缺点:

1. 首先,大部分弱监督的裁剪方法都是依赖于滑动窗口机制(Sliding window mechanism)
2. 滑动窗口的机制有一些缺陷:即要求我们要固定长宽比
3. 大部分滑动窗口的方法会产生上万个备选窗口,这使得程序很耗时

三: 本文的主要想法

针对上述缺点,文章提出了基于Reinforcement Learning的解决方案:

1. 首先,把我们的问题看作一个决策链问题,这个过程就需要我们定义好State space 和 action space
2. 提出本文的算法框架(A2-RL)
3. 设计出一个reward函数使之能有益于我们对图片进行美学裁剪

四: State and Action

  1. 对于当前状态,我们可以表示成:
    st={o0,o1,...,ot1,ot} s t = { o 0 , o 1 , . . . , o t − 1 , o t }

    其中 ot o t 表示agent当前所观察到环境,即当前裁剪的图片
  2. 对于 {o0,o1,...,ot1} { o 0 , o 1 , . . . , o t − 1 } 表示过去的记忆,即前t-1次迭代过程的剪裁图片,本文用网络LSTM来处理这些记忆
    这里需要注意,虽然我们的状态是当前所观察到的环境加上过去的回忆,但是训练的时候只需要输入但前所观察到的环境就可以的,我们的LSTM会提供我们之前的记忆信息
    Selection_071.png

如上图所示,我们把Agent观察到的场景,即裁剪的结果,先进行卷积操作,最后输出一个向量(即Local Feature),而Global Feature 是原图进行卷积的结果,把Local Feature 和 Global Feature 合并起来就是我们是 ot o t

Action

Selection_069.png

Action 很简单,就只有14个动作

五: Reward Function

  1. reward的计算方法就是: 当前最新裁剪的图片的美学分数与上一次迭代结果的差值,再用信号函数把差值限制在[-1,1]内
    sign(saes(It+1)saes(It)) s i g n ( s a e s ( I t + 1 ) − s a e s ( I t ) )
  2. 此外,还要加一个附加的reward设定 0.001(t+1) − 0.001 ∗ ( t + 1 ) , 目的是想使我们的迭代步数尽可能的小
    rt=sign(saes(It+1)saes(It))0.001(t+1) r t ′ = s i g n ( s a e s ( I t + 1 ) − s a e s ( I t ) ) − 0.001 ∗ ( t + 1 )
  3. 为了不让我们的Agent往极端的方向上一去不复返,我们还要设计另一个附加的reward。记 ar a r 表示裁剪窗口的长宽比, nr n r 表示一个惩罚,最终,reward function 可以写成:
    rt(st,at)={rt+nr,rt,if ar<0.2 or ar>2 othewise r t ( s t , a t ) = { r t ′ + n r , if  a r < 0.2  or  a r > 2 r t ′ ,  othewise
  4. 最后,就是 saes s a e s 如何计算了。本文用一个预先训练好的网络VFN来获得一张图片的美学分数。这个网络的结果在这:https://arxiv.org/pdf/1702.00503.pdf

六: 算法框架

最后,总体框架如下:
Selection_070.png

如上图,我们先把剪裁的图片进行5层的卷积,然后经过一个全连接层输出一个向量作为Local Feature,并合并上对原图的卷积的结果最为RL算法的输入 ot o t 。其中即时的回报通过把Local Feature 放入预先训练好的网络VFN来获得。因为本文的算法采用的是Actor-Critic框架,所以输出分为两个部分,一个是由Actor输出的action,另一个是由critic输出的对该action的评价。

七: 算法细节

本文的算法是基于asynchronous advantage actor-critic(A3C),相比于原始的算法,本文针对实际问题做了一些改善。
1. 去掉同步机制,即本文的实验并没有随机生成多个随机场景做训练。但是在训练的时候输入是用mini-batch的形式作为输入的,同样起到了同步训练的结果。
2. 使用优势函数以及加入了熵, policy gradient 公式如下

θlogπ(at|st;θ)(RtV(st;θv))+βθH(π(st;θ)) ∇ θ l o g π ( a t | s t ; θ ) ( R t − V ( s t ; θ v ) ) + β ∇ θ H ( π ( s t ; θ ) )

相比于原始的policy gradient:
θlogπθ(s,a)(Qπθ(s,a)Vπθ(s)) ∇ θ l o g π θ ( s , a ) ( Q π θ ( s , a ) − V π θ ( s ) )

我们发现,本文对算法的变动主要是用reward来表示你的Q function,不过这是很常规的操作,其次是加入了一个熵项,从下面的算法更能直接看出差别
![Selection_073.png
]( https://upload-images.jianshu.io/upload_images/13326502-05e771edd3b0efc2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

Selection_073.png

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

WinddyAkoky

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

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

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

打赏作者

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

抵扣说明:

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

余额充值