写点什么

Facebook 新研究:使用 CNN 将任何 2D 照片转换为 3D

  • 2020-03-05
  • 本文字数:2234 字

    阅读完需:约 7 分钟

Facebook 新研究:使用CNN将任何2D照片转换为3D

Facebook 的 3D 照片功能于 2018 年推出,是一种全新的、沉浸式的照片格式,用于与朋友和家人分享照片。不过,在当时,这一功能依赖于只有新款高端智能手机才有的双镜头“肖像模式”功能。因此,这一功能无法在只有一个后置镜头的典型移动设备上使用。为了让更多的人能够用上这种全新的视觉形式,Facebook 近日发布了一项研究,使用了最先进的机器学习技术,能够将几乎任何标准的 2D 照片转换为3D 照片。这个系统可以推断出任何图像的 3D 结构,无论是用标准单镜头在 Android 和 iOS 设备拍摄的新照片,还是最近上传到手机或笔记本电脑上的几十年前的老照片。


以下内容整理自 Facebook AI 博客:


这一技术进步使得数以百万计使用单镜头照相手机或平板电脑的人们第一次可以轻松地接触到 3D 照片技术。它还可以让每个人以一种全新的方式体验几十年前的家庭照片和其他珍贵的图像,将它们转换成 3D 照片。拥有最先进的双镜头设备的人也能从中受益,因为他们现在可以使用唯一的前置镜头进行 3D 自拍。任何拥有 iPhone 7 或更高版本,或者最近的中端或更好的 Android 设备的人,现在都可以在 Facebook 的应用程序中尝试这项技术。


该动画显示了如何估计一幅 2D 图片的不同区域的深度,以创建一幅 3D 图像。


构建这种增强的 3D 照片技术需要克服各种技术挑战,例如,训练模型,以正确推断出极其广泛主题的 3D 位置,并优化系统,使其能够在不到一秒的时间内,就能在典型移动处理器的设备上运行。为了克服这些挑战,研究人员在数百万的公共 3D 图像及其相应的深度图上训练了卷积神经网络,并利用了 Facebook AI 之前开发的各种移动优化技术,如 FBNetChamNet 等。(技术团队还讨论了最近在 3D 理解方面的相关研究,参见:《推动 3D 内容理解的最新进展》(Pushing the state of the art in 3D content understanding))


现在,这一功能对所有 Facebook 用户可用,本文将分享构建这一功能的细节。



小狗的原始照片是用单镜头相机拍摄的,并不包含任何深度图的数据。系统将其转换成 3D 图像,如图所示。

在移动设备上提供高效性能

给定一幅标准的 RGB 图像,3D Photos CNN (3D 照片卷积神经网络)可以估计每个像素到相机的距离。技术团队通过以下四种方式实现了这一点:


  • 使用一组可参数化的、可移动优化的神经构建块来构建的网络架构。

  • 将架构搜索自动化以查找这些块的有效配置,使系统能够在不到一秒的时间在各种设备上执行任务。

  • 量化感知训练,可在移动设备上利用高性能的 int8 量化,同时最大限度降低量化过程带来的潜在质量下降。

  • 大量的训练数据源自公开的 3D 照片。

神经构建块

该项目的架构使用了受 FBNet 启发的构件块,FBNet 是一个用于优化移动设备和其他资源受限设备的 ConvNet 架构的框架。一个构建块由逐点卷积(pointwise convolution)、可选采样和深度卷积组成。团队实现了一个 U-net 风格的架构,该架构已经被修改为沿着残差连接(skip connection)放置 FBNet 构建块。U-net 编码器和解码器各包含五个阶段,每个阶段对应不同的空间分辨率。



网络架构概述。该网络架构是一个 U-net,沿着残差连接放置了额外的宏级构建块。

自动架构搜索

为了找到一个有效的架构配置,研发人员使用 ChamNet 将搜索过程自动化,这是 Facebook AI 开发的一个算法。ChamNet 算法从搜索空间采样点训练正确度预测器,该正确度预测器用于加速遗传搜索,以找到在满足特定资源约束的前提下,使预测正确度最大化的模型。在这个设置中,使用一个搜索空间,该搜索空间改变了通道扩展因子和每个块的输出通道数,从而产生 3.4\times 10^{22} 个可能的架构。然后,使用 800 块 Tesla V100 GPU,在大约三天内完成搜索,设置并调整模型架构上的 FLOP 约束,以实现不同的操作点。

量化感知训练

默认情况下,模型使用单精度浮点权重和激活进行训练,但研究人员发现,将权重和激活量化为仅 8 位具有显著优势。特别是,int8 权重只需 float32 权重所需存储空间的四分之一,从而减少首次使用时必须传输到设备的字节数。



这些图像都是从普通的 2D 图像开始,然后通过深度估计神经网络转换成 3D 图像。


