【论文解读】LivePortrait:具有拼接和重定向控制的高效肖像动画

news2025/7/4 16:32:29

📜 文献卡

英文题目: LivePortrait: Efficient Portrait Animation with Stitching and Retargeting Control;
作者: Jianzhu Guo; Dingyun Zhang; Xiaoqiang Liu; Zhizhou Zhong; Yuan Zhang; Pengfei Wan; Di Zhang
DOI: 10.48550/arXiv.2407.03168
摘要翻译: *旨在从单个源图像合成逼真的视频,将其用作外观参考,运动(即面部表情和头部姿势)源自驱动视频、音频、文本或生成。我们没有遵循主流的基于扩散的方法,而是探索和扩展了implicit-keypoint-based框架的潜力,该框架有效地平衡了计算效率和可控性。在此基础上,我们开发了一个名为LivePortrait的视频驱动的肖像动画框架,专注于更好的泛化、可控性和效率以供实际使用。为了增强生成质量和泛化能力,我们将训练数据放大到大约6900万高质量帧,采用混合图像-视频训练策略,升级网络架构,并设计更好的运动转换和优化目标。此外,我们发现紧凑的隐式关键点可以有效地表示一种混合形状,并精心提出了一个拼接和两个重定向模块,它们利用一个计算开销可以忽略不计的小MLP来增强可控性。实验结果证明了我们的框架即使与基于扩散的方法相比也是有效的。在带有PyTorch的RTX 4090 GPU上,生成速度显着达到12.8ms。
Github(pytorch): https://github.com/KwaiVGI/LivePortrait

⚙️ 内容

本文介绍了一种名为LivePortrait的视频驱动肖像动画框架,该框架基于隐式关键点框架,并且在平衡计算效率和可控性方面表现出色。作者采用了混合图像和视频训练策略、升级网络架构以及设计更好的运动变换和优化目标等方法,以提高生成质量和泛化能力。此外,他们还提出了一个拼接和两个重新定位模块,这些模块利用具有微小计算开销的小型MLP,增强了可控制性。实验结果表明,即使与扩散基方法相比,该框架也表现出了出色的效能。生成速度在RTX 4090 GPU上达到了每帧12.8毫秒。并且在各种场景下具有广泛的应用前景,如视频会议、社交媒体和娱乐等。此外,作者还对该技术可能带来的社会风险进行了探讨,并提出了相应的伦理指导原则。

效果图

💡 创新点

  1. 大规模数据集与混合训练策略:通过利用约6900万张高质量肖像图像,结合图片和视频的混合训练策略,LivePortrait提升了模型的泛化能力和生成质量。

  2. 网络架构升级:引入了可指导学习的2D关键点、自适应变形等技术,统一了关键点检测、头姿估计和表情变形等多个子任务的模型,采用ConvNeXt-V2-Tiny作为骨干网络,SPADE解码器作为生成器,像素上采样作为最终层,使得模型更加高效且具有更强的表现力。

  3. 紧凑隐式关键点:发现紧凑的隐式关键点可以有效地表示一种隐式blendshapes,这使得LivePortrait能以极小的计算开销实现精准的控制,如拼接控制。

  4. 拼接与重定向模块:设计了一个拼接模块和两个重定向模块,它们使用小型多层感知机(MLP),几乎不增加计算负担,提高了模型的可控性,实现了更自然、更精细的动画效果。

🧩 不足

  • 跨重演情况下姿势变化较大时的表现不佳,
  • 肩部移动较多的情况下可能会出现抖动等问题

🔁 实验卡

💧 数据

LivePortrait使用了包括VoxCeleb、MEAD和RAVDESS在内的公开视频数据集,以及AAHQ的风格化图像数据集。他们还收集了大量4K分辨率的肖像视频和说话头像视频,以及LightStage数据集中的私有数据。所有数据经过精心筛选和预处理,确保每个片段只包含一个人,并且使用KVQ过滤低质量视频剪辑。

