VLM引导的矢量草图生成AutoSketch

发布于:2025-06-09 ⋅ 阅读:(21) ⋅ 点赞:(0)

前言:很久没有解读草图生成相关的论文了,这次解读国立台湾大学提出的最新论文“AutoSketch: VLM-assisted Style-Aware Vector Sketch Completion”,使用VLM补全草图生成,工作很有意思。

目录

动机

方法详解

两阶段训练

第一阶段

第二阶段

实验细节


动机

1、能够自动完成描绘复杂场景的部分草图,例如。 “一位女士在公园里与一位男士聊天”这样的描述非常有用。然而,现有的素描生成方法都是从零开始创建素描,无法完成与原始风格一致的部分素描。为了应对这一挑战,我们引入了 AutoSketch,这是一种能够感知风格的矢量素描补全方法,可以适应多种素描风格。我们的主要观察结果是,自然语言中素描的风格描述在自动素描补全过程中能够保留其风格。因此,我们使用预训练的视觉语言模型 (VLM) 以自然语言描述部分素描的风格,并使用新生成的笔画复制这些风格。

2、尽管 ShadowDraw 在绘制简单物体时提供实时指导,但它并不能充分解决个人在尝试以一致的风格描绘复杂场景时遇到的上述挑战。较新的草图生成方法使得使用用户提供的文本提示或参考图像从头开始生成复杂草图变得更加容易。然而,这些方法缺乏考虑用户提供的部分草图的能力,从而产生了两个主要问题:多余的笔画和风格不一致。首先,这类方法往往会生成与用户提供的部分草图元素重复的笔画。其次,所有笔画都属于同一风格;生成的笔画的风格无法与用户提供的部分草图的风格相匹配。因此,这些方法无法自动完成用户提供的部分草图。

3、

方法详解

两阶段训练

在第一阶段,目标是优化一组参数笔画,当与用户提供的部分草图相结合时,确保完整的草图能够代表 𝒫 输入 无需考虑草图风格。首先,我们进行风格化 𝒫 输入 利用大型视觉语言模型(VLM)来生成风格描述给定的部分草图 𝒮 输入 。然后,我们优化 𝒮 选择 使用以风格化文本提示为条件的扩散先验并得到  。

第二阶段的目标是调整 确保最终草图的风格一致。我们使用精心设计的提示来指导 VLM,其中包含第一阶段的完整草图(SVG 格式)和文本提示。然后,VLM 生成可执行代码,用于调整新笔画的样式到原始部分草图的风格。

第一阶段

我们首先根据预训练的 ControlNet 模型生成的引导图像来优化笔画,该模型以输入的部分草图为条件。我们引入了掩码惩罚,以确保生成的笔画不会与输入的部分草图重叠,从而避免出现冗余笔画。

然而,仅靠笔触优化并不能确保完成的草图令人满意,因为输入的部分草图的风格并未被考虑。这引发了两个主要问题。首先,ControlNet 生成的引导图像的风格通常与部分草图的风格不匹配。其次,生成的笔触的风格可能与输入的部分草图的风格不一致。这凸显了两个任务的重要性,。 “在将输入提示输入到 ControlNet 之前添加样式描述”和“调整生成的笔画的样式以确保与这些描述一致”。

第二阶段

基于这些观察,我们将预训练的视觉语言模型 (VLM) 与笔画优化过程结合使用。首先,我们利用 VLM 从输入的部分草图中提取风格描述,然后将这些描述融入到输入提示中。这使得 ControlNet 能够生成与输入的部分草图非常相似的引导图像,从而改进最终完成的草图。其次,我们使用 VLM 生成可执行代码,以 SVG 格式调整笔画,从而增强最终完成草图的风格一致性。使用 VLM 进行风格调整的主要原因是,草图风格的多样性使得定义合适的参数化以有效捕捉所有潜在风格变得复杂。因此,使用基于优化的方法调整风格变得具有挑战性。虽然可以使用 VLM 直接调整笔画,但这通常会导致笔画丢失。此外,由于 token 的限制,现有的 VLM 通常只能处理少量笔画。使用 VLM 生成可执行风格调整代码克服了这些挑战,从而在不丢失内容的情况下获得了风格更一致的草图。

实验细节

在这项工作中,我们使用 GPT-4o 模型作为 VLM,用于提取样式描述并生成样式调整代码。我们使用 PyTorch 实现了该方法的第一阶段. 亚当优化器用于优化笔画。第一阶段包括1,000迭代,大约需要5分钟即可完成,而第二阶段则需要大约3分钟,当草图包含512笔画。对于所有计算,我们使用了配备 Intel i7-12700 CPU 和 NVIDIA RTX 4080 GPU 的 PC。


网站公告

今日签到

点亮在社区的每一天
去签到