Deep MANTA 论文阅读

Deep MANTA: A Coarse-to-fine Many-Task Network for joint 2D and 3D vehicle analysis from monocular image

1.引言

目前深度学习方法中 2D 目标检测已经能够在实际场景中提供较为有效的信息, 但是它们仍然不能够准确地描述 3D 真实世界场景. 而本文目的就是为了解决基于单目视觉图像(大多数汽车仅配备单个摄像头)的 2D 及 3D 车辆分析问题. 对于无人驾驶汽车来说, 了解交通状况, 并根据从场景图像中提取的信息预测紧急情况是非常必要的. 为了恢复周围车辆的速度和方向, 需要结合时间对车辆进行 3D 定位和定向描述. 例如需要精确定位车辆上的高光位置——车辆方向指示器的位置, 而要定位车辆方向指示器, 则需要了解车辆部位的准确位置. 此外, 若要描述整个场景, 还需要获得车辆部件的可见性特征. 这样的话, 当车辆被遮挡时, 我们才能准确得知该车辆的状态. 本文提出了一种方法, 只需给定单张图像, 就能提供精确的车辆检测、车辆部件定位、车辆部件可见性、3D 定位与定向等信息. 具体见 Figure 1.

Deep MANTA 论文阅读_第1张图片
Figure 1

本文主要有以下贡献:

  • 1 通过车辆的关键点信息对 3D 车辆信息进行编码: 由于车辆是刚性物体, 这就决定了车辆部件相较于车辆的相对位置不会发生改变, 因此即使车辆被遮挡, 我们也能够通过剩余关键点信息回归出被遮挡的关键点位置. 针对这一特点, 本文特地制作了一批 3D 车辆数据集, 也就是构建一个标准车辆的 3D 模型, 并记录下车轮、大灯等车辆部件所对应的 3D 点的位置, 这样通过投影就能实现 3D 坐标点与 2D 图像点之间的转换.
  • 2 多任务卷积神经网络: 本文针对无人驾驶这一具体任务设计出一个多任务网络——MANTA, 该网络同时优化6个任务, 分别为: region proposal, detection, 2D 框回归, 部件定位, 部件可见性以及 3D 模版预测.
  • 3 提出了一个半自动的标注方法: 深度学习训练需要大量标签数据, 手动标注不仅工作量大, 而且对于图像上的不可见部位进行标注的困难较大. 本文提出了一种半自动的标注方法, 他通过生成的 3D 模型来辅助进行标注.

2.相关工作

3.Deep MANTA 方法

3.1. 3D shape and template datasets

本文构建了一个 3D 模型数据集, 数据集包含 个模型, 每个模型对应一种常见的车辆类型, 如轿车, SUV 等. 对于每个 3D 模型 , 都注释 个顶点(这里称为 3D 部件). 这些部件对应车辆上的特定区域. 对于 3D 模型 , 我们在一个统一规范中描述它的形状:

这里的 , 分别对应第 个部件的 3D 坐标.

对于 3D 模型 , 它们对应的 3D 模版定义为:

这里的 分别代表 3D 模型的宽, 高以及长度.

3D 形状和 3D 模版的见 Figure 3.

Deep MANTA 论文阅读_第2张图片
Figure 3

3.2. 2D/3D vehicle model

本文采用 2D/3D model 来表示单目图像中的车辆, 具体定义为:

其中:

  • 表示车辆的 2D 框, 为中心点坐标, 为宽高;
  • 表示车辆的 3D 框, 表示 3D 中心点坐标, 表示定向, 表示其对应的 3D 模版;
  • 表示车辆 2D 部件位置坐标;
  • 表示车辆 3D 部件位置坐标;
  • 表示部件可见性. 可见性分类标准:
    • 可见
    • 被别的物体遮挡
    • 被车辆自身遮挡
    • 超出图像范围

2D/3D vehicle model 示例见 Figure 4.

Deep MANTA 论文阅读_第3张图片
Figure 4

3.3. Deep MANTA Network

