Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

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

同样是图生视频,PaintsUndo 走出了不一样的路线。

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

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

图片

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

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

图片

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

图片

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

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

图片

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

图片

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

图片

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

图片

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 进行推理测试。作者估计,在极端优化(包括权重卸载和注意力切片)的情况下,理论上 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://lllyasviel.github.io/pages/paints_undo/

工程PaintsUndo
相关数据
权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

插值技术

数学的数值分析领域中,内插或称插值(英语:interpolation)是一种通过已知的、离散的数据点,在范围内推求新数据点的过程或方法。求解科学和工程的问题时,通常有许多数据点借由采样、实验等方法获得,这些数据可能代表了有限个数值函数,其中自变量的值。而根据这些数据,我们往往希望得到一个连续的函数(也就是曲线);或者更密集的离散方程与已知数据互相吻合,这个过程叫做拟合。

推荐文章
暂无评论
暂无评论~