2D GAN知道3D形状吗?基于GAN的二维图像无监督三维形状重建

论文、代码地址:在公众号「计算机视觉工坊」,后台回复「二维图像GAN」,即可直接下载。

摘要:

自然图像是三维物体在二维图像平面上的投影。尽管像GAN这样最先进的2D生成模型在建模上具有较好的性能,但是研究人员们仍然不了解它们内部是否隐含了底层的3D对象结构。如果真的隐含了这些信息,研究人员如何利用这些知识来恢复图像中物体的三维形状呢?为了回答这些问题,在这项工作中,研究人员首次尝试直接从一个现成的只对RGB图像训练的2D GAN中挖掘3D几何线索。通过研究,研究人员发现这种预先训练过的GAN确实包含了丰富的3D知识,因此可以用无监督的方式从单一的2D图像中恢复3D形状。该研究框架的核心是一个迭代策略,探索和利用GAN图像的不同视角和照明变化。该框架不需要2D关键点或3D标注,也不需要对识别的物体形状有苛刻的要求,例如,要求形状是对称的,即可成功地恢复了人脸、汽车、建筑等的高精度3D形状。同时,恢复的3D形状可以进行高质量的图像编辑,如重光照和对象旋转。研究人员定量地证明了该方法在三维形状重建和人脸旋转方面的有效性。

研究贡献:

(1) 研究人员首次尝试使用仅在2D图像上预先训练的GAN来重建3D物体形状。研究人员的工作表明,2D GAN可以捕获不同对象类别的丰富3D知识,并为3D形状生成提供了一个新的视角。

(2) 研究人员的工作还提供了另一种无监督的三维形状学习方法,并且不依赖于物体形状的对称性假设。

(3) 研究人员实现了高度逼真的3D感知图像操作,包括旋转和重光照,无需使用任何外部3D模型。

当前问题:

现有的经过预训练的2D GAN可以为研究人员从2D图像中恢复物体的3D形状提供了知识。由于一个实例的3D结构可以从具有多个视角和照明变化的同一实例的图像中推断出来,因此,研究人员希望通过利用2D GAN捕获的图像来创建这些变化。然而,挖掘GAN中的几何信息并非易事,已有的方法难以对任意物体类别的GAN找到视角与光照变量在隐空间中对应的准确方向。

研究方法:

为了解决此问题,研究者注意到大多数物体(如人脸、汽车等)具有较“凸”的三维形状。受此启发,研究人员基于“椭球”开展了相应的研究。研究人员希望通过挖掘二维GAN中的几何信息(视角与光照)来重建物体的三维形状。基于这种思想,研究者设计了一种迭代式挖掘并利用GAN图像空间中视角与光照信息的策略,算法框架如下图所示,具体算法步骤如下:

(1) 用初始化的形状(椭球)和渲染器渲染很多不同视角与光照条件下的“伪样本”;

(2) 用预训练的GAN对伪样本进行重建,得到其在GAN图像空间的投影,“投影样本”。这些投影样本会继承与伪样本类似的视角与光照,同时GAN的生成特性会将投影样本约束在真实图像空间中,从而消除伪样本中不真实的畸变与光影;

(3) 将投影样本作为渲染步骤的ground truth,从而优化物体三维形状。由于投影样本中包含了GAN学得的物体三维信息,因此物体形状会更加准确。

以上步骤结束后,研究人员可以用优化后的形状作为初始形状再重复以上步骤,迭代多次,从而逐步改善形状直至收敛。

实验设置与结果:

研究人员首先评价了该方法在三维形状恢复,然后展示了它在三维感知图像处理中的应用。使用的数据集包括CelebA、BFM、组合猫数据集、LSUN Car、LSUN Church,均为无约束RGB图像。研究人员在实验中采用StyleGAN2对这些数据集进行预训练。

1. 无监督的三维形状重建

研究者将GAN2Shape分别应用于在人脸、猫脸、车以及建筑上训练的StyleGAN2,均可重建出合理的三维形状,如下图所示:

下图为GAN2Shape在建筑上的三维重建和重光照结果,以及与Unsup3d的对比:

