Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >脸部转正!GAN能否让侧颜杀手、小猪佩奇真容无处遁形?

脸部转正!GAN能否让侧颜杀手、小猪佩奇真容无处遁形?

作者头像
公众号机器学习与AI生成创作
发布于 2020-04-27 10:48:32
发布于 2020-04-27 10:48:32
1.4K0
举报

这日,你漫步于街头,闲看车水马龙、行人熙攘。

忽然,一个惊世骇俗的侧颜闪现于你左前方15米处,你不禁心头一惊:

“这般侧颜,必属盛世无双,人间难得几回观?”

于是你夺步寻去,意欲一览此般倾世容颜……

几分钟后,你大失所望,怨道:

“正脸居然不过如此!真是侧颜杀手!”

图自网络,侵删。

失落的你、此刻只能打开小猪佩奇动画,一解忧愁。

“这只猪总是用侧脸面对观众,另一面却从来没人见过。奇怪的是,即使从侧颜看去,还是两只眼睛和两个鼻孔。”

于是你抚心、而发出灵魂一问:

“给定侧颜,如何得到其正脸之真容???”


哈哈,今天整理的是用GAN进行“脸部转正”的论文(待看)。即给定一幅侧脸图像,如何得到正脸图像?

1 (2020-1-6) PI-GAN: LEARNING POSE INDEPENDENT REPRESENTATIONS FOR MULTIPLE PROFILE FACE SYNTHESIS

https://arxiv.xilesou.top/pdf/2001.00645.pdf

我们往往希望,通过某种方法去提取某一人脸姿态图像的固定不变的“姿态表示特征”,并以此去生成多种视图的姿态图像,例如人脸转正(给定一幅侧脸,即可推知正脸图像)。从某个面部朝向姿势图像去合成其它面部姿势,如何获取“姿态表示特征”仍然是一个难题。人脸转正在诸如多媒体安全性、计算机视觉、机器人技术等各个领域都有应用价值。

为了解决这个问题,本文提出了PIGAN(循环共享编码器/解码器框架),利用具有编码器-解码器结构的生成对抗网络(GAN),联合判别器网络,去学习提取“与姿态无关的特征”,再利用其实现逼真的人脸合成。

与传统的GAN相比,它还由辅助的编码器-解码器框架组成,它与主框架中共享权重,并从原始姿势图像重构图像;主框架着重于创建“解耦表示”,而次框架旨在还原原始面孔。使用CFP高分辨率数据集进行方法的验证。

实验:CFP数据集。由500个人组成,每人包含10幅正面图像和4幅侧脸。在450个人上训练模型,并对剩余进行评估。基本框架架构遵循DCGAN 的实现。效果图如下,有些乍一看还挺好?

2 (2019-02-26) BoostGAN for Occlusive Profile Face Frontalization and Recognition

https://arxiv.xilesou.top/pdf/1902.09782.pdf

有许多因素会影响人脸识别效果,例如姿势、遮挡、照明、年龄等等,其中最主要的是大姿势和遮挡问题,这些问题甚至可能模型的性能下降10%以上。

“姿势不变特征表示”和利用生成对抗网络(GAN)进行人脸转正已被广泛用于解决姿势问题。然而,受遮挡的侧脸的识别仍然是一个待解决的问题。为此本文提供一种有效的解决方案,即使面对脸部关键点区域(例如眼睛,鼻子等)受损或遮挡的侧脸图像,也去尝试识别。

具体来说,提出一个BoostGAN,用于去遮挡,正面化和面部识别。基于面部遮挡是部分且不完整的假设,多个遮挡块的图像将作为输入,也就是所谓的的“knowledge boosting”,例如身份和纹理信息。然后,进一步设计了一种新的聚合网络模块,用于最终精细的图像合成。

3 (2018-10-6) Learning a High Fidelity Pose Invariant Model for High-resolution Face Frontalization

https://arxiv.xilesou.top/pdf/1806.08472.pdf

人脸正面化是指根据给定的侧脸去合成人脸正面视图的过程。由于遮挡和扭变,要恢复较好的结果、以高分辨率保存纹理细节极为困难。本文提出了一种高保真姿势不变模型(HF-PIM)来产生逼真的、能保持身份特征一致的结果。

4 (2018-3-4) Load Balanced GANs for Multi-view Face Image Synthesis

https://arxiv.xilesou.top/pdf/1802.07447.pdf

从单个图像去合成多视图人脸是一个ill-posed病态、不定的问题,结果往往有严重的外观失真。生成逼真的、保留身份的多视图仍然是一个挑战。本文提出了负载平衡生成对抗网络(LB-GAN),可以将输入人脸图像的偏航角精确地旋转到任意指定角度。

