通过身份个性化网络(IPM)实现真实世界的自动化妆

news2024/12/29 8:32:13

来源:投稿 作者:小灰灰
编辑:学姐

论文标题:
Real-World Automatic Makeup via Identity Preservation Makeup Net

论文链接:https://www.ijcai.org/proceedings/2020/0091.pdf
论文代码:https://github.com/huangzhikun1995/IPM-Net

社交网络的不断发展也让人们对美颜技术提出了更高的要求,在完成图像美化的同时保证图像的真实性是至关重要的。

本文重点研究现实世界的自动化妆问题。给定一张非化妆目标图像和一张参考图像,自动化妆是生成一张人脸图像,它与参考图像中的化妆风格保持原始身份。在现实世界的场景中,面部化妆任务需要一个强大的系统来应对环境变化。

现实世界中人脸化妆的两个主要挑战可以概括如下:

首先,现实世界图像中的背景很复杂。以前的方法也容易改变背景的风格;

其次,前景面也容易受到影响。例如,“浓妆”可能会丢失原始身份的区分信息。

最后评价指标的缺失。对于化妆效果的好坏还是依靠志愿者的主观判断,缺少客观的量化指标。

为了解决这个挑战,我们引入了一种新的化妆模型,称为身份保护化妆网络(IPM-Net),它不仅保留了背景,而且保留了原始身份的关键模式。具体来说,我们将人脸图像分解为两个不同的信息代码,即身份内容代码和化妆风格代码。

在推理的时候,我们只需要修改妆容代码,就可以生成目标人物的各种妆容。作者从现实世界需求出发,探索了完成人脸自动上妆同时保留图像的真实性的方法,同时提出了使用FID以及LPIPS来量化人脸自动上妆的效果。

本文的创新点

1、我们提出了一种新的自动化妆模型,称为Identity 。Preservation Makeup Net (IPM-Net), 为了解决现实世界中自动化妆的两个问题任务。我们的方法有效地转移了化妆风格将参考图像转换为目标图像,同时保留研究的背景和关键模式原始身份。

2、该方法能在较短的推理时间内实现可控的化妆转移,我们的模型每秒可以处理 16 张 256*256 的人脸图像。。它使我们的模型更接近现实世界的实践

3、作为一个小贡献,我们介绍了FID和SSIM对于化妆的真实性和多样性进行评价。我们的该方法在这两方面都优于其他竞争性方法定性和定量结果。

网络结构

2.1 图像预处理

我们注意到,自动化妆的目的只是改变目标图像的几个部分,同时保留大多数身份内容信息。因此,我们建议首先将面部图像分解为两个空间(见表1)。身份内容空间包含图像中的个人身份信息和其他应保留的详细信息。化妆风格空间是学习脸上的化妆风格。为了帮助两种不同的特征提取,我们对输入图像进行了预处理。

具体来说,我们为每个人脸定制了一个面具和一个细粒度纹理。

预处理结果如图3所示。给定一个输入图像x,我们通过四个步骤生成输入图像rx中的身份内容:

(1)我们首先通过人脸解析算[1]法获取mask, 

(2) 为了保留背景,我们将目标图像x和相应的掩码mx相乘,得到背景图像bx。我们进一步将化妆区域设置为灰色,但bx会丢失面部纹理信息。

(3) 因此,我们使用微分滤波器[2]提取化妆区域的纹理,该滤波器仅保留必要的纹理并滤除噪声信号。此外,我们还增加了面部特征纹理的权重,以突出面部特征的纹理tx。

(4) 最后,通过添加纹理tx和bx背景来生成身份内容输入图像rx。

2.2框架

给定目标图像X和相应的遮罩mx和纹理tx,通过图3中描述的预处理步骤生成身份内容输入图像rx。如图2(a)所示,引入身份内容编码器Ei和化妆风格编码器Es以将面部图像分离为两个不同的代码:

2.3 网络细节

我们的IPM网络使用Pytorch框架。我们还使用PaddlePaddle来实现我们的方法,并达到类似的性能。我们所有的实验都是在一个NVIDIAGTX2080TiGPU上进行的。我们应用两种基本块,即ConvBlock和ResBlock。ConvBlock包含卷积、批量标准化和ReLU激活层。ResBlock包含两个ConvBlock,但我们删除了最后一个激活层。我们在图2(a)中的网络结构是基于这两个块构建的:

(1)Ei由三个ConvBlock和一个ResBlock组成,以256×64×64的格式输出身份内容代码Ix。

(2) Es使用三个ConvBlock和三个ResBlock的组合,而在最后添加一个平均池层。目标图像和参考图像都共享ES,每种化妆风格都由一个128维的矢量表示。

(3)G采用ConvBlocks,并利用Adam 融合身份内容和化妆风格。进一步利用上采样层将图像重新缩放为输入图像形状。此外,rx被添加到G生成的图像中,作为剩余连接。

(4) D遵循多尺度鉴别器架构。在训练阶段,每个图像的大小调整为321×321,然后随机裁剪为256×256。随机水平翻转被用作简单的数据扩充。我们采用Adam对整个IPM网络进行优化,λ1=0.5,λ2=0.999,并将学习率设置为0.0001。我们训练我们的模型进行1000000次迭代,批量大小设置为3。

