ChatGPT 人工智能 GPT4 伦理 生成式 医疗 监管 安全 机器学习 深度学习 神经网络 计算机视觉 强化学习 模型 算法 应用 开发 研究 工具 平台 框架 数据集 训练 部署 安全 合规 培训 投资 LLM,llm AI,ai,Ai 大模型 大语言模型 制图 生图 绘图 文生图 文生视频 生成式AI AGI 世界模型 sora chatGPT,chatgpt,ChatGpt claude openai Llama deepseek midjourney 红熊猫模型 Red panda,panda Stable Diffusion,StableDiffusion,stable DALL- E 3 DALL E DALL Flux,flux 扩散模型 混元大模型 文心一言 通义千问 可灵 Pika PixelDance 豆包 月之暗面 零一万物 阶跃星辰 搜索增强 MiniMax Talkie Agent prompt fastai LangChain TTS 微调 提示词 知识库 智能体
# 热门搜索 #
搜索
只要一张图就能「还原」绘画过程,这篇论文比爆火的Paints-UNDO实现得更早
8055点击    2024-07-30 16:53

作者介绍:宋亦仁:新加坡国立大学 ShowLab 博士研究生, 主要研究方向包括图像和视频生成, AI 安全性。 


黄施捷:新加坡国立大学硕士二年级学生,目前在 Tiamat AI 任算法工程师实习生,主要研究方向是视觉生成。目前在寻找 2025 fall 博士入学机会。


最近,lvmin 带来了最新模型 Paints-UNDO。这款 AI 生成工具可以根据图片还原整个绘画过程,整个 AIGC 社区都为之震撼。



Paints-UNDO 的演示 demo。


早在 1 个月前,NUS,SJTU,Tiamat 等机构联合已经发布了一篇做类似任务的工作 ProcessPainter: Learn Painting Process from Sequence Data。Paints-UNDO 技术报告还未公布,让我们一起看看 ProcessPainter 是如何实现的吧!



  • 论文标题:ProcessPainter: Learn Painting Process from Sequence Data
  • 论文链接:https://arxiv.org/pdf/2406.06062
  • 代码链接:https://github.com/nicolaus-huang/ProcessPainter


翻开任意一本绘画教学书籍,都能看到按照步骤画画的指导。然而,在生成式 AI 时代,通过去噪过程完成图像生成和人类画家绘画过程完全不同,AI 画画的过程无法直接用于绘画教学。


为了解决这一问题,ProcessPainter 通过在合成数据和人类画师绘画视频上训练时序模型,首次实现了让扩散模型生成绘画过程。此外,不同题材、画师的绘画过程差异巨大,风格迥异。然而,目前很少有研究将绘画过程作为研究对象。论文作者在预训练的 Motion Model 基础上,通过在特定画师的少量绘画序列上训练 Motion LoRA,学习画师的绘画技法。



深入解读 ProcessPainter 的核心技术



1. 时序注意力机制(Temporal Attention)


用时序注意力学习生成绘画过程是 ProcessPainter 的核心创新。绘画序列生成的关键是,整个序列是同一张图从抽象到具体的变化过程, 前后帧在内容和构图上是一致且相关的。为了实现这一目标,作者为 Unet 引入了来自 AnimateDiff 的时序注意模块。该模块位于每一层扩散层之后,通过帧间自注意机制来吸收不同帧的信息,确保整个序列的平滑过渡和连续性。


实验证明,该训练策略可以在帧之间保持一致的绘画效果。绘画过程生成和视频生成任务不同之处在于,绘画过程前后变化更加剧烈,首帧是完成度很低的色块或线稿,而尾帧是完整的画作,这对模型训练带来挑战。为此,论文作者先在大量合成数据集上预训练时序模块,让模型学习各种各种 SBR(Stroke-based rendering) 方法的逐步绘画过程,再用数十个艺术家的绘画过程数据训练 Painting LoRA 模型。


2. 艺术品复制网络(Artwork Replication Network)


绘画实践中,我们更希望知道一幅作品是如何画出来的,以及如何从半成品绘画继续细化以达到期待的成品效果。这就引申出了两个任务:绘画过程重建和补全。鉴于这两个任务都有图像的输入,论文作者提出了艺术品复制网络(Artwork Replication Network)。


这一网络设计能够处理任意帧的图像输入,灵活控制绘画过程的生成。与之前的可控性生成方法类似,论文作者引入一个 ControlNet 的变体,来控制生成结果中的特定帧与参考图一致。


3. 合成数据集与训练策略


由于真实绘画过程数据较难获取,数量不足以支持大规模训练。为此,论文作者构建了用于预训练的合成数据集。 


具体采用了三种合成数据方法:


1. 采用 Learn to Paint 来产生半透明贝赛尔曲线笔触的绘画序列; 

2. 通过自定义笔触,用 Neural style painting 生成油画风格和中国画风格的绘画序列。

3. 上述 SBR(Stroke base painting)方法是从粗到细的拟合一张目标图像, 意味着允许对于已经绘画的部分进行覆盖和修改,然而很多绘画种类,如中国画和雕刻,由于材料的限制,无法大幅度修改已经完成的部分, 绘画过程是分区域完成的。为此,论文作者采用 SAM(segment anything) 和显著性检测方法,从空白画布逐个子区域添加内容,先绘制显著性物体, 然后逐步向背景扩散,从而合成绘画过程视频。


在训练阶段,论文作者首先在合成数据集上预训练了 Motion Model,然后冻结了 Motion Model 的参数并训练了 Artwork Replication Network。在微调绘画 LoRA 模型时,第一步只使用最终帧来微调空间注意力 LoRA,以防止半成品绘画训练集损害模型的生成质量。


此后,论文作者冻结了空间注意力 LoRA 的参数,并使用完整的绘画序列微调时间注意力 LoRA。在推理阶段,当从文本生成绘画序列时,ProcessPainter 不使用艺术品复制网络。在绘画过程重建和补全任务中,ProcessPainter 使用艺术品复制网络接收特定帧的参考输入。为了确保生成的绘画序列中的帧尽可能与输入图像匹配,ProcessPainter 采用了 DDIM 反演技术来获取参考图像的初始噪声,并在 UNet 中替换特定帧的初始噪声。


ProcessPainter 效果展示


在合成数据集上训练的 ProcessPainter base model 可以生成过程上有风格差异的绘画序列。



通过在少量人类画师的绘画序列上分别训练 Motion Lora,ProcessPainter 可以学习特定画师的绘画过程和风格。



指定参考图像,ProcessPainter 可以将完成的艺术品逆向解构为绘画步骤,或者从半成品推演出完整的画作。



这些技术组件的结合,让 ProcessPainter 不仅能够从文本生成绘画过程,还能将参考图转换成绘画序列,或是对未完成的画作进行补全。这无疑为艺术教育提供了新工具,同时也为 AIGC 社区开辟了新赛道。也许不久的将来,Civitai 上会有各种模拟人类画师绘画过程的不同 Lora 出现。


更多细节,欢迎阅读论文原文或访问 Github 项目主页。


文章来源于“机器之心”


AITNT资源拓展
根据文章内容,系统为您匹配了更有价值的资源信息。内容由AI生成,仅供参考
1
微调

【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。

项目地址:https://github.com/InternLM/xtuner