【动画视频生成】

转自:机器之心

动画视频生成这几天火了,这次 NUS、字节的新框架不仅效果自然流畅,还在视频保真度方面比其他方法强了一大截。

最近,阿里研究团队构建了一种名为 Animate Anyone 的方法,只需要一张人物照片,再配合骨骼动画引导,就能生成自然的动画视频。不过,这项研究的源代码还没有发布。

 让钢铁侠动起来。

其实在 Animate Anyone 这篇论文出现在 arXiv 上的前一天,新加坡国立大学 Show 实验室和字节联合做了一项类似的研究。他们提出了一个基于扩散的框架 MagicAnimate,旨在增强时间一致性、忠实地保留参考图像并提升动画保真度。并且,MagicAnimate 项目是开源的,目前推理代码和 gradio 在线 demo 已经发布。

  • 论文地址:https://arxiv.org/pdf/2311.16498.pdf

  • 项目地址:https://showlab.github.io/magicanimate/

  • GitHub 地址:https://github.com/magic-research/magic-animate

为了实现上述目标,研究者首先开发了一个视频扩散模型来编码时间信息。接着为了保持跨帧的外观连贯性,他们引入了新颖的外观编码器来保留参考图像的复杂细节。利用这两个创新,研究者进一步使用简单的视频融合技术来保证长视频动画的平滑过渡。

实验结果表明,MagicAnimate 在两项基准测试上均优于基线方法。尤其在具有挑战性的 TikTok 跳舞数据集上,本文方法在视频保真度方面比最强基线方法高出 38%以上。

我们来看以下几个 TikTok 小姐姐的动态展示效果。

除了跳舞的 TikTok 小姐姐之外,还有「跑起来」的神奇女侠。

戴珍珠耳环的少女、蒙娜丽莎都做起了瑜伽。

除了单人,多人跳舞也能搞定。

与其他方法比较,效果高下立判。

接下来介绍 MagicAnimate 的方法和实验结果。

方法概览

给定参考图像 I_ref 和运动序列,其中 N 是帧数。MagicAnimate 旨在合成连续视频

。其中出现画面 I_ref,同时遵循运动序列。现有基于扩散模型的框架独立处理每个帧,忽略了帧之间的时间一致性,从而导致生成的动画存在「闪烁」问题。

为了解决该问题,该研究通过将时间注意力(temporal attention)块合并到扩散主干网络中,来构建用于时间建模的视频扩散模型

此外,现有工作使用 CLIP 编码器对参考图像进行编码,但该研究认为这种方法无法捕获复杂细节。因此,该研究提出了一种新型外观编码器(appearance encoder),将 I_ref 编码到外观嵌入 y_a 中,并以此为基础对模型进行调整。

MagicAnimate 的整体流程如下图 2 所示,首先使用外观编码器将参考图像嵌入到外观嵌入中,然后再将目标姿态序列传递到姿态 ControlNet中,以提取运动条件

在实践中,由于内存限制,MagicAnimate 以分段的方式处理整个视频。得益于时间建模和强大的外观编码,MagicAnimate 可以在很大程度上保持片段之间的时间和外观一致性。但各部分之间仍然存在细微的不连续性,为了缓解这种情况,研究团队利用简单的视频融合方法来提高过渡平滑度。

如图 2 所示,MagicAnimate 将整个视频分解为重叠的片段,并简单地对重叠帧的预测进行平均。最后,该研究还引入图像 - 视频联合训练策略,以进一步增强参考图像保留能力和单帧保真度。

实验及结果

实验部分,研究者在两个数据集评估了 MagicAnimate 的性能,分别是 TikTok 和 TED-talks。其中 TikTok 数据集包含了 350 个跳舞视频,TED-talks 包含 1,203 个提取自 YouTube 上 TED 演讲视频的片段。

首先看定量结果。下表 1 展示了两个数据集上 MagicAnimate 与基线方法的定量结果比较,其中表 1a 显示在 TikTok 数据集上,本文方法在 L1、PSNR、SSIM 和 LPIPS 等重建指标上超越了所有基线方法。

表 1b 显示在 TED-talks 数据集上,MagicAnimate 在视频保真度方面也更好,取得了最好的 FID-VID 分数(19.00)和 FVD 分数(131.51)。

再看定性结果。研究者在下图 3 展示了 MagicAnimate 与其他基线方法的定性比较。本文方法实现了更好的保真度,展现了更强的背景保留能力, 这要归功于从参考图像中提取细节信息的外观编码器。