评估:该方法恢复了人脸、猫、汽车和建筑的高质量三维形状。例如,人类脸上的皱纹、汽车的边缘和平面都被很好地捕捉到了。Unsup3d的结果虽然不错,但往往忽略了人脸的一些不对称方面,例如,它预测的眼睛方向总是指向前方。Unsup3d在不对称物体或大视角变化的数据集(如建筑物、汽车等)泛化方面存在不足,而本文中的研究方法则没有这样的缺点。

2. 三维图像操作

(1) 对象旋转和重光照

训练后,恢复的3D形状和编码器可以实现各种3D感知的图像处理效果。研究人员展示了两个操作效果,包括对象旋转和重光照。对于每种效果,研究人员展示了使用恢复的3D形状和反照率渲染的结果,以及通过编码器实现的投影。从下图中可知,研究人员的方法适用于GAN反演的真实自然图像,该方法可以很好的运用在对象旋转和重光照。,实验结果如下所示。

(2) 人脸身份特征保留

通过面部旋转,研究人员将该方法与其他无监督的方法进行了比较,这些方法也实现了面旋转与GAN,包括HoloGAN,GANSpace和SeFa。对于每一种方法,研究人员随机抽取100张人脸图像,对每一张人脸,研究人员将它的偏航角度从-20度移到20度,获得20个不同姿态的样本。然后使用人脸身份检测模型ArcFace来评估旋转过程中人脸身份的变化。从实验中可知,由于研究人员的方法明确恢复了三维人脸形状,因此从这些恢复的三维形状中呈现的结果明显优于其他方法,实验结果如下所示。

研究不足:

研究人员已经证明了该方法适用于许多不同的类别。然而,对于马等复杂形状的物体,一个简单的“凸”形先验知识,可能不能很好地反映视角和光照变化,因此3D形状不能非常准确地推断,可以参考下图中的第二行。该方法的另一个局限是,研究人员的3D网格是通过深度图参数化的,它不能建模对象的背面形状,如下图中的第一行所示。这可以通过采用更好的参数化三维网格来解决。尽管有这些限制,研究人员的方法仍然捕捉到了马的一些形状,如头部和腹部的粗糙形状,并达到了合理的重光照效果。

文章总结

研究人员已经提出了第一个直接利用现成的2D GAN从图像恢复3D物体形状的方法。研究人员发现,现有的2D GAN捕获了足够的知识来恢复许多对象类别的3D形状,包括人脸、猫、汽车和建筑。基于“凸”形先验知识,研究人员的方法可以探索GAN图像中的视角和光照变化,并利用这些变化以迭代的方式细化底层物体形状。研究人员进一步展示了研究人员的方法在3D感知图像处理的应用,包括对象旋转和重光照。研究人员的结果揭示了二维GAN在底层三维几何建模中的应用价值。

备注:作者也是我们「3D视觉从入门到精通」特邀嘉宾:一个超干货的3D视觉学习社区

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「计算机视觉工坊」公众号后台回复:深度学习,即可下载深度学习算法、3D深度学习、深度学习框架、目标检测、GAN等相关内容近30本pdf书籍。

下载2

在「计算机视觉工坊」公众号后台回复:计算机视觉,即可下载计算机视觉相关17本pdf书籍,包含计算机视觉算法、Python视觉实战、Opencv3.0学习等。

下载3

在「计算机视觉工坊」公众号后台回复:SLAM,即可下载独家SLAM相关视频课程,包含视觉SLAM、激光SLAM精品课程。

重磅!计算机视觉工坊-学习交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有ORB-SLAM系列源码学习、3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、深度估计、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、orb-slam3等视频课程)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