Deep MANTA 采用由粗到精的 bounding box 回归方式.

  • Coarse-to-fine forward: 由粗到精. 对于给定的输入图像, MANTA 网络首先采用 Faster RCNN 中的 RPN 方法提取 个 object proposal, 用 表示, . 之后会从 Feature Map 上找到这些区域并输入到 ROI Pooling 中. 这些区域将通过后续的 , 进行 Bounding Box 微调, 同样, , . 具体过程见 Figure 2. MANTA 方法与 Faster RCNN 最大的不同是它增加了 Bounding Box 微调的次数, 使得最终检测框结果更加精确. 此外, 本文方法是从 first convolution feature maps 中提取 region 输入至 ROI Pooling 中的, 这样有利于检测到困难的目标.
  • Many-task prediction: 多任务预测. MANTA 网络的最终输出是 . 同时对于 中的每个 Bounding Box (包括 2D 框和 3D 框), MANTA 网络还输出它们的部件的 2D 坐标 , 部件可见性 , 以及 3D 模版相似度 . 模版相似度 的定义为 模版相似度 , 表示检测生成的 3D 模型与 3D 模版 进行比较得到的比例因子. 其实表示了当前检测目标车辆与所有 3D 模版的相似度.

最后通过 NMS, 可以得到 个最终检测结果, 检测结果属性: .

Deep MANTA 论文阅读_第4张图片
Figure 2

3.4. Deep MANTA Inference

MANTA 网络的推理过程分为如下步骤:

  • 第 1 步: 网络输出的检测目标 的形状与 3D 模版数据 进行一一对比得到模版相似度 , 这里定义结果目标的 3D 模型为 , 那么最佳匹配模版 应为 与 距离最小的那个, 即:

  • 第 2 步: 使用 3D 形状 进行 2D/3D 匹配. 主要方法是将 MANTA 获得的 3D 模型 进行缩放以匹配 , 然后姿态估计算法就会将缩放后的 3D 形状 同 2D 形状 进行标准的 2D/3D 匹配.

  • 第 3 步: 输出 3D Bounding Box 坐标 以及 3D 部件坐标 .

4. Deep MANTA Training

MANTA 方法最终的 Loss 有 5 类, 分别是:

  • : 同 Faster RCNN 的 RPN 层的 Loss 意义相同.
  • : 检测(detection)的 Loss, 包括区分是车辆目标还是背景的分类 Loss 以及 Bounding Box 回归 Loss.
  • : 车辆部件定位的 Loss.
  • : 车辆部件可见性的 Loss.
  • : 模版相似度 Loss.

如果给定一幅图像, 其最终的 Loss 为:

这里:

这里的 是 proposal 目标的索引. 这 3 个 Loss 分别代表 MANTA 网络的 3 个阶段的 Loss.

4.1. Many-task loss functions

关于上面提到的几种损失, 这里做一个详细的解释. 现设定第 个阶段索引为 的 box 为 , 然后确定其对应的 groundtruth box , 对应的 groundtruth 部件 , 对应的 groundtruth 部件可见性 以及对应的 groundtruth 模版 . 此外, 我们记标准的 log softmax loss 为 , robust SmoothL1 loss 为 .

Detection loss: 检测 loss. 记第 阶段的第 个 proposal 为 , 如果是车辆的话, 则 , 否则 . 分类标准是根据 proposal box 和 groundtruth box 之间的 IOU 是否大于某一阈值来确定. 这里记 MANTA 网络预测的类别为 . 目标 box 的回归向量 定义为:




记 MANTA 网络预测得出的回归向量为 , 那么最终 Detection loss 定义为:

这里的 和 分别代表分类和回归的正则化参数.

Part loss: 部件 loss. 通过 groundtruth 部件 及预测得出的 box 标准化 2D 部件坐标 , 其中

记 MANTA 网络预测得到的标准化 2D 部件坐标为 , 则 part loss 定义为:

这里 为 part loss 的正则化参数.

Visibility loss: 可见性 loss. 该 loss 仅在阶段 3 时才有, 知 groundtruth 部件可见性 和 MANTA 网络预测得到的可见性向量 , 则 visibility loss 定义为:

这里 表示 visibility loss 的正则化参数.

