CVPR2022 | 秃头生成器算法,完美保留五官脸型

2023-11-21 00:31

本文主要是介绍CVPR2022 | 秃头生成器算法,完美保留五官脸型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 
 

点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

还在为找工作去理发店剃秃头吗?试试这个生成器!

只要输入一张照片,输出的就是完美无瑕的光头,气质立刻从实习提升到主管(手动狗头)

99e869da0feccfee499b56bf12feb7ad.png

无论你是年轻的程序员小哥,还是长发飘飘的程序媛,都可以通过这个方法“变得更强”:

1168a6720c8d089b20181cbb460d63d4.png

有了这个名叫HairMapper的“光头神器”,P头发就是分分钟的事情,五官却完全不受影响:

a9739edd44504d804f4e91b8338f82f8.png

嗯,以后有了想做的发型,直接P一个……

要实现这么好的效果,得用三个GAN合力才行。

所有人都能用的“光头神器”

 

具体来说,HairMapper的原理一共分为三步,生成秃头→保留五官→合并头像。

64e37297396aab023f95160b219f30e0.png

首先,作者们利用StyleGAN,做出一个与原头型相近的秃头效果:

d321c08d66fd8f21a01c3713c7e5a035.png

这时候我们看到,StyleGAN没办法做到精准地控制五官生成,因此脸型稍微有所变化。

那么接下来,就是利用InterFaceGAN,抠出一个头发以外的脸型和五官形象,同时也保留四周的风景:

b98ac0ba1a5b3737dc00643be2d30967.png

最后,将前两步生成的效果合成,就做出了一个完美的“光头”:

f0c5bbd508237ac321ad7fe43f574334.png

不过值得一提的是,由于长发、女性光头数据集少等原因,因此作者们额外为女版“光头神器”多加了一个步骤。

在这其中,女性照片要先通过StyleFlow转换成男性照片,再重复上述步骤,最终同样得到一个光头:

617046f231d6716f75822ab9f4228bec.png

这样的效果还是不错的,在数据集中测试显示,即使是发量惊人的女生也能一键脱发(doge)

6fbf093902ce7587ae58841ba6a980fb.png

作者们将HairMapper与其他的秃头生成器做了个对比。

还做成了6000+秃头数据集

事实上,之前并不是没有人做过秃头生成器,只是效果并不太理想。

例如Adobe之前推出过的这个叫StyleFlow的生成器,就能让马斯克变秃:

7053dbc0f7171e9593c351e4b8dee5f1.gif

但一个是头发没脱干净,另一个是五官也给GAN成了“另外一个人”。除了StyleFlow以外,其他类型的“秃头生成器”也面临这样的问题:

74b640e0f2bc5e924c9be30438d1382a.png

这次的HairMapper在GAN脱发的基础上,保留了原本的五官,使得还原出来的人脸非常真实。

无论男女老少或圆扁尖头:

f1d6bcb5b384706bf755d5ab2076e7c9.png

还是各种不同肤色乃至不同肤质:

fe49b4af28671e718563e3ea37aceee7.png

甚至是侧脸乃至有阴影,都能在HairMapper的作用下get丝滑的光头特效:

f719da6d924b7612e222c44e6976b561.png

目前作者们已经利用这个算法,将Flickr-Faces-HQ(FFHQ)数据集中的6000张人像变成了光头。

以后无论是P头发、还是变身男装/女装大佬,都能用这个开源数据集来训练了:

98f6aa2d6fad1970eb1539feb782d2eb.png

项目地址:
https://github.com/oneThousand1000/non-hair-FFHQ

论文地址:
http://www.cad.zju.edu.cn/home/jin/cvpr2022/HairMapper.pdf

小白团队出品:零基础精通语义分割↓

7229ac5cbd0c78e41ea47042c4a7cd2f.png

下载1:OpenCV-Contrib扩展模块中文版教程

在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲

在「小白学视觉」公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲

在「小白学视觉」公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

397a233d73fd31a1e88933b04b88b021.png

96a463271c830a22d3515ae457edc195.png

