基于定位不确定性的鲁棒3D目标检测方法

2021-11-05 01:29裴仪瑶郭会明张丹普陈文博
计算机应用 2021年10期
关键词:置信度不确定性损失

裴仪瑶,郭会明,张丹普,陈文博

(1.中国航天科工集团第二研究院,北京 100039;2.北京航天长峰股份有限公司北京航天长峰科技工业集团有限公司,北京 100039;3.中国科学院自动化研究所,北京 100190)

0 引言

3D 目标检测是车辆无人驾驶、机器人、增强现实、安保边防、同时定位与地图构建(Simultaneous Localization And Mapping,SLAM)等应用领域中的一项关键任务。在车辆无人驾驶过程中需要对周边环境进行实时感知,3D 目标检测任务可以用于识别并定位车辆周围的物体,以此躲避障碍物[1-2];动态环境下的SLAM 是一项充满挑战的任务,SLAM 与基于深度神经网络的3D 目标检测任务可以互相促进[3],通过3D 目标检测任务删除不可靠的特征点(如移动的物体),提高SLAM 的精度和鲁棒性。近年来出现了基于点云投影到图像[4-6]、基于3D 体素网格[7-9]和基于原始点云[10-12]的3D 目标检测方法。基于3D体素网格的方法用空间信息进行显式编码,将点云数据转化为体素格式并对体素特征进行编码;然后,在体素网格上应用3D 卷积进行特征提取;最后,使用候选区域生成网络(Region Proposal Network,RPN)进行目标预测。稀疏嵌入卷积检测(Sparsely Embedded CONvolutional Detection,SECOND)网络[9]是一个具有代表性的基于体素网格的3D目标检测网络,其提出的稀疏卷积方法提高了网络运算效率,加快了网络推理速度。

目前大部分3D 目标检测方法的研究都是基于全监督的方法[1,4,7],而全监督的3D 目标检测方法需要大量的人工标注数据作为训练数据来优化模型,由于3D 点云数据的特殊性,在人工标注目标3D边界框的过程中不可避免地存在偏差,即目标的标注数据中存在噪声,若使用这种数据作为训练数据则会对模型的定位精度造成影响;另一方面,在一般的3D 目标检测方法中,往往输出结果只有分类置信度以及回归的3D边界框[7-9],而缺少对于3D 边界框置信度的估计,因此常规的3D 目标检测器很难区分误检(False Positive,FP)和正确检测结果(True Positive,TP)。误检在自动驾驶下非常危险,可能会引起诸如意外制动的情况,降低驾驶的稳定性和效率,因此在考虑目标置信度时除了分类置信度,定位的置信度也是非常重要的,可以用于表征预测3D边界框的可靠性。本文提出了一种预测3D 边界框不确定性的方法,在原SECOND 网络基础上额外输出定位不确定性,使用高斯和拉普拉斯两种方法对定位不确定性进行建模,对定位损失函数进行重新定义并对比了两种方法的性能。在检测过程中,联合使用分类置信度以及定位不确定性对候选目标进行筛选,从而得到更准确的检测结果,同时也提高了网络的鲁棒性。

1 基于3D体素网格的SECOND网络

由于SECOND 网络使用规则的体素网格的形式,能够显式地对点云形状信息进行编码,同时采用稀疏卷积层可有效提高网络运算性能[9],因此,本文选用基于3D 体素网格的单阶段3D目标检测网络SECOND[9]作为3D目标检测基础网络。

SECOND 网络结构,如图1 虚线框内所示,该网络由体素特征提取器(Voxel-wise Feature Extractor,VFE)、稀疏卷积中间层(sparse convolutional middle layer)和RPN 三部分组成。首先,对点云进行体素化编码,将点云分割为等大小的体素网格并对体素内的点进行固定数量的随机采样。然后,使用VFE 层来提取逐体素特征,VFE 层将同一体素中的所有点作为输入,使用完全连接网络(Fully Connected neural Network,FCN)来提取逐点特征。之后通过最大池化层得到局部聚合特征。三维体素特征提取器由多个VFE 层和1 个FCN 层组成,输出为所有体素的全局特征。随后,将特征输入稀疏卷积中间层,通过稀疏卷积解决了三维卷积特征提取造成的内存开销大以及计算速度慢的问题。该层由两个阶段的稀疏卷积组成,每个阶段包含几个子流形卷积层和1 个稀疏卷积层,在z轴上进行下采样之后,稀疏的特征图将转换为密集特征图。最后,将中间层得到的密集特征图输入RPN 进行候选区域预测,RPN 由3 个阶段组成,其中每个阶段包括下采样层和卷积层,再将每个阶段的输出上采样至相同的大小连接起来,最终应用3个1×1卷积得到3D 检测结果,包括分类置信度、3D 边界框回归值和方向分类预测值。

