论文:Deep MANTA

Abstract:

提出 Deep Many-Tasks 方法来对一个图片进行多任务车辆分析,包括车辆检测,部分定位,可见性描述和 3D维度估计

1.Introduction

为了获得周围车辆的速度和方向,3D 车辆定位和方向的预测十分重要。为了很好的交通理解,对周围车辆的描述也很重要,例如车大灯的定位可以帮助确定车辆的方向,车辆部件可视性有助于整体场景的解释。我们提出了一个方法来从单个 image 得到 vehicle detection , vehicle part localization , vehicle part visibility , fine orientation , 3D localization , 3D template( 3D dimension).下图 1 为网络的输出

论文:Deep MANTA

我们的主要贡献包括三个方面:

  1. 使用图像车辆的特征点来编码 3D 车辆信息。因为车辆具有已知的形状,可以用单目图像重构 3D 车辆信息。我们的方法还可以在车辆部件被遮挡,截断等情况下定位到车辆部件,使用回归的方法而不是 part detector. 预测 hidden parts 的位置对 3D 信息的恢复很有帮助。我们使用一个 3D vehicle 数据集,由具有真实维度的 3D meshes 组成,即具有 3D 框的数据集。每一个 3D model 都有一些顶点,对应于车轮等部件,对每一个 model 来说,这些顶点组成了一个 3D shape. 这个方法的主要思想是在 input image 中恢复这些 3D points 的映射。2D/3D matching 在 2D shape 和选择的 3D shape进行,以恢复车辆的方向和 3D location. 
  2. Deep Coarse-to-fine Many-Task 网络。首先使用 RPN 网络产生 corase 2D bounding box,之后迭代产生精细化 bounding box. 六个任务共享特征向量:region proposal , detection , 2D box regression , part location , part visibility , 3D template prediction.
  3. 使用 3D models 来生成 image 的标签

2.Related work

  1. 2D Object detection and coarse pose estimation. 使用 RPN 网络,但是增加了几步 2D bounding box refinement 来改善目标检测的结果。2D object detection 经常和 pose estimation 有联系。 
  2. 3D Object detection and fine pose entimation.使用 2D/3D 的 vehicle part matching 来进行车辆方向估计:2D/3D 的 pose matirx 是由所有的(看见和看不见的)vehicle part 得到的。

3.Deep MENTA approach

整个系统包括两部分,第一部分是将输入图片输入 Deep MANTA network 来生成 2D scored bounding boxes,associated vehicle geometry( vehicle part coordinates ,3D template similarty ) 和 part visibility properties. 第二部分是推理部分,使用 Deep MANTA network 的输出和 3D 车辆数据集来恢复 3D 方向和定位。整个流程如下图所示。

论文:Deep MANTA

3.1. 3D shape and template datasets

使用一个具有 M 个车辆类型(Sedan,SUV,etc)的 3D model. 每一个 3D model上标记 N 个顶点(称为 3D parts)。3D shape 定义为 3D 空间中所有 part 的坐标的集合。3D template 是一个3D model 对应的长宽高。如下图所示。

 论文:Deep MANTA

3.2. 2D/3D vehicle model

我们使用一个 2D/3D model 来表示单目图像上的每一个车辆,定义如下:

 论文:Deep MANTA

第一项为 论文:Deep MANTA ,是2D vehicle bounding box,第二项为 论文:Deep MANTA,是 3D bounding box,t = ( w , h , l )是 3D template. 第三项为论文:Deep MANTA,是车辆的 2D 部分坐标,第三项为论文:Deep MANTA,是车辆的 3D 部分坐标,第五项为论文:Deep MANTA,是部件的可见性,可以分为四类:可见,被另一个物体遮挡,被车辆自身遮挡,截断于图像之外。下图是一个 2D/3D vehicle model 的例子。

论文:Deep MANTA

3.3. Deep MANTA Network

Coarse-to-fine forward.如上图 2,对 bounding box 进行一次优化产生更好的 bounding box. 和 Faster-RCNN 不同,我们的迭代优化可以克服大目标尺度变化的局限性,提供更精确的检测。而且 ROI Pooling 是在第一个卷积层的 feature map 上进行的,可以保证大的分辨率。

Many-task prediction.不仅输出 2D 的 bounding box,还输出 2D 车辆部件坐标,可见性和 3D 的 Ti ( template similarity ).论文:Deep MANTA,其中 rm 每一个元素代表 3D template 的缩放因子,Ti 向量是被检测的车辆和所有的 3D template 论文:Deep MANTA的相似性

3.4. Deep MANTA Inference

Inference step 使用 Deep MANTA network 的输出,3D shape dataset 和 3D template dataset 来恢复 3D information. 对于一个 Deep MANTA network 输出的 车辆检测结果 j , 推理过程包含两步。

第一步,选择最相近的 3D template. 使用网络输出的 Ti 来选择。选择最接近于(1,1,1)的。

第二步,使用 3D shape 进行 2D/3D matching. 上一步 3D template 进行过配准,然后用一个姿态估计函数来匹配缩放过的 3D shape 和 2D shape,这一步可以提供 3D bounding box 和 3D part coordinates.

4. Deep MANTA Training

考虑 three levels of refinement 还有五个损失论文:Deep MANTA其中第一个为 rpn loss function ,第二个是 detection loss function,用来分类背景和车辆,以及 bounding box 的回归,第三个是 vehicle part 的位置 loss,第四个是可见性 loss, 第五个是 template similarity loss. 网络的联合损失如下:

论文:Deep MANTA

4.1. Many-task loss functions

4.2. Semi-automatic annotation

一个为 Deep MANTA 网络提供标签(vehicles part coordinate , part visibility , 3D template)的半自动化标注过程。这个过程只需要一个具有 3D bounding box 的真实数据集和一个 3D CAD 数据集。 这个 CAD 数据集具有 M 个 3D car ,人工的在每一个 model 上标注 N 个顶点。使用最相近的 3D bounding box 来匹配真实数据集的车辆和 3D CAD 的model. 被选择的 CAD 的 3D parts 将会投射到真实图片上来得到 2D part coordinates. 2D part 的可见性使用可见性网格计算。过程如下图:

论文:Deep MANTA

5. Experiments

在 KITTI 数据集上评估方法,这个数据集包括 7481 个训练图片和 7518 个测试图片,同时还提供了校准矩阵。但是测试图片的 groundtruth 并没有给出,所以在训练集中分割出部分测试集。使用一个具有 103 个 3D model 的 CAD 数据集来进行半自动标注。使用 VGG 或者 GoogLenet 结构,ImageNet 初始化,RPN 具有 7 aspect ratios 和 10 scales。训练中,object proposal 如果和 groundtruth 重合大于 0.7 视为正例。所有的规范化参数 λ ,除了part  localization task 设置为3 其他都设为 1。

2D vehicle detectionand orientation: 

比其他的方法快,因为许多方法都是将 KITTI 数据集的图片放大 3 倍进行训练。下面的表格展示了特征层的选择,第一层优于第五层,本文的方法最优。

论文:Deep MANTA