LBGAN将具有挑战性的综合问题分解为两个子任务:人脸标准化和人脸编辑。标准化首先对输入图像进行正面化,然后编辑器将正面化的图像旋转到所需姿势。为了生成逼真的局部细节,对标准化器和编辑器进行两阶段训练,并通过有条件的self-cycle loss和基于L2 loss的attention进行约束。

5 (2017-12-13) UV-GAN Adversarial Facial UV Map Completion for Pose-invariant Face Recognition

https://arxiv.xilesou.top/pdf/1712.04695.pdf

最近提出的鲁棒的3D人脸对齐方法在3D人脸模型和2D人脸图像之间建立了密集或稀疏的对应关系。这些方法的使用对于面部纹理分析既是挑战也是机遇。特别是,通过使用拟合模型(fitted model)对图像进行采样,可以创建面部UV。D但由于遮挡,UV图总是不完整的。本文提出UV-GAN,用生成的UV图生成任意姿态的2D面部图像。

6 (2017-08-17) Towards Large-Pose Face Frontalization in the Wild

https://arxiv.xilesou.top/pdf/1704.06244.pdf

尽管最近在使用深度学习的面部识别方面取得了进步,但是在较大的姿势变化下,严重影响性能。学习姿势不变特征是一种解决方案,但是需要昂贵的大规模数据标注和精心设计的特征学习算法。本文结合 3D Morphable Model (3DMM) 和 GAN 来进行人脸转正,称为FF-GAN。

7 (2017-08-3) Beyond Face Rotation: Global and Local Perception GAN for Photorealistic and Identity Preserving Frontal View Synthesis

https://arxiv.xilesou.top/pdf/1704.04086.pdf