👩🏻‍💻 方法

  1. 第一阶段:基础模型训练

    • 外观和运动提取器(F和M)负责从输入图像中提取外观特征和运动信息。
    • 变形模块(W)生成一个变形场,用于将源特征体积(fs)变形到目标位置。
    • 解码器(G)接收变形后的特征体积并生成最终的动画图像。
    • 训练过程中,模型会学习到如何从源图像的3D外观特征体积(fs)和驱动3D关键点(xd)映射到目标图像。
  2. 混合图像和视频训练

    • 使用混合训练策略,模型不仅在真实人像视频上表现良好,还能有效泛化至风格化肖像,如动漫。
    • 为了兼顾两种数据类型,单张图像被视为单帧视频进行训练。
  3. 网络架构升级

    • 统一了原有的规范隐式关键点检测器(L)、头部姿态估计网络(H)和表达变形估计网络(Δ),形成单一模型(M),其主干网络为ConvNeXt-V2-Tiny。
    • 使用SPADE解码器作为生成器(G),比原来的解码器更强大。
    • 特征体积fs被精巧地送入SPADE解码器,生成动画图像;特征体积的每个通道作为语义图来指导生成过程。
  4. 可扩展的运动变换

    引入缩放因子来优化运动变换,避免将缩放纳入表达变形中,降低训练难度。

  5. 拼接和重定向模块

    • 拼接模块(S)和眼睛、嘴唇重定向模块(Reyes、Rlip)使用小型MLP网络,计算开销极低,但能够有效控制眼睛和嘴唇的动作,同时无缝拼接动画。
    • 在推断过程中,这些模块根据不同的控制参数(αeyes、αlip、αst)决定是否应用拼接或重定向操作。
  6. 训练细节

    • 第一阶段训练从零开始,使用8块NVIDIA A100 GPU,耗时大约10天。
    • 第二阶段仅训练拼接和重定向模块,保持其他参数不变,大约需要2天。
  7. 损失函数

    • 基本损失(LE)
    • 头部姿态损失(LH)
    • 变形先验损失(LΔ)
    • 级联感知损失(LP,cascade)
    • 级联GAN损失(LG,cascade)
    • 身份保留损失(Lfaceid)
    • 指导损失(Lguide)

🔬 实验

作者首先给出了实验的实施细节和使用的基准数据集,然后进行了自我重演和跨人重演的实验,并进行了模块有效性验证的消融研究。

在自我重演方面,作者将第一帧作为源图像并将其用作驱动视频序列中的所有帧来生成动画结果。与基线方法相比,作者的方法在生成质量和眼睛运动准确性方面略优。在跨人重演方面,作者使用了FFHQ数据集中前50张图像作为源图像,并对前50张图像进行了比较。与基线方法相比,作者的方法在生成质量和运动准确性方面均优于其他方法。

此外,作者还进行了模块有效性验证的消融研究,包括缝合模块、眼睛和唇部重新定位模块。对于缝合模块,作者发现通过将肩部对齐到裁剪后的源肖像中,可以消除肩膀错位的问题。对于眼睛和唇部重新定位模块,作者展示了它们能够实现高质量的动画效果,并且能够控制眼睛和嘴唇的打开程度。最后,作者进行了一个例子来证明同时应用眼睛和唇部重新定位的效果。

📜 结论

总体而言,LivePortrait模型通过混合训练策略、网络架构优化、可扩展运动变换以及精心设计的拼接和重定向控制模块,实现了高效率、高可控性和高质量的肖像动画生成效果。

🤔 总结卡

文章优点

该论文提出了一种基于视频驱动的静态肖像图像动画框架,实现了高精度的控制性和高效的推理效率。该模型能够在12.8毫秒内完成一次推断,并且在各种场景下具有广泛的应用前景,如视频会议、社交媒体和娱乐等。此外,作者还对该技术可能带来的社会风险进行了探讨,并提出了相应的伦理指导原则。

方法创新点

