生成方向paper list

综述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

ControlNet

  • https://arxiv.org/pdf/2302.05543

  • 控制模块的公式

在这里插入图片描述

在这里插入图片描述

Zero Convlution

  • 在初始阶段,去除梯度的噪音的影响
    在这里插入图片描述
  • 问题:没有学习控制条件,反而学习输入的图像学的很好 -》 突然收敛现象

U-Net结构

  • a U-Net with an encoder, a middle block, and a skip-connected decoder.
  • Both the encoder and decoder contain 12 blocks, and the full model contains 25 blocks, including the middle block. (文本用Clip encoder,时间步用timestep position embeding encoder)
  • Of the 25 blocks, 8 blocks are down-sampling or up-sampling convolution layers, while the other 17 blocks are main blocks that each contain 4 resnet layers and 2 Vision Transformers (ViTs).
  • Each ViT contains several cross attention and self-attention mechanisms

animatediff

  • https://arxiv.org/pdf/2302.05543

LVDM

MagicDance

主要工作
提出了一种两阶段训练策略来解开人类动作和外观(例如面部表情、肤色和着装)
(1)外观控制块的预训练, 通过Multi-Source Attention Module提供从参考图像到 SD 的外观指导
(2)学习外观分离的姿势控制, Pose ControlNet,根据条件图像提供姿势/表情指导

任务目标:在保持身份不变的情况下,通过控制姿势和面部表情来生成一个人的新图像

任务定义:给定一张图像
当其中有一个人时,MagicPose 的目标是将给定图像中的人重新调整为目标姿势 {P,F}
(1)从参考图像中保留和传输人类个体和背景的外观
(2)外观控制模型来进行姿势和表情控制生成的图像

模块详细设计

  • 多源注意力的设计在这里插入图片描述
  • 外观控制的Loss设计

在这里插入图片描述

  • 外观和姿势一起微调的Loss
    在这里插入图片描述

使用的工具

  • OpenPose 实现人体骨骼检测
  • 逐帧 FID 、SSIM 、LPIPS 、PSNR 、L1、Face-Cos(脸部余弦相似度)

VideoCrafter2

时空模块的训练结论:

  • 完全训练模型的空间模块和时间模块之间的耦合强度强于部分训练模型。因为部分训练模型的时空耦合很容易被打破,导致快速的运动退化和图像质量的变化。较强的连接比较弱的连接更能容忍参数的扰动。我们的观察可以用来解释动物差异的质量改善和运动退化。
    • 动画差异不是一个通用的模型,只适用于选定的个性化SD模型。其原因是其运动模块是通过部分训练策略获得的,且不能容忍较大的参数扰动。当个性化模型与时间模块不匹配时,图像和运动质量都会退化。
  • 时间模块不仅负责运动,而且负责图像质量

数据侧面解决外观和运动:

  • 在数据层面上将运动与外观分离,即从低质量的视频中学习运动,同时从高质量的图像中学习图像质量和美学。我们可以首先用视频训练一个视频模型,然后用图像对视频模型进行微调。

关键在于如何训练一个视频模型,以及如何用图像来调整它。

  • 在空间和时间的扰动中,图像质量可以提高,但不是很显著。

为了获得更大的质量改进,我们评估了两种策略。

  • 一是涉及更多的参数,即用图像来微调空间和时间模块。
  • 另一种是改变微调方法,即使用不使用LORA的直接微调。

用高质量的图像直接微调空间模块是在不边际损失运动质量的情况下提高图像质量的最佳方法。

结论:首先用低质量视频完全训练视频模型,然后用高质量图像直接进行空间模块的微调。

DynamicCrafter - (train+infer)

在Duffusion Model中间进行改造
a dual-stream conditional image injection paradigm

  • text-aligned context representation
  • visual detail guidance

在这里插入图片描述

文本对齐:

  • query transformer :为了对齐文本且同时学习到图像信息,设计了Learnable query transformer architecture,输入是图像,CLIP的encoder
    在这里插入图片描述

  • dual cross-attention layers:在Denoising Unet中间,再设计交互模块,对齐text embedding和 context embedding
    在这里插入图片描述

  • 在图像条件的扩散模型中,丰富的上下文信息会影响U-Net的某些中间层(例如,第7-9层),使模型能够在有运动存在时保持与输入相似的物体形状。

视觉细节的引导:

  • 从初始视频中随机选取一个frame,encoding之后和noise拼接在一起,来增强视觉一致性和detail
    在这里插入图片描述

  • 文本对齐会导致形状变形,额外的text prompt可以提供一些全局的图像信息,由于静态图像通常包含多个潜在的动态变化,文本提示可以有效地指导生成适合用户偏好的动态内容

在这里插入图片描述


ToonCrafter - (infer)

  • 动画、大肢体运动、插帧任务

  • 传统是linear interpolation,现在是生成式非线性插值

最近的模型主要是 image-conditioned diffusion-based text-to-video models

主要存在和需要解决的3个问题:
1)domain gap,因为模型是从真人视频中训练的

  • toon rectification learning策略 + collected cartoon data 解决

2)compressed latent space,导致细节丢失和质量下降。

  • dual-reference-based 3D decoder 解决,加强pixel level detail

3) random and lack of control,缺少稳定性

  • pseudo-3D convolutions 解决

4)最后 independent sketch encoder 提供 interactively create or modify interpolation


代码带动

AutoencoderKL-dualRef, 文中的detail-injected 3D decoder

  • 首帧和尾帧的编码z作为额外信息注入
  • VedioTransformer
  • VideoDecoder(dualRef的关键)
  • AE3DConv
  • sketch encoder
 def decode(self, z, **kwargs):
        z = self.post_quant_conv(z)
        dec = self.decoder(z)
        return dec
###decoder 做了改动

 def decode(self, z, **kwargs):
        if len(kwargs) == 0: ## use the original decoder in AutoencoderKL
            z = self.post_quant_conv(z)
        dec = self.decoder(z, **kwargs)  ##change for SVD decoder by adding **kwargs
        return dec

sketch encoder(guide)

  • sketches obtained from Anime2Sketch
  • ControlNet-like architecture, initialized from the pre-trained StableDiffusion v2.1

Training Detail

  • In the toon rectification learning, we trained spatial layers and P with 50K steps on the learning rate (lr) of 1×10−5 and a mini-batch size (bs) of 32.
  • We trained our dual-reference-based 3D decoder with 60K steps on the lr=4.5 × 10−6 and bs=16.
  • The sketch encoder was trained with 50K on the lr=5 × 10−5 and bs=32.
  • At inference, we adopt DDIM sampler with classifier-free guidance.

最近工作

视频插帧

主要有三种方法:phase-based、kernel-based、optical/feature flow-based
代表工作:AnimeInterp、EISAI

文生视频

  • SEINE,两个输入帧之间生成过渡帧(diffusion U-Net),完成视频生成
  • DynamiCrafter、SparseCtrl、PixelDance直接单图生成
  • 使用辅助的编码器(ControlNet)进行下游任务迁移应用

Alignment

  • 条件控制下,视频生成需要pixel level的连续性和保真性,也就是需要细粒度的对齐

SGM-VFI

  • 插值任务:视频帧插值(VFI)旨在从给定的一对推理帧生成中间帧,基于流的算法在VFI任务中占据着突出的地位
  • 大运动的特点,由于像素偏移较大,帧与帧之间的物体对应关系很难定位

最近的插值工作

  • XVFI通过创建极限 4K 训练数据集和可扩展框架来解决这个问题。然而,当应用于小运动场景时,其性能提升有限

  • FILM引入了与尺度无关的特征和权重共享方法,以提高跨不同运动尺度的模型泛化,由于模型感受野有限,在处理大运动时模型的深度可能会变得过深。这增加了计算复杂性,并且无法处理快速移动的小物体。

  • 本文工作,引入了一种稀疏全局匹配管道,通过有效地将全局级信息集成到中间流估计中,专门处理 VFI 任务中大运动带来的挑战

  • VFI任务的主要模型结果是Transformer和CNN的结合


