UniAnimate:华科提出人类跳舞视频生成新框架,支持合成一分钟高清视频

本文主要是介绍UniAnimate:华科提出人类跳舞视频生成新框架,支持合成一分钟高清视频,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

节前,我们星球组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、参加社招和校招面试的同学。

针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。

合集:

《大模型面试宝典》(2024版) 正式发布!

持续火爆!!!《AIGC 面试宝典》已圈粉无数!


人类跳舞视频生成是一项引人注目且具有挑战性的可控视频合成任务,旨在根据输入的参考图像和目标姿势序列生成高质量逼真的连续视频。随着视频生成技术的快速发展,特别是生成模型的迭代演化,跳舞视频生成任务取得了前所未有的进展,并展示了广泛的应用潜力。

现有的方法可以大致分为两组。第一组通常基于生成对抗网络(GAN),其利用中间的姿势引导表示来扭曲参考外观,并通过之前扭曲的目标生成合理的视频帧。然而,基于生成对抗网络的方法通常存在训练不稳定和泛化能力差的问题,导致明显的伪影和帧间抖动。

第二组则使用**扩散模型(Diffusion model)**来合成逼真的视频。这些方法兼具稳定训练和强大迁移能力的优势,相较于基于 GAN 的方法表现更好,典型方法如 Disco、MagicAnimate、Animate Anyone、Champ 等。

尽管基于扩散模型的方法取得了显著进展,但现有的方法仍存在两个限制:一是需要额外的参考网络(ReferenceNet)来编码参考图像特征并将其与 3D-UNet 的主干分支进行表观对齐,导致增加了训练难度和模型参数;二是它们通常采用时序 Transformer 来建模视频帧之间时序依赖关系,但 Transformer 的复杂度随生成的时间长度成二次方的计算关系,限制了生成视频的时序长度。典型方法只能生成 24 帧视频,限制了实际部署的可能性。尽管采用了时序重合的滑动窗口策略可以生成更长的视频,但团队作者发现这种方式容易导致片段重合连接处通常存在不流畅的转换和外貌不一致性的问题。

为了解决这些问题,来自华中科技大学、阿里巴巴、中国科学技术大学的研究团队提出了 UniAnimate 框架,以实现高效且长时间的人类视频生成

图片

  • 论文地址:https://arxiv.org/abs/2406.01188

  • 项目主页:https://unianimate.github.io/

方法简介

UniAnimate 框架首先将参考图像、姿势指导和噪声视频映射到特征空间中,然后利用**统一的视频扩散模型(Unified Video Diffusion Model)**同时处理参考图像与视频主干分支表观对齐和视频去噪任务,实现高效特征对齐和连贯的视频生成。

其次,研究团队还提出了一种统一的噪声输入,其支持随机噪声输入和基于第一帧的条件噪声输入,随机噪声输入可以配合参考图像和姿态序列生成一段视频,而基于第一帧的条件噪声输入(First Frame Conditioning)则以视频第一帧作为条件输入延续生成后续的视频。通过这种方式,推理时可以通过把前一个视频片段(segment)的最后一帧当作后一个片段的第一帧来进行生成,并以此类推在一个框架中实现长视频生成。

最后,为了进一步高效处理长序列,研究团队探索了基于状态空间模型(Mamba)的时间建模架构,作为原始的计算密集型时序 Transformer 的一种替代。实验发现基于时序 Mamba 的架构可以取得和时序 Transformer 类似的效果,但是需要的显存开销更小。

图片

通过 UniAnimate 框架,用户可以生成高质量的时序连续人类跳舞视频。值得一提的是,通过多次使用 First Frame Conditioning 策略,可以生成持续一分钟的高清视频。与传统方法相比,UniAnimate 具有以下优势:

  • 无需额外的参考网络:UniAnimate 框架通过统一的视频扩散模型,消除了对额外参考网络的依赖,降低了训练难度和模型参数的数量。

  • 引入了参考图像的姿态图作为额外的参考条件,促进网络学习参考姿态和目标姿态之间的对应关系,实现良好的表观对齐。

  • 统一框架内生成长序列视频:通过增加统一的噪声输入,UniAnimate 能够在一个框架内生成长时间的视频,不再受到传统方法的时间限制。

  • 具备高度一致性:UniAnimate 框架通过迭代利用第一帧作为条件生成后续帧的策略,保证了生成视频的平滑过渡效果,使得视频在外观上更加一致和连贯。这一策略也使得用户可以生成多个视频片段,并选取生成结果好的片段的最后一帧作为下一个生成片段的第一帧,方便了用户与模型交互和按需调整生成结果。而利用之前时序重合的滑动窗口策略生成长视频,则无法进行分段选择,因为每一段视频在每一步扩散过程中都相互耦合。

以上这些特点使得 UniAnimate 框架在合成高质量、长时间的人类跳舞视频方面表现出色,为实现更广泛的应用提供了新的可能性。

生成结果示例

1. 基于合成图片进行跳舞视频生成。

图片

图片

2. 基于真实图片进行跳舞视频生成。

图片

图片

3. 基于粘土风格图片进行跳舞视频生成。

图片

图片

4. 马斯克跳舞。‍

图片

5. Yann LeCun 跳舞。

图片

6. 基于其他跨域图片进行跳舞视频生成。

图片

这篇关于UniAnimate:华科提出人类跳舞视频生成新框架,支持合成一分钟高清视频的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1047412

相关文章

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为

在java中如何将inputStream对象转换为File对象(不生成本地文件)

《在java中如何将inputStream对象转换为File对象(不生成本地文件)》:本文主要介绍在java中如何将inputStream对象转换为File对象(不生成本地文件),具有很好的参考价... 目录需求说明问题解决总结需求说明在后端中通过POI生成Excel文件流,将输出流(outputStre

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python GUI框架中的PyQt详解

《PythonGUI框架中的PyQt详解》PyQt是Python语言中最强大且广泛应用的GUI框架之一,基于Qt库的Python绑定实现,本文将深入解析PyQt的核心模块,并通过代码示例展示其应用场... 目录一、PyQt核心模块概览二、核心模块详解与示例1. QtCore - 核心基础模块2. QtWid

最新Spring Security实战教程之Spring Security安全框架指南

《最新SpringSecurity实战教程之SpringSecurity安全框架指南》SpringSecurity是Spring生态系统中的核心组件,提供认证、授权和防护机制,以保护应用免受各种安... 目录前言什么是Spring Security?同类框架对比Spring Security典型应用场景传统

C/C++随机数生成的五种方法

《C/C++随机数生成的五种方法》C++作为一种古老的编程语言,其随机数生成的方法已经经历了多次的变革,早期的C++版本使用的是rand()函数和RAND_MAX常量,这种方法虽然简单,但并不总是提供... 目录C/C++ 随机数生成方法1. 使用 rand() 和 srand()2. 使用 <random