Follow-Your-Click——点选图像任意区域对象使用短提示语即可生成视频

简介

“I2V”(图像到视频生成)旨在将静态图像转换为具有合理动作的动态视频剪辑,在电影制作、增强现实和自动广告等领域有广泛应用。然而,现有的I2V方法存在一些问题,例如缺乏对图像中需要移动的部分的精准控制,生成的视频整体场景移动,以及数据集忽视物体运动等。

本文提出了一种名为"Follow-Your-Click"的更实用和可控的I2V模型,通过用户点击和短暂的动作提示来实现区域图像动画。为了简化用户交互和提高生成性能,该模型首先利用SAM将用户点击转换为二进制区域掩码,并引入了有效的首帧掩码策略以正确学习时间相关性。为了使模型能够更好地跟随短暂的提示,作者构建了一个名为WebVid-Motion的数据集,并设计了一个增强模块来适应该数据集并提高模型对动作相关词语的响应能力。此外,还提出了一种基于光流的运动幅度控制方法,以更准确地学习运动速度。

通过这些设计,"Follow-Your-Click"方法在八个不同的评估指标上取得了显著的结果,并且可以通过多次点击实现对多个对象和运动类型的控制。此外,该方法还可以与其他控制信号(如人体骨骼)集成,实现更精细的运动控制。

这一方法的提出填补了现有I2V方法的一些空白,为实现更高质量、更可控的图像到视频生成提供了新的思路和方法。
在这里插入图片描述

图像到视频

图像到视频生成需要在保持输入图像身份的同时创建连贯视频之间取得平衡。早期的物理模拟方法集中于模拟某些对象的运动,但由于每个对象类别的单独建模,导致泛化性差。基于深度学习的GAN方法可以合成更自然的运动。基于掩码的方法可以预测未来的视频帧,保持输入图像身份的一致性。目前主流的扩散方法可以使用视频扩散模型生成帧。商业大型模型可以在现实图像领域中提供令人印象深刻的结果,但无法实现区域图像动画和精确控制。我们的方法具有简单的交互、运动增强学习和更好的生成质量等独特优势。

算法架构

潜扩散模型

潜在扩散模型(LDM)是一种骨干生成模型,它重新表述了扩散和去噪过程,通过在潜在表示空间中操作来实现。具体来说,LDM包括编码器(E)和解码器(D),以及一个U-Net结构,通过以下目标进行训练:

  1. 重构目标:通过编码器E将原始像素空间图像x压缩为低分辨率的潜在特征z,然后通过解码器D将潜在特征z重构为图像D(z)。该重构目标旨在使解码器D能够准确地恢复原始图像,以确保潜在空间中的表示包含足够的信息以重建图像。

  2. 扩散目标:通过训练U-Net结构来学习对潜在特征空间中的扩散操作。U-Net结构是一种常用的神经网络结构,具有编码器和解码器,可用于图像分割和重建等任务。通过扩散目标,模型学习将低分辨率的潜在特征映射到更高分辨率的表示,以提高图像的质量。

我们选择潜在扩散模型(LDM)作为骨干生成模型。LDM在潜在表示空间中重新表述了扩散和去噪过程。首先,编码器E将像素空间图像x压缩为低分辨率潜在特征z,可以通过解码器D将其从潜在特征重构为图像D(z)。然后,通过以下目标训练U-Net:
在这里插入图片描述
经过训练,我们可以通过逐步去噪从随机高斯噪声z t和文本嵌入p中生成一个干净的图像潜在表示z 0,然后通过D将潜在表示解码到像素空间。

视频潜扩散模型

通过合并时间运动模块,我们可以将潜在扩散模型扩展到视频版本(VDM)。在这个过程中,空间模块的权重使用预训练的图像潜在扩散模型(LDM)进行初始化,并在训练过程中进行冻结。具体步骤如下:

  1. 逐帧编码:给定一个视频x,首先将其逐帧输入到图像潜在扩散模型(LDM)的编码器中,得到每一帧的潜在空间表示,构成视频的潜在空间表示z。

  2. 前向扩散和后向去噪:在得到视频的潜在空间表示后,我们在该潜在空间中进行前向扩散过程和后向去噪过程。这些过程旨在利用时间信息来改进每一帧的表示,使得生成的视频更加连贯和真实。

  3. 解码生成视频:最后,通过解码器将经过扩散和去噪处理的潜在空间表示解码为生成的视频。解码器接收处理后的潜在空间表示,并将其转换为视频序列,完成生成过程。

算法实现

问题建模

