©PaperWeekly · 作者|周航、刘吉豪

学校|香港中文大学、商汤科技

前言

这篇论文既异于传统、摆脱监督、从全新角度看待人脸旋转问题,又方法极简、模块原始、效果上还有较大提升空间。终究能幸运地受到 reviewer 和 AC 的青睐,也肯定了文章的贡献。虽然文章简朴又不完美,但正因此才留下了更多的想象和空间。

论文标题:Rotate-and-Render: Unsupervised Photorealistic Face Rotationfrom Single-View Images

论文来源:CVPR 2020

论文链接:https://arxiv.org/abs/2003.08124

代码链接:https://github.com/Hangz-nju-cuhk/Rotate-and-Render

核心思想概括

人脸旋转问题的本质是恢复被遮挡部分人脸的结构和纹理,而现有的方法多基于同一人脸的多视角数据训练进行直接的新视角生成,从而导致了各种问题。

本文的核心就是通过单张图像和 3D 人脸建模,渲染从任意角度旋转到当前角度的带遮挡伪影和瑕疵的人脸,从而和原图构建训练数据对。其构造过程用到了两次人脸纹理获取,三维空间旋转和渲染。

整个工作值得大家引用的亮点在于:

  • 无监督(自监督)的人脸旋转框架,摆脱多视角数据

  • 大数据集 MegaFace 的人脸识别效果提升

  • 一键可跑的开源代码

背景介绍

近年来由于 GAN 的出现,人脸旋转(转正)任务取得了快速进展,但是现有方法主要依赖对同一人的多视角数据。一个简单的例子就是如图基于 GAN 的经典人脸转正论文 TP-GAN [1] 的训练框架,将侧脸的图片作为网络输入并将正脸图像当做生成模型的监督。

▲ 传统人脸转正pipeline

这一训练方式的一大障碍是对高质量的多视角配对训练数据的依赖。因此,它们的生成结果受到数据量以及数据分布的限制,从而会造成对特定数据的过拟合(见下图中一些以往方法的结果,会生成 Multi-PIE 数据蓝色的滤镜和背景)。

▲ 和 GAN-based 方法对比结果

而本文方法的出发点就是摆脱多视角的监督,从而解决由于多视角监督带来的 domain 泛化能力问题。在本文中,我们提出一种新颖的无监督框架,利用三维人脸建模,通过反复的旋转和渲染操作构建自监督,并用一个普通的 Pix2Pix 生成最终图像。

该框架不依赖于同一人的多视角图像,就可以生成其他视角的高质量图像,并且框架适用于各个非限定的场景。我们做了大量的实验来验证我们的方法的性能。此外,我们发现将生成的数据用于人脸识别模型的训练,对于人脸识别的性能也有显著提升。

方法

文章提出的无监督框架如下图所示:

整个框架主要包含三个模块,三维人脸重建模块,通过旋转和渲染构建训练数据的 Rotate-and-Render 模块,以及将渲染图像重建到真实图像分布的 Render-to-Image 模块。接下来是没有公式的细节介绍。

3.1 三维人脸重建模块

三维人脸重建技术在这里只是作为工具使用,任何传统或者深度的三维人脸重建方案都可适用,就不多加阐述。简单来说通过三维重建我们可以获取整个人脸的结构信息,由若干归一化的三维顶点坐标组成的矩阵 和姿态信息 。

然后用如下图(a)所示的简单人脸纹理获取方案,就可以给各个顶点注册一个 rgb 值。而我们使用的渲染方案如下图(b)所示,就是纹理注册的逆过程。

3.2 Rotate-and-Render训练策略

整个训练数据对的构建如下图所示:

▲ Rotate-and-Render 训练数据构建策略

给定一张二维人脸图片 ,我们通过三维人脸重建模块得到该人脸的三维模型 ,并将输入的纹理注册 到三维模型上。接下来,我们将该模型   在三维空间旋转并重新渲染为二维图像,得到该人脸在任意角度 的图像 ,这一过程被称为 Rotate-and-Render。

然后我们利用 重新对三维模型获取人脸纹理 ,并让 再次通过 Rotate-and-Render 模块,将 旋转回原角度并渲染到二维平面,得到 。由此 就产生了人脸从姿态 b 旋转回输入姿态,由不可见区域所产生的瑕疵,从而和 形成非常强的自监督,用于训练生成模型。

