【AIGC】MimicMotion:姿态引导的高质量人体运动视频生成技术

本文主要是介绍【AIGC】MimicMotion:姿态引导的高质量人体运动视频生成技术,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

资源

论文:https://arxiv.org/pdf/2406.19680

github:https://github.com/Tencent/MimicMotion

comfyui:https://github.com/kijai/ComfyUI-MimicMotionWrapper

核心要点

1. confidence-aware pose guidance可以确保高质量视频和时间维度上的帧与帧之间的平滑

2. 区域损失,减少了图像失真

3. 渐进式潜在空间融合策略

数据准备

视频数据集包括大量人物动作,利用预先训练过的图像到图像的视频模型的强大能力,数据集不需要过大,因为预先训练的模型已经有很好的先验。

数据集中的每个视频由三部分组成:

1.参考图(I_{ref})

2.一组视频序列

3.序列相对应的动作

预处理部分

视频序列调整大小和裁剪为了获取固定比率的视频,参考图是在相同视频中随机选取的,参考图会以同样的方式做预处理,pose数据是通过DWPose库提取的。

亮点

利用了预训练的svd视频生成模型,可以大大减少训练数据集的大小和算力的要求。

网络结构

参考图片进入扩散模型会有两个分支,一是UNet的每个块。通过一个视觉编码器CLIP,可以将提取到的特征喂入每个UNet的交叉注意力用于控制最终输出。二是变为输入的潜在特征,使用冻结的VAE编码器获取潜在空间的表示。参考图片被重复编码多次,主要为了与输入序列帧对齐。并将两者堆叠送入UNet。

作者直接将帧序列中提取到Pose序列加到UNet的第一个卷积输出层,而没有加入到每个UNet块

有两个原因

a) 序列姿势逐帧提取,没有任何时间交互,因此当 U-Net 直接对这些层产生影响时,它可能会混淆 U-Net 中的时空层;  b) 姿势序列的过度参与可能会降低预训练的图像到视频模型的性能。

关键点详解

Confidence-aware pose guidance

 将姿势和关键点的置信度分数集成到它们各自的绘图颜色中。这意味着我们将分配给每个关键点和肢体的颜色乘以其置信度分数。因此,具有较高置信度分数的关键点和相应的肢体在姿势引导图上会显得更显著。该方法使模型能够在其指导中优先考虑更可靠的姿态信息,从而提高姿态引导生成的整体精度。

 比较清晰的姿态,颜色会更深一些。

Hand region enhancement 

 

此外,我们采用姿态估计和相关置信度分数来缓解基于区域的伪影,例如手部失真,这在基于扩散的图像和视频生成模型中很普遍。具体来说,我们通过阈值关键点置信度分数来识别可靠的区域。通过设置阈值,我们可以区分自信检测到的关键点和由于遮挡或运动模糊等因素可能模糊或不正确的关键点。置信度分数高于阈值的关键点被认为是可靠的。我们实现一种基于置信阈值生成掩码的屏蔽策略。我们揭开置信度分数超过预定义阈值的区域,从而识别可靠的区域。在计算视频扩散模型的损失时,未掩蔽区域对应的损失值按一定比例放大,因此与其他掩蔽区域相比,它们对模型训练的影响更大。

具体来说,为了减轻手部失真,我们使用手部区域中关键点的置信度阈值计算掩码。只有所有超过此阈值的关键点置信度分数的手被认为是可靠的,因为更高的分数与更高的视觉质量相关。然后,我们通过填充这些关键点的边界来构造手周围的边界框,并将封闭的矩形指定为未屏蔽的。在视频扩散模型训练期间,该区域随后在损失计算中被分配了更大的权重。这种选择性揭露和加权过程使模型对手的学习偏向,尤其是视觉质量较高的手,有效地减少了失真,提高了生成内容的整体真实感。

推理阶段