给定一个静态图像,我们的目标是对用户选择的区域进行动画处理,创建一个短视频片段,展示真实的运动,同时保持图像的其余部分静止。任务形式上,给定输入图像 I、点提示 p 和所需运动的短运动相关动词描述 t,生成目标动画视频 v。将该任务分解为几个子问题,包括提高局部感知区域动画的生成质量、实现短运动提示控制生成和运动幅度可控生成。需要注意,目标区域用于选择动画对象,而不是在后续帧中限制生成对象的运动。换句话说,对象不受限制地停留在指定的区域内,必要时可以移动到指定区域之外。

在用户交互和控制方面,给定用户想要动画的输入图像,我们提供了一个直观的交互方式。用户可以先选择图像中需要移动的部分,然后用文字提示来描述想要的移动模式。为了提供更友好的用户体验,我们采用了点提示符而不是二进制掩码。此外,为了简化用户交互过程,我们使用了简短的动作提示,只使用动词词或简短短语。为了实现这一点,我们集成了 Semantic Alignment Module (SAM),将提示点 p 转换为高质量的对象蒙版 m。为了确保简短的提示能够快速有效地被识别并生成相应的动画,我们提出了一个运动增强模块,以实现提示的准确跟随。

局部图像动画

基于光流的运动掩码生成
基于光流的运动掩模生成用于训练视频区域动画模型。通过使用光流预测模型自动生成运动区域的二进制掩码,解决了在具有大运动区域的情况下缺乏相应二进制掩码指导的问题。在训练过程中,使用生成的掩码来表示地面真实视频的运动区域。在推理过程中,将用户的点击转换为二进制掩码,并将其馈送到网络中。同时,还研究了条件掩码的泛化能力。
在这里插入图片描述
第一帧掩码训练
在训练过程中,通过随机掩盖输入图像的潜在嵌入来增强条件信息,从而更好地学习时间相关性。实验表明,随机掩盖输入图像的潜在嵌入可以显著提高生成视频片段的质量。同时,本文采用了v-prediction参数化方法进行训练,以提高采样稳定性。
在这里插入图片描述

时序运动控制

  1. 短片字幕构造

    • 通过构建WebVid-Motion数据集,利用GPT-4对WebVid-10M数据集进行过滤和重新标注。这个数据集包含50个样本,每个样本都包含原始提示、对象以及它们的简短动作相关描述。通过这种方式,系统能够学习和理解用户提供的短提示,从而更好地跟踪用户的意图。
  2. 运动增强模块

    • 设计了运动增强模块,旨在进一步感知运动提示,提高模型对运动相关提示的响应能力。该模块在每个运动模块块中插入一个新的交叉注意力层,以便模型能够更好地关注与运动相关的信息。在训练过程中,系统使用与运动相关的短短语来训练该模块,而在推理过程中,这些短语被输入到运动增强模块和U-Net中的交叉注意力模块中。
  3. 基于光流的运动强度控制

    • 由于运动强度与FPS之间的关系不是线性的,并且由于视频拍摄风格的差异,FPS和运动强度之间可能存在显著差异。为了解决这个问题,系统提出使用光流的大小作为控制运动强度的手段。通过计算运动最显著区域的光流平均大小,并将其投影到位置嵌入中,并添加到残差块中的每个帧,以确保在所有帧中一致地应用运动强度。

实验与测

实现细节

空间模块使用了稳定扩散(SD)V1.5,动态模块使用了相应的AnimateDiff V2。训练过程包括在WebVid-10M数据集上进行60k步的训练,然后在重建的WebVidMotion数据集上进行30k步的微调。训练视频的分辨率为512×512,每个视频有16帧,步长为4。整个框架使用Adam优化器在8个NVIDIA A800 GPU上进行了三天的训练,批大小为32。学习率设置为1×10-4以获得更好的性能。在推理过程中,使用DDIM采样器和无分类器引导的比例为7.5。

与SOTA比较

定性结果。结果表明,本方法在保留图像细节和响应短动作提示方面表现更好,而其他方法则存在一些问题,如生成的视频帧不一致、失去图像细节、产生严重的扭曲和文本对齐问题等。该方法在生成一致的结果方面表现出色,即使存在大的动作也能很好地处理。
在这里插入图片描述
定量结果方面,使用了五个评估指标进行测试:

  1. I1-MSE:衡量生成的第一帧图像与给定图像之间的一致性。

  2. 时间一致性(Tem-Consis):评估生成视频的时间连贯性,通过计算在CLIP嵌入空间中连续生成帧之间的余弦相似度来衡量。

  3. 文本对齐(Text-Align):衡量生成的视频与输入的短动作提示之间的语义对齐程度,通过计算使用CLIP文本和图像编码器提取的特征之间的相似度得分来衡量。

  4. FVD:使用来自MSRVTT的1024个样本报告Frechet Video Distance来评估整体生成性能。

  5. 用户研究:在四个不同的方面进行用户研究。包括:

    • Mask-Corr:评估区域动画和引导掩码的对应关系。
    • Motion:评估生成动作的质量。
    • Appearance:衡量生成的第一帧图像与给定图像的一致性。
    • Overall:评估生成视频的主观质量。