该论文的主要贡献在于提出了一种基于混合图像-视频训练策略的增强型隐式关键点视频驱动肖像动画框架。该框架通过升级网络架构、使用可扩展的运动变换、设计基于地标引导的隐式关键点优化以及多个级联损失项等方式,显著提高了生成质量和泛化能力。同时,作者还设计了先进的拼接模块和两个重定向模块,以提高可控性,并在计算开销方面保持微小。

未来展望

虽然该论文提出的肖像动画框架已经取得了很好的效果,但仍然存在一些局限性,例如跨重演情况下姿势变化较大时的表现不佳,以及肩部移动较多的情况下可能会出现抖动等问题。因此,在未来的研究中,作者计划解决这些问题并进一步探索如何将该技术应用于音频驱动的角色动画等领域。

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

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

相关文章

以腾讯为例,手把手教你搭建产品帮助中心

一个精心设计的产品帮助中心对于提高用户满意度和体验至关重要。腾讯,作为全球领先的互联网企业,通过其多样化的产品线(包括微信、QQ、腾讯游戏、腾讯视频等)吸引了亿万用户。下面将以腾讯为例,向您展示如何搭建一个高…

mysql修改字符集为UTF-8

启动 mysql 服务 systemctl start mysqld 登录 mysql mysql -uroot -p 查询 mysql 字符集 ## 在 mysql 命令行下查询 mysql 状态 mysql>status; 退出 mysql 并关闭 mysql ## 退出 mysql mysql>exit; ## 关闭 mysql systemctl stop mysqld 编辑 my.cnf 配置文…

Golang语法规范和风格指南(一)——简单指南

1. 前引 一个语言的规范的学习是重要的,直接关系到你的代码是否易于维护和理解,同时学习好对应的语言规范可以在前期学习阶段有效规避该语言语法和未知编程风格的冲突。 这里是 Google 提供的规范,有助于大家在开始学习阶段对 Golang 进行一…

【IT领域新生必看】深入了解Java中的静态成员变量和实例成员变量:初学者的全方位指南

文章目录 引言什么是静态成员变量?定义和使用静态成员变量示例: 静态成员变量的特点示例: 什么是实例成员变量?定义和使用实例成员变量示例: 实例成员变量的特点示例: 静态成员变量与实例成员变量的区别作用…

lodash-es 基本使用

中文文档:https://www.lodashjs.com/ cloneDeep方法文档:https://www.lodashjs.com/docs/lodash.cloneDeep#_clonedeepvalue 参考掘金文章:https://juejin.cn/post/7354940462061715497 安装: pnpm install lodash-esnpm地址&a…

关于用户咨询华为擎云L410笔记本安装Windows系统的说明

同样也是单位购买的华为擎云L410 KLVU-WDU0笔记本电脑,国产UOS系统某些软件用着不是很方便,用户咨询是否能够安装Windows10或者Windows7? 带着种种疑问也做了一些查询,之前也给一些国产设备更改过操作系统,之前的国产设…

G9 - ACGAN理论与实战

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 目录 环境步骤环境设置数据准备工具方法模型设计模型训练模型效果展示 总结与心得体会 上周已经简单的了解了ACGAN的原理,并且不经实践的编写了部分…

git pull拉取显示Already up-to-date,但文件并没有更新

1、问题: 使用git pull拉取远程仓库代码,显示更新成功(Already up-to-date),但是本地代码没有更新 这是因为本地有尚未提交的更改,和远程代码有冲突导致无法更新 2、解决方法: 可以使用git s…

MySQL架构和工作流程

引言:MySQL执行一条sql语句期间发生了什么? 想要搞清楚这个问题,我们必须了解MySQL的体系结构和工作流程 一、MySQL体系结构 MySQL由以下几个部分组成 一、server层 1.MySQL Connnectors连接器,MySQL的连接池组件,…

BlazorHybrid 通过Blazor简单调用本机功能

