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

相关文章

Mybatis官方生成器的使用方式

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

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

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

不删数据还能合并磁盘? 让电脑C盘D盘合并并保留数据的技巧

《不删数据还能合并磁盘?让电脑C盘D盘合并并保留数据的技巧》在Windows操作系统中,合并C盘和D盘是一个相对复杂的任务,尤其是当你不希望删除其中的数据时,幸运的是,有几种方法可以实现这一目标且在... 在电脑生产时,制造商常为C盘分配较小的磁盘空间,以确保软件在运行过程中不会出现磁盘空间不足的问题。但在

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

康拓展开(hash算法中会用到)

康拓展开是一个全排列到一个自然数的双射(也就是某个全排列与某个自然数一一对应) 公式: X=a[n]*(n-1)!+a[n-1]*(n-2)!+...+a[i]*(i-1)!+...+a[1]*0! 其中,a[i]为整数,并且0<=a[i]<i,1<=i<=n。(a[i]在不同应用中的含义不同); 典型应用: 计算当前排列在所有由小到大全排列中的顺序,也就是说求当前排列是第

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

【数据结构】——原来排序算法搞懂这些就行,轻松拿捏

前言:快速排序的实现最重要的是找基准值,下面让我们来了解如何实现找基准值 基准值的注释:在快排的过程中,每一次我们要取一个元素作为枢纽值,以这个数字来将序列划分为两部分。 在此我们采用三数取中法,也就是取左端、中间、右端三个数,然后进行排序,将中间数作为枢纽值。 快速排序实现主框架: //快速排序 void QuickSort(int* arr, int left, int rig

poj 3974 and hdu 3068 最长回文串的O(n)解法(Manacher算法)

求一段字符串中的最长回文串。 因为数据量比较大,用原来的O(n^2)会爆。 小白上的O(n^2)解法代码:TLE啦~ #include<stdio.h>#include<string.h>const int Maxn = 1000000;char s[Maxn];int main(){char e[] = {"END"};while(scanf("%s", s) != EO

秋招最新大模型算法面试,熬夜都要肝完它

💥大家在面试大模型LLM这个板块的时候,不知道面试完会不会复盘、总结,做笔记的习惯,这份大模型算法岗面试八股笔记也帮助不少人拿到过offer ✨对于面试大模型算法工程师会有一定的帮助,都附有完整答案,熬夜也要看完,祝大家一臂之力 这份《大模型算法工程师面试题》已经上传CSDN,还有完整版的大模型 AI 学习资料,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费