APP下载

基于尺度和深度不确定性的Mono3D检测算法研究

2022-12-05朱珩

中国科技纵横 2022年20期
关键词:关键点不确定性尺度

朱珩

(苏州智加科技有限公司,江苏苏州 215100)

0.前言

尽管对于图像2D检测业界已经发掘了诸多算法并在自动驾驶中发挥了重要作用,3D检测任务,即获得图像中目标物体的尺度信息、位置信息和朝向信息依然是一个开放的问题。本文我们着重研究使用单个摄像头获取的图像数据,对其中的目标物体进行自由度回归的3D检测。目前,先进的2D目标检测都是通过一个深度学习神经网络来回归目标在图像中的位置。随着神经网络发展,2D检测算法按照是否有预设的锚框(anchor)分为基于anchor的检测算法和基于点的检测算法。基于anchor的目标检测算法分为单阶段和两阶段目标检测。两阶段算法诸如RCNN系列,即先生成候选区域,再用神经网络对候选区域进行分类和边界框回归。单阶段算法例如YOLO系列,如YOLOv1[1]直接将图片化为栅格,并对每个栅格进行分类和目标值回归,YOLOv2在YOLOv1的基础上对每个位置添加了设计的anchor box,提高了召回,YOLOv3通过聚类的方法得到9种尺度的anchor,并将anchor box按照大小均匀的分配给3个尺度的特征图,实现了多尺度预测。之后的YOLO系列通过特征金字塔、残差网络等技巧提高模型能力。

尽管上述算法在2D检测中表现较好,但无法估计目标在真实空间中的位置和朝向问题。单目3D目标检测是一项具有挑战性的任务,在研究路线上,目前有这几种方案:基于空间预设包围框的算法、包围盒的关键点检测算法,以及基于深度估计的伪雷达方法。Mono3D[2]提出在3D空间中对包围盒进行采样并对这些框在图像上的投影进行语义分析,然后得到真实目标在空间中的姿态。RTM3D[3]算法,MonoFlex[4]算法,通过对图像上目标物的3D回归框在图上的8个顶点位置进行回归,并通过几何约束得到目标在空间中的位置、大小和朝向信息。Pseudo-lidar[5]算法对图像逐像素进行深度估计,并生成伪点云图,在伪点云图的基础上进行3D目标检测。

本文首先回顾了2D检测以及3D检测算法。在第二部分详细介绍了基于图像的2D检测算法并按照第一阶段和第二阶段对有代表性的几种算法进行了分析比较。同时我们将介绍目前基于图像的有代表性的3D检测工作。在第三部分,我们将详细阐述提出的单目3D检测算法,我们创新地将2D检测算法,基于3D包围框的关键点检测算法,和一种不确定性算法结合起来,提出一种基于深度,尺度不确定性的单目3D检测算法。我们从3个部分入手,首先介绍了什么是不确定性以及如何使用不确定性提高算法精度,然后设计了一种全卷积的深度学习网络用来回归目标的深度以及尺度的不确定性,最后设计一种基于不确定性的损失函数。在第四部分,将提供我们的实验依据来观察基于尺度、深度的不确定性3D检测算法在公开数据集上的表现,在第五部分给出算法的总结。

1.图像检测概述

1.1 图像2D检测

目前的2D检测算法主要分为两个派别:一阶段检测器和二阶段检测器。一阶段检测器直接进行定位和分类,检测器使用预定义的不同比例和长宽比的boxes/points来定位目标。两阶段检测器是指存在一个单独的模块来生成区域候选框(region proposals),也即是在第一阶段找到一定数量的候选框,然后在第二阶段对每个候选框进行定位和分类,一阶段检测器的代表算法有YOLO。二阶段检测器则以RCNN为主,RCNN系列经历了从RCNN到Fast RCNN再到Faster RCNN的变迁,最终的Faster RCNN可以认为是二阶段检测器的集大成者。

1.2 图像3D检测

Mono3D[2]提出在3D空间中对包围盒进行采样并对这些框在图像上的投影框进行语义分析。首先在空间中预设许多3D立体框,每个立体框在图像上都有其对应的投影信息。基于这些投影框在图像上的实例分割、形状、图像上下文等语义信息去找到真实目标在空间中的位置和姿态。这种方法需要神经网络对多个任务进行处理,耗时和内存占用过大,且如何设计立体框,以及大量负样本的立体框对模型的学习不是非常友好。

2. Mono3D检测

2.1 网络结构

