MotionCtrl: A Unified and Flexible Motion Controller for Video Generation

news2024/11/23 16:58:32

在这里插入图片描述
提出一个模型同时考虑到object motion和camra motion,分别对应着OMCM module和CMCM module,因为缺少同时包含text\trajectory\camera pose的数据,所以本文使用的是一个multistep的训练策略

  1. Camera Motion Control Module (CMCM)
    a. 训练的数据:Realestate10K,存在两个问题,一个是没有caption标注,所以使用blip2来标注clip的首帧,1/4,1/2,3/4和尾帧,得到的标注拼接到一起,另一个问题是该数据集的场景比较单一,所以在训练的时候只是训练加入的fc层和temporal attention的第二个self attention层;
    b. 交互的层:temporal transformer层
    c. camera motion使用 3 ∗ 3 3*3 33的rotation matrix和 3 ∗ 1 3*1 31的translation matrix,对于每一个长度为L的clip可以得到 R T ∈ R L × 12 RT\in \mathbb{R}^{L\times 12} RTRL×12,之后扩展到 H × W × L × 12 H\times W \times L \times 12 H×W×L×12,得到的结果和temporal transformer的第一个self attention module的输出拼接,得到的结果经过a fully connected layer到原来的C个通道输入到下一层
  2. Object Motion Control Module (OMCM)
    a. 训练的数据:使用ParticleSfM来生成webvid数据的运动物体trajectory,每个clip选取其中的32帧,得到dense的trajectory之后,在其中随机的选取N条轨迹,此时轨迹比较稀疏,所以还进行了一个gaussian filter操作,在训练的时候,首先使用dense trajectory,然后使用sparse trajectory,在训练的时候只是训练新添加的模块;
    b. 交互的层:卷积层
    c. 对于一个物体,有一条轨迹 { ( x 0 , y 0 ) , ( x 1 , y 1 ) , . . . , ( x L − 1 , y L − 1 ) } \{(x_0,y_0),(x_1,y_1),...,(x_{L-1},y_{L-1})\} {(x0,y0),(x1,y1),...,(xL1,yL1)},转换轨迹为相对位移的表示 { ( 0 , 0 ) , ( u 1 , v 1 ) , . . . , ( u L − 1 , v L − 1 ) } \{(0,0),(u_1,v_1),...,(u_{L-1},v_{L-1})\} {(0,0),(u1,v1),...,(uL1,vL1)},使用 u i = x i − x i − 1 , v i = y i − y i − 1 , i > 1 u_i = x_i-x_{i - 1},v_i = y_i-y_{i - 1},i > 1 ui=xixi1,vi=yiyi1,i>1其中没有轨迹的位置使用的是(0,0)表示,转换后的轨迹尺寸 R L × H × W × 2 \mathbb{R}^{L\times H\times W\times 2} RL×H×W×2
  3. 实验
    a. 训练:16frame, 256*256,sparse的轨迹数量设为8,bs=128, adam optimizer,lr= 1 × 1 0 − 4 1\times 10^{-4} 1×104, 8 × v 100 8\times v100 8×v100, 50000iteration(CMCM)+20000(OMCM dense)+20000(OMCM sparse)
    b. 训练的checkpoints来自videocraft1
    c. 评测:两种motion的控制使用不同的模块,对于camera motion,有8种基础+20种complicated,对于object motion设定了19种不同的trajectory;
    d. 指标分为两种,一个包含FID,FVD和CLIP similarity,在1000个webvid clips上面进行计算,另一种指标来评测camera motion和object motion的cotrol能力,通过计算预测出来的camera pose与object trjectory和GT的欧式距离
  4. 和sota方法的对比,分别和animatediff的camera control以及videocomposer对比,animatediff使用lora来实现camera control,使用一页图片来展示qualitative的对比效果,还使用一张表格来展示定量的指标对比
  5. 消融实验:主要验证CMCM和OMCM integrate的位置、训练策略

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1611806.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

InFusion:通过从扩散先验学习深度完成来修复3D高斯

InFusion: Inpainting 3D Gaussians via Learning Depth Completion from Diffusion Prior InFusion:通过从扩散先验学习深度完成来修复3D高斯 Zhiheng Liu * 刘志恒 *1144Hao Ouyang * 欧阳浩 *2233Qiuyu Wang 王秋雨33Ka Leong Cheng 郑家亮2233Jie Xiao 街小…

prompt提示工程

一、什么是提示工程(Prompt Engineering) 提示工程也叫「指令工程」。 Prompt 就是你发给大模型的指令,比如「讲个笑话」、「用 Python 编个贪吃蛇游戏」、「给男/女朋友写封情书」等貌似简单,但意义非凡 「Prompt」 是 AGI 时代…

政安晨:【Keras机器学习示例演绎】(六)—— 通过 CT 扫描进行 3D 图像分类

目录 简介 设置 下载 MosMedData:胸部CT扫描与COVID-19相关发现 加载数据和预处理 建立训练和验证数据集 数据增强 定义 3D 卷积神经网络 训练模型 模型性能可视化 通过一次 CT 扫描进行预测 政安晨的个人主页:政安晨 欢迎 👍点赞✍…

中国人为什么不说自信,而说信天

中国人从来不说自信,中国人信天,老天爷是最公平的。做好自己,天命注定,我都这么努力了,老天爷不帮我帮谁? 中国人信天是有逻辑关系的,很简单:做错事情了或者结果不好了,…

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单人脸检测/识别实战案例 之二 简单人脸检测添加戴眼镜效果

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单人脸检测/识别实战案例 之二 简单人脸检测添加戴眼镜效果 目录 Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单人脸检测/识别实战案例 之二 简单人脸检测添加戴眼镜效果 一、简单介绍 二、简单人脸检测添加戴眼镜效…

