ControlNet 作者敏神又有新项目了。 Paints-Undo 可以生成模拟人类绘画过程的动画。 支持输入单图倒推出绘制这个图片某一步的过程,也可以给两张图,生成一个绘制过程动画。

PaintsUndo:数字绘画中绘画行为的基础模型

Paints-Undo 是一个旨在提供人类绘画行为基础模型的项目,希望未来的人工智能模型能够更好地满足人类艺术家的真实需求。

“Paints-Undo”这个名字的灵感来自于相似性,即模型的输出看起来就像在数字绘画软件中多次按下“撤消”按钮(通常是 Ctrl+Z)。

Paints-Undo 提出了一系列模型,以图像作为输入,然后输出该图像的绘制序列。该模型展示了各种人类行为,包括但不限于素描、着墨、着色、阴影、变换、左右翻转、颜色曲线调整、更改图层可见性,甚至在绘画过程中更改整体想法。

本页不包含任何示例。所有示例均位于以下 Git 页面中:

>>> 点击此处查看示例页面 <<<

立即开始

 

您可以通过以下方式在本地部署 PaintsUndo:

git clone https://github.com/lllyasviel/Paints-UNDO.git
cd Paints-UNDO
conda create -n paints_undo python=3.10
conda activate paints_undo
pip install xformers
pip install -r requirements.txt
python gradio_app.py

(如果您不知道如何使用这些命令,您可以将这些命令粘贴到 ChatGPT 并让 ChatGPT 解释并提供更详细的说明。)

推理是在 Nvidia 4090 和 3090TI 上使用 24GB VRAM 进行测试的。它也可以与 16GB VRAM 配合使用,但与 8GB 配合使用则不行。我的估计是,在极端优化(包括权重卸载和切片注意力)下,理论上最低 VRAM 要求约为 10~12.5 GB。

根据您的设置,您大约需要 5 到 10 分钟才能处理一张图片。通常情况下,您将获得一段时长为 25 秒、FPS 为 4 的视频,分辨率为 320×512、512×320、384×448 或 448×384。

因为在大多数情况下,处理时间明显比 HuggingFace Space 中的大多数任务/配额长得多,所以我个人不强烈建议将其部署到 HuggingFace Space,以避免给 HF 服务器带来不必要的负担。

如果您没有所需的计算设备但仍想要在线解决方案,那么一个选择是等待我们发布 Colab 笔记本(但我不确定 Colab 免费套餐是否可行)。

模型说明

 

我们目前发布了两种模型paints_undo_single_framepaints_undo_multi_frame。我们分别称之为单帧模型和多帧模型。

单帧模型输入一张图片和一个operation step,输出一张图片。假设一幅作品总需要1000次人为的操作(比如一笔画就是一次操作), 是一个operation step0~999的int型数字。0是最终完成的作品,999是纯白画布上画出的第一笔画。你可以把这个模型理解成一个“撤销”(或者叫Ctrl+Z)模型。你输入最终完成的图片,并指定要“Ctrl+Z”多少次,模型就会给你一个“模拟”的截图,如果你的值为operation step100,那么就意味着你要在这张图片上模拟“Ctrl+Z”100次,得到第100次“Ctrl+Z”之后的样子。

多帧模型以两幅图像作为输入,输出两幅输入图像之间的 16 个中间帧。结果比单帧模型更加一致,但速度也更慢,缺乏“创造力”,并且限制在 16 帧内。

在这个 repo 中,默认的方法是一起使用它们。我们会先对单帧模型进行大约 5-7 次推理,得到 5-7 个“关键帧”,然后再使用多帧模型对这些关键帧进行“插值”,从而真正生成一段相对较长的视频。

理论上,该系统有多种用途,甚至可以制作无限长的视频,但实际上,当最终帧数约为 100-500 时,效果会很好。

模型架构(paints_undo_single_frame)

 

该模型是 SD1.5 的改进架构,针对不同的 beta 调度程序、剪辑跳过和上述operation step条件进行训练。具体来说,该模型使用以下 beta 进行训练:

betas = torch.linspace(0.00085, 0.020, 1000, dtype=torch.float64)

为了进行比较,原始 SD1.5 使用以下 beta 版本进行训练:

betas = torch.linspace(0.00085 ** 0.5, 0.012 ** 0.5, 1000, dtype=torch.float64) ** 2

您可以注意到结尾的 beta 和移除的方块之间的差异。此调度程序的选择基于我们的内部用户研究。

文本编码器 CLIP ViT-L/14 的最后一层被永久删除。现在从数学上讲,始终将 CLIP Skip 设置为 2(如果您使用扩散器)是一致的。

operation step条件以类似于 SDXL 的额外嵌入的方式添加到层嵌入中。

此外,由于此模型的唯一目的是处理现有图像,因此该模型与 WD14 标记器严格一致,没有任何其他增强。您应该始终使用 WD14 标记器(此 repo 中的标记器)来处理输入图像以获取提示。否则,结果可能会有缺陷。人工编写的提示未经测试。

模型架构(paints_undo_multi_frame)

 

