您好、欢迎来到现金彩票网!
当前位置:PC蛋蛋 > 最优估计 >

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

发布时间:2019-07-10 10:33 来源:未知 编辑:admin

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

  这篇文章的作者之一,Noah 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 (,有兴趣的读者可以点击了解关于更多的技术细节。

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

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

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

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

  与有监督的方法不同,该框架在学习从一张图像到标注关键点(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 的矩阵形式如下:

  多视角一致性损失函数(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 映射到像素位置(并加上深度值)的透视投影运算:

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

  值得注意的是,图像到关键点映射的一个重要特性是,像素级的等效转换(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)。

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

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

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

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

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

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

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

http://cairowatch.com/zuiyouguji/100.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有