当前位置: 首页 > article >正文

论文研读:Tune-a-video — 微调学习单个视频内的物体动作(Arxiv: 2023-03-17)

原文:Tune-A-Video: One-Shot Tuning of Image Diffusion Models for Text-to-Video Generation

1.基本介绍

1.1 Introduction

这里主要分析了文生图模型, 即text-to-image model, T2I model

  • cross-attention

    可根据文本<名词>和<动词>生成语义<图像>的能力

  • self-attention

    能聚焦同一目标, 但无时间连续性

  • T2V model

    图像仅具有空间特征(spatial features),因此:

text-to-video模型需要时序特征(spatio-temporal),具体区别如图:

在这里插入图片描述

  • DDIM Inversion

只有spatio-temporal是不够的,时间的先后顺序,即连续性存在问题,为了改进这个问题:

将时序特征通过DDIM加噪(inversion)的方式,嵌入latent 特征,以保证特征去噪后具有更好的时间连续性。

1.2 Related Work

这里主要说了当前T2V模型(例如CogView)需要大量的视频进行训练,消耗较大,

而本方法仅通过一个<文本-视频>对, 即可将T2I模型转换为T2V模型

1.3 方法概述 (High-level Overview)

通过一个video的frams,将 T2I 模型微调成 T2V模型, 该模型记住了这个video的动作,可以生成类似动作

如图所示:

在这里插入图片描述

2. 方法介绍—微调

需要将video的frames 通过 DDIM Inversion (加噪)为噪为 LDM 的 噪声特征,连同 text 送入 SD.

在SD的U-net中,更新self-attention (ST-Attn),cross-attention (Cross-Attn), 以及一个新增的处理视频的 temporal self-attention (T-Attn)

2.1 处理self-attention (AT1):

将第一帧和后续帧concat,作为attention的可学习矩阵 W V W^V WV, W K W^K WK 完成 value 和 key的运算。

另外将后一帧作为可学习矩阵 W Q W^Q WQ, 作为self-attention的 query

具体如图所示:

在这里插入图片描述

这里,为了减少计算量,以第一帧为锚定,计算v和k,q仅包括第i帧, 且仅学习 W Q W^Q WQ

KaTeX parse error: Unexpected character: '' at position 26: …v_i} , K = W^K ̲[z_{v_1} , z_{v…

在源代码中,该模块改自diffusers.models.attention的CrossAttention

2.2 处理cross-attention (AT2)

这是文生图部分,即将文本通过clip找到图像对应的特征,嵌入 W Q W^Q WQ 并更新该矩阵

在源代码中,该模块直接使用diffusers.models.attention的CrossAttention

2.3 处理 temporal self-attention (AT3)

这一步学习全局时序特征,将AT1学到的时序特征输入到AT2,学习文本到video特征,再将AT2 的输出送到AT3,

AT3,本质是一个self-attention,同时更新Q,K,V三个特征矩阵( W Q , W K , W V W^Q, W^K,W^V WQ,WK,WV)。

在源代码中,该模块直接使用diffusers.models.attention的CrossAttention

最后的方法整体结构如下(Pipeline):
在这里插入图片描述

原文部分摘录:

It is com posed of stacked 2D convolutional residual blocks and transformer blocks.

Each transformer block consists of a spatial self-attention layer, a cross-attention layer, and a feed-forward network (FFN).

The spatio temporal attention (ST-Attn) is designed to model temporal consistency by querying relevant positions in previous
frames. Therefore, we propose to fix parameters W^K and W^V , and only update W^Q in ST-Attn layers.

Moreover, we propose to refine the text-video alignment by updating the query projection in cross-attention (Cross-Attn).

In contrast, we finetune the entire temporal self-attention (T-Attn) layers as they are newly added.

3.实验

3.1 微调设置

  • 设备 A100 GPU(这款GPU有40g和80g两个显存版本,估计是80g)
  • 训练输入: 32 frames (512x512),
  • 训练时间:500 次迭代, 约10min
  • 学习率:3e-5-
  • Batch_size: 1
  • 推理方法: DDIM, classifier-free guidance, 约1min

3.2 推理设置(评估)

从 DAVIS 数据集 中选择了 42 个视频,涵盖了动物、车辆和人类等一系列类别。选定的视频项目列在表 2 中。

为了获取视频片段,使用 BLIP-2 进行自动字幕 生成(off-the-shelf)。

为每个视频手动设计三个编辑提示,总共得到 140 个编辑提示。这些编辑提示包括对象编辑、背景更改和风格转换。

在这里插入图片描述

4. 实验结果

4.1 消融实验

验证 AT1 与 DDIM Inversion的效果:

在这里插入图片描述

4.2 方法局限

图像中存在多个目标主体时,数量会出错,这个也是SD常见问题:
在这里插入图片描述

4.3 baseline比较

在这里插入图片描述

4.4 方法整体效果

  • 改变text:

在这里插入图片描述

  • 与conditional T2I model可以无缝结合(T2I-Adapter 与 ControlNet, 最后一行) :

在这里插入图片描述

Ref:

  • Jonathan Ho, Tim Salimans, Alexey Gritsenko, William Chan, Mohammad Norouzi, and David J Fleet. Video diffusion models. arXiv:2204.03458, 2022
  • https://github.com/showlab/Tune-A-Video
  • https://github.com/bryandlee/Tune-A-Video
  • https://github.com/showlab/Tune-A-Video/blob/main/tuneavideo/models/attention.py#L272

http://www.kler.cn/a/461515.html

相关文章:

  • ES_如何设置ElasticSearch 8.0版本的匿名访问以及https_http模式的互相切换
  • sniff2sipp: 把 pcap 处理成 sipp.xml
  • TVS二极管选型【EMC】
  • pip下载包出现SSLError
  • 从企业级 RAG 到 AI Assistant,阿里云 Elasticsearch AI 搜索技术实践
  • Qt监控系统放大招/历经十几年迭代完善/多屏幕辅屏预览/多层级设备树/网络登录和回放
  • 智能边缘计算×软硬件一体化:开启全场景效能革命新征程(高校开发者作品)
  • 【MySQL初级】第5-11章
  • 职场中倾听比表达更显智慧
  • 【传感器技术】第7章 温度传感器,热电偶,热电阻,热敏电阻,集成温度传感器
  • Prometheus + Grafana 监控,验证 Hystrix 超时熔断
  • 期末速成C++【模板和STL和算法】
  • sqlserver设置定时任务计划(SSMS)
  • 遗传算法的介绍
  • REDIS2.0
  • vue项目中使用mockjs模拟后端接口
  • 9-Gin 中自定义 Model --[Gin 框架入门精讲与实战案例]
  • ARM64 Windows 10 IoT工控主板运行x86程序效率测试
  • 使用OpenAI、LangChain、MongoDB构建一个AI agent
  • Spring Boot 实战篇(四):实现用户登录与注册功能
  • UE5.1安卓打生包,常用操作
  • python进阶-06-Selenium一个真实项目实战,还有FastAPI背景介绍
  • RabbitMQ基础篇之快速入门
  • 扫码跳转小程序获取参数
  • 从0入门自主空中机器人-2-1【无人机硬件框架】
  • 【记录】前端项目的开发调试流程