通过对32个受试者对不同方法在这四个方面进行排名来进行用户研究。这些指标和用户研究旨在全面评估生成视频的质量、连贯性和用户满意度。
在这里插入图片描述
研究结果表明,与基线方法相比,我们的方法在视频文本对齐和时间连贯性方面取得了最佳性能。在用户研究方面,与商业产品相比,我们的方法在时间连贯性和输入一致性方面表现出色,同时展现出更好的动作质量。

消融分析

输入图像掩码比例:本文研究了第一帧掩码策略和输入图像不同掩码比率对训练的影响。实验结果表明,70%的掩码比率可以获得最佳性能。没有第一帧掩码的训练会导致模型无法学习正确的时间运动和结构。同时,实验结果还表明,第一帧可以在生成过程中被合理地重建,生成的视频与输入图像保持良好的背景一致性。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
**运动增强模块:**为研究数据集和运动增强(MA)模块的作用,本文研究了多个变体。1)w/o D+M,应用AnimateDiff中设计的基本运动模块,并在WebVid-10M上对模型进行微调。2)我们的w/o D,在训练阶段,我们只使用公开的WebVid-10M来优化所提出的方法。MA模块的输入为WebVid-10M的原始提示。3)我们的w/o M,通过移除MA模块。与短动作相关的提示在空间模块中被输入交叉注意力。
我们还在图7中进行了定性比较。“我们的w/o D+M”的性能显著下降,因为它无法在没有短提示的情况下对输入图像进行语义理解,导致生成的视频中出现小运动(见第二栏)。当我们移除MA模块时,它表现出有限的运动幅度。
在这里插入图片描述
我们在表2中报告了所设计模块的定量消融研究,并采用与章节5.2相同的设置来综合评估性能。消除webvideo - motion微调会导致FVD和文本对齐的显著下降。相比之下,完整方法有效地实现了运动自然、帧间连贯的区域图像动画。
在这里插入图片描述
运动幅度控制。我们展示了基于fps和基于flow的运动幅度控制的对比结果。我们观察到使用FPS的运动控制不够精确,而运动控制的光流幅值(OFM)可以有效地管理运动的强度。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

RAFT: Adapting Language Model to Domain Specific RAG

预备知识 RAG介绍一文搞懂大模型RAG应用(附实践案例) - 知乎 (zhihu.com) RAG的核心理解为“检索生成” 检索:者主要是利用向量数据库的高效存储和检索能力,召回目标知识; 生成:利用大模型和Prompt工程…

Android Studio实现内容丰富的安卓校园公告助手

获取源码请点击文章末尾QQ名片联系,源码不免费,尊重创作,尊重劳动 093校园助手 1.开发环境 android stuido3.6 jak1.8 eclipse mysql tomcat 2.功能介绍 具体往下看第三节,功能截图 安卓端: 1.注册登录 2.校园公告列表…

微信小程序订阅消息(一次性订阅消息)

1、准备工作 登录微信公众平台–>订阅消息–>在公共模板库中选中一个模版–>将模版id复制,前后端都需要。 点击详情–>查看详细内容模版 复制给后端 2、相关api的使用 前端使用:wx.requestSubscribeMessage wx.openSetting wx.getSetti…

[Qt学习笔记]QPushButton点击事件和长按事件使用功能

1、背景介绍 在使用QPushButton中,一般都在UI界面直接右键添加槽函数进入代码,很少去分析每个触发事件的功能,比如需要通过长按按钮来触发相应的操作,这里点击信号不可以达到预期的效果。 2、功能分析 首先分析QPushButton的点…

13014.Linux小知识点记录

文章目录 1 工具记录1.1 串口传输文件 1 工具记录 1.1 串口传输文件 打开SecureCRT的串口,执行rx 文件名指令从桌面将可执行文件,拖拽到串口终端即可

计算机三级——网络技术(综合题第二题)

路由器工作模式 用户模式 当通过Console或Telnet方式登录到路由器时,只要输入的密码正确,路由器就直接进入了用户模式。在该模式下,系统提示符为一个尖括号(>)。如果用户以前为路由器输入过名称,则该名称将会显示在尖指号的前…

opengl日记10-opengl使用多个纹理示例

文章目录 环境代码CMakeLists.txt文件内容不变。fragmentShaderSource.fsvertexShaderSource.vsmain.cpp 总结 环境 系统:ubuntu20.04opengl版本:4.6glfw版本:3.3glad版本:4.6cmake版本:3.16.3gcc版本:10.…