图1 整体网络结构Fig.1 Overall network structure

2 目标检测中的不确定性

目前已经提出了很多3D目标检测方法,但对定位不确定性的研究较少。在2D目标检测任务中,文献[13]介绍了两种算法来计算多尺度单发射击(Single Shot multibox Detector,SSD)[14]检测网络的任意不确定性:一种方法是利用异方差回归法,另一种方法是根据锚框的所有候选框来估计不确定性。实验结果表明,这两种方法都会对FP即误检结果预测带来较大的不确定性值。文献[15]中,在统一实施目标检测(You Only Look Once v3,YOLOv3)网络[16]中同样加入了异方差回归用于预测边界框的不确定性,并使用高斯参数构建损失函数,可以提高检测器有效适应噪声数据的能力,并对噪声标注具有鲁棒性[17],实验结果表明,2D 目标检测的平均精度均值(mean value of Average Precision,mAP)提升了约3 个百分点,并且显著降低了误检,提高了正确目标的检测能力。在3D目标检测任务中,文献[18]和文献[19]分别利用高斯参数和拉普拉斯参数构建了3D 目标检测中边界框不确定性回归的模型,证明了边界框不确定性回归在3D 目标检测中的有效性。但这些方法都没有通过具体的实验来证明模型提高了对噪声数据的鲁棒性,以及没有说明定位不确定性在网络预测后续处理中的具体应用。

3 基于定位不确定性的鲁棒3D目标检测方法

3.1 基于定位不确定性的鲁棒3D目标检测网络架构

图1 中,本文网络使用SECOND 网络作为主干网络,并使用1 个除了预测目标分类、3D 边界框回归和方向分类回归结果,另外输出定位不确定性的新检测头。网络输出的有向3D边界框编码为包含7个维度的向量B=(x,y,z,w,h,l,θ),其中:(x,y,z)代表3D边界框的中心在三维空间的坐标;(w,h,l)代表3D边界框的宽度、高度和长度;θ代表3D边界框以y轴为中心的旋转角度。本文中的定位不确定性回归模块输出结果为7维向量,即分别对应3D边界框编码中每个维度的不确定性。

3.2 定位不确定性损失函数

本文利用额外输出的定位不确定性,构建新的定位不确定性损失函数,分别使用高斯参数和拉普拉斯参数构造3D目标检测中的定位不确定性损失函数。

具体来说,对3D边界框每一个系数的不确定性建立高斯或拉普拉斯模型,即建立了两种均以3D边界框回归结果为均值、定位不确定性为方差的不确定性模型,对应两种定位不确定性损失函数。

高斯定位不确定性损失函数Lun_reg_Gaussian定义为:

拉普拉斯定位不确定性损失函数Lun_reg_Laplace定义为:

其中,分别对边界框的每一个维度计算不确定性损失函数,ti、μi和σi(i∈{x,y,z,w,h,l,θ})代表边界框每个维度的回归目标值、预测值和不确定性预测值。在计算损失函数之前计算每个维度的回归目标值如下:

其中:gi和ai(i∈{x,y,z,w,h,l,θ})代表3D 边界框的真值和定义的锚框。

总损失函数定义为:

其中:为了解决正负样本不平衡的问题使用Focal损失函数作为分类损失函数Lcls,使用L1 损失函数定义定位损失函数Lreg,Ldir为方向分类损失函数,计算方法同SECOND 原损失函数;β1、β2、β3和β4是超参数,分别为4个损失函数的权重系数。

3.3 基于目标置信度的检测后处理

在检测过程中,网络输出若干3D候选目标之后会进行一系列后处理操作,筛选得到最终预测目标,包括按目标置信度进行筛选以及采用非极大值抑制(Non-Maximum Suppression,NMS)方法等,在原SECOND 方法中,3D 候选目标的置信度被直接定义为分类置信度,其计算方法为:

其中:outputcls是网络输出的分类结果,用于将分类结果转化到[0,1]区间内,得到的即为分类置信度。本文将分类置信度和定位置信度结合起来,作为目标置信度conftotal进行目标筛选,计算方式如下:

取7个维度的平均不确定性作为每个预测目标的定位不确定性,然后得到定位置信度,将定位置信度和分类置信度结合起来即为目标置信度。在检测后处理中首先设置置信度阈值,筛除目标置信度较低的候选目标,然后按照置信度进行排序,使用NMS方法筛除边界框重叠的目标,得到最终的检测结果。

4 实验结果与分析

4.1 实验数据集

