用强化学习美化图像

人工智能 强化学习 深度学习 图像生成
2021-10-18 18:13:54

我正在尝试制定和解决以下图像突变问题。假设我试图将一个对象图像插入到几个对象的“背景”图像中,我需要寻找一个“最佳位置”来插入图像:

在此处输入图像描述

我正在尝试将问题表述为强化学习过程,其中包含以下元素:

0.初始阶段:

  • 背景图像,其中标记了图像中对象的位置(假设我们有一个完美的对象检测器)

  • 另一个新对象的图像,比方说,一个人

1.动作空间:

  • 要插入的对象图像的位置(x,y);从这个意义上说,动作空间是相当 的。

2.环境:

  • 每一步我都会有一个新的形象来“学习”。

  • oracle 函数F返回 1 或 0(大约F的一次计算需要 30 秒)。这个函数告诉我最新的合成图像是否击中了“甜蜜点”(1 表示击中)。如果是这样,我将停止搜索并返回图像。

3.约束:

新插入的对象不应与图中的原始对象重叠。

虽然我的直觉是这个问题在某种程度上类似于经典的“迷宫逃生”问题,可以通过强化学习很好地解决,但这个问题的动作空间似乎相当大

所以这是我的问题:

  1. 如果我想将这个“美化”图像问题转化为“深度”强化学习问题,我该如何从如此大的动作空间中学习?或者它真的适合强化学习过程吗?

  2. 我可以以某种方式将“非重叠”约束包含到 oracle 函数F中吗?如果是这样,我应该如何决定奖励分数?有任何原则性或经验性的决定方式吗?

1个回答

强化学习的目的是最大化累积奖励的一些概念,将我引向第 (1) 点:据我了解,您的问题没有时间步长,并且“奖励”是即时的。因此,我认为强化在这里不合适。

另一方面,在监督学习中,线性回归是逼近从输入变量 (X) 到连续输出变量(y) 的映射函数 (f) 的任务。它与你的情况有很多共同之处。如果我没记错的话,您正在尝试逼近将图像数据映射到 (x,y) 坐标(“最佳位置”)的函数。所以,我认为回归对你来说是一个更好的方法。

您可以首先生成一个数据集,其中包含图像数据和关联的 (x,y) 坐标,仅用于您的函数 F 验证的点,然后训练回归预测模型。或者,您可以通过在线学习来训练您的模型,方法是在每一步生成一批图像和最佳点坐标。

关于第 (2) 点,这在很大程度上取决于如何使您的 F 函数。由于重叠点不能是最佳点,最简单的方法是让您的 F 函数为这些点返回 0。