Facebook 又再实验新科技,让平面照片秒变 3D 照片
▼
随着科技的发展,现在人们可以随时随地用手机等装置拍照记录自己喜欢的瞬间。可能不少人都想过,假如出现一种黑科技,让我们拍摄的平面 2D 照片变成立体的 3D 照片……
Facebook 也早就想到了这件事,为改善用户体验,2018 年,Facebook 就推出了 3D 照片功能。这是一种全新的沉浸式格式,你可以用它与朋友、家人分享照片。但是,这项功能依赖于高阶智慧手机才具备的双镜头“人像模式”功能,无法在一般的行动装置上使用。
为了让更多人体验到这种新的视觉格式,Facebook 利用机器学习开发了一个系统。这个系统可以推断出任何图像的 3D 结构,任何装置、任何时间拍摄的图像都可以被转换成 3D 形式,这就可以让人们轻松使用 3D 照片技术。
不仅如此,它还可以处理几十年前的家庭照片和其他珍贵图像。任何拥有 iPhone 7 及以上版本,或中阶以上 Android 装置的人,现在都可以在 Facebook 应用程式中尝试这个功能。
▲ 估计 2D 图像不同区域的深度,以创建 3D 图像。(Source:Facebook,以下同)
构建这种增强的 3D 图片需要克服不少技术挑战,例如,要训练一个能够正确推断各种主题 3D 位置的模型,并优化系统,使其能够在 1 秒钟内在典型的行动处理器装置上执行。为了克服这些挑战,Facebook 在数百万公共 3D 图像及其附带的深度图上训练了卷积神经网络(CNN),并利用 Facebook AI 之前开发的各种行动优化技术,如 FBNet 和 ChamNet。团队最近也讨论了 3D 理解的相关研究。
现在,所有使用 Facebook 的人都可以使用这个功能,那么,它究竟是如何构建的?我们可以一起来看看其中的技术细节。
▲ 小狗的原始照片是用单镜头相机拍摄的,没有任何深度图像数据,系统将其转换成上图显示的 3D 图像。
在行动装置上提供高效性能
给定一个标准的 RGB 图像,3D Photos CNN(3D 照片卷积神经网络)可以估计每个像素与摄影机的距离。研究人员透过 4 种方式达成这个目标:
- 使用一组可参数化、可行动优化的神经构建模组构建网络架构。
- 自动化架构搜寻,以找到这些模组的有效配置,使系统能够在不到 1 秒钟的时间内在各种装置上执行任务。
- 量化感知训练,在行动装置上利用高性能 INT8 量化,同时使量化过程中的性能下降最小化。
- 从公开的 3D 照片获取大量的训练数据。
神经构建模组
Facebook 的架构使用受 FBNet 的构建模组启发。FBNet 是一个为行动装置等资源受限的装置优化 ConvNet 架构的框架。一个构建模组由逐点卷积(pointwise convolution)、可选的上采样、kxk 深度卷积和附加的点逐点卷积组成。Facebook 实现了一个 U-net 风格的架构,该架构已被修改为沿着跳过连接放置 FBNet 构建模组。U-net 编码器和解码器各包含 5 个阶段,每个阶段对应不同的空间解析度。
▲ 网络架构概述。
自动化架构搜寻
为了找到一个有效的架构配置,Facebook AI 开发的 ChamNet 演算法自动完成搜寻过程。ChamNet 演算法不断从搜寻空间中抽取点来训练精准度预测器。该精准度预测器用于加速遗传搜寻,以找到在满足特定资源约束的情况下,使预测精度最大化的模型。
这个设置中使用了一个搜寻空间,它可以改变通道扩展因子和每个模组的输出通道数,进而产生 3.41,022 种可能的体系结构。然后,Facebook 使用 800 Tesla V100 GPU 在大约 3 天内完成搜寻,设置并调整模型架构上的 FLOP 约束,以实现不同的操作点。
量化感知训练
默认情况下,其模型使用单精度浮点权值和触发进行训练,但研究人员发现,将权值和触发量化为 8 位元具有显着的优势。尤其是,int8 权重只需要 float32 权重所需储存量的四分之一,进而减少首次使用时必须传输到装置的位元数。
▲ 每幅图像都是从一个规则的 2D 图像开始,然后用深度估计神经网络转换成 3D 图像。
与基于 float32 的运算符相比,基于 Int8 的运算符的吞吐量也要高得多,这要归功于 Facebook AI 的 QNNPACK 等经过优化的资料库,后者已经集成到 PyTorch 中。我们使用量化感知训练(QAT)来避免量化导致的品质下降。QAT 现在是 PyTorch 的一部分,它在训练期间模拟量化并支援反向传播,进而消除了训练和生产性能之间的差距。
▲ 神经网络处理各种内容,包括绘画和复杂场景的图像。
寻找创造 3D 体验的新方法
除了改进深度估计演算法之外,研究人员还致力于为行动装置拍摄的影像提供高品质的深度估计。
由于每个帧的深度必须与下一帧一致,影像处理技术具有一定挑战性,但它也是一个提高性能的机会。对同一物体进行多次观测,可以为高精准度的深度估计提供额外的信号。随着 Facebook 神经网络性能不断提高,团队还将探索在即时应用(如扩增实境)中利用深度估计、曲面法向估计和空间推理等技术。
除了这些潜在的新经验,这项工作将帮助研究人员更好地理解 2D 图像的内容。更好地理解 3D 场景还可以帮助机器人导航以及与物理世界互动。Facebook 希望透过分享 3D 图片系统的细节,帮助人工智慧社群在这些领域取得进展,并创造利用先进的 3D 新体验。
- Powered by AI: Turning any 2D photo into 3D using convolutional neural nets
(本文由 雷锋网授权转载;首图来源:pixabay)
延伸阅读:
- Facebook 3D 照片功能更新,电脑、三星手机都能使用
- Facebook 新 3D 照片功能,立体照片全教学
▼
特别声明 本页内容仅供参考,版权终归原著者所有,若有侵权,请联系我们删除。