在开源的KITTI 自动驾驶数据集[22]中的3D 目标检测数据集上进行本文网络的训练和验证。该数据集包括了在市区、乡村和高速公路等多种场景下采集的真实数据,其中,有多种目标类别,例如车、行人、骑车人等。场景中的目标还有各种程度的遮挡和截断。数据集中共包括7 481帧带有3D 目标检测标注的激光雷达点云数据。

本文仅在具有代表性的车辆类别的数据上进行实验并对比模型性能,对模型在3D 目标检测和鸟瞰视图(Bird’s Eye View,BEV)检测中的性能进行对比评价,使用交并比(Intersection over Union,IoU)阈值为0.7 的3D 平均检测精度(Average Precision for 3D boxes,AP 3D)和鸟瞰图平均检测精度(Average Precision for BEV boxes,AP BEV)作为模型评价指标。对于每一种类别,模型在不同的难度等级上进行验证,难度等级分为容易、中等和困难,是按照目标遮挡、截断程度和物体高度划分的。

4.2 实验环境

本文实验使用的操作系统为Ubuntu 16.04 操作系统;计算机硬件配置为Intel Xeon Gold 5220处理器,内存为256 GB,GPU 为NVIDIA GeForce RTX 2080 Ti,显存11 GB;开发环境为python3.6、pytorch1.1.0,GPU加速库为CUDA10.0 和CUDNN7.0。

4.3 实验训练参数

按照数据集的官方设置,将KITTI 数据分为3 712 帧训练数据和3 769 帧验证集。由于检测的车辆类别目标大小较为固定,本文参照SECOND 网络,基于KITTI 数据集中车辆类别目标的平均大小,使用固定大小的锚框,即宽×长×高=1.6 m×3.9 m×1.56 m,对每个锚框分配类别、边界框大小和角度向量作为预测目标。对于车辆类别,若检测框与锚交并比(IoU)大于0.6,则视为正样本;小于0.45 视为负样本;其余样本在训练过程中忽略不计。

对于损失函数中各项函数的权重设置,本文实验中参照SECOND 网络设置β1=1.0、β2=2.0、β4=0.2,β3设置的对比实验见第4.4节。本文所有实验在训练过程中,都使用one cycle学习率,初始学习率为0.0003,最大学习率为0.003,动量参数为[0.95,0.85],权重衰减参数为0.01。

本文实验中的网络均训练了60 个epochs(30 000 个迭代),批大小为6,在单个GPU 上的一次完整训练时长约为7 h,平均检测速度为每帧2.33 ms。

在实验过程中,为了增加样本丰富性,分别在训练过程中对训练数据的标注和全局点云数据随机增加噪声作为数据增强操作。具体来说,在数据标注中对位置(x,y,z)维度分别进行标准差为(1.0,1.0,0.5),均值为0 的高斯分布中采样的随机线性变换,对角度维度加入[-π/4,π/4]区间内随机采样的角度。在全局点云数据上,在尺度上进行[0.95,1.05]区间内的随机变换,以及在角度上加入[-π/4,π/4]区间内随机采样的角度。

4.4 不同定位损失函数实验结果及分析

本文在SECOND 网络基础上,在输出7 维3D 边界框回归结果时同时输出7 维定位不确定性,并在此基础上实现了两种定位不确定性损失函数——高斯和拉普拉斯损失函数。为了对比两种损失函数的效果,分别将其替换或叠加在原网络中的L1定位损失函数上。

表1 对比了本文方法和其他方法的实验结果,其中:多视图3D(Multi-View 3D,MV3D)[4]网络是基于多视图的经典网络,点区域卷积网络[20](Point Regions-Convolutional Neutral Network,PointRCNN)是基于原始点云的网络,VoxelNet[8]、SECOND[9]和结构感知单阶段检测器[21](Structure Aware Single-Stage Detector,SA-SSD)是基于体素网格的网络。实验(A)为本文复现的SECOND 网络的性能,并将此作为实验对比的基线模型,实验(B)和(C)使用不确定性损失函数替换L1定位损失函数,实验(D)和(E)为不确定性损失函数与原L1损失函数叠加使用。

表1 不同定位损失函数对比Tab.1 Comparison of different localization loss functions

对比(A)、(B)、(D),在中等难度上拉普拉斯定位损失函数替换和叠加L1 损失函数分别使平均检测精度提升0.57 和0.5 个百分点,说明拉普拉斯定位损失函数可以直接替换L1损失函数且保持性能提升。对比(A)、(C)、(E),在中等难度上用高斯损失函数替换L1 损失函数会降低平均检测精度0.15个百分点,但在L1基础上加入高斯损失函数可以提升平均检测精度0.54 个百分点,并可以达到与(B)基本相同的性能。综合对比实验结果(B)到(E)证明了不确定性检测头的有效性,高斯和拉普拉斯两种对定位不确定性的回归方式都可以辅助3D边界框的回归,但拉普拉斯定位损失函数带来的性能提升优于高斯,这是因为拉普拉斯的回归方式更加接近L1损失函数。