3.3 Render-to-Image生成模块

为了消除在 Rotate-and-Render 过程中的伪影,我们用 Render-to-Image 模块来生成符合真实图像分布的图像。整个模块如下图所示:

▲ Render-to-Image网络输入和loss

因为网络结构不是我们的 novelty 所在,我们对生成器的选择比较随便,直接使用了 CycleGAN 的 ResBlock 生成器来生成图像。在训练过程中,我们则直接借用了 Pix2PixHD 的 loss function,采用 multi-layer discriminator 和 perceptual loss 来训练鉴别器。

我们分别采用 GAN 的 loss、feature matching loss、perceptual loss 来监督 GAN 的训练,具体的形式可以参见 paper 或者 code。

实验结果

在实验中,我们分别验证了生成图像的质量以及生成图像用于人脸识别的性能的好坏。

4.1 生成图像的质量对比

下图是和基于三维重建的方法的对比结果,而和基于 GAN 的方法对比在开头处。可以看到,无论是对比哪种方法,我们提出的方法生成图像的质量都是更好的,而且身份信息也得到有效保留。

▲ 与3D方法的对比结果

4.2 生成图像用于人脸识别

这里不同于一般的论文,我们还将生成的图像用于数据增强,训练人脸识别模型。我们在测试数据 LFW、IJB-A、Multi-PIE 和 MegaFace 上分别验证了我们方法的性能。

值得注意的是,以往的方法局限于多视角图像的获取,只有在特定场景的小数据集上(与训练数据相同 domain)才会有比较好的结果,比如 Multi-PIE。而我们提出的方法则没有这种限制,可以应用在各种场景中。我们也是第一个在 MegaFace 这种大数据集上进行人脸旋转的方法。

如下四个表格分别是在 LFW、IJB-A、Multi-PIE 和 MegaFace 的性能

可以看到,无论在哪种测试集上,我们的方法都取得了最好的结果。

总结

在本篇论文中,我们利用三维人脸先验的优势,结合我们提出的 Rotate-and-Render 的模块,来进行人脸旋转。方法的关键是,利用 Rotate-and-Render 将人脸旋转两次回到原始角度,构建自我监督信号。并通过 GAN 将渲染的图像转换为真实图像。通过全面的实验,论文方法的以下优势得到验证:

  1. 不需要多视图或者成对的数据,就可以进行训练,这是大部分现有方法无法实现的。

  2. 不仅仅可以将人脸旋转到正面,我们的方法可以旋转到任意角度。

  3. 大量的可视化表明,我们的方法可以生成逼真的旋转图像,保留原有的纹理细节以及光照等。

  4. 将生成的图像用于训练人脸识别模型,可以提高人脸识别的性能。

文末讨论

这里作者也无保留地介绍本文的缺陷。首先文章依赖于现有的三维人脸建模工具,所以不准确的建模会影响生成人物的 ID。同时由于 Render-to-Image 的网络模型选择随意,无法处理较高分辨率的图像,所以生成结果也许未及本次 CVPR 的平均水准(笑)。

但是因为文章的重点是突出无监督的框架,所以希望把这些可能地改进方向作为整个方向后续可能的未来工作。

更多的细节还请大家参见原文和代码。本文的代码已经开源。在本次 CVPR 中的展示网址如下:

http://cvpr20.com/event/rotate-and-render-unsupervised-photorealistic-face-rotation-from-single-view-images/

参考文献

[1] Beyond Face Rotation: Global and Local Perception GAN for Photorealistic and Identity Preserving Frontal View Synthesis. ICCV 2017.

更多阅读

#投 稿 通 道#

 让你的论文被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得技术干货。我们的目的只有一个,让知识真正流动起来。

???? 来稿标准:

• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向)

• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接

• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志

???? 投稿邮箱:

• 投稿邮箱:hr@paperweekly.site

• 所有文章配图,请单独在附件中发送

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通

????

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

关于PaperWeekly

PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。

