3D内容理解新进展:Facebook发布4种新技术,或可解决瓶颈问题

2019 年 11 月 26 日

3D内容理解新进展:Facebook发布4种新技术,或可解决瓶颈问题

为了解释我们周围的世界,AI系统必须理解三维视觉场景。这种需求并不是机器人技术、导航乃至增强现实应用程序的专利。即使是2D照片和视频,其所描绘的场景和对象本身也当然是三维的,而真正智能的内容理解系统必须能在视频中的杯子旋转时识别出杯柄的几何形状,或者识别出对象是位于照片的前景还是背景中。

本文将分享几个新的Facebook AI研究项目这些研究项目从不同但互补的几个层面上推动了3D图像理解的前沿进展。


  • Mesh R-CNN是一种新颖、先进的方法,可以在各种现实世界的2D图像中预测最精确的3D形状。该方法利用我们的通用Mask R-CNN框架分割对象实例,可以检测出非常复杂的对象,例如椅子的腿或重叠的家具。

  • 我们还使用了称为C3DPO的方法作为Mesh R-CNN的替代和补充,从而率先通过在三个基准测试中成功实现了非刚性形状的大规模3D重建,涉及超过14种对象类别。我们仅使用2D关键点,没有使用3D注释就实现了这一目标。

  • 我们引入了一种全新方法来学习图像与3D形状之间的关联,同时大大减少了对带注释的训练示例的需求。这使我们向可以为更多种类对象创建3D表示的自我监督系统又前进了一步。

  • 我们开发了一种称为VoteNet的新技术,可以在来自LIDAR或其他传感器的3D输入上检测对象。尽管大多数传统系统都基于2D图像信号,但我们的系统完全基于3D点云,精度比旧式技术更高。


这项研究基于使用深度学习预测和定位图像中对象方法的最新研究成果,以及用于 3D 形状理解的新工具和架构,如体素、点云和网格等。计算机视觉领域涉及的任务类型多种多样,而在 AI 系统对现实世界更准确地理解、解释和操作的能力中,3D 理解技术将扮演核心角色。


推动预测不受约束且受阻碍对象的 3D 形状技术的前沿进展


像 Mask R-CNN 这样的感知系统是用来理解图像的强大而多能的工具。但因为它们的预测是基于 2D 的,所以它们会忽略现实中的 3D 结构。利用 2D 感知技术的进展,我们设计了一种 3D 对象重建模型,可从无约束的真实世界图像中预测 3D 对象形状;这些图像具有一系列光学挑战,包括遮挡、杂波和各种拓扑形状等。要在这类对象检测系统中增加第三个维度,同时对这种复杂性保持稳健水平,我们就需要更强大的工程能力——而当前的工程框架已经阻碍了这一领域的发展。


Mesh R-CNN获取输入图像,预测图像中的对象实例,并推断它们的3D形状。为了捕获几何与拓扑差异,它首先会预测粗略的体素,然后改进预测结果以实现精确的网格预测。(视频见原文链接)


为了应对这些挑战,我们通过网格预测分支增强了 Mask R-CNN 的 2D 对象分割系统,并构建了 Torch3d(一个 Pytorch 库,其中包含高度优化的 3D 运算符)以实现该系统。Mesh R-CNN 使用 Mask R-CNN 来检测和分类图像中的各种对象;然后它使用新颖的网格预测器推断 3D 形状,该预测器使用了体素预测和进一步的网格细化的混合方法。这种两步流程使我们在预测细粒度的 3D 结构时可以获得比以前的工作更高的精度。Torch3d 为复杂操作带来了高效、灵活和模块化的实现(如倒角距离、可区分的网格采样和可区分的渲染器),从而帮助我们达成了目标。


我们使用Detectron2来实现最终的系统,该系统使用 RGB 图像作为输入,可以同时检测物体和预测 3D 形状。就像 Mask R-CNN 使用监督学习来获得强大的 2D 感知能力一样,我们的新方法使用了针对成对图像和网格的完全监督学习来提升 3D 预测能力。训练时,我们使用了由 10,000 对图像和网格组成的 Pix3D 数据集,该数据集比常见的 2D 基准测试集要小得多,后者往往包含数十万的图像和对象注释。


