来自:DeepTech深科技
为了更好地理解现实世界,AI 系统不仅需要准确识别物体,还必须学会以三维视角理解视觉场景,比如将二维图片中的沙发、餐桌和茶几以三维建模的方式重现出来。
这对 AI 的图像理解能力提出了极高的要求,因为它必须知道如何判断景深,搞清楚对象位于照片的前景还是背景中,甚至要在一定程度上推断出缺失部分的样子。
Facebook AI近日在首尔国际计算机视觉大会(ICCV)上演示了他们在这个领域的最新研究成果,同时也在博客和 arxiv 上发布了技术简介和论文,表现惊艳,研究成果之一还获得了 ICCV 最佳论文提名。
图 | 将视频中的沙发和椅子三维化(来源:Facebook)
为了实现这一目标,研究人员不仅开发了新的算法,还整合了多个最新研究成果,包括用来预测 3D 形状的 Mesh R-CNN 神经网络框架,用来提取和重建 3D 不规则模型的 C3DPO 方法,用来检测物体和生成 3D 点云的 VoteNet 技术以及配套的新型优化算法等等。
研究团队相信,通过加强对三维物体的了解,AI 可以更紧密地连接二维和三维世界,在计算机视觉领域扮演更重要的角色,推动 3D 打印、AR 和 VR 等技术在现实生活中的进步,将这些技术拓展到更广泛的任务上,最终像人类一样理解三维世界。
预测受阻挡的 3D 不规则形状
现有的基于 Mask R-CNN 的图像理解和感知系统的确很强大,适用广泛,但它们做出的预测主要以二维数据为依据,忽略了真实世界复杂的三维结构。想要在真实世界中识别和判断不规则物体的三维数据,例如在杂乱多变的环境中识别和排除遮挡物,需要克服一系列光学挑战。由于技术原因,仅凭现有的工程框架(Mask R-CNN)难以胜任。
为了应对这些挑战,研究人员首先通过网格预测分支(mesh prediction branch)强化了 Mask R-CNN 的 2D 对象分割系统,随后专门创建了一个Pytorch 库 Torch3d,里面储存了高度优化后的 3D 运算符,可以帮助实现 3D 物体结构采样和预测。
图 | 通过网格构建物体 3D 形状(来源:Facebook)
简单来说,新开发的 Mesh R-CNN 框架可以借助现有的 Mask R-CNN 来检测和分类图像中的各种物体,之后使用网格预测器推断和描绘出一个物体 3D 形状,最终获得细粒度的 3D 结构数据。
在这一过程中,Facebook 还使用了 Detectron2 库。这是一个模块化物体检测库,最早由 Facebook 团队在 2018 年推出,获得过多次更新。它将 RGB 图像视为输入值,可以检测物体和预测 3D 形状,同时还支持捕捉视频中的物体和动作变化。
与训练 Mask R-CNN 类似,研究团队使用了监督学习的方式来训练 Mesh R-CNN 学习 3D 形状预测。他们在 Pix3D 和 ShapeNet 两个数据集上评估了新框架,它成为了第一个可以在所有场景类别中检测到物体完整 3D 形状的系统,而且综合表现也高出之前框架 7%。
通过二维关键点重建三维对象
对于无法使用网格的场景,Facebook 研究人员开发了另一种方法:捕捉 2D 关键点,再将数据输入 C3DPO 系统(Canonical 3D Pose Network),用来重建 3D 关键点模型。
2D 关键点可以通过跟踪物体特定部分的运动得到,比如人的关节和鸟的翅膀,可以提供物体几何形状或视角变化的完整轨迹。这并不难实现,难的是如何生成 3D 关键点,这对于 3D 建模来说至关重要,也是在现实中应用潜力最大的地方——更好的建模质量意味着在 VR 中生成更逼真的虚拟头像。
图 | 通过二维图片关键点(上)生成三维模型(下)(来源:Facebook)
研究团队开发的 C3DPO 模型可以重建数十万张图像的数据集,每张图片都包含数千个 2D 关键点。在给定一组 2D 关键点的前提下,该模型可以预测现有的摄像头视角参数,并且得出标准视角下 3D 关键点的定位信息,对确定物体的相对位置至关重要。
为了克服分解 3D 视角和形状时的不确定性——AI 需要脑补看不到的地方,存在茫茫多的可能性——研究人员开发了一套正则化技术,包含第二个辅助深度神经网络,可以随着 3D 重建网络一起学习,规范模型重建过程。
Facebook 强调,由于之前基于矩阵分解的方法存在内存限制,这种重建是无法实现的。而新开发的深度网络 C3DPO 能够以小批量(minibatch)的状态运行,效率很高,对硬件的要求大大降低,使得对飞机等大型物体的三维数据捕捉和重建成为可能。
学习如何从像素映射到物体表面
为了减少针对一般物体开发三维形状数据捕捉的监督程度,Facebook 团队开发了一种类似于自动物体分割的方法,适用于未标注图像。无需明确预测图像底层的 3D 结构,就可以直接将图像中的像素映射到 3D 形状模板的表面上。
这种映射不仅可以帮助系统更好地理解图像,还能够帮助归纳相同类别物体之间的关系。以人类为例,当我们看到左侧图像中高亮显示的鸟喙,就可以轻松找到右侧图像中对应的点。
(来源:Facebook)
对于 AI 来说,实现像素到物体表面的映射意味着它也可以具备这种能力,因为同类别的物体之间共享了相似的 3D 结构。如果我们训练 AI 学习如何正确坐在椅子上或者握住杯子,那么在它学会之后,再换一张椅子或者一个杯子,它对物体 3D 结构的理解也可以帮助其快速掌握新技巧。
这些成果不仅可以帮助 AI 加深对传统 2D 图像和视频内容的理解,还可以用来增强 AR 和 VR 体验。
研究团队表示,在评估不同个例之间对应关系的准确性时,新系统的表现优于旧方法两倍。更重要的是,这种学习方式可以实现从像素到物体表面的映射,并将其与表面到像素的逆向操作配对,从而形成一个从训练到检验的循环,所用的图片数据集也无需标注,因此大大降低了训练所需的监督程度。
改善 3D 系统物体检测任务
最后一个在 3D 建模任务中扮演重要角色的成果是VoteNet。这是一套为 3D 点云系统定制的高精度端到端 3D 对象检测网络,获得了 ICCV 2019 的最佳论文提名。
与传统依赖 2D 图像信号的点云系统不同,VoteNet 支持的系统完全基于 3D 点云,效率和精度都更胜一筹,可以从深度相机获取 3D 点云,并返回带有物体或形状标注的 3D 边界框。
它以经典霍夫变换算法为基础(利用投票的方法检测物体形状),引入了一种新的投票机制,可以在物体中心附近生成新点,然后将它们分组和汇总,生成多个 3D 盒状提案。深度神经网络在学习如何投票之后,每组 3D 种子点(seed point)会投票决定物体中心,找到它们的位置,综合起来代表特定物体的位置,还能判断物体类别,标注它是椅子还是桌子。
图 | VoteNet 实现方式(来源:Facebook)
研究人员表示,开源的 VoteNet 具有简单的设计、紧凑的模型和很高的效率,是最先进的 3D 物体检测方式之一。它仅凭几何信息,无需彩色图像,就在 SUN GRB-D 和 ScanNet 的测试中超越了现有方法,是捕捉场景中 3D 对象的核心工具。
从自动驾驶到生物医疗,3D 扫描技术的应用场景正在快速拓展,因此使用计算机直接理解和分类 3D 场景物体的能力变得愈发重要。这对计算机视觉研究提出了更高的要求,但也是增强 AI 对现实场景理解能力的必要过程,有助于进一步缩小物理空间和虚拟空间的差距,推动 VR 和 AR 等技术的发展,甚至是掀起新一轮技术革命。
最终如果综合触觉感官和自然语言理解等技术,我们有朝一日或许能够见到像人类一样理解并与现实世界互动的 AI 系统。
-End-
参考:
https://ai.facebook.com/blog/pushing-state-of-the-art-in-3d-content-understanding/
https://ai.facebook.com/blog/-detectron2-a-pytorch-based-modular-object-detection-library-/
https://research.fb.com/publications/c3dpo-canonical-3d-pose-networks-for-non-rigid-structure-from-motion/