研究者还评估了 MagicAnimate 的跨身份动画(Cross-identity animation),以及与 SOTA 基线方法的比较,即 DisCo 和 MRAA。具体来讲,他们从 TikTok 测试集中采样了两个 DensePose 运动序列,并使用这些序列对其他视频的参考图像进行动画处理。

下图 1 显示出 MRAA 无法泛化到包含大量不同姿态的驱动视频,而 DisCo 难以保留参考图像的细节。相比之下,本文方法忠实地为给定目标运动的参考图像设置动画,展示了其稳健性。

最后是消融实验。为了验证 MagicAnimate 中设计选择的有效性,研究者在 TikTok 数据集上进行了消融实验,包括下表 2 和下图 4 中有无时间建模、外观编码器、推理阶段视频融合以及图像 - 视频联合训练等。

MagicAnimate 的应用前景也很广。研究者表示,尽管仅接受了真实人类数据的训练,但它展现出了泛化到各种应用场景的能力,包括对未见过的领域数据进行动画处理、与文本 - 图像扩散模型的集成以及多人动画等。

更多细节请阅读原论文。

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

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

相关文章

数据结构与算法教程,数据结构C语言版教程!(第一部分、数据结构快速入门,数据结构基础详解)二

第一部分、数据结构快速入门,数据结构基础详解 数据结构基础,主要研究数据存储的方式。 本章作为数据结构的入门课程,主要让读者明白,数据结构到底是什么,常用的数据存储结构有哪些,数据结构和算法之间到底…

钉钉机器人接入定时器(钉钉API+XXL-JOB)