这篇关于CVPR2022 | 秃头生成器算法,完美保留五官脸型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/398544

相关文章

SpringBoot实现MD5加盐算法的示例代码

《SpringBoot实现MD5加盐算法的示例代码》加盐算法是一种用于增强密码安全性的技术,本文主要介绍了SpringBoot实现MD5加盐算法的示例代码,文中通过示例代码介绍的非常详细,对大家的学习... 目录一、什么是加盐算法二、如何实现加盐算法2.1 加盐算法代码实现2.2 注册页面中进行密码加盐2.

Java时间轮调度算法的代码实现

《Java时间轮调度算法的代码实现》时间轮是一种高效的定时调度算法,主要用于管理延时任务或周期性任务,它通过一个环形数组(时间轮)和指针来实现,将大量定时任务分摊到固定的时间槽中,极大地降低了时间复杂... 目录1、简述2、时间轮的原理3. 时间轮的实现步骤3.1 定义时间槽3.2 定义时间轮3.3 使用时

电脑提示找不到openal32.dll文件怎么办? openal32.dll丢失完美修复方法

《电脑提示找不到openal32.dll文件怎么办?openal32.dll丢失完美修复方法》openal32.dll是一种重要的系统文件,当它丢失时,会给我们的电脑带来很大的困扰,很多人都曾经遇到... 在使用电脑过程中,我们常常会遇到一些.dll文件丢失的问题,而openal32.dll的丢失是其中比较

使用DrissionPage控制360浏览器的完美解决方案

《使用DrissionPage控制360浏览器的完美解决方案》在网页自动化领域,经常遇到需要保持登录状态、保留Cookie等场景,今天要分享的方案可以完美解决这个问题:使用DrissionPage直接... 目录完整代码引言为什么要使用已有用户数据?核心代码实现1. 导入必要模块2. 关键配置(重点!)3.

Python实现html转png的完美方案介绍

《Python实现html转png的完美方案介绍》这篇文章主要为大家详细介绍了如何使用Python实现html转png功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 1.增强稳定性与错误处理建议使用三层异常捕获结构:try: with sync_playwright(

如何通过Golang的container/list实现LRU缓存算法

《如何通过Golang的container/list实现LRU缓存算法》文章介绍了Go语言中container/list包实现的双向链表,并探讨了如何使用链表实现LRU缓存,LRU缓存通过维护一个双向... 目录力扣:146. LRU 缓存主要结构 List 和 Element常用方法1. 初始化链表2.

golang字符串匹配算法解读

《golang字符串匹配算法解读》文章介绍了字符串匹配算法的原理,特别是Knuth-Morris-Pratt(KMP)算法,该算法通过构建模式串的前缀表来减少匹配时的不必要的字符比较,从而提高效率,在... 目录简介KMP实现代码总结简介字符串匹配算法主要用于在一个较长的文本串中查找一个较短的字符串(称为

通俗易懂的Java常见限流算法具体实现

《通俗易懂的Java常见限流算法具体实现》:本文主要介绍Java常见限流算法具体实现的相关资料,包括漏桶算法、令牌桶算法、Nginx限流和Redis+Lua限流的实现原理和具体步骤,并比较了它们的... 目录一、漏桶算法1.漏桶算法的思想和原理2.具体实现二、令牌桶算法1.令牌桶算法流程:2.具体实现2.1

Mybatis官方生成器的使用方式

《Mybatis官方生成器的使用方式》本文详细介绍了MyBatisGenerator(MBG)的使用方法,通过实际代码示例展示了如何配置Maven插件来自动化生成MyBatis项目所需的实体类、Map... 目录1. MyBATis Generator 简介2. MyBatis Generator 的功能3

Python中的随机森林算法与实战

《Python中的随机森林算法与实战》本文详细介绍了随机森林算法,包括其原理、实现步骤、分类和回归案例,并讨论了其优点和缺点,通过面向对象编程实现了一个简单的随机森林模型,并应用于鸢尾花分类和波士顿房... 目录1、随机森林算法概述2、随机森林的原理3、实现步骤4、分类案例:使用随机森林预测鸢尾花品种4.1