ControlNet作者又出爆款!一张图生成绘画全过程,两天狂揽1.4k Star 精华

发布于 2024-7-12 08:27
浏览
0收藏

ControlNet 作者 Lvmin Zhang 又开始整活了!这次瞄准绘画领域。


新项目 PaintsUndo 刚上线不久,就收获 1.4k star(还在疯狂涨)。


ControlNet作者又出爆款!一张图生成绘画全过程,两天狂揽1.4k Star-AI.x社区


项目地址:https://github.com/lllyasviel/Paints-UNDO


通过该项目,用户输入一张静态图像,PaintsUndo 就能自动帮你生成整个绘画的全过程视频,从线稿到成品都有迹可循。


ControlNet作者又出爆款!一张图生成绘画全过程,两天狂揽1.4k Star-AI.x社区


绘制过程,线条变化多端甚是神奇,最终视频结果和原图像非常相似:


ControlNet作者又出爆款!一张图生成绘画全过程,两天狂揽1.4k Star-AI.x社区


我们再来看一个完整的绘画过程。PaintsUndo 先是用简单的线条勾勒出人物主体,然后画出背景,涂上颜色,最后精调成和原图相似。


ControlNet作者又出爆款!一张图生成绘画全过程,两天狂揽1.4k Star-AI.x社区


PaintsUndo 不止局限于单一图像风格,对于不同类型的图像,也会生成相应的绘画过程视频。


ControlNet作者又出爆款!一张图生成绘画全过程,两天狂揽1.4k Star-AI.x社区


戴着头巾的柯基犬眼神温柔地望向远方:


ControlNet作者又出爆款!一张图生成绘画全过程,两天狂揽1.4k Star-AI.x社区


用户也可以输入单张图像,输出多个视频:


ControlNet作者又出爆款!一张图生成绘画全过程,两天狂揽1.4k Star-AI.x社区


不过,PaintsUndo 也存在缺点,比如处理复杂的构图存在困难,作者表示项目还在不断完善。


ControlNet作者又出爆款!一张图生成绘画全过程,两天狂揽1.4k Star-AI.x社区


PaintsUndo 之所以如此强大,背后是一系列模型的支持,它们以图像作为输入,然后输出该图像的绘制序列。模型复现了各种人类行为,包括但不限于素描、上墨、着色、阴影、变换、左右翻转、颜色曲线调整、更改图层的可见性,甚至在绘制过程中更改整体思路。


本地部署过程非常简单,几行代码就能完成:


git clone https://github.com/lllyasviel/Paints-UNDO.git

cd Paints-UNDO

conda create -n paints_undo pythnotallow=3.10

conda activate paints_undo

pip install xformers

pip install -r requirements.txt

python gradio_app.py


模型介绍


项目作者在 Nvidia 4090 和 3090TI 上使用 24GB VRAM 进行推理测试。作者估计,在极端优化(包括权重卸载和注意力切片)的情况下,理论上 VRAM 需求最小约为 10-12.5 GB。PaintsUndo 预计可以在大约 5 到 10 分钟内处理一张图像,具体取决于相关设置,通常会得到时长 25 秒,分辨率为 320x512、512x320、384x448 或 448x384 的视频。


目前该项目发布了两个模型:单帧模型 paints_undo_single_frame 和多帧模型 paints_undo_multi_frame。


单帧模型采用 SD1.5 的修改架构,以一幅图像和一个操作步骤作为输入,输出一幅图像。假设一件艺术品通常需要经过 1000 次人工操作才能创作出来(例如一笔是一次操作),那么操作步长是 0-999 之间的整数。数字 0 是最终完成的艺术品,数字 999 是在纯白画布上绘制的第一笔。


多帧模型基于 VideoCrafter 系列模型,但没有使用原始 Crafter 的 lvdm,所有训练 / 推理代码完全从头开始实现。项目作者对神经网络的拓扑进行了很多修改,并且经过大量训练后,神经网络的行为与原始 Crafter 有很大不同。


多帧模型的整体架构类似于 Crafter,包含 5 个组件:3D-UNet、VAE、CLIP、CLIP-Vision、Image Projection。


多帧模型以两幅图像作为输入,输出两幅输入图像之间的 16 个中间帧。多帧模型的结果比单帧模型更加一致,但速度也慢得多,「创意」更少,并且仅限于 16 帧。


PaintsUndo 默认一起使用单帧模型和多帧模型。首先会用单帧模型推断大约 5-7 次,得到 5-7 个「关键帧」,然后使用多帧模型对这些关键帧进行「插值」,最终生成一个相对较长的视频。


本文转自 机器之心 ,作者:机器之心


原文链接:​​https://mp.weixin.qq.com/s/3vSNOXFGiIqs-OB0xwmhTw​

收藏
回复
举报
回复
相关推荐