本文提出了一种两路生成对抗性网络(TP-GAN),用于通过同时感知全局结构和局部细节来实现逼真的正面视图合成。除了常用的全局编码器/解码器网络之外,还提出了四个局部块网络来处理局部纹理。此外,引入对抗性损失,对称性损失和身份保留损失的损失组合。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-01-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器学习与AI生成创作 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Linq 实现 DataTable 行转列
由于工作需要,要把查出来的DataTable实现 行转列, 正好这一阵子在用Linq 就做了一个行转列的小例 子 转换前的table: 转换后的table:  代码里有详细的说明, 还有一些参数我都截
lpxxn
2018/01/31
2.5K0
Linq 实现 DataTable 行转列
Linq 和DefaultView两种方法去掉DataTable 里的重复行
在做项目的时候经常会遇到DataTable 里的数据重复,或者合并两个DataTable后有数据重复 一般我们是想把重复的删除掉,还有其它的方式实现比如用Linq和DataTable的DefaultV
lpxxn
2018/01/31
1.5K0
Linq 和DefaultView两种方法去掉DataTable 里的重复行
sqlserver 的事务和c#的事务
sql的事务 1 sql 2 create database model 3 go 4 use model 5 go 6 create table Stu( 7 id int , 8 name varchar(200) 9 ) 10 go 11 select * from Stu 12 go 13 begin transaction cc 14 begin 15 --print @@Trancount 16 insert into Stu (id,name) values(1,'33
lpxxn
2018/01/31
1.1K0
常用C#代码「建议收藏」
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/195508.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/30
2.6K0
常用C#代码「建议收藏」
C# DataTable 用法简介
C# DataTable 的常见用法: (1)新建数据表。 DataTable dt=new DataTable();如果带个String参数,此参数表示表名。 (2)向表添加列。 //数据库的Nvarchar等类型,在此可用String兼容。可不指明数据类型 DataColumn dc = new DataColumn("商品编号", typeof(system.string)); dt.Columns.Add(dc); (3)设置表特定行与列的数据值。 dt.Rows[i].SetField<int>
恋喵大鲤鱼
2020/04/03
1.7K0
向datagrid中加横向 纵向的合计 (在datatable中实现,datatable间倒数据)
如果实现?? protected System.Web.UI.WebControls.DataGrid DataGrid1; /// <summary> /// 数据来源 /// </summary> DataSet CreateDataSource() { DataTable dt = new DataTable(); DataRow dr; dt.Columns.Add(new DataColumn("名称", typeof(string))); dt.Colu
阿新
2018/04/13
2K0
DataTable排序结果的纠正
默认情况下,即便db中某一列的值是数字,查询出来的DataSet/DataTable里,Column的类型都是String型,所以当用dataTable.DefaultView.Sort ="XXX ASC"排序时,都是按字符串排序处理的,并不是我们想要的结果,下面给出了二种解决办法: using System; using System.Data; namespace DataTableSortSample { class Program { static void Ma
菩提树下的杨过
2018/01/24
1.5K0
C#代码示例:在WinForm中创建并绑定一个DataTable
在我的一篇文章中,我解释了如何在没有数据库的情况下以web形式绑定gridview。这里,我将解释如何在没有数据库的windows窗体中绑定datagrid。
程序你好
2018/07/23
3.9K0
将Excel文件数据库导入SQL Server
将Excel文件数据库导入SQL Server的三种方案//方案一: 通过OleDB方式获取Excel文件的数据,然后通过DataSet中转到SQL Server
Java架构师必看
2021/03/22
2.4K0
C#:DataTable映射成Model
这是数据库开发中经常遇到的问题,当然,这可以用现成的ORM框架来解决,但有些时候,如果DataSet/DataTable是第三方接口返回的,ORM就不方便了,还得自己处理。 反射自然必不可少的,另外考虑到DataTable中的ColumnName通常与Model的PropertyName并不严格对应,可以用Attribute来记录这种映射关系。 步骤1:先创建一个DataFieldAttribute类 1 using System; 2 3 namespace Jimmy.ORM 4 { 5
菩提树下的杨过
2018/01/24
8960
List,DataTable实现行转列的通用方案
本文通过行转列引出System.Linq.Dynamic,并介绍了过滤功能,其实它的用处还有很多,等待大家发掘。
用户1168362
2018/01/05
2K0
List,DataTable实现行转列的通用方案
C# NOPI 项目实战(经典)(可下载项目源码)
这篇文章主要介绍了如何安装NPOI,以及NPOI具体如何使用,并且用具体实例介绍了excel导入到datagridview以及 datagridview如何导出到excel并保存。如果不清楚这块的去我公众号去搜索这篇文章阅读。
zls365
2021/02/26
2.3K0
使用NPOI导出,读取EXCEL(可追加功能)
使用NPOI导出,读取EXCEL,具有可追加功能 看代码 1 using System; 2 using System.Collections.Generic; 3 using System.Text; 4 using System.IO; 5 using System.Data; 6 using NPOI.SS.UserModel; 7 using NPOI.XSSF.UserModel; 8 using NPOI.HSSF.UserModel; 9 10 name
冰封一夏
2019/09/11
1.9K0
LINQ分页和排序,skip和Take 用法
LINQ分页和排序,skip和Take 用法 dbconn.BidRecord.OrderBy(p=>p.bid_id).ToList<BidRecord>().OrderBy(p => p.bid_id).Skip(skip).Take(take).ToList<BidRecord>(); 上面就是分页带排序的方法。 说一下问什么这样做 dbconn 是Modle的对象 BidRecord 是一个实体 P=〉p.bid_id 是排序的条件 OrderBy 是排序(后面是条件)然后要查询所有的,在所有的数据
hbbliyong
2018/03/05
1.9K0
.NET程序设计复习总结
没有两三天.NET就要考试了,按照考试大纲自己梳理一遍( 临时抱佛脚 ) 有些知识点大纲不考就没总结,面向考试编程
唔仄lo咚锵
2020/09/15
1.4K0
DataTable,List去重复记录的方法
今天一位朋友问如何去掉DataTable里重复的记录(DataTable是别人返回过来的,不能再重新查询数据库,所以无法用sql中的select distinct xxx处理,只能在DataTable上动脑筋)  思路:将DataTable转成IEnumerable,然后就能调用Distinct方法了 by 菩提树下的杨过 using System.Collections.Generic;  using System.Linq;  using System.Data;  using System;  n
菩提树下的杨过
2018/01/23
1.9K0
动态生成TreeView方法(二)
这次是用递归的方法实现 ,我想大家都知道怎么做吧,就不 多说了, 还是不建议用递归,数据量大了会映响速度,动态生成TreeView方法(一)是我比较喜欢的方法 看一下效果图 前台代码: <%@ Pag
lpxxn
2018/01/31
1.3K0
动态生成TreeView方法(二)
NPOI操作EXCEL
------------------------------------------------------------------------
zls365
2020/10/30
1.8K0
NPOI操作EXCEL
数据库之ADO.NET基础知识整理
       之前我们所学只能在查询分析器里查看数据,操作数据,我们不能让普通用户去学sql,所以我们搭建一个界面(Web Winform)让用户方便的操作数据库中的数据
洋仔聊编程
2019/01/15
2K0
C#的DataTable操作方法
1.将泛型集合类转换成DataTable(表中无数据时使用): public static DataTable NullListToDataTable(IList list) {
彭泽0902
2018/01/04
2.1K0
相关推荐
Linq 实现 DataTable 行转列
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档