Olli Huang作者李诗萌编译Hao编辑

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

本文介绍了 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-invariant object recognition)中非常有效。

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

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

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

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

注释

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

(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'(反之亦然)的投影是通过下面的投影运算得到的:

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

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

面对同一个物体的不同视角图像,通过确保多视角一致性,足以推断出 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),计算出恢复后的像素坐标。

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

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

2. 实验

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

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

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

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

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

图 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 on Computer Vision. Springer, Berlin, Heidelberg, 2012.

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

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

[4] Ross Goroshin, Michael F Mathieu, and Yann 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

NeurIPS 提前看
NeurIPS 提前看

每年一度的NeurIPS是神经网络研究者的盛会,汇聚数以千计的论文,呈现思维碰撞的火花。机器之心技术分析师用独特的视角带你提前预览这一场盛会的亮点和重点,在各路奇思妙想中给你亮一盏明灯。

理论NIPS 2018NIPSNIPS20183D物体识别谷歌AI
3
相关数据
杨立昆人物

杨立昆(法语:Yann Le Cun,英语:Yann LeCun,1960年7月8日-)是一位计算机科学家,他在机器学习、计算机视觉、移动机器人和计算神经科学等领域都有很多贡献。他最著名的工作是在光学字符识别和计算机视觉上使用卷积神经网络 (CNN),他也被称为卷积网络之父。他同Léon Bottou和Patrick Haffner等人一起创建了DjVu图像压缩技术。他同Léon Bottou一起开发了Lush语言。

图像检索技术

图像检索系统是用于从大型数字图像数据库浏览、搜索和检索图像的计算机系统。 大多数传统和常见的图像检索方法利用向图像添加诸如字幕、关键字或描述之类的元数据的一些方法,以便可以对注释词执行检索。 手动图像注释耗时,费力且昂贵; 为了解决这个问题,人们已经对自动图像标注进行了大量研究。

概率分布技术

概率分布(probability distribution)或简称分布,是概率论的一个概念。广义地,它指称随机变量的概率性质--当我们说概率空间中的两个随机变量具有同样的分布(或同分布)时,我们是无法用概率来区别它们的。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

目标函数技术

目标函数f(x)就是用设计变量来表示的所追求的目标形式,所以目标函数就是设计变量的函数,是一个标量。从工程意义讲,目标函数是系统的性能标准,比如,一个结构的最轻重量、最低造价、最合理形式;一件产品的最短生产时间、最小能量消耗;一个实验的最佳配方等等,建立目标函数的过程就是寻找设计变量与目标的关系的过程,目标函数和设计变量的关系可用曲线、曲面或超曲面表示。

物体识别技术

计算机视觉领域的一个分支,研究物体的识别任务

暂无评论
暂无评论~