我们在两个数据集上评估了 Mesh R-CNN,均取得了不错的结果。在 Pix3D 数据集上,Mesh R-CNN 是第一个能够检测所有类别的对象,同时在各种杂乱无章的场景中估侧家具完整 3D 形状的系统;而过去的工作重点是在完美裁剪、无遮挡的图像部分上训练模型并评估成果。在 ShapeNet 数据集上,我们的体素预测和网格细化的混合方法比以前的成果要好 7%。


Mesh R-CNN的系统概览。我们使用3D形状推断增强了Mask R-CNN。(视频见原文链接)


为了改善虚拟现实和其他形式的远程呈现等全新技术的体验,准确预测和重建现实世界的不受约束场景中的形状是重要的一步。但相比为 2D 图像收集注释数据,为 3D 图像收集注释数据实际上更加复杂和耗时,这就是为什么 3D 形状预测的数据集相比 2D 版本发展滞后的原因。因此,我们正在探索多种方法来利用监督学习和自我监督学习来重建 3D 对象。


Mesh R-CNN 的论文全文在此


使用 2D 关键点重建 3D 对象类别


对于无法使用网格物体和相应图像进行训练,且无需完全重建静态对象或场景的情况,我们开发了一种替代方法。我们新的C3DPO(规范3D姿态网络)系统使用 3D 关键点模型构建重建,并通过更易获取、数量更多的 2D 关键点监督学习来获得一流的重建成果。C3DPO 以弱监督的方式帮助我们了解对象的 3D 几何形状,适合大规模部署。



C3DPO从检测到的2D关键点中为一系列对象类别生成3D关键点,从而准确区分视点变化和形状变化。


跟踪对象类别特定部分(例如人体关节或鸟的翅膀)的 2D 关键点提供了有关对象几何形状及其形变或视点变化的完整线索。生成的 3D 关键点很有用,比如说为人类和全身生成 3D 模型和网格,从而在 VR 应用中创建更逼真的虚拟形象。与 Mesh R-CNN 相似,C3DPO 使用具有遮挡和缺失值的无约束图像来重建 3D 对象。


C3DPO 是第一种能够重建包含数十万张图像,每张图像包含数千个 2D 关键点的数据集的方法。我们针对三种不同的数据集和超过 14 种非刚性物体类别实现了一流的重建精度。


这项工作的代码在此访问


我们的模型有两项重要的创新。首先,给定一组单眼 2D 关键点,我们新的 3D 重建网络将在标准方向上预测对应摄像机视点的参数以及 3D 关键点位置。其次,我们引入了一种称为 canonicalization 的全新正则化技术,该技术提供了另一个辅助深度网络,其与 3D 重建网络共同学习。这项技术解决了在分解 3D 视点和形状时产生的歧义。这两项创新使我们能够获得比传统方法更好的数据统计模型。


这种重建以前是无法实现的,主要是由于之前基于矩阵分解的方法的内存限制;与我们的深度网络不同,这种方法不能在“小批量”状态下运行。以前的方法利用多个同时出现的图像并建立即时 3D 重建之间的对应关系来解决变形建模问题,这就需要往往在专门的实验室中才有的特殊硬件。C3DPO 使得在无法使用硬件进行 3D 捕捉的情况下(例如针对飞机等大型物体)也能实现 3D 重建。


有关 C3DPO 的完整论文在此


从图像集中学习像素到表面的映射


我们的系统学习了一个参数化卷积神经网络(CNN),它将图像作为输入并预测每个像素的规范表面映射,来表示模板形状上的对应位置点。2D图像和3D形状之间预测的规范表面映射的相似着色表示了对应的关系。(视频见原文链接)


我们进一步减少了针对通用对象类别开发 3D 理解系统时所需的监督任务。我们引入了一种可以利用未注释的图像集合和近似的自动实例分割的方法。我们不是明确预测图像的 3D 结构,而是退后一步,将图像中的像素映射到 3D 形状的类别模板的表面。


这种映射不仅使我们能够理解图像的 3D 形状类别,还使我们能够归纳相同类别或种类的对象之间的对应关系。例如,左侧图像中的鸟喙被高亮时,人类可以轻松地在右侧图像中找到对应的点。



人类之所以能做到这一点,是因为我们直观地理解了这些实例之间的共享 3D 结构。我们将图像像素映射到规范的 3D 表面的新方法使得我们学习的系统也具备了这种能力。我们评估了这种方法在各个实例之间传递对应关系的准确性,获得的结果大约是以前的自我监督方法(不利用任务的底层 3D 结构)的两倍。


我们的核心目标是从像素到 3D 表面的映射可以与其逆操作(从 3D 到像素)配对,从而完成一个循环,进而显著减少学习所需的监督工作。我们的新方法可实现这一目的,并且可以只使用无注释、免费且公开可用的图像集,并使用检测方法获取粗略的分段来学习。我们的最终系统可以直接使用,通常与其他自上而下的 3D 预测方法配合应用,以提供像素级 3D 理解能力的补充。


我们的代码发布在这里


如上述视频中行驶汽车的颜色一致性所示,我们的系统针对运动和旋转的对象产生了不变的像素级嵌入。这种一致性不仅限于特定实例,并且可以帮助我们了解对象之间的共性。



我们不是直接学习两个图像之间的 2D 到 2D 对应关系,而是学习 2D 到 3D 的对应关系并确保其与 3D 到 2D 重投影的一致性——这个一致性周期充当了学习 2D 到 3D 对应关系的监督信号。


例如,如果我们训练系统以学习坐在椅子上或握住杯子的正确位置,那么当系统下次需要了解坐在其他椅子上的位置或如何握住另一个杯子时,我们的表示就会很有用。这些任务不但可以帮助我们加深对传统 2D 图像和视频内容的理解,也能通过传递对象的表示来增强 AR/VR 体验。关于规范表面映射的更多信息在此


改善当前 3D 系统中对象检测的基础



随着诸如自动代理和 3D 空间扫描系统之类的尖端技术不断发展,我们需要推动针对易于获得 3D 数据的物体的检测机制进化。在这些场景中,3D 场景理解系统需要知道场景中有哪些对象以及它们在哪里,以便支持诸如导航之类的高级任务。我们构建了 VoteNet 来改进现有系统,VoteNet 是为点云量身定制的高精确端到端3D对象检测网络,在 ICCV 2019 上获得了最佳论文奖提名。与依赖 2D 图像信号的传统系统不同的是,我们的系统是首批完全基于 3D 点云的系统之一。与以前的工作相比,这种方法效率更高,识别精度更高。


我们的模型实现了最先进的 3D 检测,其性能比以前所有的 3D 对象检测方法都要好,分别在 SUN RGB-D 和 ScanNet 中至少提升了 3.7 和 18.4 mAP(平均精度)。VoteNet 仅使用几何信息,而不依赖标准的彩色图像,其性能优于以前的方法。


VoteNet 具有简单的设计、紧凑的模型尺寸和较高的效率;与以前的研究方法相比,其全场景的分析速度约为 100 毫秒,并且内存占用空间较小。我们的算法从深度相机获取 3D 点云,并返回带有语义类的对象的 3D 边界框。



用于点云中 3D 对象检测的 VoteNet 架构示意图。


我们引入了一种受经典霍夫投票算法启发的投票机制。使用这种方法时,我们实质上会在对象中心附近生成新的点,然后将这些点分组和汇总以生成框提案。通过深度神经网络学习的投票,可以将一组 3D 种子点投票给对象中心,以恢复它们的位置和状态。


随着现实世界中 3D 扫描装置应用的不断增长(从自动驾驶汽车到生物医学之类的应用中,这种技术已经很常见了),通过对 3D 场景的对象进行定位和分类来实现对 3D 内容的语义理解,对我们来说是非常重要的。在 2D 相机中添加更先进的深度传感器以识别 3D 信息,使我们能够针对任何给定场景生成更强大的视图。借助 VoteNet,系统可以更好地识别场景中的主要对象,以支持诸如放置虚拟对象或导航和动态地图生成之类的任务。


开发对现实世界理解更深入的系统


3D 视觉计算领域有许多待解决的研究问题,而我们正在尝试多种问题描述、技术和监督方法来探索推动前沿进展的最佳路线,就像我们在 2D 理解领域所做的工作那样。数字世界正在向3D照片以及身临其境的 AR 和 VR 体验等产品适应和转变,我们也需要不断推动复杂的系统来更准确地理解视觉场景中的对象并与之交互。