实验结果

3.1 定性结果

实验结果均在在 Makeup Dataset以及采集自网络的图像进行测试。

我们的模型允许用户调整不同层次的化妆转移,这更接近现实世界的实践。第一行上的目标图像是通过带有淡妆的网络获得的。另一张目标图像和两张参考图像来自化妆传输数据集,无需化妆。为了使化妆转换的程度可控,我们部署了一个新的参考化妆风格Snew,作为参考化妆风格Sy和原始化妆风格Sx的加权和。生成的结果根据化妆转移级别从轻到重从左到右排序。

下图是自动补妆结果。第一列显示了三个具有不同背景和不同肤色的目标图像。第一行显示了13张不同化妆风格和姿势的参考图片。合成结果显示在右下角,每一行和每一列对应不同的身份内容和化妆风格。当目标图像的身份信息保留时,合成结果获得参考图像中的鉴别化妆风格,例如唇膏和眼影的颜色。

3.2 定量结果

如下表可见:FID(越低越好)和LPIP(越高越好)的比较。我们评估了化妆图像的真实性和多样性,以及化妆转移时生成的图像。

FID[4]和LPIPS[5] 曲线随不同迭代次数的增加而增加。结果表明,该方法收敛稳定,能逐步提高图像质量。

参考文献

[1] Changqian Yu, Jingbo Wang, Chao Peng, Changxin Gao, Gang Yu, and Nong Sang. Bisenet: Bilateral segmentation network for real-time semantic segmentation. In ECCV, 2018.

[2] Yifei Pu, Weixing Wang, Jiliu Zhou, Yiyang Wang, and Huading Jia. Fractional differential approach to de- tecting textural features of digital image and its fractional differ- ential filter implementation. Science in China Series F: Informa- tion Sciences, 51(9):1319–1339, 2008.

[3] Wei-Sheng Lai, Jia-Bin Huang, Narendra Ahuja, and Ming-Hsuan Yang. Fast and accurate image super-resolution with deep laplacian pyramid networks. TPAMI, 2018.

[4] Martin Heusel, Hubert Ramsauer, Thomas Unterthiner, Bernhard Nessler, and Sepp Hochreiter. Gans trained by a two time-scale update rule converge to a local nash equilibrium. In NeurlPS, 2017.

[5] Changqian Yu, Jingbo Wang, Chao Peng, Changxin Gao, Gang Yu, and Nong Sang. Bisenet: Bilateral segmentation network for real-time semantic segmentation. In ECCV, 2018.

关注下方《学姐带你玩AI》🚀🚀🚀

回复“CVPR”获取CV方向顶会必读论文

码字不易,欢迎大家点赞评论收藏!

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

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

相关文章

XRSPACE 总经理刘冠廷:元宇宙行业如何通过 2D、3D 联动,实现高速用户增长?

序言: 元宇宙领域创业并非坦途,似乎已经成为了行业共识。 即使到今天,VR/AR 领域的装备开支和上手学习成本居高不下,全球整体用户体量相比移动互联网也仍属早期阶段。 在这样的背景下,元宇宙公司如何持续且快速地获…

python毕业设计之django+vue流浪宠物动物救助领养网站

开发语言:Python 框架:django Python版本:python3.7.7 数据库:mysql 数据库工具:Navicat 开发软件:PyCharm 网站前台: 站内新闻:针对网站的新闻信息进行展示,能够展示…

简单聊聊Echarts伪3D地图实现的相关配置

知识和技能真的是用进废退,还是得多实践,才不至于遗忘。 目录 前言 二、实现原理 三、从0开始实现 1.目录结构 2.地图JSON数据获取 3.具体实现,重头戏 3.一些常见问题的解决方法 总结 前言 本文简单来聊一聊Echarts伪3D地图的实现&a…

Java面试被问Spring哑口无言?100道Spring面试考点解析

对于开发同学来说,Spring 框架熟悉又陌生。 熟悉:开发过程中无时无刻不在使用 Spring 的知识点;陌生:对于基本理论知识疏于整理与记忆。导致很多同学面试时对于 Spring 相关的题目知其答案,但表达不够完整准确。今天展…

UE4蓝图学习篇(八)-- 角色基础移动

在C学习篇中有介绍如何使用UE4C去处理角色的基础移动,那么本篇介绍使用蓝图去处理角色的基础移动。 1、创建Character类; 添加一个SpringArmComponent组件,在其下方添加一个CameraComponent组件能够看到角色,SpringArmComponent的…

奥斯汀独家对话|从机构的「拉扯」中成长的美国加密监管

‍前言 4月25日,在美国得克萨斯州的首府奥斯汀,这座充满活力和创造力的城市,欧科云链研究院与来自哥伦比亚商学院的Austin Campbell教授就美国加密监管以及其相关话题进行了一次深入探讨。双方讨论了美国整体的监管问题、监管逻辑、最新的稳…

华为孟晚舟当值首秀:2030年AI算力将增长500倍!