在推理阶段,一段长视频会采用重叠帧技术进行潜在空间渐进式融合,权重与重叠帧和非重叠帧的距离有关。

 可视化权重表示图

实现细节

数据集有4436个人物跳舞视频,每个时长20s。采用了预训练的SVD1.1权重。PoseNet是从头开始训练的,我们在8卡A100(40G)上训练了20轮,每个设备上的batch_size为1。学习率是10-5并且针对前500个迭代步数有一个warmup的调整策略。我们调整了UNet和PoseNet的所有参数。

这篇关于【AIGC】MimicMotion:姿态引导的高质量人体运动视频生成技术的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

C#使用Spire.XLS快速生成多表格Excel文件

《C#使用Spire.XLS快速生成多表格Excel文件》在日常开发中,我们经常需要将业务数据导出为结构清晰的Excel文件,本文将手把手教你使用Spire.XLS这个强大的.NET组件,只需几行C#... 目录一、Spire.XLS核心优势清单1.1 性能碾压:从3秒到0.5秒的质变1.2 批量操作的优雅

Python中高级文本模式匹配与查找技术指南

《Python中高级文本模式匹配与查找技术指南》文本处理是编程世界的永恒主题,而模式匹配则是文本处理的基石,本文将深度剖析PythonCookbook中的核心匹配技术,并结合实际工程案例展示其应用,希... 目录引言一、基础工具:字符串方法与序列匹配二、正则表达式:模式匹配的瑞士军刀2.1 re模块核心AP

Python使用python-pptx自动化操作和生成PPT

《Python使用python-pptx自动化操作和生成PPT》这篇文章主要为大家详细介绍了如何使用python-pptx库实现PPT自动化,并提供实用的代码示例和应用场景,感兴趣的小伙伴可以跟随小编... 目录使用python-pptx操作PPT文档安装python-pptx基础概念创建新的PPT文档查看

在ASP.NET项目中如何使用C#生成二维码

《在ASP.NET项目中如何使用C#生成二维码》二维码(QRCode)已广泛应用于网址分享,支付链接等场景,本文将以ASP.NET为示例,演示如何实现输入文本/URL,生成二维码,在线显示与下载的完整... 目录创建前端页面(Index.cshtml)后端二维码生成逻辑(Index.cshtml.cs)总结

Python实现数据可视化图表生成(适合新手入门)

《Python实现数据可视化图表生成(适合新手入门)》在数据科学和数据分析的新时代,高效、直观的数据可视化工具显得尤为重要,下面:本文主要介绍Python实现数据可视化图表生成的相关资料,文中通过... 目录前言为什么需要数据可视化准备工作基本图表绘制折线图柱状图散点图使用Seaborn创建高级图表箱线图热

SQLServer中生成雪花ID(Snowflake ID)的实现方法

《SQLServer中生成雪花ID(SnowflakeID)的实现方法》:本文主要介绍在SQLServer中生成雪花ID(SnowflakeID)的实现方法,文中通过示例代码介绍的非常详细,... 目录前言认识雪花ID雪花ID的核心特点雪花ID的结构(64位)雪花ID的优势雪花ID的局限性雪花ID的应用场景

Django HTTPResponse响应体中返回openpyxl生成的文件过程

《DjangoHTTPResponse响应体中返回openpyxl生成的文件过程》Django返回文件流时需通过Content-Disposition头指定编码后的文件名,使用openpyxl的sa... 目录Django返回文件流时使用指定文件名Django HTTPResponse响应体中返回openp

springboot自定义注解RateLimiter限流注解技术文档详解

《springboot自定义注解RateLimiter限流注解技术文档详解》文章介绍了限流技术的概念、作用及实现方式,通过SpringAOP拦截方法、缓存存储计数器,结合注解、枚举、异常类等核心组件,... 目录什么是限流系统架构核心组件详解1. 限流注解 (@RateLimiter)2. 限流类型枚举 (