这也是 Facebook AI 长期目标的一部分,我们的目标是开发能够像人类一样理解并与现实世界互动的 AI 系统。我们一直在致力于缩小物理空间与虚拟空间之间的差距,并在多种能力方面取得了众多科学突破。我们以 3D 为重点的最新研究成果还可以帮助改善和更好地填充Facebook AI仿真平台中的 3D 对象,这对于培训虚拟代理在现实世界中活动是非常重要的。就像机器人技术推动我们应对在现实世界(条件更难预测)中做实验所带来的复杂挑战一样,3D 研究对于教导系统理解对象的所有视点(即使它们被遮挡、隐藏或有其他光学挑战)也很重要。


与其他感知技术(例如触觉感知和自然语言理解)结合使用时,人工智能系统(例如虚拟助手)的工作就能更加无缝,效果更好。总而言之,在这项研究的帮助下,我们向可以如人类一样直观地理解三个维度的 AI 系统的目标更进了一步。


这篇文章中提到的研究论文将在 ICCV 2019 上与计算机视觉领域的其他一些新成果一起发表,后者包括:


  • SlowFast,一种使用两个不同帧速率的输入从视频中提取信息的方法。

  • TensorMask,使用密集的滑动窗口技术分割对象的新方法


原文链接


https://ai.facebook.com/blog/pushing-state-of-the-art-in-3d-content-understanding


2019 年 11 月 26 日 10:511633
用户头像
陈思 InfoQ编辑

发布了 555 篇内容, 共 189.7 次阅读, 收获喜欢 1064 次。

关注

评论

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

架构师训练营--第二周作业

花花大脸猫

极客大学架构师训练营

周末直播|Flink、Hologres、AI等热门话题全都安排!

Apache Flink

大数据 flink 流计算 大数据处理

直播 | 即将发版的 Flink 1.11 有哪些重大变更?

Apache Flink

大数据 flink 流计算 大数据处理

架构师训练营第二周总结

Cloud.

MongoDB与微服务

Thomas

微服务 mongo

架构师训练营第 0 期第 2 周学习总结

茴字🈶四种写法💋

极客大学架构师训练营

ARTS打卡 第1周

Scotty

ARTS 打卡计划

「架构师训练营」第2周作业

Amy

极客大学架构师训练营 作业

学习总结-第2周

饶军

架构师训练营 - 第二周 - 学习总结

stardust20

呢喃/ NN 4044

ZoomQuiet大妈

大妈 是也乎 IMHO 呢喃 今日

Libra教程之:Transaction的生命周期

程序那些事

区块链 libra blockchain transaction

架构师训练营第二周课后作业

Cloud.

极客大学架构师训练营

Go之如何操作结构体的非导出字段

newbmiao

golang reflect newat unexport

大数据的下一站是什么?服务/分析一体化(HSAP)

Apache Flink

大数据 flink 流计算 实时计算 大数据处理

架构师训练营第 0 期第 2 周作业

茴字🈶四种写法💋

极客大学架构师训练营

数据科学的门槛将提高,架构设计UML,John 易筋 ARTS打卡Week 04

John(易筋)

架构设计 ARTS 打卡计划 ARTS活动 arts

架构师之路-UML 入门

闻人

学习 架构设计 极客大学架构师训练营 架构总结

架构师训练营第二章作业

饶军

week1 homeweok 1

宋琢

游戏夜读 | 玩游戏为什么开心?

game1night

Go: 内存管理和分配

陈思敏捷

go golang 内存管理

分布式锁的几种实现方式

Hollis

Java 分布式 并发编程 分布式锁

架构师面试题(1)

满山李子

架构师训练营第二章作业

张明森

week1 homework 2

宋琢

DQTOEKN引领数字金融新蜕变

Geek_116789

架构师训练营--第二周学习总结

花花大脸猫

极客大学架构师训练营

ARTS|Week 03 (2020第24周)

MiracleWong

数据结构 算法 ARTS 打卡计划

架构师训练营-- 第二周作业

stardust20

【架构师训练营 - 作业 -2】依赖倒置

小动物

极客大学架构师训练营 作业

3D内容理解新进展:Facebook发布4种新技术,或可解决瓶颈问题-InfoQ