写点什么

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:472093
用户头像
陈思 InfoQ编辑

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

关注

评论

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

netty系列之:java中的base64编码器

程序那些事

Java 程序那些事 3月月更

鸿蒙开发必备书籍【收藏】

坚果

鸿蒙 3月月更

ZEGO 自研客户端配置管理系统 —— 云控

ZEGO即构

后台开发 客户端配置 音视频架构

恒源云(Gpushare)_【存储优化】/hy-tmp可以扩/缩容啦

恒源云

云计算 存储 tmp

2022 年值得关注的 9 个最新 Java 趋势

Ethereal

如何使用 Checkmk 监控 SSL TLS 证书?

Ethereal

私有云与公有云,哪种云模型最适合企业的需求

Ethereal

Linux性能优化—内存实战篇

Linux服务器开发

性能优化 内存管理 Linux服务器开发 Linux内核 内核源码

这门面向应用开发者的 TiDB 使用教程,TiDB SQL、Connector API、架构体系…你一定不能错过!

PingCAP

在 Manjaro 上安装 Chrome

信号量

chrome Linux

OceanBase 在线体验环境,现已上线!

OceanBase 数据库

征文丨TiDB 社区专栏第一届征文大赛,快来一次性集齐所有周边吧!

PingCAP

Web 键盘输入法应用开发指南(9)—— 标准与实现

天择

JavaScript 键盘 输入法 3月月更

数据对接 - 大屏云极简使用手册

shulinwu

可视化 数据可视化 大屏可视化 数据可视化控件 大屏

Meetup预告| AIOps指标相关算法体系分享

云智慧AIOps社区

机器学习 大数据 算法 AIOPS 智能运维

零基础学编程?从这本豆瓣评分9.2的入门级神作开始

图灵社区

Python 零基础

国内首届DataOps+MLOps meetup回顾

星策开源社区

人工智能 机器学习 DevOps Meetup MLOps

一站式运维管理工具平台 OCP 到底有多好用,看这篇文章就够了!

OceanBase 数据库

抓到Netty一个隐藏很深的内存泄露Bug | 详解Recycler对象池的精妙设计与实现

bin的技术小屋

中间件 池化技术 java netty 内存池

数字化时代,如何做好用户体验与应用性能管理

云智慧AIOps社区

监控宝 监控工具 自动化运维 数字化经济

【三级等保】三级等保服务费用一年大概要多少?一年需要测评一次嘛?

行云管家

网络安全 等保 等级保护 三级等保

两小时,掌握四个数字化工具!

明道云

【直播回顾】OpenHarmony知识赋能第四期第二课——GPIO驱动开发

OpenHarmony开发者

OpenHarmony GPIO 驱动开发

电科申泰加入龙蜥社区并成为理事单位,共创基础软硬件生态新未来

OpenAnolis小助手

开源 理事单位 申威 软硬件

2022年济南正规等保测评公司名单(排名不分先后)

行云管家

等保 等保测评 等保2.0 济南

Map-Reduce 思想在 ABAP 编程中的一个实际应用案例

汪子熙

mapreduce abap CRM系统 企业级应用 3月月更

HSC推出「万物生长计划」 赋能虎符交易所HOO新应用场景

区块链前沿News

Hoo 虎符交易所 虎符智能链

资产管理系统开发解决方案

低代码小观

企业管理 资产管理 CRM系统 企业管理软件

OceanBase 存储引擎详解

OceanBase 数据库

并发异步编程之争:协程(asyncio)到底需不需要加锁?(线程/协程安全/挂起/主动切换)Python3

刘悦的技术博客

多线程 协程 Python3 协程原理

企业帮助中心的搭建步骤

小炮

帮助中心

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