MagicScroll

  • https://arxiv.org/pdf/2312.10899

背景

当前的问题:

  1. 常规的图片没有故事性,模型局部细节控制不行
  2. 多个结果缺少平滑过渡

工作:

  • 定义任务
  • 提出模型框架
  • introduce a comprehensive dataset and new metrics for content richness and coherence
  • ablation studies

最近的Diffusion主要是3个方面:
1)图像概念和风格控制
代表工作:LoRA,Textual Inversion,DreamBooth,StyleAdapter,Ip-Adapter


2)图像构图和编辑
代表工作:Attend-and-Excite,SDEdit,Imagic,DragGAN


3)图像空间和布局控制
代表工作:GLIGEN,LayoutDM,LayoutLLM,ControlNet,Uni-ControlNet


4)故事可视化
代表工作:StoryGAN
问题:story visualization with image sequences still suffers from issues including low visual quality, limited controllability, and lack of content richness.


5)非常规纵横比生成:
代表工作:PanoGen,MultiDiffusion,ScaleCrafter
问题:控制不稳定性,表达情绪和抽象概念意境存在问题

架构

GPT-based layout prediction

主要是想利用GPT对用户的输入进行格式化,把文本喝图像的风格、特征确定下来,再通过instruction更好的生成

semantic-aware denoising

语义感知这块主要参考Latent Diffusion Model(LDM)的扩散过程

Latent Smooth这块主要参考MultiDiffusion

text-based and image-based style control

评估指标

Text-Image Similarity

FID

Inception Score (IS)

PSNR (for reconstruction)

Image Aesthetics

Learned Perceptual Image Patch Similarity
(LPIPS)

LivePortrait - (infer)

  • 基于隐式关键点的视频驱动肖像动画框架
  • 设计一个高级拼接模块和两个重定向模块更好的可控性,计算开销可以忽略不计
  • 隐式3D关键点 + 表情变形 + 隐空间转换

Train

关键点:

  • 显式:人工提取
  • 隐式:用一个网络来预测提取,Network包括隐式关键点检测器 LℒL,头部姿态估计网络 ,HℋH ,以及表达变形估计网络 ΔΔΔ

工作贡献:

  • 可扩展的运动变换
  • Landmark-guided 隐式关键点优化(眼睛+嘴巴),Wing loss
  • 联合损失(网络损失+关键点损失):
    • perceptual and GAN losses on the global region of the input image
    • The face and lip regions are defined by 2D semantic landmarks

在这里插入图片描述

  • Mapping模块
    • 用一个MLP网络来进行重定向的映射(小眼睛的人驾驶大眼睛的人)
    • 眼睛和嘴唇的变形偏移彼此解耦,允许它们线性添加到驱动关键点。
      在这里插入图片描述

Infer

在这里插入图片描述

MegActor - (train+infer)

数据Pipeline

  • 将Driving视频中的每一帧作为目标图像,并将其与数据集中不同视频中的另一张图像配对,该图像以不同的个体作为源图像。然后,我们的换脸模型将身份从源图像转移到目标图像上。
  • 应用 SDXL 对视频部分的每一帧进行单独风格化,并将所得的风格化视频用作训练期间的Driving视频。
  • 采用 L2CSNet来评估帧之间的注视变化,并过滤掉具有显着注视变化的视频。
  • 利用 pyFacer检测视频每一帧中的面部,并仅保留驾驶视频中的面部区域,将面部区域之外的所有像素设置为黑色,以减少训练期间背景信息的泄漏。

