AI学习者 · 2023年04月06日

联合训练2D-3D多任务学习 | 深度估计、检测、分割、3D检测通吃

image.png

本报告作为TaskPrompt的补充文件,详细介绍了其在基于Cityscapes-3D的新的2D-3D联合多任务学习基准上的实现。TaskPrompt提出了一种创新的多任务提示框架,该框架统一了以下任务:

  1. 任务通用表示
  2. 任务特定表示
  3. 跨任务交互学习

而不是以前将这些学习目标分离到不同网络模块中的方法。这种统一的方法不仅减少了对细致的经验结构设计的需求,而且显著增强了多任务网络的表示学习能力,因为整个模型能力都致力于同时优化这三个目标。

TaskPrompt引入了一种基于Cityscapes-3D数据集的新的多任务基准,该基准要求多任务模型同时生成单目3D车辆检测、语义分割和单目深度估计的预测。这些任务对于实现对视觉场景的2D-3D联合理解至关重要,特别是在自动驾驶系统的开发中。

在这个具有挑战性的基准上,与单任务最先进的方法相比,本文的多任务模型表现出了强大的性能,并在具有挑战性3D检测和深度估计任务上建立了新的最先进的结果。

image.png

1、简介

理解视觉场景的像素级信息是计算机视觉中的一个重要问题,在AR/VR、移动设备、自动驾驶等领域都有实际应用。这个问题涉及到许多具有挑战性的感知任务的研究,包括语义分割、单目深度估计、目标检测等。这些任务有很多共同点,可以在统一的框架中以多任务学习的方式进行联合学习。

与单任务学习相比,多任务学习有两个优势:

  • 首先,在一个模型中联合学习多个任务自然比单独学习不同模型的任务更高效,因为不同的任务可以共享任务共享网络模块捕获的一些公共信息。
  • 其次,由于不同的任务可以通过信息互补相互帮助,通过适当的多任务模型设计,它们可以优于单任务模型。

值得注意的是,OpenAI的ChatGPT是多任务模型超越单任务模型的最新例子。因此,研究人员对视觉场景感知和理解的多任务学习越来越感兴趣。

作为多任务学习的最新成果之一,TaskPrompt旨在将多任务学习中3个关键信息视角的获取——即任务通用表示、任务特定表示和跨任务交互——集成到一个模块中。

与以前以编码器为中心和以解码器为中心的方法不同,前者将这3个信息视角的学习分开,TaskPrompt最大限度地减少了手动设计或密集搜索针对不同目标定制的模块的必要性。相反,它分配了大部分模型参数来同时学习这三种信息。

为了实现这一点,TaskPrompt为密集预测任务设计了一个多任务提示框架。关键概念是创建特定任务的可学习Token,称为“空间通道任务提示”,它能够为每个任务学习空间和通道特定任务的信息。这些提示嵌入了输入图像中的任务通用Patch Token,它们一起形成了具有专门设计的“空间通道任务提示学习”模块的Transformer的输入。

任务提示和Patch Token通过每个Transformer层中的注意力机制进行交互,允许同时学习任务通用表示和任务特定表示以及跨任务交互。这种方法消除了设计不同类型的网络模块的需要。

为了生成多个密集预测任务的预测图,TaskPrompt提出了一种“密集空间通道任务提示解码”方法。关于TaskPrompt的进一步介绍,建议参考已发表的论文【TASKPROMPTER: SPATIAL-CHANNEL MULTI-TASK PROMPTING FOR DENSE SCENE UNDERSTANDING】。

TaskPrompt在几个多任务密集预测基准上实现了最先进的性能,如广泛使用的PASCAL Context和NYUD-v2,同时与以前的基于Transformer的方法相比,所需的计算成本也更低。TaskPrompt可以很容易地适应更多样的多任务学习问题。

为了证明这一点,在本报告中提出了一个名为“MTCityscapes-3D”的2D-3D多任务联合学习基准,该基准基于Cityscapes-3D。在MTCityscapes-3D中,模型需要同时学习3个具有挑战性的感知任务:单目3D车辆检测、语义分割和单目深度估计。

这些任务在自动驾驶系统的开发中发挥着至关重要的作用。TaskPrompt在MTCityscapes-3D上表现出强大的性能,超过了在Cityscapes上单目3D检测和深度估计的最先进方法,同时在语义分割方面表现出有竞争力的性能。本报告的主要重点将是介绍MTCityscapes-3D,为该基准实施TaskPrompt,并讨论实验结果。

2、联合2D-3D多任务学习的场景理解

2.1、多任务的Cityscapes-3D基准测试

为了进一步评估TaskPrompt在多任务场景理解方面的性能,使用Cityscapes-3D数据集设计了一个统一的2D-3D多任务场景感知问题,该问题包括上述3个具有挑战性的任务,即:

  1. 单目3D车辆检测(3Ddet)
  2. 语义分割(Semseg)
  3. 单目深度估计(depth)

将此基准称为“多任务Cityscapes-3D基准(MTCityscapes-3D)”。MTCityscapes-3D包括2975张训练图像和500张带有来自Cityscapes-3D的精细注释的验证图像。原始图像分辨率为1024×2048。对于语义分割评估,使用了更具挑战性的19个类标签。在所有任务的验证集上对模型进行评估。3D车辆检测任务(3Ddet)使用Cityscapes-3D提供的官方评估脚本,使用平均检测分数(mDS)作为其度量。