图2为不同网络在KITTI验证集上进行3D 目标检测的可视化效果,可以看出不确定性检测头相较原SECOND 网络得到的检测框更准,并且可以筛选部分误检结果,说明不确定性可以有效用于3D边界框的筛选。

图2 不同模型在KITTI验证集上的检测效果Fig.2 Detection effects of different models on KITTI validation set

图3 为训练过程中各个模型的准确率变化折线,可以看出虽然原SECOND 网络在训练初期准确率上升较快,但后续有较大起伏,而增加了拉普拉斯和高斯定位损失函数的模型在整个训练阶段准确率逐步提升直至稳定,易收敛。

图3 不同模型在KITTI验证集上的准确率Fig.3 Accuracies of different models on KITTI validation set

将不确定性损失函数与L1损失函数叠加时,需考虑不同的权重情况,以得到最优的叠加方式,表2 展示了使用不同权重β3对不确定性损失函数加权的结果。对于拉普拉斯损失函数,其权重为0.5 时模型准确率最高;对于高斯损失函数,其权重为0.01时模型准确率最高。

表2 定位不确定性损失函数在不同权重下的对比Tab.2 Comparison of localization uncertainty loss functions with different weights

4.5 鲁棒性实验结果及分析

为了验证定位不确定性对于噪声标注数据的鲁棒性,本文模拟了人工标注数据的不准确性,在训练数据标注中随机加入不同尺度的噪声扰动。表3 中的实验表明,本文提出的改进SECOND 模型对于噪声数据更加鲁棒。本文分别在物体的尺寸(长、宽、高)、位置(x、y、z维度上的坐标)以及旋转角度上加入不同尺度的随机数作为噪声扰动,以模拟人工标注数据中可能存在的噪声数据。例如尺寸(-0.10,0.10)表示在训练数据的标注中,将尺寸维度长、宽、高3 个数据上分别加入(-0.10,0.10)范围内的随机数,作为该物体的真实标注值对模型进行训练。表3中模型S代表SECOND原始网络,L代表最优设置的SECOND-Laplace 模型,G 代表最优设置的SECOND-Gaussian+模型。实验结果表明,尺寸数据中的噪声对三个模型影响都较小,(-0.20,0.20)范围内的扰动仅使三个模型在中等难度上准确率下降2.3、1.7、1.7 个百分点,位置噪声在(-0.20,0.20)范围内的扰动使三个模型在中等难度上准确率下降高达7.2、4.7、5.3 个百分点。在噪声数据上两个改进模型的鲁棒性均比原始网络好,尤其是在噪声较为严重时,改进模型准确率下降程度远小于原始模型,其中SECOND-Laplace 模型相较SECOND-Gaussian+模型基本对于每一种类型的噪声数据都更为鲁棒。

表3 不同模型用噪声数据训练对比Tab.3 Comparison of different models on training data with noisy data

5 结语

本文提出了一种基于定位不确定性的鲁棒3D 目标检测方法,在一定程度上解决了训练数据中的3D目标检测框可能存在的人工标注不准确问题。在SECOND 网络中加入对定位不确定性的预测,利用拉普拉斯和高斯两种分布模型构造定位不确定性损失函数,并在检测后处理中结合分类置信度和定位不确定性进行候选框筛选。所提算法在KITTI 数据集中等难度的检测准确率达到78.77%,相较原始SECOND 网络提高了0.5 个百分点;在训练数据有噪声的情况下,检测准确率比原始SECOND 网络最多提高了3 个百分点。本文方法提高了对于带噪声训练数据的鲁棒性,减少了误检并提高了定位精度,但在KITTI 验证集上的结果与原方法相比准确度提升不多,仍有提高的空间,可以考虑对定位不确定性的建模方法进行更深入的研究。本文提出的方法具有通用性,理论上可以应用于其他3D目标检测方法网络中。

猜你喜欢
置信度不确定性损失
基于数据置信度衰减的多传感器区间估计融合方法
法律的两种不确定性
随机不确定性影响下某航炮发射动力学仿真
洪涝造成孟加拉损失25.4万吨大米
一种基于定位置信度预测的二阶段目标检测方法
两败俱伤
中国银行业的未来:不确定性与希望并存
校核、验证与确认在红外辐射特性测量中的应用
损失
广义直觉模糊软集的格结构