Method

  • 使用SD1.5 [ 38 ]作为预训练的去噪模型。我们使用与SD [ 38 ]具有相同架构的UNet网络,称为ReferenceNet,从参考图像4.1中提取细粒度的身份和背景信息。
    • 扩散模型的中间特征具有显着的通信能力,能够对图像进行像素级的精细控制(提取中间特征然后注入)
  • 对于驾驶视频,我们采用包含多层 2D 卷积的 DrivenEncoder 来提取运动特征4.2
    • DrivenEncoder,它利用四个2D卷积层(4×4内核,2×2步长,具有16、32、64和128个通道)从drving视频中提取运动特征。然后将这些运动特征对齐到与从随机采样获得的潜在噪声相同的分辨率
    • 在训练过程中,我们重新初始化 Denoising UNet 的 conv-in 层的参数。我们保留前四个通道的参数,并将其余通道的参数初始化为零。这种方法减轻了由于引入运动特征而对最初从 SD1.5 初始化的 Denoising UNet 的空间结构的破坏。
  • 为了增强生成帧之间的连续性,我们将时间模块插入到去噪模型中,并单独对时间模块进行微调4.3 。
  • 我们使用 CLIP [ 37 ]的图像编码器对参考图像中的背景进行编码,并将这些信息注入到模型4.4中。

EasyAnimate - (train+infer)

在这里插入图片描述

插帧工作

基于LDM模型

  • LDMVFI

  • VIDIM

  • AnimeInterp

  • FILM

  • SEINE

我要做什么

模型理解的一些问题

  1. 文生图,到文生视频,是多了一个时间维度,在文生图模型的基础之上继续训练得到视频
  2. 是一帧一帧的生成,还是一次全部生成?
  • 不需要管SD好还是DiT好,先站在巨人的肩膀(base model)上完成任务,然后再回来改进

任务场景

可能做的点

  • 卡通场景的插帧生成任务

  • 大肢体运动

    • 人脸、表情、头部、上半身的大幅度运动
    • 多个人物(例如两个头像)
    • 多图合成(场景+人物)
  • 3D Gaussian Splatting (解决细节问题),编辑材质和光场

    • 延迟渲染
    • AO方法(聚焦光线)
    • 好的几何结构 --》好的渲染结果 --》好的图
    • 场景-guide
    • 往场景里面加东西
    • 几何结构优化
    • 光线优化
    • diffusion用来输出其他的图,跟GT进行监督学习
  • 关键点

    • 脸部关键点
    • 全身关键点
    • 关键点之间的mapping
  • 表情、运动、风格、关键点之间的解耦

  • sketch或者animate 生成 真人视频

最近的工作

Tooncrafter - 未开源的部分

  • Cartoon Sketch Interpolation(sketch encoder)
  • Reference-based Sketch Colorization
  • 有用的部分,训练好的卡通VAE

Panit-UNDO(未开源)

  • Sketch的实时绘画过程

Paint Transformer(ICCV 2021)

  • 油画、水彩,的绘画过程预测

Image-to-Painting Translation(CVPR 2021)

  • 风格化,将图片转化为油画

强化学习绘画(ICCV2019)

绘画过程分解为图层


挑战

  • 运动模糊
  • 人像模糊
  • 视频图像质量
  • 推理显存、时间开销
  • Latent Alignment、Smooth

具体问题:

  • 肢体胳膊的前后
  • 如何提取关键帧
  • 如何预测中间序列帧
  • guide 生成

数据集

  • 卡通数据集
  • 卡通视频数据集

模型架构

  • DiT-based 架构
    • 没有人做动画类
  • SD-based(级联和Unet)架构
    • 可运动、图像 Module可解耦
    • ControlNet 强力支持,可控生产
    • SD开源版本,效果好
  • Transformer-CNN 架构
    • 传统插帧工作

Guide

  • Sketch
  • text
  • Image
  • pose
  • motion
  • keypoint
  • structure
    • 3D-structure

混合条件注入videocomposer

训练

  • MagActor - SD-based Image to vedio Portrait generation
  • DynamicCrafter - generate text to vedio generation
  • EasyAnimate - text to vedio generation

  • 做domain迁移不现实、去拿他们预训练的权重(真人 -》 Animate)
  • 训练encoder(keypoint、audio、image)

  1. 如何从keypoint序列当中找到关键帧用作训练。
  2. 如何预测两帧之间的运动轨迹(keypoint序列)
  3. 用预测得到的keypoint序列 guide 插帧生成
  4. 尽可能的让插帧长度增加(后期要关注的了,如何打败现有的插帧任务)
  5. 每一步有没有现有方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值