当前位置: 首页 > 科技观察

中国团队提出了即将创建的PaintTransformer,网友:这也需要用到神经网络

时间:2023-03-13 23:54:40 科技观察

神经网络是个优秀的画家。这已经不是什么大新闻了。它可以将一张素描变成一幅山水画,两幅不同风格的画作之间风格转换。但是这种工作是端到端的,也就是说你不知道神经网络是怎么画这张图的。神经绘画(NeuralPainting)应运而生,它是指为给定的图像生成一系列笔触,并使用神经网络以非真实感方式再现的过程。虽然基于强化学习的智能体可以逐渐为这个任务生成一系列笔画,但训练一个稳定的智能体并不容易。另一方面,笔画优化方法需要在很大的搜索空间中迭代搜索一组笔画参数,这种低效的搜索显然限制了基于强化学习的方法的推广和实用性。ICCV2021上一篇文章提出将任务描述为集合预测问题,提出了一个新的基于Transformer的框架,使用前馈网络预测一组笔画的参数,在论文中命名为PaintTransformer纸。这样,所提出的模型可以并行生成一组笔画,并近乎实时地获得尺寸为512*512的最终绘画。教机器如何绘画并不是一个新的研究课题。传统方法通常设计启发式绘画策略,或者贪婪地选择笔画,逐渐缩小与目标图像的差异。然而,随着近年来神经网络中RNN和强化学习的兴起,传统方法的泛化性能相形见绌。所提出的模型将神经绘画描述为一种渐进的笔画预测过程。在每一步,可以并行预测多个笔画,以前馈方式最小化当前画布和目标图像之间的差异。PaintTransformer由两个模块组成:笔划预测器和笔划渲染器。给定目标图像和中间画布图像,笔画预测器生成一组参数来确定当前笔画集。笔画渲染器然后为Sr中的每个笔画生成笔画图像并将其绘制到画布上,从而生成预测图像。在PaintTransformer中,只有笔划预测器(StrokerPredictor)包含可训练的参数,而笔划渲染器(StrokerRenderer)是一个无参数可微模块。为了训练笔画预测器,提出了一种使用随机合成笔画的新型自训练管道。在训练期间的每次迭代中,前景笔画集和背景笔画集首先被随机采样。然后我们使用笔画渲染器生成画布图像,将笔画渲染器作为输入,通过将Sf渲染到Ic上来生成目标图像。最后,笔画预测器可以预测笔画集Sr,并以Sr和Ic作为输入生成预测图像Ir。需要注意的是,用于监督训练的笔画是随机合成的,因此可以生成无限的训练数据,而无需依赖任何现成的数据集。在预测笔划时,主要考虑直线手势,不同的直线可以用形状参数和颜色参数来表示。笔划的形状参数包括:中心点坐标x和y,高度h,宽度w,旋转角度θ。笔画的颜色参数包括表示为r、g和b的RGB值。自训练流水线的主要优点是它可以最小化图像级别和笔画级别的地面实况和预测之间的差异。损失函数主要由三部分组成,像素损失、笔画差异的度量、笔画损失。1.Pixelloss,神经绘画的直观目标是重建目标图像。因此,像素损失会惩罚图像级别的不精确预测。2.行程距离。在笔画级别,重要的是定义一个适当的度量来衡量笔画之间的差异。3.笔画损失(strokeloss),在训练过程中,有效的真实笔画数是不同的。根据DETR模型,使用产生最小笔划级匹配成本的笔划排列计算最终损失,并使用匈牙利算法计算最佳二分匹配。为了模仿人类画家,研究人员设计了一种由粗到精的算法,在推理过程中生成绘画结果。给定大小为H×W的真实图像,PaintTransformer按从粗到细的顺序在K尺度上运行。每个比例的绘画取决于前一个比例的结果。目标图像和当前画布将被切割成几个不重叠的P×P块,然后输入到StrokePredictor。我们将我们的方法与两种最先进的基于笔画的绘图生成方法进行比较。与基于优化的方法(Optim)相比,PaintTransformer可以产生更具吸引力和新颖的结果。具体来说,在大的无纹理图像区域,我们的方法可以用相对较少和较大的笔触产生类人绘画的效果。在纹理丰富的小图像区域中,PaintTransformer可以生成更多纹理绘画,从而保留内容结构。进一步实施更多笔画的Optim+MS,上述问题依然存在。与基于RL的方法相比,可以使用更锐利的画笔来生成更生动的结果。同时,RL的结果有些模糊、缺乏艺术感并且与原始图像过于相似。在定量比较(QuantitativeComparison)方面,由于神经绘画的一个目标是重建原图,因此直接使用像素损失和感知损失作为评价指标。对于真实图像,随机抽取100幅风景画、100幅来自WikiArt的艺术画和100幅来自FFHQ的肖像画进行评估。实验结果与之前的定性分析一致:(1)具有生动画笔纹理的PaintTransformer可以比Optim更好地渲染原始内容(2)达到最佳内容保真度,但其内容清晰度较弱。然后,为了比较笔划预测性能,将合成的笔划图像馈送到PaintTransformer和Optim,并使用与第2节相同的指标评估它们生成的笔划。结果表明,该方法可以成功预测中风并优于其他方法。性能实验结果表明,该方法具有更好的渲染性能,训练和推理成本更低。当使用单个Nvidia2080TiGPU测量训练或推理时间时,由于PaintTransformer以前馈方式并行生成一组笔划,因此它的运行速度明显快于优化的Optim基线,略快于基于RL的基线模型.至于训练过程,从总训练时间来看,训练笔画预测参数只需要几个小时。此外,无模型笔画渲染器和无数据笔画预测器高效且易于使用。代码和模型都已经提交到GitHub。本文的另一个重要贡献是提供了一个数据集。由于没有可用于训练PaintTransformer的数据集,研究人员设计了一个自训练管道,使其可以在没有任何现有数据集的情况下进行训练,同时具有良好的泛化能力。不过Reddit网友对此似乎并不认同,认为这么简单的任务根本不需要用到机器学习技术!有网友回复说他以前做过,和这个一样的东西只需要50行Scala代码。我还说我不明白为什么要用一个神经网络来做这个。你怎么看呢?