前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >远距离和遮挡下三维目标检测算法研究

远距离和遮挡下三维目标检测算法研究

作者头像
一点人工一点智能
发布2024-03-26 15:03:57
910
发布2024-03-26 15:03:57
举报

作者:陆军, ,  李杨,  鲁林超

来源:《智能系统学报》

编辑:东岸因为@一点人工一点智能公众号

近年来,随着卷积神经网络[1-2]的提出及其在计算机视觉[3]和自然语言处理[4]等领域的广泛应用,使得深度学习在二维的图像识别[5]、语义分割[6]以及目标检测[7]等领域有了重要的突破。目前,基于二维图像的目标检测算法已趋于成熟,并已经被广泛地应用到我们的生活中。

尽管二维图像领域已经存在许多成熟的检测框架,如两阶段的R-CNN[8]、Fast R-CNN[9]、Faster R-CNN[10]和Mask R-CNN[11],以及单阶段的SSD[12]和YOLO[13]系列等,这些算法均展现出非常出色的效果,但仍然难以满足一些特殊场景下的需求。随着3D 传感器技术的迅速发展及成本的降低, 3D 目标检测[14-15] 逐渐成为当前计算机视觉领域的重要研究方向。3D目标检测目前有着非常广泛的应用,如在空间站的建造任务中两个航天器的交会对接就需要光学敏感器和激光雷达协同配合完成。此外,3D 目标检测在当下还有一个热门的应用领域,就是无人驾驶系统[16-17]。

目前3D 目标检测算法根据对原始点云数据处理方式的不同,主要可以分为基于体素特征(Voxel-based)的目标检测算法及基于点特征(Point-based)的目标检测算法两类。

其中基于体素特征的目标检测算法将原始的点云处理成规则排列的体素或者栅格,然后使用三维的卷积神经网络进行特征提取与目标包围框的预测,比较具有代表性的算法是 VoxelNet网络[18]和PointPillars网络[19],尽管点云体素化可以提高检测的速度,但体素化过程中会导致点云精度的丢失,降低检测的准确率。而另一类基于点特征的目标检测算法,如PointRCNN[20],则直接在原始的点云上通过深度神经网络进行特征提取,在原始点云上生成目标包围框,无需对输入点云进行任何的预处理。

与点云体素化相比,尽管PointRCNN等基于点特征的目标检测算法提高了目标的平均检测精度,但是对远处以及存在遮挡目标物体进行检测时,由于点云本身的稀疏性[21],目标区域内包含的点云数量有限,导致这些方法的检测精度并不高。

本研究针对现有3D目标检测算法对存在遮挡及距离较远目标检测效果差的问题,在PointRCNN 网络的基础上对其第2阶段网络进行改进,提高目标检测的精度。

在利用RPN网络[22]获取点云数据中的ROI区域后,网络通过对ROI体素化处理并构建不同尺度的区域金字塔来捕获更加广泛的兴趣点;引入球查询半径预测模块,使网络可以根据点云的密度自适应调整网格中心点的感知范围;引入点云 Transformer 模块,将点云与 Transformer [23]结合来增强对网格中心点局部特征的学习;最后在 KITTI[24]数据集上通过消融试验对所提算法的有效性进行了验证。

01 ROI区域金字塔

在现有的基于深度学习的两阶段点云目标检测算法中,第1阶段RPN网络生成的候选框已经有着很高的召回率,但网络最终的检测精度仍然很低。造成这一现象的原因是一些检测目标本身所包含的点云量较少,还有一些检测目标存在遮挡的情况,使得ROI区域内包含的特征信息不足,导致网络在第2阶段中对这些ROI区域的优化效果较差。对于这些包含点云数目较少的ROI区域,除获取目标物体本身的特征信息之外,通过扩大感受野范围获取物体周围区域的特征信息对于目标的预测也很重要。