该模型是通过从VideoCrafter系列恢复而进行训练的,但未使用原始 Crafter lvdm,所有训练/推理代码均完全从头开始实现。(顺便说一句,现在的代码基于现代 Diffuser。)虽然初始权重是从 VideoCrafter 恢复的,但神经网络的拓扑结构经过了大量修改,并且经过大量训练后,网络行为现在与原始 Crafter 有很大不同。

整体架构类似Crafter,包含5个组件,3D-UNet,VAE,CLIP,CLIP-Vision,Image Projection。

VAE :VAE 与从ToonCrafter中提取的动漫 VAE 完全相同。非常感谢 ToonCrafter 为 Crafters 提供出色的动漫时间 VAE。

3D-UNet:3D-UNet 是在 Crafters 的基础上修改的,对注意力模块进行了修订。除了代码上的一些小改动外,主要的变化是现在 UNet 经过了训练,并支持空间自我注意力层中的时间窗口。您可以更改和lvdm中的代码以激活三种类型的注意力窗口:diffusers_vdm.attention.CrossAttention.temporal_window_for_spatial_self_attentiontemporal_window_type

  1. “prv” 模式:每帧的空间自注意力也会关注其前一帧的完整空间上下文。第一帧只关注自身。
  2. “first”:每个帧的空间自注意力还会关注整个序列第一帧的完整空间上下文。第一帧仅关注其自身。
  3. “roll”:根据的顺序,每一帧的空间自注意力还会关注其前一帧和下一帧的完整空间上下文torch.roll

请注意,为了节省 GPU 内存,此功能在推理中默认是禁用的。

CLIP:SD2.1的CLIP。

CLIP-Vision:我们实现的 Clip Vision (ViT/H) 通过插入位置嵌入来支持任意宽高比。在尝试了线性插值、最近邻和旋转位置编码 (RoPE) 之后,我们最终选择了最近邻。请注意,这与将图像调整大小或中心裁剪为 224×224 的 Crafter 方法不同。

图像投影:我们实现了一个微型转换器,它以两帧作为输入,每帧输出 16 个图像嵌入。请注意,这与仅使用一张图像的 Crafter 方法不同。

教程

 

进入 Gradio 界面后:

步骤 0:上传图像或单击页面底部的示例图像。

步骤 1:在标题为“步骤 1”的 UI 中,单击生成提示以获取全局提示。

步骤 2:在标题为“步骤 2”的用户界面中,单击“生成关键帧”。您可以在左侧更改种子或其他参数。

步骤 3:在标题为“步骤 3”的用户界面中,单击“生成视频”。您可以在左侧更改种子或其他参数。

引用

 

@Misc{paintsundo,
  author = {Paints-Undo Team},
  title  = {Paints-Undo GitHub Page},
  year   = {2024},
}

免责声明

 

该项目旨在开发人类绘画行为的基础模型,帮助未来的人工智能系统更好地满足人类艺术家的真正需求。用户可以自由地使用此工具创建内容,但应遵守当地法律并负责任地使用它。用户不得使用该工具生成虚假信息或煽动对抗。开发人员对用户可能滥用的行为不承担任何责任。

仓库地址

GitHub:https://github.com/lllyasviel/Paints-UNDO

网站免责声明
一、资源来源与版权

本网站所有资源及文章均源自互联网,经过我们的收集整理后呈现给用户。我们明确声明,本网站不直接参与任何资源的创作或制作过程,仅作为信息的传递者。若您发现本网站上的任何内容侵犯了您的合法权益(包括但不限于版权、商标权、专利权等),请立即通过以下联系方式与我们取得联系。在收到您的反馈并核实情况后,我们将迅速采取相应措施,包括但不限于删除侵权内容,以确保您的合法权益得到及时保护。

二、资源使用与责任

资源鉴别:本网站发布的资源可能包含水印、广告链接或其他引流信息,这是由资源原始来源决定的。我们提醒用户在使用这些资源时,应保持警惕,自行鉴别信息的真实性和适用性,避免受到不必要的干扰或误导。 非商业用途:本网站提供的资源仅供学习、研究及非商业性交流使用。我们鼓励用户尊重原创,支持正版。若您计划将本站资源用于商业目的,请务必先获得合法授权,否则因此产生的一切法律后果将由下载用户自行承担。

三、联系方式

为了更好地服务用户,解决您在使用本网站过程中可能遇到的问题或反馈侵权信息,我们提供了以下联系方式(请将“#”替换为“@”后使用): 联系方式:contact#kukaylib.com

四、免责条款

本网站致力于为用户提供高质量的信息服务,但对于因网络状况、第三方干扰、不可抗力等因素导致的服务中断、数据丢失、信息错误等问题,本网站不承担任何责任。同时,本网站对于用户在使用本站资源过程中可能产生的任何直接、间接、偶然、特殊或惩罚性损失,也不承担任何法律责任。 请用户在使用本网站时,务必遵守相关法律法规及道德准则,自行承担因使用本站资源而产生的所有风险和后果。

五、更新与修订

本网站有权随时更新或修订本免责声明,更新或修订后的免责声明一经发布即具有法律效力。用户应定期访问本页面以了解最新的免责声明内容。 感谢您对本网站的理解与支持!我们将继续努力,为用户提供更加优质、便捷的信息服务。