【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

相关文章

Vue3视频播放组件 vue3-video-play使用方式

《Vue3视频播放组件vue3-video-play使用方式》vue3-video-play是Vue3的视频播放组件,基于原生video标签开发,支持MP4和HLS流,提供全局/局部引入方式,可监听... 目录一、安装二、全局引入三、局部引入四、基本使用五、事件监听六、播放 HLS 流七、更多功能总结在 v

k8s admin用户生成token方式

《k8sadmin用户生成token方式》用户使用Kubernetes1.28创建admin命名空间并部署,通过ClusterRoleBinding为jenkins用户授权集群级权限,生成并获取其t... 目录k8s admin用户生成token创建一个admin的命名空间查看k8s namespace 的

Java中的Schema校验技术与实践示例详解

《Java中的Schema校验技术与实践示例详解》本主题详细介绍了在Java环境下进行XMLSchema和JSONSchema校验的方法,包括使用JAXP、JAXB以及专门的JSON校验库等技术,本文... 目录1. XML和jsON的Schema校验概念1.1 XML和JSON校验的必要性1.2 Sche

Vue3 如何通过json配置生成查询表单

《Vue3如何通过json配置生成查询表单》本文给大家介绍Vue3如何通过json配置生成查询表单,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录功能实现背景项目代码案例功能实现背景通过vue3实现后台管理项目一定含有表格功能,通常离不开表单

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)总结