在二维目标检测网络的ROI Pooling模块中,仅使用候选区域内部的特征图就可以取得很好的检测效果,这主要源于2个方面,其一是RGB 图像的像素点是规则排列的,提取到的不同特征图中所包含的语义信息是十分均匀且丰富的;其二是图像特征图是经过多层卷积池化得到的,每个像素点有着较大的感受野。而对于点云场景,大部分候选框内部的点云稀疏且不完整,包含的语义信息较少,因此仅靠ROI内部区域的这些少量且非均匀分布的点去预测物体的形状、尺寸以及位置信息是远远不够的。

为保证内部的结构信息不变,同时获取丰富的上下文信息,本研究采用区域金字塔的方式对每一个 ROI 区域进行编码。

1.1 ROI体素化处理

在两阶段的目标检测网络中,第2阶段的网络需要经过区域池化的操作将 RPN网络所生成 ROI 区域转换成标准的特征尺度,以便于对包围框进行进一步的特征提取与回归。

点云目标检测网络中的区域池化的方式有两种,第1种是固定采样的方式,在每一个 ROI 区域采样相等数目的点,如在每个区域随机采样512个点,用512个点的特征信息来表示候选框特征。第2种是基于网格采样的方式,通过将每个候选框切分成若干大小均匀的网格,以每个网格的中心点坐标为球心,通过球查询的方式捕获周围兴趣点的特征信息,从而得到每个网格点的特征向量,最后使用所有网格中心点的特征信息来表示候选框特征,本研究采取第2种方式提取ROI特征。

设每个候选框的尺寸为(W,L,H) ,左下角顶点坐标为(x_0,y_0,z_0),每个 ROI 区域的格子编号为(i,j,k),ROI 体素化后的网格中心点坐标p^{ijk}_{centre}

其中,(N_w,N_l,N_h)表示在宽、长、高3个方向上所切分格子的数量。

1.2 ROI区域金字塔构建

与二维的金字塔网络有所不同,本研究以区域空间大小为基准构建网格金字塔,通过构建金字塔的方式将网格的中心点扩展到候选框外部的区域。具体网格金字塔构建方式如图1所示。

图1 网格金字塔示意
图1 网格金字塔示意

由图1中可以看出,网格金字塔以ROI的尺寸为基准向外扩张,最左侧为对ROI区域标准网格化后的视角度下的网格中心点分布图,每向外扩张一个量级后,网格中心点向外偏移。扩张的尺度越大, ROI 区域内包含的点云数目也逐渐增多。小尺度网格用于保存区域内的特征信息,大尺度网格用于捕获区域外的特征信息。基于式(1),网格金字塔每个格子的中心点坐标可以重新表示为