钉钉机器人接入定时器(钉钉APIXXL-JOB) 首先需要创建钉钉内部群 在群设置中找到机器人选项 选择“自定义”机器人 通过Webhook接入自定义服务 创建完成后会生成一个send URL和一个加签码 下面就是干货 代码部分了 DingDingUtil.sendMessageByText(webho…

【Python】ubuntu python>3.9编译安装,及多个Python版本并存的使用方法

【Python】ubuntu python3.9编译安装,及多个Python版本并存的使用方法 1. 安装依赖2. 编译与安装2.1 依赖与源获取2.2 配置2.3 编译2.4 安装2.5 链接动态库 3. 多版本兼容 1. 安装依赖 更新系统软件 在正式开始之前,建议首先检查系统软件是否均为最新&a…

构建高效数据中台:集群规划与搭建的最佳实践指南

架构设计 Rack(机架)配置建议 大数据集群规划 安装细节见配套文档 YARN资源管理平台队列调度策略 Capacity Scheduler 默认配置下,Capacity Scheduler 将尝试保证每个队列在其分配的容量内公平地使用资源。 然而,Hadoop 也支持通过调整队列的权重和使用抢占策略来优化资…

《Spring Cloud学习笔记:微服务保护Sentinel》

Review 解决了服务拆分之后的服务治理问题:Nacos解决了服务治理问题OpenFeign解决了服务之间的远程调用问题网关与前端进行交互,基于网关的过滤器解决了登录校验的问题 流量控制:避免因为突发流量而导致的服务宕机。 隔离和降级&#xff1a…

微信小程序开发系列-04获取用户图像和昵称

这个功能的实现对于我这个新手来说可谓是一波三折。该功能的实现经历了三个“版本”的迭代,我的运气不是很好,从第一个“版本”开始尝试,这篇文章也是记录下这个过程,以便其他新手能快速找到解决方案。 Gen1-getUserInfo 第一个…

音视频学习(二十二)——rtmp发流(tcp方式)

前言 本文主要介绍自研的RtmpStreamSender.dll,rtmp库提供接口接收裸流数据,支持将裸流数据封装为flv格式并通过rtmp协议发流。 关于rtmp协议基础介绍可查看:https://blog.csdn.net/www_dong/article/details/131026072 关于rtmp收流介绍可…

可视化云监控/安防监控系统EasyCVR视频管理平台播流失败的原因(端口篇)

安防视频监控EasyCVR平台兼容性强,可支持的接入协议众多,包括国标GB28181、RTSP/Onvif、RTMP,以及厂家的私有协议与SDK,如:海康ehome、海康sdk、大华sdk、宇视sdk、华为sdk、萤石云sdk、乐橙sdk等。平台能将接入的视频…

XIAO ESP32S3之物体检测加入视频流

一、前言 由于XIAO ESP32S3开发套件没有显示屏配件,因此加入http视频流功能,可通过浏览器请求ESP32S3上的视频流。 二、思路 1、XIAO ESP32S3启动后通过wifi连接到AP; 2、启动http服务器,注册get_mjpeg处理函数; 3…

ChatGPT在地学、GIS、气象、农业、生态、环境等领域中的高级应用

目录 ​专题一 开启大模型 专题二 基于ChatGPT大模型提问框架 专题三 基于ChatGPT大模型的数据清洗 专题四 基于ChatGPT大模型的统计分析 专题五 基于ChatGPT大模型的机器学习 专题六 基于ChatGPT大模型的科研绘图 专题七 基于ChatGPT大模型的GIS应用 专题八 基于基于C…

FTP原理与配置

FTP是用来传送文件的协议。使用FTP实现远程文件传输的同时,还可以保证数据传输的可靠性和高效性。 FTP的应用 FTP 提供了一种在服务器和客户机之间上传和下载文件的有效方式。在企业网络中部署一台FTP服务器,将网络设备配置为FTP客户端,则可…

在Ubuntu20.04配置PX4环境

目录 1.下载PX4源码2.安装PX4所有工具链3.编译PX4工程1.下载PX4源码 打开Ubuntu,Ctrl+Alt+T打开终端输入下面代码: git clone https://github.com/PX4/PX4-Autopilot.git --recursive出现上图中出现“Command ‘git’ not found, but can be installed with”,使用以下代码…

蓝桥杯嵌入式KEY

1.按键原理图 2.按键GPIO引脚设置成输入,上拉模式 3.设置TIM4时钟源为外部时钟源 PSC为80-1 Period为10000-1 打开NVIC 中断时间为10ms 4.在bsp文件中添加interrupt.c文件 5.按键单击代码 6.长按键 7.按键过程和显示过程

c语言结构体(初阶)

1. 结构体的声明 1.1 结构体的基础知识 结构是一些值的集合,这些值被称为成员变量。结构的每个成员可以是不同类型的变量。 1.2 结构的声明 struct tag {member - list; }variable-list; 例:描述一个人的信息:名字电话性别身高 //声明的…

深入浅出:分布式、CAP 和 BASE 理论(荣耀典藏版)

大家好,我是月夜枫,一个漂泊江湖多年的 985 非科班程序员,曾混迹于国企、互联网大厂和创业公司的后台开发攻城狮。 在计算机科学领域,分布式系统是一门极具挑战性的研究方向,也是互联网应用中必不可少的优化实践&…

LabVIEW利用视觉引导机开发器人精准抓取

LabVIEW利用视觉引导机开发器人精准抓取 本项目利用单目视觉技术指导多关节机器人精确抓取三维物体的技术。通过改进传统的相机标定方法,结合LabVIEW平台的Vision Development和Vision Builder forAutomated Inspection组件,优化了摄像系统的标定过程&a…

ROS学习记录:如何在Github上寻找并安装软件包

一、打开网页输入www.github.com 二、进入github界面 三、打开一个终端,输入mkdir catkin_ws1建立一个工作空间 四、使用cd catkin_ws1进入工作空间 五、使用mkdir src创建一个子目录src就是source,原始资料的意思,指的就是程序源代码这类资源材料&#…

小机器人,电子锁,牙刷,表类开关,磁阀开关等一些安防直流驱动的选型介绍分析

安防监控是一门被人们日益重视的新兴行业,就目前发展来看,应用普及程度越来越广,科技含量也越来越高,几乎所有高新科技都可促进其发展,尤其是信息时代的来临,更为该行业的发展提供契机。其中安防领域最为典…

electron 菜单栏打开指定url页面菜单实现方法

electron 菜单栏打开指定url页面菜单 可以是本地URL也可以是远程的URL 自动判断跳转 以下代码可以在主进程main.js里面也可以是在独立的模块文件里面 const { BrowserWindow } require(electron);//定义窗口加载URL export const winURL process.env.NODE_ENV development …

Android原生实现单选

六年前写的一个控件,一直没有时间总结,趁年底不怎么忙,整理一下之前写过的组件。供大家一起参考学习。废话不多说,先上图。 一、效果图 实现思路使用的是radioGroup加radiobutton组合方式。原理就是通过修改RadioButton 的backgr…