ControlNet作者新作Paints-Undo:一键模拟人类绘画过程,再也没人敢说你的图是生成的了!

132 篇文章 5 订阅

ControlNet作者敏神又有新项目了。

Paints-Undo 可以生成模拟人类绘画过程的动画。支持输入单图倒推出绘制这个图片某一步的过程,也可以给两张图,生成一个绘制过程动画。

再有人说你的图是生成的就把这个拿给他看,哈哈。下面先看一下展示的效果,本地部署和网页试用都在文章下方,感兴趣的小伙伴可以点击链接体验。

相关链接

代码地址:https://github.com/lllyasviel/Paints-UNDO

效果展示:https://lllyasviel.github.io/pages/paints_undo/

PaintsUndo介绍

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

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

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

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

模型说明

目前发布了 paints_undo_single_frame 和 paints_undo_multi_frame。分别称之为单帧模型和多帧模型。

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

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

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

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

模型架构

paints_undo_single_frame

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

文本编码器 CLIP ViT-L/14 的最后一层被永久删除。该operation step条件以类似于 SDXL 的额外嵌入的方式添加到层嵌入中。

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

paints_undo_multi_frame

该模型是通过从VideoCrafter系列恢复而进行训练的,但未使用原始 Crafter lvdm,所有训练/推理代码均完全从头开始实现。

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

  • VAE:VAE 与从ToonCrafter中提取的动漫 VAE 完全相同。

  • 3D-UNet:3D-UNet 是在 Crafters 的基础上修改的,对注意力模块进行了修订。

  • CLIP:SD2.1的CLIP。

  • CLIP-Vision:Clip Vision (ViT/H) 通过插入位置嵌入来支持任意宽高比。

  • 图像投影:实现了一个微型转换器,它以两帧作为输入,每帧输出 16 个图像嵌入。

效果展示

试用教程

Gradio 界面

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

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

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

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

本地部署

本地部署 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

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

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

免责声明

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

  • 14
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

AIGC Studio

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

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

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

打赏作者

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

抵扣说明:

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

余额充值