式中:(p_w,p_l,p_h)分别表示沿着不同坐标轴方向的放大系数,用于控制网格金字塔的尺度大小,当(p_w,p_l,p_h)均为1时,表示标准的体素化过程,随着(p_w,p_l,p_h)的增加,金字塔的尺度变大,所捕获到的上下文特征也更多。(N_w',N_l',N_h')表示不同尺度区域所切分的网格数量,金字塔尺度越大网格尺寸也相应越大。对于所有金字塔,将每个网格内的所有感兴趣的点进行特征聚合,并将所有尺度金字塔的特征向量进行堆叠得到融合特征,最终用于目标包围框的精细回归。

02 金字塔网格特征提取

2.1 Transformer特征提取

Transformer由于其强大的注意力机制在机器翻译[25]以及自然语言处理领域[26-28]有着非常出色的表现。自注意力机制在点云数据的处理上具有天然的优势,因为点云数据通常不规则地嵌入在度量空间,Transformer 应用在处理点云数据上会有良好的表现,因此本研究将该模块应用到网格点的特征提取上。

位置嵌入可以帮助网络提取点云局部的结构信息,在序列数据或者RGB图像数据中,通常依赖手工特征提取的方式得到位置编码信息,如通过正余弦函数或者归一化的方式。而对于三维点云数据来说,其输入特征中本身就包含其空间位置信息,本研究以每个网格的中心点坐标P_{centre}为球心,通过球查询的方式获得近邻点坐标,位置编码的公式为

式中:P_{centre}表示网格中心点坐标;P_k表示球查询所采样到的近邻点坐标,其中k\in \Omega(r)r为球查询半径。\Omega(r)函数由多层感知机 MLP [29]和非线性激活函数Relu[30]实现。

Transformer模块的数学表达式为

式中:F(i)表示采样点的特征所组成的特征集合;\gamma(x)\varphi(x)以及\alpha(x)表示特征映射函数,用于获取注意力特征,在网络中均是由两层多层感知机 MLP 与激活函数Relu组成;\rho(x)由Softmax和归一化函数组成,目的是将\gamma(x)所得到的注意力权重做归一化处理;\delta 表示位置编码信息。

最终点云Transformer的结构图如图2 所示,在输入层中输入网格中心点以及近邻点的三维坐标P,以及各点所对应的特征集合F。经过该模块后可获得以网格点为中心的局部特征f_{centre}

图2 点云Transformer结构
图2 点云Transformer结构

2.2 球查询半径预测

在点云的特征提取中,球查询的半径决定关键点对近邻点区间的感知范围,由于点云的稀疏性,固定的球查询半径会导致不同球部空间内所包含的点的数目不一致,在PointNet++网络[31]中采用多尺度半径的球查询方案,使用该查询方案时如果半径数目设置过多会增加计算上的开销,而半径数目设置过少可能会导致产生空球。

在本节中针对这一问题采用了新的球查询方案,在原算法的基础上加入基于密度感知的球查询半径预测模块,设计一个可微的半径预测函数,使得球查询半径变为一个可学习的参数,且网络在学习过程中可以根据点云的稀疏程度调整球查询的半径大小。

在未修改的网络中,其查询方式通过设置一个固定的半径,以网格中心点为球心,查询半径范围内球部空间内的所有点。对于未修改的球查询方式可以通过概率论的角度进行数学建模,设球查询的半径为r,以每个网格中心点为球心,其余点到中心点的距离为

可得所有采样的点均服从0−1概率分布,概率分布p(i|r)

局部区域特征的计算过程是一个求取加权平均的过程,从概率的角度出发则是在服0−1分布的样本中求数学期望,计算公式为

式中:W 表示权重参数;F表示样本的特征向量,f_{centre}表示所提取到的网格中心点特征。由于最初的0−1分布是不可导的,为使得半径变为一个可学习的参数,本研究设计一个新的概率分布表达式来替代原有的0−1分布,新的分布函数必须同时满足两个条件,其一是本身要具备与0−1分布相似的性质,使大部分样本仍可以落在球部空间内,其二是可以捕获球空间以外部分点的信息,从而获得更加丰富的上下文信息。最终以Sigmod函数作为基准函数重新定义概率分布表达式为

其中Sigmod函数的表达式为

式中:s(i|r)表示新的概率分布函数;\tau表示超参数,用于控制概率衰减的速度。当\tau无限小的时候,位于球内的样本输出值接近于1,而位于球外的样本输出值接近于0,此时该分布近似为0−1分布,而且相较于0−1分布,该分布更加平滑且可导,随着\tau不断增加,输出概率的变换也更加均匀平缓。

将新的概率分布函数代入最初的期望表达式中,其相对于\tau的梯度可表示为

由于无法直接计算参数化分布的梯度,因此式(12)仍然无法直接对半径r进行求导。针对这一问题本研究从基本分布中进行采样,将原始分布参数移动到期望函数内作为系数,最终特征表达式相对于r的梯度可重新表达为

其中,基本理论分布U中的\varepsilon为1时表示在整个三维空间中进行采样,当R\gg r时,导致s(i|r)趋近于0,需要将采样的范围限制在与球半径大小近似的空间内。对于新的表达式来说s(i|r)是可微的,因此可以计算特征表达式相对于r的梯度,新的特征表达式为

与原有的基于固定半径的局部特征提取方式相比,在新的特征表达式中,使用更大的基础采样范围,同时将s(i|r)添加到特征表达式中,使得半径变为一个可以通过网络训练自行学习的参数。

为网格金字塔加入球查询半径预测模块,并对不同尺度的网格金字塔设置不同的球查询基准半径r_0,以ROI 区域的中心点作为球心,设置2个固定半径大小的球空间来聚合每个 ROI 区域的上下文的特征信息,将聚合特征输入到 MLP 中预测半径的偏移量\Delta r,由于聚合得到的 ROI 特征可以捕获该区域内点云的相关信息,如几何信息以及密度信息等,使得预测得到的\Delta r可以适应不同区域环境的变化,相比于预先定义的固定半径更加鲁棒。最终,本算法网络结构如图3所示。

图3 网络结构
图3 网络结构

03 目标检测算法试验

3.1 试验参数设置

3.1.1 网络结构参数设置

本算法针对PointRCNN第2阶段的网络结构进行改进,其余部分的结构以及训练参数均与原算法一致,接下来对修改部分的网络结构参数进行介绍。对于第2阶段网络,ROI网格化的部分设置5个不同尺度的网格金字塔,每个尺度对应的网格数量分别为6^3、4^3、4^3、4^3、1,对应的球查询基准半径设置为 0.2、0.4、0.6、1.2、1.6,每个尺度下的扩张系数设置为[1, 1, 1]、[1, 1, 1]、[1.5, 1.5, 1]、[2, 2, 1]、[4, 4, 1],不同金字塔等级下,网格中心点球查询采样点的数目设置为16、16、16、16、 32。

3.1.2 训练参数设置

第1阶段网络每个批次输入点云的数量 batch size设置为 16,训练 500个世代,学习率设置为 0.002,第2阶段网络每个批次输入点云的数量 batch size 设置为8,训练 100个世代,学习率设置为 0.01,学习率衰减采用余弦退火学习率策略,优化器采用Adam,为了保证对比试验的有效性,其他训练参数保持不变。

3.1.3 目标检测难度设置

试验中检测精度的评估根据 KITTI 数据标签中的目标是否遮挡、是否被截断以及目标框的边界范围将目标检测的难度划分为3个不同的等级,分别是简单、中等以及困难,具体的标准如表1 所示。

表1 目标检测困难程度划分标准
表1 目标检测困难程度划分标准

3.2 试验结果与分析

试验中,通过将本算法与基准算法PointRCNN网络对比,验证所提方法的有效性,试验结果是在KITTI数据集下训练得到的。本算法是针对提升对遮挡以及包含点云较少的物体的检测效果提出的,而KITTI 数据集中行人场景数量偏少,结果不具有参考性,因此在本算法的试验中只对车辆目标的检测进行了试验。试验分别测试了车辆目标在简单、中等以及复杂3个等级下的检测情况。点云可视化结果中绿色的框代表预先标注好的真值框,红色的框代表算法预测的果。可视化结果如图4所示。

图4 车辆检测点云可视化结果
图4 车辆检测点云可视化结果

图4(a)、图4(b)分别为PointRCNN算法和本算法的点云检测结果,图4(c)为点云场景所对应的本算法RGB图像检测结果,在选取的3个场景中均存在距离雷达传感器较远的目标。

在第一个场景的可视化结果中存在一辆位于右侧车道远处的车辆,PointRCNN算法未能成功检测到该车辆,而本算法成功检测到该目标;而在第3个场景中本算法成功检测到存在的较小且被严重遮挡的目标,PointRCNN算法则未能检测到,结果表明改进后的第2阶段网络对提高遮挡以及距离较远目标的检测精度有显著的作用。

当IoU设置为0.7时,几种不同算法在点云场景与点云鸟瞰图场景中的精度 mAP 的检测结果如表2和表3所示。与PointRCNN算法相比较,本算法在对中等以及困难目标的点云场景中的检测结果中,mAP 值分别提升了 3.77%和 1.70%, 所有等级目标的平均检测精度提升了1.75%,在鸟瞰图中平均 mAP 值提升了 1.11%,均有了十分明显的提升,而对简单目标的检测精度与改进前基本保持一致。

表2 各算法在 KITTI 验证集中车辆目标的3D检测结果(mAP)
表2 各算法在 KITTI 验证集中车辆目标的3D检测结果(mAP)
表3 各算法在 KITTI 验证集中车辆目标BEV检测结果(mAP)
表3 各算法在 KITTI 验证集中车辆目标BEV检测结果(mAP)

3.3 消融试验

本算法针对PointRCNN算法进行改进,加入了3个模块:区域金字塔模块、点云Transformer 模块以及基于密度感知的半径预测模块。为验证各个模块在模型中发挥的作用,本研究进行了消融试验。以PointRCNN算法作为基准网络模型,分别比较在基准模型中叠加不同模块在车辆目标中的检测结果,试验结果如表4所示,其中表格中1表示在网络中加入该模块,0表示删除该模块。

表4 消融试验比较结果(mAP)
表4 消融试验比较结果(mAP)

试验结果显示,原网络加入了网格金字塔模块后平均精度提升了 0.92%,结果表明网格金字塔可以捕获更加丰富的上下文信息,对提升目标的检测精度有显著作用;再加入点云 Transformer 模块后目标检测精度提升了 0.51%,结果表明点云 Transformer 模块的加入能有效提升点云的特征提取效果;加入半径预测模块以后目标检测精度再次提升了0.32%,表明半径预测模块能有效扩大稀疏处点云感受野范围。

综合以上结果来看,3个模块都能够提升网络模型的检测精度,其中网格金字塔与半径预测模块均能通过扩大特征提取时的感受野范围从而获得更丰富的上下文信息。

相对而言,网格金字塔模块中感受野扩大范围是固定的,并且融合了多尺度特征,因此其能有效提高各种难度目标检测精度;而半径预测模块中感受野扩大范围与点云稀疏程度相关,在检测遮挡程度较高的中等和困难目标时,其能在网格金字塔模块基础上进一步扩大感受野范围从而提高检测精度。

04 结束语

针对目前3D目标检测算法对远处及存在遮挡目标物体检测精度不高的问题,以PointRCNN网络为基础进行改进,提高目标检测的精度。

通过在PointRCNN第2阶段网络构建多尺度的网格金字塔,捕获 ROI 区域以外的点云,获得更加丰富的 ROI 上下文特征,提高目标包围框的回归精度。

同时将 Transformer 中的自注意力机制应用到点云的特征学习中,优化点云的特征提取效率。加入基于密度感知的球查询半径预测模块,根据点云的密度自适应的调整球查询范围,解决了应对点云分布不均匀的问题。

最终在 KITTI 数据集中的试验结果表明本研究所提算法能有效提高远距离和遮挡目标的检测精度,同时在对中等以及困难程度目标的检测精度上均有较为明显的提升。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 01 ROI区域金字塔
    • 1.1 ROI体素化处理
      • 1.2 ROI区域金字塔构建
      • 02 金字塔网格特征提取
        • 2.1 Transformer特征提取
          • 2.2 球查询半径预测
          • 03 目标检测算法试验
            • 3.1 试验参数设置
              • 3.1.1 网络结构参数设置
              • 3.1.2 训练参数设置
              • 3.1.3 目标检测难度设置
            • 3.2 试验结果与分析
              • 3.3 消融试验
              • 04 结束语
              相关产品与服务
              NLP 服务
              NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档