作者 | 范智林 来源 | 华商观察 微信号:HuashangGC 孟晚舟当值首次亮相。 4月19日,华为副董事长、轮值董事长、CFO孟晚舟在华为第20届全球分析师大会上进行演讲,这是她当值华为轮值董事长以来的首次公开亮相。 按照华为内部规定&#xff0c…

展会预告 | 昂视诚邀您届时莅临CIBF2023深圳国际电池展

CIBF2023深圳国际电池展将于5月16日在深圳国际会展中心(宝安新馆)举行,作为国际电池行业规模最大的会展活动,它是了解电池行业的重要窗口,也是中国电池产业链企业连接全球产业界的重要桥梁和平台。 昂视作为制造自动化…

一文彻底分清ARM架构、内核、指令集等相关概念

任何学习嵌入式/单片机的朋友都绕不开ARM,但初学者总是对ARM架构、内核、指令集等相关概念不够清晰或者混淆,本文帮助入门的朋友彻底弄清楚。 目录 1.芯片、CPU、SOC 2.ARM公司 3.ARM架构与内核、指令集 3.1架构与内核 3.2架构与指令集 4.ARM架构…

操作系统——概述

目录 1.1初识操作系统 思考题: 1.2操作系统的功能和定义 思考题: 1.3操作系统发展史 思考题: 1.4分时技术 思考题: 1.5典型操作系统类型 1.1初识操作系统 常见桌面级别的四大操作系统:Windows、Mac OS、Linu…

swift 技术 音频

一直觉得自己写的不是技术,而是情怀,一个个的教程是自己这一路走来的痕迹。靠专业技能的成功是最具可复制性的,希望我的这条路能让你们少走弯路,希望我能帮你们抹去知识的蒙尘,希望我能帮你们理清知识的脉络&#xff0…

【测试开发】单元测试、基准测试和性能分析(以 Go testing 为例)

一、为什么需要测试🤔️ 你写不出 bug-free 的代码。你认为自己写出了 bug-free 的代码,但它在你意想不到的地方出错了。你觉得自己写出了永不出错的代码,但它的性能十分糟糕。 二、在开发过程中做好测试(理想情况下)…

PLC模糊PID模糊规则矩阵(梯形图语言实现)

博途PLC的模糊PID控制详细内容请查看下面的博客文章: Matlab仿真+博途PLC模糊PID控制完整SCL源代码参考(带模糊和普通PID切换功能)_博途怎么实现模糊pid_RXXW_Dor的博客-CSDN博客模糊PID的其它相关数学基础,理论知识大家可以参看专栏的其它文章,这里不再赘述,本文就双容…

mysql实现存在则保存,不存在则更新

方式1 ON DUPLICATE KEY UPDATE 使用前提:表必须配置唯一键或者主键,且保存的字段中包含该键【重点】 原理: ON DUPLICATE KEY UPDATE如果配合主键,存在数据a,新插入b,如果主键不冲突,会保存b…

[React] useRef用法和特性

useRef 与 useState 的区别 一般在使用react-hook的时候&#xff0c;我们用到最多的就是定义变量&#xff0c;以及对应的修改变量 下面是一个最基本的 react-hook 应用程序 const Home () > {const [username, setUserName] useState();return &#xff08;<input va…

【物联网】物1— 初步认识MQTT、连接到MQTT服务端

目录 一、MQTT是什么 二、MQTT的版本 两者之间的关系&#xff1a; ​三、MQTT工作的基本原理 3.1、概念 MQTT客户端&#xff1a; MQTT服务端&#xff1a; MQTT主题&#xff1a; 3.2、MQTT订阅/发布主题的特点 相互可独立性&#xff1a; 空间可分离&#xff1a; 时间…

创建第一个DJango3的后端项目

1.安装DJango 需要事先安装python 打开控制台,使用pip命令安装django pip install django如何检验安装成功&#xff1a;在命令行中进入python的环境&#xff0c;导入并打印django的版本信息 2.使用django创建第一个项目 在命令行中进入要存放项目的位置&#xff0c;输入dj…

【mysql】日常遇到的问题解决

目录 MySQL 删除数据库报错 1010 - Error dropping database (cant rmdir) [ERR] 1452 - Cannot add or update a child row: a foreign key constraint fails MySQL 删除数据库报错 1010 - Error dropping database (cant rmdir) 场景复现&#xff1a;navicat中&#xff0c…

Java集合 —— HashMap

一、HashMap是什么 HashMap是一个存储key-value键值对的哈希表&#xff0c;表中每个元素的key都是唯一的&#xff08;通过equals方法判断&#xff09;&#xff0c;查询时通过key的hashcode值即可定位到元素的存储地址&#xff0c;因此HashMap在理想情况下查询时间复杂度为O(1)…

简单谈谈OLTP,OLAP和列存储的概念

简单谈谈OLTP,OLAP和列存储的概念 OLTP(online transaction processing)OLAP(online analytic processing)OLTP VS OLAP数据仓库OLTP数据库和数据仓库之间的差异星型和雪花分析模式列式存储列压缩列式存储和列族内存带宽与矢量化处理列式存储中的排序顺序几个不同的排序顺序 写…