重要的是,在实验过程中,将TaskPrompt与最先进的单任务方法进行了比较,TaskPrompt可以同时生成这些任务的预测。

2.2、Cityscapes-3D作为数据集选择的意义

Cityscapes是一个用于密集场景理解的流行数据集,为包括语义分割和深度估计在内的任务提供标签。Gahlert等人进一步注释了用于车辆检测的精确3D边界框,从而创建了“Cityscapes-3D”。

与早期的3D目标检测数据集(如nuScenes、Waymo和KITTI)相比,Cityscapes-3D是专门为单目3D目标检测量身定制的。这是因为Cityscapes-3D的GT深度标签来自立体相机,而不是激光雷达,这经常导致图像和深度图之间的差异。

此外,Cityscapes-3D为车辆的俯仰角和滚转角提供了标签,而以前的大多数数据集只关注偏航角。当道路不平整时,这些角度是至关重要的,这种情况经常发生。此外,Cityscapes-3D引入了一种更合适的指标,称为“平均检测分数(mDS)”,用于评估单目3D目标检测,更好地捕捉实际性能。

2.3、任务提示器在3D上的实现

1、主网络结构

考虑到Cityscapes-3D图像具有更大的空间分辨率,并且3Ddet对目标大小敏感,基于Swin-Base模型构建了TaskPrompt,该模型在整个网络层中保留了高分辨率特征。重要的是,由于Swin Base中的transformer块使用了局部窗口注意力,而不是ViT中使用的全局注意力,复制了空间任务提示,并将它们集成到每个局部窗口中,以促进与所有Patch Token的交互。

在计算窗口注意力之后,通过平均将来自不同窗口的空间任务提示组合为单个提示。此外,在Swin Base的每个Patch Merging层,任务提示的通道数量增加了一倍,以保持与Patch Token通道数量的一致性。

在解码阶段,从所有窗口缝合空间任务提示仿射张量,以形成全局仿射张量,然后用于查询Patch Token。通道任务提示的学习和解码不受Swin-Base架构的影响,并且可以以与ViT骨干版本相同的方式执行。不在Swin主干中使用跨任务重新加权,因为从窗口注意力中获得提示到提示的亲和图并不简单。

2、预测头

对于所有3个任务,使用特定任务的Conv(3×3)-BN ReLU块作为预测头来生成最终的任务特征,并使用线性层来生成Semseg和Depth的最终预测。关于3Ddet,使用FCOS-3D的最终预测头来估计位置坐标、旋转角度、尺寸、类别、中心度和方向分类。有关3D检测预测头的更多详细信息,参阅FCOS-3D。

3、OPTIMIZATION

为了降低计算成本,将输入图像的分辨率从1024×2048降低到768×1536。将批量大小设置为2,并训练模型进行40k次迭代。值得注意的是,评估仍然是以原始分辨率计算的。

我使用Adam优化器,学习率为,并且没有权重衰减。对于3D检测任务,应用阈值为0.3的非最大值抑制。分配给语义分割的损失权重是100,而对于深度估计和3D检测,它被设置为1。对于3D检测,以类似于FCOS3D的方式,使用Focal Loss进行目标分类,使用Smooth L1 Loss进行位置坐标和大小回归,使用交叉熵损失进行方向分类和中心回归。对于语义分割,使用交叉熵损失,对于深度估计,应用L1损失。

3、实验

image.png

表1显示了最先进的方法(单任务模型)、多任务基线和MTCityscapes-3D基准上的TaskPrompt之间的性能比较。多任务基线使用与TaskPrompt相同的主干模型(即Swin-Base)和相同的预测头,特别是Conv(3×3)-BN ReLU Conv(1×1)块。

本文的工作是文献中第一个在该数据集上同时执行所有三项任务的工作。TaskPrompt在所有任务中都显著优于基线,进一步证明了该方法的有效性。

令人印象深刻的是,TaskPrompt在3Ddet和Depth上也超过了最先进的单任务/多任务模型,并且与具有ViT-B骨干的SETR相比,在竞争激烈的Semseg上表现出了强大的性能。

image.png

在图2中,将mtcitcapes-3D上的预测结果与GT标签一起可视化,表明任务提示器可以同时为多个2D和3D场景理解任务生成竞争结果。这些实验结果进一步表明,所提出的任务提示器可以有效地适应于其他Transformer模型和任务集。

4、参考

[1]. JOINT 2D-3D MULTI-TASK LEARNING ON CITYSCAPES-3D: 3D DETECTION, SEGMENTATION, AND DEPTH ESTIMATION.

原文:集智书童
作者: 小书童

推荐阅读

更多嵌入式AI技术干货请关注嵌入式AI技术专栏。
迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
18838
内容数
1371
嵌入式端AI,包括AI算法在推理框架Tengine,MNN,NCNN,PaddlePaddle及相关芯片上的实现。欢迎加入微信交流群,微信号:aijishu20(备注:嵌入式)
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息