64

Google AI提出物体识别新方法:端到端发现同类物体最优3D关键点——NeurIPS 2018提前看

 5 years ago
source link: https://www.jiqizhixin.com/articles/2018-12-01-5?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

本文介绍了 Google AI 的一篇 NeurIPS 2018 论文《Discovery of Latent 3D Keypoints via End-to-end Geometric Reasoning》。

论文链接:https://arxiv.org/pdf/1807.03146.pdf

技术分析师个人简介

本文作者 Olli Huang 是澳门科技大学的一名博士研究生,她的研究方向是大规模图像检索(large-scale image retrieval) 和图像的地理位置估计 (visual-based image geolocalization)。Olli 于 2017 年加入了机器之心的全球团队,并以自由撰稿人的身份,发表了多篇计算机视觉应用的英文技术评论。

这篇被 NeurIPS 2018 接收的文章,有什么看点?

这篇文章的作者之一,Noah Snavely(他的个人主页:http://www.cs.cornell.edu/~snavely/),是计算机视觉领域中很活跃的研究人员。他的主要贡献之一是开发了 SfM(Structure-from-Motion,运动恢复结构)系统 [1],解决了基于图像的场景重建问题。SfM 已经应用在一些其他领域中,比如姿势估计 (pose estimation) 或位置识别 (location recognition) [2]。

Snavely 和他的合作伙伴,在这篇文章中重新讨论了 3D 姿势估计 (3D pose estimation) 的问题,提出了名为「KeypointNet」的全新框架,用于发现针对姿势估计这一特定任务的潜在 3D 关键点 (latent 3D keypoints)。这篇文章的研究项目主页是 keypointnet.github.io (http://keypointnet.github.io/),有兴趣的读者可以点击了解关于更多的技术细节。

这篇被 NeurIPS 2018 接收的文章,有什么优点和不足?

优点

文章的研究问题很有趣,目标是寻找针对特定 3D 物体类型 (比如,飞机) 的最佳关键点。简而言之,无论输入什么姿态的 3D 飞机图像,这个框架都应该能够找到,帮助成功识别物体类型的关键点。本文提出了名为「KeypointNet」的端到端框架,用于 3D 物体类型识别。最有意思的是,本文还展示了使用 KeypointNet 得到的 3D 物体类型识别的部分可视化结果。

不足

这篇文章写得不太容易读懂。在第一次阅读这篇文章时,读者可能会弄不清作者到底是想要解决「3D 关键点检测」的问题还是「物体类型识别」的问题。事实上,作者想要「一石二鸟」,利用一个端到端框架为一个下游视觉任务——物体类型识别——发现潜在的 3D 关键点。

如果你是 NeurIPS 2018 的评审,你认为这篇文章应该被大会接受吗?

这会是个艰难的决定。但就这篇文章而言,我倾向于说 YES!

从贡献的角度上讲,这篇文章展示了一个全新的框架——KeypointNet——在 3D 物体模型的人工合成数据集上,解决「物体类型识别」问题的能力。文章如果能够展示,在大型的真实数据集上获到的更多实验结果(而不仅仅是附录中的 9 个实验结果的话),技术贡献会更大,也更让人信服。

1. 本文的亮点

在给定已知类型的物体图像时(比如,一张飞机的图像),KeypointNet 框架将会无监督发现 3D 关键点(由像素坐标(pixel coordinates)和深度值(depth values)定义)的有序列表,用于最终的物体类型识别任务。这些关键点是特征表征(feature representations)的构建块,在姿势识别,或是多姿态物体识别(pose-aware or pose-invariantobject recognition)中非常有效。

与有监督的方法不同,该框架在学习从一张图像到标注关键点(annotated keypoints)列表的映射时,并没有将关键点位置定义为先验,而是针对 3D 姿势估计这一下游任务,对这些关键点进行优化选择。

在训练阶段,当输入同一个物体的两个不同视角图像,以及已知的刚体变化 T (rigid transformation T),目标是输出用于物体姿势识别的最优关键点预测列表,P1 和 P2。利用 P1 和 P2 这两个列表,能够进行从物体的一个视角到另一视角的最佳匹配,如图 1 所示。KeypointNet 提出了能够优化从图到关键点列表映射的目标函数O(P1,P2),这一目标函数包含了两个必要的组件——多视角一致性(multi-view consistency)和相对姿势估计(relative pose estimation)。

IvAjQbe.png!web

图 1:在训练 (training) 过程中,将同一个物体的两个视角图像作为 KeypointNet 的输入。两个视角之间的刚体变化(R,t)是指导信号 (supervisory signal)。KeypointNet 优化了在两个视角中有一致性,并且能够用于刚体变化恢复的,3D 关键点的有序列表。而在推理 (inference) 过程中,KeypointNet 将从单一输入图像中提取了 3D 关键点,再进行物体类型的识别。

下文将简要介绍一些必要的先决条件和要点,以便读者进一步了解 KeypointNet 框架。

6ZNfaee.png!web

注释

每一个训练 tuple 中都包括一对图像(I,I'),即同一个目标的两个不同视角图像。此外,我们已知它们的相对刚性变换 T。T 用于从 I 到 I' 的 3D 形状转换。T 的矩阵形式如下:

auiaInQ.png!web

(1) 式中 R 和 t 分别表示 3D 旋转 (rotation) 和转换 (translation)。我们想要学习一个函数 f_θ(I),并通过优化它的目标函数O(f_θ(I), f_θ(I')),用于完成从一张 2D 图像 I 到一个 3D 关键点列表 P = (p_1,…p_n) 的映射,其中,p_i =(u_i,v_i,z_i)。

1.1 多视角一致性(multi-view consistency)

多视角一致性损失函数(multi-view consistency loss),衡量的是两张图片的关键点之间的差异。使用这一个函数的目的是,确保关键点能够在不同视角下,追踪物体相同的部分。具体而言,第一张图中的 3D 关键点的坐标,应该与第二张图中对应关键点的坐标一致。此外,文章的一个假设是,透视相机模型的全局焦距为 f。如下文所示,作者用 [x,y,z] 标记 3D 坐标(3D coordinates),并用 [u,v] 标记像素坐标(pixel coordinates)。关键点 [u,v,z] 从图像 I 到 I'(反之亦然)的投影是通过下面的投影运算得到的:

V3IFzmm.png!web

式中 u'^表示 u 到第二张图片的投影,而 u^ 代表 u』 到第一张图片的投影。式中,π:R^4→R^4 表示将相机的 3D 坐标 [x,y,z,1]^T映射到像素位置(并加上深度值)的透视投影运算:

Nj2YFfe.png!web

文章还定义了对称多视角损失函数(symmetric multi-view consistency loss),标记为 L_con :

uqauUbu.png!web

面对同一个物体的不同视角图像,通过确保多视角一致性,足以推断出 2D 关键点位置(和深度值)。但是,单纯依赖一致性并不能保证方法的有效性。比如,关键点通常会指向同一个位置。因此,作者指出了「最优性概念」(a notion of optimality),它会根据特定的下游任务(比如,3D 姿势估计)选择关键点。文章中,作者将「姿势估计」作为下游任务,用于促进关键点的分离,从而避免关键点指向同一个位置。

1.2 相对姿势估计(relative pose estimation)

相对姿势估计损失函数,用于「惩罚」P1 到 P2 的真实旋转 R 与恢复旋转 R^ 之间的角度差距(angular difference)。而如何恢复旋转 R^,也被称为 Orthogonal Procrustes 问题 [3]。

值得注意的是,图像到关键点映射的一个重要特性是,像素级的等效转换(translation equivariance)。例如,如果输入图像向左移动了一个像素,所有关键点的输出位置也应该改变一个单位。KeypointNet 使用空间 softmax 层 (spatial softmax layer),输出一个概率分布g_i (u,v),用于表示关键点 i 在像素(u,v)处出现的可能性。利用等式(2),可以利用空间分布的期望值(expected values of the spatial distributions),计算出恢复后的像素坐标。

JbMVJvB.png!web

此外,在使用等式(3)计算坐标 z 之前,需要首先预测每个像素的深度值 d_i(u,v)。

Qri6nqe.png!web

KeypointNet 的转换等价性和多视角一致性(上文 1.1 节),使得转换误差得以避免。作者在以下等式中定义了姿势估计目标函数,即 L_pose,用于衡量使用两组关键点得到的最优最小二乘估计 R^,与真实旋转矩阵 R 之间的角距离(angular distance)。

yUJB7rn.png!web

2. 实验

2.1 在人工合成数据集上的实验结果

文章作者提供了 KeypointNet 在汽车、椅子和飞机三个物体类型上取得的关键点预测结果。作者对所有类的每一张图,都选取了 10 个关键点,用于实验结果的展示。

图 2 展示了单一物体多视图情况下,KeypointNet 的关键点预测结果。值得注意的是,有一些视角极具挑战性,例如,椅子的俯视图。但 KeypointNet 展示了它在判断物体方向,以及推测遮挡部分(比如俯视图中的椅腿)的能力。

N3mmArn.png!web

图 2:单一物体多视角的关键点预测结果。注意,即便物体的某个组成部分被完全遮挡,KeypointNet 也准确预测出了这些关键点。(例如,红色的点追踪了右后方的椅子腿)。更多可视化结果见:http://keypointnet.github.io/

如图 3 所示,KeypointNet 进一步展示了预测遮挡部分的能力。需要指出的是,图 3 中的物体图片并没有用于训练过程中。对于 KeypointNet 来说,预测已知物体类别的全新示例图片(unseen instances),更具挑战性。

UBf2Qfu.png!web

图 3:KeypointNet 在 ShapeNet [5] 汽车、飞机和椅子三个类别取得的关键点预测结果。KeypointNet 在面对训练中未曾见过的图片实例时(而这些实例在外观和形状存在各种变化),仍旧能够预测物体被遮挡的部分,例如轮子和椅子腿。

3. 如果你在会场上,你有什么问题想问文章作者?

问题 1

实验中有两个失败的案例(见文章 6.2 节),揭示了当 KeypointNet 无法正确判断物体的方向时(例如无法分辨汽车的正面和尾部)时,便无法预测出最优关键点。我们应当如何解决由于物体方向判断失败,而导致的关键点预测错误这一问题?

问题 2

你们是否准备在更为大型的真实 3D 物体测试集上评估 KeypointNet?将 KeypointNet 扩展到更具挑战性的真实数据集时,会存在哪些困难?

参考文献

[1] Song Cao, and Noah Snavely.「Learning to match images in large-scale collections.」European Conference onComputer Vision. Springer, Berlin, Heidelberg, 2012.

[2] Yunpeng Li, et al.「Worldwide pose estimation using 3d point clouds.」European Conference onComputer Vision. Springer, Berlin, Heidelberg, 2012.

[3] Peter Schonemann. A generalized solution of the orthogonal Procrustes problem. Psychometrika, 1966.

[4] Ross Goroshin, Michael F Mathieu, andYann LeCun. Learning to linearize under uncertainty. NIPS, 2015.

[5] Angel X. Chang, et al.「ShapeNet: An Information-Rich 3D Model Repository.」arXiv:1512.03012, 2015.

  • Olli 的机器之心主页:https://www.jiqizhixin.com/users/84204384-374e-4de0-bfc5-79eee677a8ec

  • Olli 的 LinkedIn 主页:https://www.linkedin.com/in/ollihuang


Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK