CVPR2023新作:3D感知的AI换脸算法
-
Title: 3D-Aware Face Swapping (3D感知的人脸交换)
-
Affiliation: 上海交通大学人工智能研究所
-
Authors: Yixuan Li, Chao Ma, Yichao Yan, Wenhan Zhu, Xiaokang Yang
-
Keywords: Face swapping, 3D human faces, Generative Adversarial Network, geometry
-
Summary:
-
(1): 该论文研究内容为人脸交换,是计算机视觉领域的一个重要研究课题,具有广泛的娱乐和隐私保护应用。
-
(2): 既往方法直接学习交换2D面部图像,对人脸的几何信息不予以考虑。当源人脸图像和目标人脸图像之间存在大的姿态差异时,就会出现不良的伪影。该论文提出的3D感知的人脸交换方法,利用3D人脸的强几何和纹理先验,将2D人脸投影到3D生成模型的潜在空间中。通过在潜在空间中解耦身份和属性特征,成功地实现了3D感知的人脸交换,具有较好的鲁棒性,同时可以转移细粒度的面部细节。
-
(3): 该论文所提出的方法采用了生成对抗网络(GAN)的思想,将2D人脸先转化为3D模型的潜在空间表示,再在潜在空间上进行交换,最终转换回2D图像。该方法不仅保留了2D和3D人脸的信息,使其具有多视角一致性,并且能够实现面部细节的转移。
-
(4): 该论文所提出的3D感知的人脸交换方法在视觉质量、身份相似性、多视角一致性等方面取得了优越的表现。在权威的FaceForensics++数据集上的评测中,该方法相比现有最好的2D方法提高了3.13%的身份相似度,维持了相似的质量,并且生成图像的间距离相对于真实3D人脸的平均间距离降低了56%以上。因此,该方法的表现支持了其目标。
- Methods:
-
(1): 该论文所提出的3D感知的人脸交换方法,首先采用3DMM(3D Morphable Model)建模对单张人脸图像进行重建,得到其三维属性,并利用渲染方程生成其对应的二维图像。
-
(2): 在此基础上,通过CGAN(Conditional Generative Adversarial Network)网络对单张人脸图像进行编码,获取其在潜在空间中的表达,同时训练一个分类器来识别人物身份。在测试阶段,输入两张不同的2D人脸图像和一个目标身份的类别标签,将两张输入图像通过CGAN网络编码得到的潜在向量加权平均,得到一个中间的潜在向量。同时在潜在向量中随机样本并将其添加到中间潜在向量,以增加面部的多样性。最终,将得到的潜在向量传递给解码器,生成与目标身份相似的2D人脸图像。
-
(3): 该方法所产生的2D人脸图像在视觉上具有更好的质量和更好的多视角一致性。同时,与现有的2D方法相比,该方法可以实现更好的身份相似性,同时还能够保留面部细节。该方法的表现经过在FaceForensics++数据集上的评测,得到了良好的验证,支持其有效性。
- Conclusion:
-
(1): 本研究的意义在于提出了一种3D感知的人脸交换方法,将2D人脸图像投影到3D生成模型的潜在空间中,实现了更好的多视角一致性和面部细节的转移。同时,该方法可以克服传统方法中2D人脸姿态的局限性,应用范围更广,具有重要的实际应用价值。
-
(2): 创新点:该方法将2D人脸图像投影到3D生成模型的潜在空间中进行交换,利用3D人脸的强几何和纹理先验,实现了3D感知的人脸交换,克服了传统方法中2D人脸姿态的局限性。性能:该方法在视觉质量、身份相似性、多视角一致性等方面均表现出较好的性能,在FaceForensics++数据集上的评测中,相比现有最好的2D方法提高了3.13%的身份相似度,实现了面部细节的转移。工作量:由于需要将2D人脸图像转化为3D模型的潜在空间表示,因此在推理时间上需要进行参数调优,工作量稍大。同时,由于最终图像是通过3D生成器进行渲染,无法准确恢复衣服和背景等物品。
相关文章:
CVPR2023新作:3D感知的AI换脸算法
Title: 3D-Aware Face Swapping (3D感知的人脸交换) Affiliation: 上海交通大学人工智能研究所 Authors: Yixuan Li, Chao Ma, Yichao Yan, Wenhan Zhu, Xiaokang Yang Keywords: Face swapping, 3D human faces, Generative Adversarial Network, geometry Summary: (1):…...
Android安卓实战项目(4)---提供给阿尔兹海默症患者的APP(源码在文末)
Android安卓实战项目(4)—提供给阿尔兹海默症患者的APP(源码在文末) 一.项目运行介绍 1.大致浏览 (1)开机界面 (2)主界面 (3)Read Instructions界面 &…...
详解Mybatis之自动映射 自定义映射问题
编译软件:IntelliJ IDEA 2019.2.4 x64 操作系统:win10 x64 位 家庭版 Maven版本:apache-maven-3.6.3 Mybatis版本:3.5.6 文章目录 一、Mybatis中的自动映射是什么?二、Mybatis中的自定义映射是什么?三、为什…...
shiro的优点
shiro是一个强大的java安全框架,它的优点有以下: shiro就是权限管理:包括两部分:身份验证、授权 一、它提供了身份验证、授权、密码和会话管理等功能,可以满足各种应用程序的安全需求。 身份认证就是:验证是…...
使用分布式HTTP代理爬虫实现数据抓取与分析的案例研究
在当今信息爆炸的时代,数据已经成为企业决策和发展的核心资源。然而,要获取大规模的数据并进行有效的分析是一项艰巨的任务。为了解决这一难题,我们进行了一项案例研究,通过使用分布式HTTP代理爬虫,实现数据抓取与分析…...
Linux操作系统运维常用集合
目录 1、服务器磁盘查询、管理常见命令: 2、Centos系统挂载移动硬盘或U盘 3、Linux系统磁盘管理方式 4、Linux系统下挂载磁盘格式详解 1、服务器磁盘查询、管理常见命令: lsblk 查看分区和磁盘df -h …...
UE4/5C++多线程插件制作(十四、MTPAbandonable)
目录 MTPAbandonable h实现 cpp实现 MTPMarco.h 首先是异步任务的宏定义部分:...
集装箱装卸作业相关的知识-Part1
1.角件 Corner Fitting of Container or called Corner Casting. there are eigth of it of one container. 国家标准|GB/T 1835-2006https://openstd.samr.gov.cn/bzgk/gb/newGbInfo?hcnoD35857F2200FA115CAA217A114F5EF12 中国的国标:GB/T 1835-2006《系列1集…...
BurpSuite超详细安装教程-功能概述-配置-使用教程---(附下载链接)
一、介绍 BurpSuite是渗透测试、漏洞挖掘以及Web应用程序测试的最佳工具之一,是一款用于攻击web 应用程序的集成攻击测试平台,可以进行抓包、重放、爆破,包含许多工具,能处理对应的HTTP消息、持久性、认证、代理、日志、警报。 二…...
不同局域网下使用Python自带HTTP服务进行文件共享「端口映射」
文章目录 1. 前言2. 视频教程3. 本地文件服务器搭建3.1 python的安装和设置3.2 cpolar的安装和注册 4. 本地文件服务器的发布4.1 Cpolar云端设置4.2 Cpolar本地设置 5. 公网访问测试6. 结语 1. 前言 数据共享作为和连接作为互联网的基础应用,不仅在商业和办公场景有…...
产业大数据应用:洞察企业全维数据,提升企业监、管、服水平
在数字经济时代,数据已经成为重要的生产要素,数字化改革风生水起,在新一代科技革命、产业革命的背景下,产业大数据服务应运而生,为区域产业发展主导部门提供了企业洞察、监测、评估工具。能够助力区域全面了解企业经…...
【爬虫逆向案例】某名片网站 js 逆向 —— data解密
声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢! 【爬虫逆向案例】某名片网站js逆向—— data解密 1、前言2、步骤3、号外 1、前言 相信各位小伙伴在写爬虫的…...
RocketMq 事务消息原理
Rocketmq 事务消息API使用 使用TransactionMQProducer类。 实现TransactionListener 接口覆盖其方法executeLocalTransaction和checkLocalTransaction 即可。 其中executeLocalTransaction 执行本地方法和checkLocalTransaction 事务状态回查。 玩法 简历一张本地事务表&…...
day41-Verify Account Ui(短信验证码小格子输入效果)
50 天学习 50 个项目 - HTMLCSS and JavaScript day41-Verify Account Ui(短信验证码小格子输入效果) 效果 index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name&qu…...
C. Maximum Set
Problem - 1796C - Codeforces 思路:这个题在做的时候基本的思路是对的,但是没有想到O(1)求答案,枚举的然后T了,我们能够知道,假设前面的数小,那么每个数一定是前面的倍数,所以至少乘以2&#x…...
基于springboot+vue学生宿舍报修公寓管理系统
我校日常管理活动中也大部分使用信息化,但学生宿舍的报修管理仍停留在手工办公阶段,使用纸张来记录。不仅对于维修人员和后勤管理人员来说无法提高工作效率,也不方便学生报修。本学生宿舍报修系统主要针对三类人员。第一类是学生用户模块&…...
缓存和数据库一致性问题分析
目录 1、数据不一致的原因 1.1 并发操作 1.2 非原子操作 1.3 数据库主从同步延迟 2、数据不一致的解决方案 2.1 并发操作 2.2 非原子操作 2.3 主从同步延迟 2.4 最终方案 3、不同场景下的特殊考虑 3.1 读多写少的场景 3.2 读少写多的场景 1、数据不一致的原因 导致…...
用Rust生成Ant-Design Table Columns | 京东云技术团队
经常开发表格,是不是已经被手写Ant-Design Table的Columns整烦了? 尤其是ToB项目,表格经常动不动就几十列。每次照着后端给的接口文档一个个配置,太头疼了,主要是有时还会粘错就尴尬了。 那有没有办法能自动生成colu…...
java.lang.ClassNotFoundException: sun.misc.BASE64Decoder
有一个新的应用服务,idea启动应用应用服务时,突然报错java.lang.ClassNotFoundException: sun.misc.BASE64Decoder ,然后在网上搜索,说是建议使用apache包,该类新的JRE已经废弃,并从rt.jar包中移除。但是该…...
Unity进阶--对象池数据场景管理器笔记
文章目录 泛型单例类泛型单例类(不带组件版)对象池管理器数据管理器场景管理器 泛型单例类 using System.Collections; using System.Collections.Generic;public abstract class ManagersSingle<T> where T : new() {private static T instance;…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...
LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...
Python Einops库:深度学习中的张量操作革命
Einops(爱因斯坦操作库)就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库,用类似自然语言的表达式替代了晦涩的API调用,彻底改变了深度学习工程…...
解析“道作为序位生成器”的核心原理
解析“道作为序位生成器”的核心原理 以下完整展开道函数的零点调控机制,重点解析"道作为序位生成器"的核心原理与实现框架: 一、道函数的零点调控机制 1. 道作为序位生成器 道在认知坐标系$(x_{\text{物}}, y_{\text{意}}, z_{\text{文}}…...
Android屏幕刷新率与FPS(Frames Per Second) 120hz
Android屏幕刷新率与FPS(Frames Per Second) 120hz 屏幕刷新率是屏幕每秒钟刷新显示内容的次数,单位是赫兹(Hz)。 60Hz 屏幕:每秒刷新 60 次,每次刷新间隔约 16.67ms 90Hz 屏幕:每秒刷新 90 次,…...
