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.mzph.cn/news/758259.shtml

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

相关文章

Chain of Verification-CoVe减少LLM中的幻觉现象

Chain-Of-Verification Reduces Hallucination In Large Language Models 在大型语言模型中,产生看似合理但实际上错误的事实信息,即幻觉,是一个未解决的问题。我们研究了语言模型在给出回答时进行深思以纠正错误的能力。我们开发了Chain-of…

深度解析 Android 系统属性

目录 Android系统属性 1.属性在哪里? 2.属性长什么样? 3.如何读写属性: 4.属性的作用 属性文件生成过程 如何添加系统属性 1.添加系统属性到 /system/build.prop 2.添加系统属性到 /vendor/build.prop 3.添加系统属性到 /product/b…

未来教育趋势:AI个性化培训如何推动企业与员工共赢

AI定制学习:重新定义个性化员工培训的未来 随着人工智能(AI)技术的迅猛发展,我们正目睹并亲历了AI在培训领域所引发的根本性变革。AI技术的整合不仅革新了知识传递的模式,而且重新塑造了个性化学习的内涵。依托于尖端算…

《深入Linux内核架构》第2章 进程管理和调度 (4)

目录 2.6 CFS调度类 2.6.1 数据结构 2.6.2 CFS操作 2.6.3 队列操作 2.6.4 选择下一个进程 2.6.5 处理周期性调度器 2.6.6 唤醒抢占 2.6 CFS调度类 即完全公平调度类,用于调度普通进程。 2.6.1 数据结构 struct sched_class fair_sched_class {.next &am…

Restormer: Efficient Transformer for High-Resolution Image Restoration

Abstract 由于卷积神经网络(CNN)在从大规模数据中学习可概括的图像先验方面表现良好,因此这些模型已广泛应用于图像恢复和相关任务。最近,另一类神经架构 Transformer 在自然语言和高级视觉任务上表现出了显着的性能提升。虽然 T…

【安全类书籍-2】Web渗透测试:使用Kali Linux

目录 内容简介 作用 下载地址 内容简介 书籍的主要内容是指导读者如何运用Kali Linux这一专业的渗透测试平台对Web应用程序进行全面的安全测试。作者们从攻击者的视角出发,详细阐述了渗透测试的基本概念和技术,以及如何配置Kali Linux以适应渗透测试需求。书中不仅教授读者…

vulnhub-----SickOS靶机

文章目录 1.信息收集2.curl命令反弹shell提权利用POC 1.信息收集 ┌──(root㉿kali)-[~/kali/vulnhub/sockos] └─# arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:0c:29:10:3c:9b, IPv4: 10.10.10.10 Starting arp-scan 1.9.8 with 256…

邮件客户端 Thunderbird 简单配置

1. 基本情况介绍 原来使用的邮箱客户端是 Office 365 自带的 Outlook 365切换原因:新装电脑,发现原 Outlook 中的账号信息无法迁移,需要耗费大量时间手动配置邮箱使用的邮箱:微软 O365 邮箱、qq 邮箱、163 邮箱、公司私有邮箱 …

北斗卫星引领农机春耕新时代

北斗卫星引领农机春耕新时代 随着现代科技的快速发展,北斗卫星成为了农业领域不可或缺的利器。在农机自动驾驶系统的引领下,农机正逐渐实现自主操作,为农民节省了大量的时间和精力,并最大限度地提高了农作物的产量和质量。 北斗…

MySQL | 内置函数

目录 1. 日期函数 2. 字符串函数 3. 数学函数 4. 其他函数 4.1. USER()查询当前用户 4.2. MD5(STR)对一个字符串进行md5摘要 4.3. DATABASE()显示当前正在使用的数据库 4.4. PASSWORD()函数,MySQL使用该函数对用户进行加密 4.5. IFNULL(VAL1, VAL2)如果VAL1…

window下安装并使用nvm(含卸载node、卸载nvm、全局安装npm)

window下安装并使用nvm(含卸载node、卸载nvm、全局安装npm) 一、卸载node二、安装nvm三、配置路径和下载源四、使用nvm安装node五、nvm常用命令六、卸载nvm七、全局安装npm、cnpm八、遇到的问题 nvm 全名 node.js version management,顾名思义…

Vivado中的五种仿真模式比较

Vivado中的五种仿真模式 在数字电路设计过程中,通常涵盖三个主要阶段:源代码编写、综合处理以及电路的实现,相应地,电路仿真的应用也与这些阶段紧密相关。根据不同设计阶段的需求,仿真可以被划分为RTL行为级仿真、综合…

练习4-权重衰减(李沐函数简要解析)

环境:练习1的环境 代码详解 0.导入库 import torch from torch import nn from d2l import torch as d2l1.初始化数据 这里初始化出train_iter test_iter 可以查一下之前的获取Fashion数据集后的数据格式与此对应 n_train, n_test, num_inputs, batch_size 20, 100, 200, …

三款.NET代码混淆工具比较分析:ConfuserEx、Obfuscar和Ipa Guard

随着.NET应用程序的广泛应用,保护知识产权和防止逆向工程的需求逐渐增长。本文将详细介绍三款知名的.NET代码混淆工具:ConfuserEx、Obfuscar和Ipa Guard,帮助读者全面了解其功能特点和应用场景。 一、ConfuserEx ConfuserEx是一个.NET代码混…

文件太大无法拷贝到u盘怎么办?可能是这个隐藏原因~

有时候我们新买的U盘,明明有64G的存储空间,怎么一个4.5G的视频想保存到U盘里会提示“文件太大”无法保存呢? 常见的U盘格式有FAT、FAT32、NTFS等,其中FAT32不支持存储单个文件体积大于4G的文件。下面教大家如何对U盘格式进行检测呢…

二开飞机机器人群发,实现自动给多个频道发送消息

频道1 频道2 二开代码部分: const CChatIdListprocess.env.CHANNEL_CHAT_ID_LIST; var channelChatIdArray CChatIdList.split(,);channelChatIdArray.forEach(function(item) {console.log(item); // 这里可以替换为您需要对数组中每个值进行的操作bot.sendM…

个人开发App成功上架手机应用市场的关键步骤

目录 1. 苹果审核和APP备案 2. APP上架操作步骤 3. 审核和发布 4. 上线工作 总结 参考资料 在当前移动应用市场竞争激烈的背景下,个人开发App如何成功上架成为开发者们必须面对的重要任务。本文将重点介绍自建App上架至手机应用市场的流程,包括苹果…

String类型详解

1. Java为何要创造String类 在C语言中,是没有String这个类型的,通常使用字符数组中存放一个个字符,再加上最后一个\0来表示/存放一个字符串.也可以使用一个字符指针指向字符串的首元素,直到遇到\0停止,再加上C语言头文件string.h中封装的函数,对于字符串的操作已经够用了. Java…

学完Python的7大就业方向,哪个赚钱最多?

“ 我想学Python,但是学完Python后都能干啥 ?” “ 现在学Python,哪个方向最简单?哪个方向最吃香 ?” “ …… ” 相信不少Python的初学者,都会遇到上面的这些问题。大家都知道Python很吃香,薪资…