简单调用本机功能,例如打印,获取硬件信息,获取本机用户名,拦截JS功能,拦截错误信息等等… 废话不多说先来截图 使用 JsBridge JsBridge不科普了,同学们自行百度一下 BlazorWebView.cs using Microsoft.AspNetCore.Components.WebView; using Microsoft.AspNetCore.Componen…

easyx图形库

目录 1、绘制简单的图形化窗口 2、设置窗口属性 2.1 颜色设置 2.2 刷新 3、基本绘图函数 3.1 绘制直线 3.2 绘制圆 3.3 绘制矩形 4、贴图 4.1 原样贴图 4.1.1 IMAGE变量去表示图片 4.1.2 加载图片 4.1.3 显示图片 4.2 透明贴图 4.2.1 认识素材 4.3 png贴图 5…

辣子简报芬芳喜事特辑

【辣子简报芬芳喜事特辑】🎉在这个季节的尾声,当一缕阳光温柔地洒在打包好的行囊上,我们不约而同地停下了忙碌的脚步,回望那段共同编织的璀璨时光——79天的并肩作战,如同一段精彩绝伦的旅程,如今已缓缓驶向…

taoCMS v3.0.2 任意文件读取漏洞(CVE-2022-23316)

前言 CVE-2022-23316 是一个影响 taoCMS v3.0.2 的漏洞。这个漏洞允许攻击者通过 admin.php?actionfile&ctrldownload&path../../1.txt 的路径读取任意文件。攻击者可以利用该漏洞读取服务器上的任何文件,只要他们知道文件的路径​ (OpenCVE)​​ (Tenabl…

Java多语言跨境电商外贸商城源码 tiktok商城系统源码 跨境电商源码

Java多语言跨境电商外贸商城源码 tiktok商城系统源码 跨境电商源码 技术栈 PC端使用:vueelementui 用户端使用:uniapp 管理端使用:vueelementui 后台服务使用:springbootmybatisplusmysql 功能描述: 对接PayPal…

IDEA配Git

目录 前言 1.创建Git仓库,获得可提交渠道 2.选择本地提交的项目名 3.配置远程仓库的地址 4.新增远程仓库地址 5.开始进行commit操作 6.push由于邮箱问题被拒绝的解决方法: 后记 前言 以下操作都是基于你已经下载了Git的前提下进行的&#xff0c…

源码航行阅读目录

🏀 前言 在准备面试和学习的过程中,我阅读了比较多的源码,比如 JUC、Spring、MyBatis,收获了很多代码的设计思想,也对平时调用的 API 有了更深入的理解;但过多散乱的笔记给我的整理复习带来了比较大的麻烦…

前端vue后端java使用easyexcel框架下载表格xls数据工具类

一 使用alibaba开源的 easyexcel框架&#xff0c;后台只需一个工具类即可实现下载 后端下载实现 依赖 pom.xml <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version></dependen…

第三方商城对接重构(HF202407)

文章目录 项目背景一、模块范围二、问题方案1. 商品模块整体来说这块对接的不是太顺利,梳理了几条大概的思路:2. 订单模块3. 售后4. 发票5. 结算单经验总结项目背景 作为供应商入围第三方商城成功,然后运营了一段时间,第三方通知要重构, 需要重新对接打通接口完成系统对接…

树型结构数据存储实践

很多业务场景会遇到树形结构的数据&#xff0c;如公司的人员职级树、行政区划树等。 使用类似MySQL的数据库进行存储&#xff0c;需要将树形结构&#xff08;二维&#xff09;存储到行格式&#xff08;一维&#xff09;的db中。 本文介绍了树型结构数据存储的三种方式&#xf…

ShardingSphere实战

ShardingSphere实战 文章目录 ShardingSphere实战分库分表实战建表建表sql利用存储过程建表Sharding-jdbc分库分表配置 基于业务的Sharding-key考虑订单id用户id分片策略订单id的设计与实现**设计思想**&#xff1a;设计思路&#xff1a; 具体分片策略实现测试数据插入商户商品…