就业班 第三阶段(ansible) 2401--4.16 day2 ansible2 剧本+角色

六、Ansible playbook 简介 playbook 是 ansible 用于配置,部署,和管理被控节点的剧本。   通过 playbook 的详细描述,执行其中的一系列 tasks ,可以让远端主机达到预期的状态。playbook 就像 Ansible 控制器给被控节点列出的的…

设计了一个最佳分词自回归模型训练方案

概述 使用Token和二值Token进行分词: 文本被划分为一系列的Token,并引入二值Token来指示分词的边界。随机分配二值Token并训练模型: 训练数据的Token被随机分配二值Token,表示可能的分词位置,然后这些Token序列被输入…

Python基础学习之**kwargs

在Python编程中,**kwargs 是一个强大的工具,它允许我们在函数定义中接受任意数量的关键字参数。kwargs 是 "keyword arguments" 的缩写,实际上是一个字典,其中包含了传递给函数的所有关键字参数。本文将详细介绍 **kwar…

Zynq 7000 系列中的JTAG和DAP子系统

Zynq 7000系列SoC器件通过标准JTAG调试接口提供调试访问。在内部,SoC设备器件在处理系统(PS)内部实现了一个Arm调试访问端口(DAP),同时在可编程逻辑(PL)内部实现了一个标准的JTAG测试…

机器视觉系统:PVC片材表面缺陷检测的锐利“眼睛”

PVC片材作为一种广泛应用于建筑、包装、医疗等领域的塑料材料,其表面质量对于产品的性能和使用寿命至关重要。然而,在生产过程中,PVC片材可能会出现多种表面缺陷,如划痕、污渍、气泡、压痕等。为了确保产品质量,机器视…

亚信安慧AntDB:数据库性能新高度

亚信安慧AntDB秉持着为客户提供最佳数据库解决方案的理念,不断探索并创新,最近取得了重大的突破。他们成功地研发出一种先进的数据库割接方案,实现了不停服、零故障的数据库割接操作,有效地将替换所带来的业务影响降至最低。 这一…

同旺科技 USB TO SPI / I2C适配器读写24LC128--读写

所需设备: 1、USB 转 SPI I2C 适配器;内附链接 2、24LC128芯片; 适应于同旺科技 USB TO SPI / I2C适配器专业版; 专业版配套软件更新; 直接读取HEX文件,自动完成文件解析; 支持芯片&#xf…

书生·浦语大模型实战训练营--第二期第六节课--Lagent AgentLego 智能体应用搭建--notebook

一、 大模型的局限性 大模型本身存在下面的几个问题:幻觉(虚假信息,不符合实际)、时效性(训练数据过时,不能实时更新)、可靠性(对于复杂任务,可能错误输出) …

K-means和DBSCAN

目录 一、K-means和DBSCAN之间的主要区别 二、DBSCAN聚类算法 2.1DBSCAN聚类算法实现点集数据的聚类 2.2DBSCAN聚类算法实现鸢尾花数据集的聚类 三、K-means聚类算法 3.1K-means聚类算法实现随机数据的聚类 3.2K-means聚类算法实现鸢尾花数据集的聚类 一、K-means和DBSC…

【点云语义分割】弱监督点云语义分割-双教师指导的对比学习

Weakly Supervised Learning for Point Cloud Semantic Segmentation With Dual Teacher 摘要: 为了增强特征学习能力,我们在这项工作中引入了双教师指导的对比学习框架,用于弱监督点云语义分割。双教师框架可以减少子网络耦合,促…

LeetCode - 283.移动零

题目链接&#xff1a; LeetCode - 283.移动零 题目分析&#xff1a; ​​​​​ 题解代码&#xff1a; #include<iostream> #include<vector> using namespace std;class Solution { public:void moveZeroes(vector<int>& nums) {for (int cur 0, des…

4步生成高质量图像,Stable Diffusion WebUI 1.9.0来了!

上周Stable Diffusion WebUI正式发布了1.9.0版本&#xff0c;我也第一时间把AutoDL镜像升级到了最新版本&#xff0c;有几个比较重要的更新再和大家同步下。 1、为SDXL-Lightning模型使用SGM统一调度器 SDXL-Lightning由字节跳动开源&#xff0c;是一款闪电般的快速文生图模型…

插入排序的可视化实现(Python)

插入排序的Python代码 import tkinter as tk import random import timeclass InsertionSortVisualizer:def __init__(self, root, canvas_width800, canvas_height400, num_bars10):self.root rootself.canvas_width canvas_widthself.canvas_height canvas_heightself.nu…

【从浅学到熟知Linux】基础IO第三弹=>文件系统介绍、软链接与硬链接(含磁盘结构、文件系统存储原理、软硬链接的创建、原理及应用详解)

&#x1f3e0;关于专栏&#xff1a;Linux的浅学到熟知专栏用于记录Linux系统编程、网络编程等内容。 &#x1f3af;每天努力一点点&#xff0c;技术变化看得见 文章目录 理解文件系统物理角度认识磁盘逻辑角度认识磁盘磁盘寻址磁盘中的寄存器 磁盘存储管理 软链接与硬链接软链接…

60.网络游戏逆向分析与漏洞攻防-利用数据包构建角色信息-根据数据包内容判断数据包作用

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 如果看不懂、不知道现在做的什么&#xff0c;那就跟着做完看效果 现在的代码都是依据数据包来写的&#xff0c;如果看不懂代码&#xff0c;就说明没看懂数据包…