ICLR 2021|基于GAN的二维图像无监督三维形状重建相关推荐

  1. 基于MATLAB实现二维图像叠加进行三维重建

    三维重建主要过程概述 绘制圆心位置相同,内外半径相同的系列圆 ,图片尺寸为128*128,类似于血管的圆管柱图像: 绘制圆心位置不同,内外半径相同的系列圆,图片尺寸为128*128,类似于血管的圆管柱 ...

  2. 【论文笔记】SIFA——基于GAN的双向跨模态无监督域适应框架

    本文是论文<Unsupervised Bidirectional Cross-Modality Adaptation via Deeply Synergistic Image and Featu ...

  3. OpenCV图像处理:基于RANSAC的二维图像中直线、圆及椭圆的检测 C++

    基于ransac的直线.圆及椭圆检测算法C++代码 LINK: https://github.com/Yiphy/Ransac-2d-Shape-Detection # Ransac-2d-Shape ...

  4. 通过matlab将二维图片序列进行三维立体重建(包含仿真录像)

    目录 1.算法概述 2.仿真效果 3.MATLAB仿真源码 1.算法概述 isosurface 等值面函数 调用格式: fv = isosurface(X,Y,Z,V,isovalue) 作用:返回某 ...

  5. 时间序列转二维图像方法及其应用研究综述

    目录 1 前言 2 方法综述 2.1 时频分析法 2.1.1 短时傅里叶变换 2.1.2 小波变换 2.1.3 希尔伯特-黄变换 2.2 图像编码方法 2.2.1 格兰姆角场 2.2.2 马尔可夫转移 ...

  6. 【人工智能专题】基于 GAN 的艺术风格化——图像风格迁移

    原文:https://mp.weixin.qq.com/s?__biz=MzAxMzEwMDM2Mg==&mid=2652847175&idx=3&sn=51dcb41bc5c ...

  7. 【MATLAB】二维绘图 ( 绘制二维图像 | 设置图像样式 )

    文章目录 一.绘制二维图像 1.二维绘图步骤 2.二维绘图步修饰 3.代码示例 二.设置图像参数 1.图像参数 2.代码示例 一.绘制二维图像 1.二维绘图步骤 绘图前需要给定 xxx 轴 , yyy ...

  8. 程序员用「美貌」突破二维图像的人脸识别

    GitChat 作者:于航 原文: 如何利用"女装术"突破基于二维图像的人脸识别 关注微信公众号:「GitChat 技术杂谈」 一本正经的讲技术 [不要错过文末彩蛋] 首先声明,这 ...

  9. 基于OpenCV实现二维码发现与定位

    基于OpenCV实现二维码发现与定位 在如今流行扫描的年代,应用程序实现二维码扫描检测与识别已经是应用程序的标配.特别是在移动端.如果你的应用程序不能自动发现检测二维码,自动定位二维码你都不好意思跟别 ...

最新文章

  1. 迁移学习的魔法:任何人都将能使用深度学习
  2. Linux系统编程之查看文件大小的方法(lseek_fseek_stat)
  3. 想要求职Web安全相关的岗位,你就必须要懂的知识
  4. Hive连接超长Hbase宽表异常
  5. java 二进制文件 数据库_java从数据库中读取二进制文件并....
  6. Android P(2)---计划概览
  7. 字节跳动教育部分开始裁员,N+2赔付...一大波读者失业
  8. 互联网架构技术干货视频分享地址发布和情况说明
  9. jscript对URL参数进行编码与解码
  10. 私塾在线精品原创系列文章
  11. 【0704】HL普及组模拟赛题解及反思
  12. Codeforces Round #702 (Div. 3)---C. Sum of Cubes 两种方法 cbrt()函数应用
  13. android充电架构的分析
  14. 机器深度学习笔记(1)——神经网络从一张图片中识别狗的过程
  15. Linux ps aux什么含义,Linux下psaux解释
  16. 2016年10月9日 星期日 --出埃及记 Exodus 18:20
  17. hack the box 连接
  18. vba抽奖ppt 深蓝计协电竞大赛
  19. hurricane中文_Hurricane Outbreak游戏中文版下载安装(飓风模拟器) v1.1.9
  20. Error while obtaining UI hierarchy XML file: com.android.ddmlib.SyncExceptio解决办法

热门文章

  1. Mac android studio 环境搭建和真机运行
  2. 24个基本指标精粹讲解(5)--SR
  3. 惠普LaserJet M1216nfh MFP激光打印机开机提示“安装黑色碳粉盒”亮黄灯
  4. 如何让win10超时自动锁定屏幕?
  5. 程序员必备网站Collection~
  6. 如何将多个PDF文件合并为一个PDF,4种工具推荐,适用手机和PC
  7. 狂汗!VOD点播系统漏洞解析,***电影网站!
  8. 如何使用SOLIDWORKS绘制外螺纹线?
  9. 【Android】SD卡的安全存储问题
  10. android动态获取地理位置权限,Android6.0获取GPS定位和获取位置权限和位置信息的方法...