CVPR 2020 | 反传统的无监督人脸旋转方案:旋转-渲染相关推荐

  1. CVPR2020 | 反传统的无监督人脸旋转方案:旋转-渲染

    2020-06-18 13:07:15 鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI "视觉实力秀",CVPR 2020 正在线上举办中. 本届 CVPR 号称十年来 ...

  2. 【CVPR智慧城市挑战赛】无监督交通异常检测,冠军团队技术分享

    [新智元导读]"智能交通视频分析界的ImageNet竞赛"--英伟达城市挑战赛落下帷幕.新加坡松下研究院联合中科院自动化所,提出了一种双模态动静联合检测方案,在交通异常检测比赛中拔 ...

  3. 力天创见无感人脸识别方案

    力天创见无感人脸识别方案,通过在过道或入口处设置监控摄像头(内置人脸识别芯片),当人员通过时,人脸识别镜头可以抓取人脸并实时上传服务器,对抓取的人脸进行识别,通过后台人脸识别算法,给出年龄和性别等信息 ...

  4. 一种无监督人脸聚类方法(SOTA效果)

    Learning to Cluster Faces by Infomap Intorduction 采用了无监督方法infomap进行人脸聚类github,在公开数据集上MS-Celeb-1M.You ...

  5. CVPR 2020 | 基于知识蒸馏的分块监督NAS

    本文转载自机器之心. 以机器自动设计网络结构为目标的神经网络搜索(NAS,Neural Architecture Search)有望为机器学习带来一场新的革命. 但是,现有的 NAS 解决方案的有效性 ...

  6. 【CVPR 2020】化繁为简,弱监督目标定位领域的新SOTA - 伪监督目标定位方法(PSOL)...

    论文提出伪监督目标定位方法(PSOL)来解决目前弱监督目标定位方法的问题,该方法将定位与分类分开成两个独立的网络,然后在训练集上使用Deep descriptor transformation(DDT ...

  7. 解读:CVPR1903_图卷积网络GCN无监督人脸聚类

    Linkage Based Face Clustering via Graph Convolution Network https://arxiv.org/pdf/1903.11306.pdf 1简述 ...

  8. CVPR 2020百度-涵盖全视觉领域22篇

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 编辑:Sophia 计算机视觉联盟  报道  | 公众号 CVLianMeng 转载于 :百度 近日,计算机视觉领域 ...

  9. 百度22篇!入选CVPR 2020论文涵盖全视觉领域!

    来源:公众号 百度AI baidubrain 本文仅供交流,如有侵权,请联系删除. 近日,计算机视觉领域"奥斯卡"CVPR 2020官方公布论文收录结果,伴随投稿数量激增,接收率开 ...

最新文章

  1. 发现了星星机这种打印工具,还挺不错...
  2. QT+OPENCV实现录屏功能
  3. 判断选择语句switch...case
  4. 基因共表达聚类分析及可视化
  5. 基于字典SR各种方法【稀疏编码多种方法】
  6. Eclipse使用技巧
  7. 擷取 GridView 資料列的欄位值集合
  8. 《软件需求》读后感02
  9. 利用zabbix监控mysqldump定时备份数据库是否成功 乐维君
  10. 简明Python docstrings
  11. 循环队列 代码实现(FIFO)
  12. 用户画像算法分享和干货推荐
  13. Windows API一日一练(69)GetTickCount函数
  14. sqlserver2005 安装图解教程以及SQL 2005 SP3补丁安装图文教程
  15. 【虚拟主机】服务器搭建
  16. 反转链表-递归反转法
  17. Gym - 101635J - Frosting on the Cake
  18. 机房监控系统解说—防火墙篇
  19. python代码时钟_时钟 - python代码库 - 云代码
  20. 如何使用计算机对文件修改密码,怎么给文件夹设密码-加密文档及给它们修改删除密码的具体操作方法...

热门文章

  1. mybatis-config.xml
  2. lombok插件:Data自动get/set方法, Slf4j实现Logger的调用
  3. 1、【设计模式】组合模式
  4. HDU 2516 取石子游戏 斐波纳契博弈
  5. Linux开发常见问题:GCC:链接器输入文件未使用,因为链接尚未完成
  6. [转]C#中得到程序当前工作目录和执行目录的一些方法
  7. 关于我喜欢计算机的作文600字,关于我喜欢的字作文600字5篇
  8. p沟道mos管导通条件_通俗易懂:MOS管基本知识(快速入门)
  9. 安装.net5.0后怎么在vs里选择_Visual Stdio 2019(或其它版本)怎样全部安装到非系统盘的实现方法(小白版)...
  10. java grizzly_Grizzly简介