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;…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...
成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...
sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...