Template similarity loss: 模版相似度 loss. 该 loss 仅在阶段 3 时才有. 知 groundtruth 模版向量为 , MANTA 网络预测得到的模版向量为 , 则 template similarity loss 定义为:

这里 表示 template similarity loss 的正则化参数.

需注意的是, 如果 proposal 被判定为负例, 即 , 那么回归 loss, 部件定位, 部件可见性, 模版相似度的损失则全为 0.

4.2. Semi-automatic annotation

本文提及一种半自动的标注方法. 本文方法建立了一个 3D CAD 的车辆模型数据集, 该数据集包含 种车辆模型, 每种车辆模型都手工标记了 个部件点坐标位置, 并连线得到车辆模型的特征轮廓. 之后的标注过程中, 我们只需要需要对图像数据中的车辆的 3D 边框进行大致的手动标注, 该工具会自动计算当前车辆模型和数据集中的哪种车辆模型的 3D 形状边框更为接近. 选出对应的车辆模型后, 该车辆的部件点的位置及可见性都可以通过该模型进行映射得出. 具体见 Figure 5.

Deep MANTA 论文阅读_第5张图片
Figure 5

5. 实验

算法评估所用数据集为 KITTI, 其包含 7481 张训练图片以及 7518 张测试图片. 但是由于测试集是没有标注的, 这里将训练集重新划分为一个训练集和一个验证集. 为了和已有方法进行比较, 本文采用两种方法划分训练集/验证集. 本文实验采用的 3D CAD 数据集包含 个 3D 车辆模型, 每个模型标注 个部件点坐标. 本文实验训练 Deep MANTA 网络采用两种基础网络, 分别为 GoogLeNet 和 VGG16, 并采用标准的 SGD 优化器. 训练时采用在 ImageNet 上训练好的预训练模型进行 Finetune. 本文采用 7 种长宽比, 10 种尺度, 共 70 个 anchor. 训练时, 正例的选择需要样本与 GroundTruth 的交并比达到 0.7 以上. 除了 以外, 其他所有 的值都为 1.

2D vehicle detection and orientation: 2D 车辆检测与定向结果.

  • 采用 mAP 指标来判定 2D 车辆检测的优劣, 采用的 IOU 阈值为 0.7;
  • 采用 AOS 指标来表示定向的准确性.

最终结果如 Table 1 所示.

Deep MANTA 论文阅读_第6张图片
Table 1

测试集上效果如 Table 2 所示.

Deep MANTA 论文阅读_第7张图片
Table 2

MANTA 算法全面胜出.

此外, 为了验证 MANTA 网络采用的 3 阶段模型以及采用第一次卷积作为 Feature Map 的有效性, 本文设置了 3 组对比实验: 第一组不采用 refinement, 且和 RPN 算法一样采用最后一层作为 Feature Map; 第二组不使用 refinement, 但采用第一次卷积后的 Feature Map; 最后一组使用 refinement, 且采用第一次卷积后的 Feature Map. 最终的测试结果如 Table 3 所示.

Deep MANTA 论文阅读_第8张图片
Table 3

可以看到这两种改进方法都对网络性能提升起到一定作用.

3D localization: 3D 定位. 其衡量指标为 Average Localization Precision(ALP), 其意义是设定一个阈值, 如果某一个目标物的 3D位 置到 GroundTruth 位置的距离小于该阈值, 则判定正确, 以此计算出准确率. 测试结果图 Table 4 所示.

Deep MANTA 论文阅读_第9张图片
Table 4

P-R 曲线如 Figure 6 所示, 这里采用两种统计精度的方法, 即当定位误差小于 1m 时的精度以及当定位误差小于 2m 时的精度.

Deep MANTA 论文阅读_第10张图片
Figure 6

3D template, part localization and visibility: 3D 模版相似度, 部件定位, 以及可见性评估. 具体是通过设定阈值的方式进行评估, 测试结果如 Table 5 所示.

Deep MANTA 论文阅读_第11张图片
Table 5

Many-task and regularization parameters: 多任务网络正则化系数分析. 主要得出的结论是 效果好. 具体参见 Table 6.

Deep MANTA 论文阅读_第12张图片
Table 6

6. Conclusion

你可能感兴趣的:(Deep MANTA 论文阅读)