如图1所示,共享主干网络可选取RegNet,后接多个预测分支用于预测对象属性。其中,训练与推理共有的主任务预测包括中心点热力图、关键点偏差、绝对深度及其不确定性、物体的3D尺度、物体的3D朝向、基于关键点的深度不确定性。对于训练过程,增加了几个辅助任务,用于帮助网络更好地学习主任务中的输出目标,包括关键点热力图、2D物体中心偏移量、2D尺寸、关键点残差、2D中心点残差和2D中心点残差。

物体中心点预测[6]可被定义为,3hw是类别数,h、w分别为特征图的高与宽。关键点预测可被定义为9hw,预测3D框的8个顶点以及中心点。对于中心点热力图预测和关键点热力图预测,采用高斯核加权focal loss进行监督。偏移预测包括3D中心的偏移量、2D中心的偏移量、2D尺寸、关键点偏移量、2D中心残差、关键点残差,均使用L1损失进行监督。预测物体的长宽高(l, w, h),输出为3hw,使用尺度L1损失进行监督。朝向预测将角度分为12个等份,先对角度进行分类,再进行区间内的角度回归,定义为24hw,使用交叉熵损失监督分类,使用L1损失监督角度回归。在贝叶斯建模中,通常将不确定性研究分为两种:一种是认知不确定性,它主要描述了模型中参数的不确定性;另一种是偶然不确定性,它可以观察到数据中的噪声,这在物体检测领域已经有着广泛的运用。在本文中,我们对深度估计的不确定性进行建模,利用多个预测器得到的深度估计以及他们对应的不确定性,组合计算出最终的深度预测值。我们将物体深度的估计表述为M+1个独立估计器的自适应集成,包括直接回归的深度和基于M个关键点预测的几何解深。

2.2 直接预测深度

对于特征图上的每一个位置,预测其对应的物体中心绝对深度zr和不确定性σdep。如果模型预测的深度不准确,则误差值较大,那么就会输出更大的不确定性,从而减少损失。

根据预测的8个关键点,可以画出4条垂直的边,每条边的深度zl可以根据它对应的像素高度hl和物体的实际高度H计算得到:

其中f为相机焦距。物体中心的深度可以通过平均两条对角垂直边的深度得到,一共有4个垂直边,那么就会有两对平均对角深度,分别记为zd1和zd2,他们应该与上述直接回归的物体中心深度尽可能接近。通过加权计算得到最终的深度预测,使模型对于潜在的不精确预测更鲁棒:

3.实验

KITTI数据集为自动驾驶中各种视觉任务提供了广泛使用的基准,包括2D检测、平均方向相似度(AOS)、Bird's Eye View(BEV)和3D检测。官方数据集包含7481张训练图像和7518张测试图像,标注文件包含汽车、行人和骑车人的2D和3D边界框,其中3D边界框共80256个。本文将训练集进一步拆分为两个子集,包含3712个用于训练的图像和3619个用于验证的图像。标注边界框分为3个难度级别:简单、中等和困难,级别划分由2D边界框高度、物体遮挡和截断程度确定。本文实验使用3D空间和鸟瞰图的边界框平均精度来评估模型性能,训练模型时使用汽车、行人和自行车3个类别数据。表1中展示了本文和其他单目3D检测算法在KITTI验证集上的结果,表明本文算法对于汽车类别检测实现了显著的性能改进。与此同时,本文算法性能在KITTI 3D检测排行榜上也有着不错的表现。

表1 KITTI验证集上汽车类别检测结果

4. 总结

在本篇论文中,我们提出了一种基于尺度、深度不确定性的单目3D检测算法。这种算法解决了单目3D检测中的两大挑战:(1)目标的深度估计问题;(2)目标在3D空间中的包围框预测问题。具体而言,我们直接回归目标物体的3D中心点,利用3D信息监督网络学习,可以使网络更好地学习目标的3D几何位置和关键点信息,在很大程度上提高模型的检测精确度。我们在KITTI数据集上进行了实验,验证了本文所提出方法的优越性,大量的实验结果和评价指标表明,我们所提出方法的性能超过了大多数的检测算法。

猜你喜欢

关键点不确定性尺度
法律的两种不确定性
肉兔育肥抓好七个关键点
财产的五大尺度和五重应对
英镑或继续面临不确定性风险
具有不可测动态不确定性非线性系统的控制
宇宙的尺度
医联体要把握三个关键点
9
锁定两个关键点——我这样教《送考》
从翻译的不确定性看译者主体性