【Hadoop】Hadoop 编译源码

目录 为什么要源码编译Hadoop 编译源码1前期工作准备2jar 包安装2.1安装 Maven2.2安装 ant2.3安装 glibc-headers 和 g2.4安装 make 和 cmake2.5安装 protobuf2.6安装 openssl 库2.7安装 ncurses-devel 库 3编译源码3.1解压源码到 /opt/ 目录3.2 进入到 hadoop 源码主目录 /opt…

课时70:流程控制_for循环_嵌套循环

2.4.4 嵌套循环 学习目标 这一节,我们从 基础知识、简单实践、小结 三个方面来学习。 基础知识 简介 这里的嵌套实践,与选择语句的嵌套实践基本一致,只不过组合的方式发生了一些变化。常见的组合样式如下:for嵌套for语句for …

【Android】【Bluetooth Stack】蓝牙电话本协议分析(超详细)

1. 精讲蓝牙协议栈(Bluetooth Stack):SPP/A2DP/AVRCP/HFP/PBAP/IAP2/HID/MAP/OPP/PAN/GATTC/GATTS/HOGP等协议理论 2. 欢迎大家关注和订阅,【蓝牙协议栈】专栏会持续更新中.....敬请期待! 目录 1. 协议简述 1.1 PBAP…

Qt笔记 事件处理_鼠标事件

什么是事件? 点击鼠标左键,双击鼠标左键,鼠标来回移动,按下键盘按钮,这些都是事件。 那么事件的响应机制是什么样的呢? 首先main函数中有一个QApplication,其作用是创建一个应用程序对象&…

11种创造型设计模式(下)

观察者模式 我们可以比喻观察者模式是一种类似广播的设计模式 介绍 观察者模式:对象之间多对一依赖的一种设计方案,被依赖的对象是Subject,依赖的对象是Observer,Subject通知Observer变化。 代码 说明: WeatherStat…

手撕算法-判断是不是二叉搜索树

题目描述 分析 二叉搜索树的特性就是中序遍历是递增序。既然是判断是否是二叉搜索树,那我们可以使用中序递归遍历。只要之前的节点是二叉树搜索树,那么如果当前的节点大于上一个节点值那么就可以向下判断。 如果有出现当前的节点小于上一个节点值&…

Host xxx1 has more disk space than database expected (xxx2 GB > xxx3 GB)

在nova-compute.log中有时会看到日志“Host xxx1 has more disk space than database expected (xxx2 GB > xxx3 GB)”类似日志。 查看下源码,如下: 分析: 定时任务更新主机资源到内存或者对象中,当执行检测的定时任务…

颠覆传统:Web3如何塑造未来的数字经济

引言 近年来,随着数字化时代的到来,互联网已经成为人们生活中不可或缺的一部分。然而,随着技术的不断发展和社会的不断变迁,传统的Web2模式逐渐显露出一些弊端,如数据垄断、隐私泄露等问题,这促使人们寻求…

Linux账号管理与ACL权限设置

文章目录 Linux的账户和用户组用户标识符:UID与GID用户账号用户组:有效与初始用户组groups,newgrp 账号管理新增与删除用户:useradd、相关配置文件、passwd、usermod、userdel用户功能:id、finger、chfn、chsh新增与删…

【文件操作和IO】

文件操作和IO 1.文件2. 硬盘上文件的目录结构3. 文件路径4. 文件重要分类:5. Java中操作文件5.1 Java对于文件操作的API5.2 Java中使用File类来进行文件操作5.3 File类属性5.4 构造方法5.5 方法: 6. 文件内容的读写 -- 文件流(数据流&#xf…

C++ List底层实现

文章目录 前言成员变量成员函数迭代器self& operator()前置self operator(int)后置self operator--()前置--self operator--(int)后置--bool operator!(const self & tmp)判断是否相等T* operator*() 解引用操作 list()初始化iterator begin()iterator end()const_iter…

视频无水印批量下载软件|抖音视频提取工具

视频无水印批量下载软件 在当今社交媒体充斥着大量优质视频内容的时代,很多用户都希望能够轻松下载自己喜爱的视频进行收藏或分享。为了满足用户的需求,我们特别推出了一款专业的视频无水印批量下载软件,让您可以方便快捷地获取喜爱的视频内容…

鸿蒙Harmony应用开发—ArkTS-转场动画(共享元素转场)

当路由进行切换时,可以通过设置组件的 sharedTransition 属性将该元素标记为共享元素并设置对应的共享元素转场动效。 说明: 从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 属性 名称参数参数描述…