由于 Facebook AI 的 QNNPACK 等经过调优的库已经整合到 PyTorch 中,因此与 float32 相比,基于 int8 的运营商的吞吐量要高得多。团队通过使用量化感知训练(quantization-aware training,QAT)来避免由于量化导致的不可接受的质量下降。QAT(现已作为 PyTorch 的一部分提供)在训练过程中模拟量化并支持反向传播,从而消除了训练和生产性能之间的差距。



神经网络可处理各种内容,包括场景复杂的绘画和图像。

寻找创造 3D 体验的新方法

除了完善和改进深度估计算法,Facebook AI 团队还致力于为移动设备拍摄的视频提供高质量的深度估计。视频是一个值得注意的场景,因为视频中每一帧的深度必须与下一帧保持一致,但这也是一个提高性能的机会,因为对同一目标的多次观测可以为高正确度的深度估计提供额外信号,Facebook 预计将向用户开放多种创新的内容创作工具。随着团队不断提高神经网络的性能,未来还将探索利用深度估计、表面法线估计(surface normal estimation)和空间推理的应用。


除了这些潜在的新体验外,这项工作还将帮助技术团队更好地全面理解 2D,提高对 3D 场景的理解也可以帮助机器人导航并与现实世界进行互动。作者表示,希望通过分享 3D 照片系统的细节,能够帮助人工智能社区在这些领域取得进展,并创造 3D 新体验。


作者介绍:


Kevin Matzen、Peizhao Zhang,研究科学家;Matthew Yu、Jonathan Lehman,软件工程师;Jan-Michael Frahm、Peter Vajda、Johannes Kopf,研究科学主管;Matt Uyttendaele,工程总监。


2020-03-05 14:471901
用户头像
陈思 InfoQ编辑

发布了 576 篇内容, 共 282.4 次阅读, 收获喜欢 1303 次。

关注

评论

发布
暂无评论
发现更多内容

用户故事是垂直的切片(译)

Bruce Talk

敏捷 译文 Agile User Story

全网最强的权限系统设计攻略:京东北极星商业系统权限管控实践

学Java关注我

Java 编程 程序员 架构 技术宅

【采访融云CTO杨攀:2021如何让融云迈向更高舞台】(采访)

洛神灬殇

融云 杨攀

炫彩无界,性能怪兽,M1 扛鼎未来 —— 2021 年 Apple 春季新品发布会全记录

清秋

产品 苹果 硬件 新闻

区块链电子证据的司法应用现状与展望

CECBC

HBase HA 分布式部署

Fong

大数据 运维 HBase hadoop3

专访声网首席资深iOS研发工程师龚宇华:从自学计算机到高级架构师

黑马腾云

专访

架构实战营 模块2作业

CR

python内置数据结构list、set、dict、tuple(一)

若尘

List 数据结构 set 字典 Python编程

Properties类使用需要注意的坑

风翱

properties 4月日更

不忘初心,砥砺前行|暨InfoQ写作平台一周年

程序员架构进阶

28天写作 4月日更 1 周年盛典 我和写作平台的故事 InfoQ 写作平台 1 周年

专访吴翰清 || 如何用网络安全保障个人隐私

Bob

网络安全 个人隐私 调查采访能力考核

没有自信的人,才会在意别人的评价

小天同学

心理 日常思考 个人感悟 4月日更 自信

浅谈Javascript中的forEach和map之间的区别

devpoint

遍历 foreach map reduce

如何做好前馈管理?

石云升

28天写作 职场经验 管理经验 4月日更

禁止算法识别性别,能消解歧视吗?

脑极体

Golang 并发

escray

学习 极客时间 Go 语言 4月日更

白皮书:区块链将成隐私计算产品必选项,提供三方面助力

CECBC

区块链

实体经济与数字经济加速融合 中国经济新动能快速成长

CECBC

数字经济

网络安全传奇吴翰清采访提纲 |调查采访能力考核

清秋

网络安全 签约计划 调查采访能力考核

Spring Boot 2.0 实现优雅停机

U2647

Spring Boot 4月日更

用户故事拆分招数全景图(译)

Bruce Talk

敏捷 译文 Agile User Story

重读《重构2》- 以对象取代基本类型

顿晓

重构 4月日更

翻译:《实用的Python编程》TheEnd

codists

Python

为什么 Serverless 将推动边缘计算的革命

公众号:云原生Serverless

Serverless 边缘计算

Ansible 配置

耳东@Erdong

4月日更

今年我读了四个开源项目的源码,来分享下心得

yes

源码

《采访阿里“守护神”吴翰清:安全攻防-采访提纲》

Geek_6370d5

如何从零开始学Python:(4)如何处理列表数据?

广之巅

Python 4月日更

分库分表笔记

luojiahu

分库分表

《专访彩食鲜CTO乔新亮:体系的重要性》(采访提纲)

花花

调查采访能力考核

Facebook 新研究:使用CNN将任何2D照片转换为3D_AI&大模型_Facebook 博客_InfoQ精选文章