三维目标检测方法、装置、计算机设备及存储介质与流程

文档序号:20876097发布日期:2020-05-26 16:33阅读:181来源:国知局
三维目标检测方法、装置、计算机设备及存储介质与流程

本申请涉及目标检测技术领域,特别是涉及一种三维目标检测方法、装置、计算机设备和存储介质。



背景技术:

三维目标检测是无人驾驶、家用机器人等领域的基础,它可以利用激光点云数据检测车辆、障碍物等目标在三维空间的位置信息。

目前,深度学习技术在三维目标检测中得到广泛应用,例如,voxel-net(基于点云的三维物体检测的端到端学习网络)、second(sparselyembeddedconvolutionaldetection,一种one-stage三维目标检测算法)、pointpillars(一种三维目标物体检测网络)等都是基于深度学习技术发展的。这些训练好的模型将从激光雷达接收的激光点云通过计算得出检测框,基于该检测框得到目标物体的位置信息。而相关技术中,根据现有的三维目标检测模型输出的检测框得到的目标物体的检测结果,都存在不够精确的问题。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够提高三维目标物体检测结果准确率的三维目标检测方法、装置、计算机设备和存储介质。

为了实现上述目的,一方面,本申请实施例提供了一种三维目标检测方法,所述方法包括:

采用三维目标检测模型检测待检测点云,得到多个检测框;

扩张多个检测框,将扩张后的各检测框中激光点的坐标转换至以激光点所在的检测框中心点为原点的局部坐标系下,得到局部坐标系下的待检测点云;

将局部坐标系下的待检测点云映射至体素空间,根据局部坐标系下的待检测点云的坐标以及待检测点云的体素空间位置坐标,生成体素特征;

采用稀疏卷积网络对体素特征进行特征提取,得到目标特征;

采用区域候选网络检测目标特征,得到目标物体的检测结果。

另一方面,本申请实施例还提供了一种三维目标检测装置,包括:

目标检测模块,用于采用三维目标检测模型检测待检测点云,得到多个检测框;

检测框扩张模块,用于扩张多个检测框;

坐标转换模块,用于将扩张后的各检测框中激光点的坐标转换至以激光点所在的检测框中心点为原点的局部坐标系下,得到局部坐标系下的待检测点云;

体素特征生成模块,用于将局部坐标系下的待检测点云映射至体素空间,根据局部坐标系下的待检测点云的坐标以及待检测点云的体素空间位置坐标,生成体素特征;

目标特征生成模块,用于采用稀疏卷积网络对体素特征进行特征提取,得到目标特征;

检测结果生成模块,用于采用区域候选网络检测目标特征,得到目标物体的检测结果。

又一方面,本申请实施例还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项三维目标检测方法的步骤。

又一方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项三维目标检测方法的步骤。

上述三维目标检测方法方法、装置、计算机设备和存储介质,采用三维目标检测模型检测待检测点云得到多个检测框后,通过将该多个检测框所在的坐标转换至以激光点所在的检测框中心点为原点的局部坐标系下,并在该局部坐标系下进行精修,可以降低对检测框精修回归的难度;通过将局部坐标系下的待检测点云映射至体素空间,生成对应的体素特征,稀疏卷积网络对体素特征进行处理,可以增强三维空间特征融合能力,有利于提取更加明显的目标特征,从而提高了三维目标检测的准确率。

附图说明

图1为一个实施例中三维目标检测方法的应用环境图;

图2为一个实施例中三维目标检测方法的流程示意图;

图3为一个实施例中采用稀疏卷积网络提取目标特征的流程示意图;

图4为一个实施例中稀疏卷积网络的示意图;

图5为一个实施例中采用区域候选网络检测得到检测结果的流程示意图;

图6为一个实施例中稀疏卷积网络的生成方法的流程示意图;

图7为一个实施例中通过待训练稀疏卷积网络提取目标特征的流程示意图;

图8为一个实施例中三维目标检测方法的流程示意图;

图9为一个实施例中三维目标检测装置的结构框图;

图10为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的三维目标检测方法,可以应用于如图1所示的应用环境中。其中,点云采集装置110和终端120设置在无人驾驶汽车、家用机器人等设备上,点云采集装置110通过向周围空间发射激光,接收物体反射的激光点,这些反射的激光点就组成激光点云,可以将采集到的激光点云作为待检测点云传输至终端120中。终端120可以实时接收点云采集装置110采集到的待检测点云。终端120中部署有已训练好的三维目标检测模型、稀疏卷积网络和区域候选网络。具体地,当终端120接收到待检测点云后,采用三维目标检测模型检测待检测点云,得到多个检测框;扩张多个检测框,将扩张后的各检测框中激光点的坐标转换至以激光点所在的检测框中心点为原点的局部坐标系下,得到局部坐标系下的待检测点云;将局部坐标系下的待检测点云映射至体素空间,根据局部坐标系下的待检测点云的坐标以及待检测点云的体素空间位置坐标,生成体素特征;采用稀疏卷积网络对体素特征进行特征提取,得到目标特征;采用区域候选网络检测目标特征,得到目标物体的检测结果。其中,终端120可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。在另一个实施例中,本申请提供的三维目标检测方法还可以应用于服务器中,通过服务器对接收到的待检测点云进行检测,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种三维目标检测方法,以该方法应用于图1中的终端120为例进行说明,包括以下步骤:

步骤210,采用三维目标检测模型检测待检测点云,得到多个检测框。

其中,待检测点云是指待进行检测的点云。待检测点云可以是对采集到的原始点云进行采样后的点云,可以采用分级采样的方式对原始点云进行采样得到待检测点云。具体地,三维目标检测模型可以是任意基于深度学习的三维目标检测模型,例如,voxel-net(基于点云的三维物体检测的端到端学习网络)、second(sparselyembeddedconvolutionaldetection,一种one-stage三维目标检测算法)、pointpillars(一种三维目标物体检测网络)等。可以理解的是,步骤210中使用的三维目标检测模型是训练好的模型。当终端获取到待检测点云后,将该待检测点云输入至训练好的三维目标检测模型,输出对应的多个检测框的检测结果,检测结果包括目标物体的位置信息、尺寸信息、偏航角和分类结果。

步骤220,扩张多个检测框,将扩张后的各检测框中激光点的坐标转换至以激光点所在的检测框中心点为原点的局部坐标系下,得到局部坐标系下的待检测点云。

具体地,由于三维检测模型输出的检测框结果不够准确,因此,输出的检测框不一定能够包含目标物体上所有的点云。在本实施例中,通过将三维目标检测模型输出的检测框按一定系数进行扩张,使扩张后的检测框能够包含到目标物体上所有的点云,从而提高三维目标检测的精度。优选地,扩张的系数为1.3。进一步地,对于每个检测框而言,其中心点的位置相对比较稳定,因此可以将检测框内的激光点的坐转换至以其所在的检验框中心点为原点的局部坐标系下。在本实施例中,可以设置局部坐标系的正方向为偏航角的方向。

步骤230,将局部坐标系下的待检测点云映射至体素空间,根据局部坐标系下的待检测点云的坐标以及待检测点云的体素空间位置坐标,生成体素特征。

其中,体素是体积元素(volumepixel)的简称,包含体素的立体可以通过立体渲染或者提取给定阈值轮廓的多边形等值面表现出来。一如其名,是数字数据于三维空间分割上的最小单位,体素用于三维成像、科学数据与医学影像等领域。体素空间是指以体素作为单位的坐标空间。将局部坐标系下的待检测点云体素化映射至体素空间,意味着将局部坐标系下的待检测点云投影至以体素作为单元的坐标空间中,进而得到与局部坐标系下的待检测点云对应的以体素为单位的三维图像。在本实施例中,为了便于后续使用稀疏卷积网络,可以以体素格为单位对局部坐标系下的待检测点云进行稀疏化,得到每个体素格对应的体素特征,进而得到局部坐标系下的待检测点云对应的稀疏化的体素特征。体素特征可以根据待检测点云中各激光点在局部坐标下的坐标值以及各激光点在体素空间的位置坐标组成,或者通过vfe(voxelwisefeatureextractor,体素特征提取器)提取得到,在此不做限定。

步骤240,采用稀疏卷积网络对体素特征进行特征提取,得到目标特征。

其中,目标特征是指用于识别目标物体检测结果的最终特征。具体地,稀疏卷积网络可以是如second模型中包含的中间层的稀疏卷积提取网络。稀疏卷积网络中可以包括至少一个稀疏卷积层,用于对得到的稀疏化的体素特征进行下采样融合处理,得到密集化的目标特征。进一步地,为了提高融合处理的效率以及准确率,在稀疏卷积层之前,可以通过使用子流形稀疏卷积层确定体素特征中活动点的位置,使得稀疏卷积层可以基于活动点的位置进行融合处理。

步骤250,采用区域候选网络检测目标特征,得到目标物体的检测结果。

具体地,在将目标特征输入至区域候选网络(rpn,regionproposalnetwork)前,需要将该目标特征reshape调整成类似图像的2d数据,从而便于使用区域候选网络进行进一步检测。区域候选网络包括多层2d卷积层,用于对输入的目标特征依次进行下采样融合处理。随后,可以将融合后的目标特征reshape调整成一维向量,将该一维向量输入至全连接层得到目标物体的检测结果,检测结果包括目标物体的尺寸信息、位置信息、偏航角以及目标物体的类别,目标物体可以为车辆、障碍物等。

上述三维目标检测方法方法中,采用三维目标检测模型检测待检测点云得到多个检测框后,通过将该多个检测框所在的坐标转换至以激光点所在的检测框中心点为原点的局部坐标系下,并在该局部坐标系下进行精修,可以降低对检测框精修回归的难度;通过将局部坐标系下的待检测点云映射至体素空间,生成对应的体素特征,稀疏卷积网络对体素特征进行处理,可以增强三维空间特征融合能力,有利于提取更加明显的目标特征,从而提高了三维目标检测的准确率。

在一个实施例中,稀疏卷积网络包括依次连接的多个稀疏卷积特征提取网络;采用稀疏卷积网络对体素特征进行特征提取,得到目标特征,包括:采用第一个稀疏卷积特征提取网络对体素特征进行特征提取,得到中间特征,将中间特征依次输入至下一个稀疏卷积特征提取网络,直至得到目标特征。

具体地,稀疏卷积网络可以对体素特征依次进行多阶段的特征提取,每个阶段的特征提取过程可以看成是由一个独立的稀疏卷积特征提取网络完成。每个稀疏卷积特征提取网络中包含至少一个稀疏卷积层,用于对输入的特征进行下采样融合处理,得到中间特征。将该中间特征输入至与其相连接的下一阶段稀疏卷积特征提取网络进行处理,直至最后一阶段稀疏卷积特征提取网络处理完成,得到目标特征。本实施例中,通过使用多个稀疏卷积特征提取网络融合处理体素特征,得到密集化的目标特征,有利于提取更加明显的目标特征,从而提高三维目标检测的精度。

在一个实施例中,如图3所示,每个稀疏卷积特征提取网络包括稀疏卷积层和多个子流形稀疏卷积层;采用第一个稀疏卷积特征提取网络对体素特征进行特征提取,得到中间特征,将中间特征输入至下一个稀疏卷积特征提取网络,直至得到目标特征,包括:

步骤310,采用第一个稀疏卷积特征提取网络中的多个子流形稀疏卷积层,确定活动点位置。

其中,输入至稀疏卷积网络的体素特征是被稀疏化后的,若直接在该体素特征进行特征提取,在经过几层处理之后,体素特征的稀疏性将会被破坏,因此,本实施例中通过引入子流形稀疏卷积层维持特征的稀疏性。子流形稀疏卷积层用于固定活动点(activesites)的位置,以便体素特征的稀疏性在许多层能够保持不变。具体地,如图4所示,示出了一个实施例中稀疏卷积网络的示意图。图4中每个虚线框可以看成是一个稀疏卷积提取网络,用于完成一个阶段的特征提取,并将特征提取得到的中间特征传输至下一个稀疏卷积提取网络。每个稀疏卷积提取网络由两个子流形稀疏卷积层(即图4中的子流形3d稀疏卷积)、批正则化和relu(rectifiedlinearunit,线性整流函数)激活层,以及稀疏卷积层(即图4中的3d稀疏卷积)依次连接构成。由于子流形稀疏卷积层可以固定活动点的位置,因此,批正则化和relu激活层,以及稀疏卷积层只对活动点位置进行处理,从而实现了对体素特征进行特征提取的高效性以及可行性。

步骤320,通过稀疏卷积层,根据活动点位置对体素特征进行特征提取,得到中间特征。

步骤330,将中间特征依次输入至下一个稀疏卷积特征提取网络进行处理,直至得到目标特征。

具体地,以第一阶段的稀疏卷积提取网络为例。当体素特征输入至稀疏卷积层后,通过稀疏卷积层对该体素特征进行下采样处理,减少体素特征中的体素个数,使体素特征密集化,从而得到中间特征。将该中间特征传输至下一阶段的稀疏卷积提取网络继续进行处理,直至最后一阶段的稀疏卷积提取网络对中间特征处理完成,得到密集化后的目标特征。

本实施例中,通过使用子流形稀疏卷积层确定活动点的位置,可以加快后续对体素特征进行处理的速度,从而提高三维目标检测的效率。通过使用子流形稀疏卷积层和稀疏卷积层对体素特征进行处理,可以增强三维空间特征融合能力,有利于提取更加明显的目标特征,进而提高三维目标检测的准确率。

在一个实施例中,在步骤230中,根据局部坐标系下的待检测点云的坐标以及待检测点的体素空间位置坐标,生成体素特征,具体可以通过以下方式实现:将体素空间划分成多个体素网格;根据各体素网格中包含的激光点的局部坐标系下的坐标平均值,以及激光点所在的体素网格在体素空间中的位置坐标,生成体素特征。

具体地,在将待检测点云转变到局部坐标系下后,可以将待检测点云所在体素空间均匀划分为多个体素格。局部坐标系下的待检测点云都分布在这些体素格中,由于待检测点云在体素空间内分布的比较稀疏,因此大部分体素格是空的,为了使用稀疏卷积,需要将体素格进行稀疏化处理。在本实施例中,稀疏化处理具体步骤为:依次遍历所有体素格,如果体素格内有待检测点云,那么取待检测点云局部坐标系下的坐标平均值,并把坐标平均值记录在特征矩阵中,同时把体素格在整个体素空间的位置记录在坐标矩阵中。对于没有待检测点云的体素格,则不向特征矩阵和坐标矩阵记录。

在一个实施例中,如图5所示,采用区域候选网络检测目标特征,得到目标物体的检测结果,包括以下步骤:

步骤251,通过区域候选网络中的多个卷积层对目标特征进行下采样处理。

具体地,在将目标特征输入至区域候选网络前,需要将该目标特征reshape调整成类似图像的2d数据,从而便于使用区域候选网络进行进一步检测。区域候选网络中包括多个依次连接的2d卷积层,第一个卷积层用于对目标特征进行下采样处理,得到中间特征。将该中间特征输入至下一个卷积层继续进行下采样处理,直至最后一个卷积层处理完成。

步骤252,将下采样后的目标特征调整至一维向量。

步骤253,将一维向量输入至全连接层中,输出预设长度的一维向量,根据预设长度的一维向量得到目标物体的位置信息和类别。

具体地,将下采样后的目标特征进行整合,reshape至一维向量,由于不同通道上的信息会有一定关联,可以利用这点来获得更多有用的信息;且通过整合也可以起到降维的作用,从而减少网络的复杂度。然后,将reshape后的一维向量舒输入至全连接层,通过全连接层输出预设长度的一维向量,根据预设长度的一维向量得到目标物体的位置信息和类别。

在一个实施例中,如图6所示,疏卷积网络的生成方式,包括以下步骤:

步骤610,获取点云样本对应的多个原始检测框,从多个原始检测框中确定多个正样本框和多个负样本框。

其中,原始检测框可以是采用任何一个训练好的三维目标检测模型检测点云样本输出的检测框。具体地,在获取到点云采集装置,例如激光雷达采集到的点云样本后,可以通过手动或者机器标注的方式,标注出点云样本中所有目标物体的位置信息,位置信息包括目标物体的位置坐标(x,y,z)、长宽高(l,w,h),偏航角θ。一般标注的数据被称groundtruth-真实值(x,y,z,l,w,h,θ)。

在一个实施例中,正样本框和多个负样本框的获取方式可以为:利用点云样本和groundtruth训练出任一种三维目标检测模型,比如训练出一个second模型。可以将用于训练三维目标检测模型的点云样本输入至训练好的三维目标检测模型中,输出原始检测框的检测结果。使用相同的点云样本得到原始检测框,后续基于精修后的该原始检测框对稀疏卷积网络进行训练,可以得到更准确的训练结果。然后,计算三维目标检测模型输出的原始检测框和groundtruth的iou(intersectionoverunion,交并比),通过iou的大小为每一个输出的原始检测框找到对应的groundtruth,如果一个输出的原始检测框与某一个groundtruth的iou大于第一阈值(例如0.6)的话,那么这个groundtruth便是这个原始检测框的回归目标值,并给这个原始检测框打上正标签(1表示正);如果一个输出的原始检测框与所有groundtruth的iou都小于第二阈值(例如0.45),那么就给这个原始检测框打上负标签(0表示负,对于负样本不参与回归,因此没有回归目标值)。如果一个原始检测框与所有的groundtruth的iou都介于第二阈值到第一阈值之间,就把这个原始检测框舍去。通过上述打标和筛选步骤,把三维目标检测模型输出的检测检测框分为正样本框和负样本框,并得到正类样本框的分类目标值和回归目标值,以及负类样本框的分类目标值。

在另一个实施例中,正样本框和多个负样本框的获取方式还可以为:对点云样本标注得到的groundtruth(x,y,z,l,w,h,θ)中的尺寸信息、位置坐标以及偏航角等进行微调,得到多个需要的正样本框和负样本框。微调的方式可以依实际训练而定。采用这种方式不需要预先训练三维目标检测模型,实施过程简单。

步骤620,扩张多个正样本框和多个负样本框。

具体地,为了使得到的这个样本框和负样本框能够包括目标物体上的所有点云,在本实施例中,通过将正样本框和多个负样本框按一定系数进行扩张,使扩张后的正样本框和多个负样本框能够包含到目标物体上所有的点云。优选地,扩张的系数为1.3。

步骤630,将各正样本框和各负样本框中包含的激光点样本的坐标,转换至以激光点样本所在的正样本框中心点或负样本框中心点为原点的局部坐标系下,得到局部坐标系下的点云样本。

具体地,对于每个正样本框和每个负样本框而言,其中心点的位置相对比较稳定,因此可以将每个正样本框和每个负样本框内的激光点的坐转换至以其所在的正样本框或负样本框中心点为原点的局部坐标系下。在本实施例中,可以设置局部坐标系的正方向为偏航角的方向。假设,bbox_anchor为样本框,bbox_gt为正样本框的回归目标值,pc_bbox_anchor_expand为按一定系数扩张后的样本框内的所有点云样本。pc_bbox_anchor_expand_local为局部坐标系下的点云样本,bbox_gt_local为局部坐标系下正样本框的回归目标值。那么,bbox-anchor样本框可以表示为:

其中pos表示正样本框的个数,neg表示负样本框的个数。

bbox-gt正样本框的回归目标值可以表示为:

pc_bbox_anchor_expand扩张后的正样本框和负样本框内所有的点云可以表示为:

{([x,y,z,r]0,...,[x,y,z,r]n)0,([x,y,z,r]0,...,[x,y,z,r]n)1,...,([x,y,z,r]0,...,[x,y,z,r]n)pos+neg},其中,[x,y,z,r]表示一个正样本框或者负样本框中一个激光点的坐标,x,y,z表示三维坐标值,r表示反射率。n表示一个正样本框或者负样本中激光点的数量,每个正样本框或者负样本框中激光点的数量n可能不同。

从pc_bbox_anchor_expand的表示公式可知,点云样本中每一个激光点都对应唯一的正样本框或者负样本框。假设,某一激光点坐标为(xp,yp,zp,rp),其对应的全局坐标系下样本框为[x0,y0,z0,w0,l0,h0,θ0」。将激光点的坐标系从全局坐标系转换成局部坐标系分为两步:首先,由激光点的坐标减去样本框中心坐标得到中间结果:xt=xp-x0,yt=yp-y0,zt=zp-z0,;然后将得到的中间结果沿着z轴旋转-θ0,就得到了局部坐标系下的激光点。

由于后续的过程都是在局部坐标系下完成的,因此,还需要将bbox-anchor样本框、bbox-gt正样本框回归目标值分别转换到局部坐标系下。

对于bbox-anchor样本框:由于局部坐标系是以bbox_anchor样本框的中心点为原点,以bbox-anchor的偏航角方向为正方向,因此,bbox_anchor样本框在局部坐标系下的中心点为(0,0,0),偏航角为0,那么只需把全局坐标系下的bbox-anchor的中心点和偏航角都置0,局部坐标系下的正样本框和负样本框可以表示为:

对于bbox-gt正样本框回归目标值:不论在何种坐标系下,目标物体的长宽高wg,lg,hg都是不变的,因此bbox-gt正样本框回归目标值中wg,lg,hg这三个参数不用变换,只需将bbox-gt正样本框回归目标值中xg,yg,zg,θg进行转换,对于xg,yg,zg的转换可参照上述激光点(xp,yp,zp,rp)坐标的转换过程,偏航角的变换方式为:θg-θo,得到的局部坐标系下的正样本框回归目标值可以表示为:

{[xgtl,ygtl,zgtl,wgtl,lgtl,hgtl,θgtl]0,...,[xgtl,ygtl,zgtl,wgtl,lgtl,hgtl,θgtl]pos}

最后,利用得到的局部坐标系下的正样本框回归目标值和正样本框进行one-hot编码(独热编码),得到局部坐标系下正样本框的回归标签,可以参照以下编码公式:

δx=xglt-xl,δy=yglt-yl,δz=zglt-zl

δθ=θgtl-θl

其中,δx,δy,δz,δl,δw,δh,δθ代表编码后的正样本框的回归标签。

步骤640,将局部坐标系下的点云样本映射至体素空间,根据局部坐标系下的点云样本的坐标以及点云样本的体素空间位置坐标,生成样本体素特征。

具体地,为了便于后续使用稀疏卷积网络,在将点云样本映射至体素空间后,可以以体素格为单位生成局部坐标系下的点云样本对应的体素特征。体素特征可以根据点云样本中各激光点在局部坐标下的坐标值以及各激光点在体素空间的位置坐标组成,或者通过vfe(voxelwisefeatureextractor,体素特征提取器)提取得到。在本实施例中,可以通过以下方式得到点云样本的体素特征。具体地,将点云样本转换至局部坐标系下后,点云样本的范围被限制在一个预设的固定区域,固定区域的大小可以为x∈(-2,2),y∈(-4,4),z∈(-2,2)。若体素化采用的体素格大小为0.1,0.1,0.2,则最终生成的体素格数量为(40,80,20),局部坐标系下的点云样本都分布在这些体素格中。由于点云样本在体素空间内分布的比较稀疏,因此大部分体素格是空的,为了使用稀疏卷积,首先要把体素格进行稀疏化处理。依次遍历所有体素格,如果体素格内存在点云样本,那么就取体素格内存在点云样本中激光点在局部坐标系下的平均值,并把该平均值记录在特征矩阵中,同时把该体素格在整个体素空间的位置记录在坐标矩阵中。对于没有点云样本的体素格,则不向特征矩阵和坐标矩阵记录。如图7所示,可以得到特征矩阵的形状为nx4,n表示存在点云样本的体素格的数量,坐标矩阵的形状为nx3。参照图7中的坐标矩阵,第一列表示体素格沿x轴在体素空间的位置,范围为(0,39);第二列表示体素格沿y轴在体素空间的位置,范围为(0,79);第三列表示体素格沿z轴在体素空间的位置,范围为(0,19)。

步骤650,采用待训练稀疏卷积网络对样本体素特征进行特征提取,得到样本目标特征。

具体地,在本实施例中将采用如图4所示的稀疏卷积网络进行说明。具体请继续参照图7,每个block对应一个阶段的稀疏卷积特征提取,共有4个bolck。子流形3d卷积都采用3x3x3大小卷积核,输入通过子流形3d稀疏卷积后体素空间坐标各方向的体素格个数的大小保持不变。3d稀疏卷积的作用是融合特征,会使体素空间坐标各方向的体素个数减少为原来的一半。具体地:block1中两次子流形3d稀疏卷积后特征维度由4变为16,通过一层3d稀疏卷积后坐标各方向的体素格数量由40x80x20减少至20x40x10,特征维度加深为32;block2中两次子流形3d稀疏卷积后特征维度由32变为64,通过一层3d稀疏卷积后坐标各方向的体素格数量由20x40x10减少至10x20x5,特征维度加深为128;block3中两次子流形3d稀疏卷积后特征维度由128变为256,通过一层3d稀疏卷积后坐标各方向的体素格数量由10x20x5减少至5x10x2,特征维度保持不变;block4中两次子流形3d稀疏卷积后特征维度保持不变,通过一层3d稀疏卷积后坐标各方向的体素格数量由5x10x2减少至2x5x1,特征维度保持不变。因此最终密集化后的输出的样本目标特征形状为2x5x1x256。密集化与稀疏化操作完全相反,密集化是把特征重新放回对应体素格的过程。

步骤660,采用区域候选网络检测样本目标特征,得到回归结果和分类结果。

具体地,在将样本目标特征输入至区域候选网络前,需要将该目标特征reshape调整成类似图像的2d数据,从而便于使用区域候选网络进行进一步检测。继续参照图7,区域候选网络共有5层2d卷积和1层全连接层。rpn输入的特征维度为2x5x256,通过5层卷积下采样后特征维度变为2x5x2。然后,将该下采样后的特征reshape成长度为20的一维向量。最后,将该一维向量输入到全连接层中,得到长度为9的一维向量。一维向量的前7位对应于编码后的回归标签δx,δy,δz,δl,δw,δh,δθ,后两位对应于分类目标的one-hot编码的分类标签。

步骤670,使用回归结果和分类结果对待训练稀疏卷积网络进行训练,得到训练好的稀疏卷积网络。

具体地,在得到回归结果和分类结果后,可以使用该回归结果和分类结果,以及编码得到的回归标签和分类标签对待训练稀疏卷积网络进行训练。训练过程使用的损失包括正样本的回归损失和正负样本的分类损失。正样本的回归损失可以采用smoothl1loss损失函数,用于计算区域候选网络的前7位输出与局部坐标系下正样本回归目标值one-hot编码后得到的回归标签的损失值,正负样本的分类损失可以采用crossentropyloss(交叉熵损失函数),用于计算区域候选网络后2位输出与正负样本分类目标one-hot编码得到的分类标签的损失值。学习策略可以使用adam(一种可以替代传统随机梯度下降过程的一阶优化算法),初始学习率为0.001,并随着迭代训练逐渐减小,例如,每10个epoch(1个epoch相当于使用训练集中的全部样本训练一次)变为上一个epoch的0.5。通过100epoch迭代训练,最后保存训练的模型,可以将训练过程中损失值最小的模型确认为是最终使用的稀疏卷积网络。

在一个实施例中,如图8所示,通过一个具体地实施例说明书三维目标的检测方法,包括以下步骤:

步骤801,获取待检测点云。

步骤802,采用训练好的三维目标检测模型检测待检测点云,得到多个检测框。其中,三维目标检测模型可以是任何三维目标检测模型,例如second。

步骤803,扩张多个检测框。

步骤804,将扩张后的各检测框中激光点的坐标转换至以密集激光点所在的检测框中心点为原点、以所在的检测框的偏航角方向为正方向的局部坐标系下,得到局部坐标系下的待检测点云。

具体地,将全局坐标系下的激光点坐标值转换至局部坐标系下的转换方式,可以参照步骤630中的说明,在此不做具体阐述。

步骤805,将局部坐标系下的待检测点云映射至已均匀划分体素格的体素空间。

步骤806,根据各体素网格中包含的激光点的局部坐标系下的坐标平均值,以及激光点所在的体素网格在体素空间中的位置坐标,生成体素特征。

具体地,将包含激光点的每个体素格中激光点的局部坐标系下的坐标平均值记录至特征矩阵中,将该体素格在体素空间的位置坐标记录在坐标矩阵中,不包含激光点的体素格则不记录,生成稀疏化的体素特征。

步骤807,将体素特征输入至稀疏卷积网络进行特征提取,得到密集化的目标特征。

具体地,该稀疏卷积网络包括4阶段的稀疏卷积特征提取过程。每个阶段的稀疏卷积特征提取网络中包括两个子流形稀疏3d卷积层、相应的批正则化和relu激活函数层,以及一个稀疏3d卷积层。子流形稀疏3d卷积层用于确定活动点位置,批正则化和relu激活函数层以及稀疏3d卷积层用于对确定的活动点位置进行处理。稀疏3d卷积层用于对特征进行融合处理,得到密集化的特征。

步骤808,将目标特征进行reshape后输入至区域候选网络。

步骤810,采用区域候选网络检测目标特征,得到目标物体的坐标位置、尺寸、偏航角和分类结果。

具体地,区域候选网络共有5层2d卷积和1层全连接层。通过5层2d卷积对输入的目标特征依次进行下采样处理。然后,将下采样处理后的目标特征reshage长度为20的一维向量。将该一维向量输入到全连接层中,得到长度为9的一维向量。向量的前7位对应于目标物体的坐标位置、尺寸和偏航角,后两位对应目标物体的分类结果。可以理解的是,所得到的检测结果为编码后的检测结果,因此需要将该检测结果进行解码,解码需要局部坐标系下的bbox-anchor(锚点框)和区域候选网络输出的检测结果,可以参照以下公式进行解码:

设区域候选网络输出的检测结果的前7位为[δx1,δy1,δz1,δl1,δw1,δh1,δθ1],局部坐标系下bbox-anchor为[xl1,yl1,zl1,wl1,ll1,hl1,θl1],则:

xgt=δx1+xl1,ygt=δy1+yl1,zgt=δz1+zli

lgt=δl*ll1+ll1

wgt=δw*wl1+wl1

hgt=δh*hl1+hl1

θgt=δθ+θl1

解码后即可得到局部坐标系下的回归框,将该局部坐标系下的回归框转换至全局坐标系下,即可得到目标物体的检测结果:

假设全局坐标系下bbox-anchor为[x0,y0,z0,w0,l0,h0,θ0],预测的检测框为则可以通过以下公式得到全局坐标系下预测的检测框结果:

xp=xgt+x0,yp=ygt+y0,zp=zgt+z0

wp=wgt,lp=lgt,zp=zgt

θp=θgt+θ0

应该理解的是,虽然图1-8流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-8中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图9所示,提供了一种三维目标检测装置900,包括:目标检测模块901、检测框扩张模块902、坐标转换模块903、体素特征生成模块904、目标特征生成模块905和检测结果生成模块906:

目标检测模块901,用于采用三维目标检测模型检测待检测点云,得到多个检测框;

检测框扩张模块902,用于扩张多个检测框;

坐标转换模块903,用于将扩张后的各检测框中激光点的坐标转换至以激光点所在的检测框中心点为原点的局部坐标系下,得到局部坐标系下的待检测点云;

体素特征生成模块904,用于将局部坐标系下的待检测点云映射至体素空间,根据局部坐标系下的待检测点云的坐标以及待检测点云的体素空间位置坐标,生成体素特征;

目标特征生成模块905,用于采用稀疏卷积网络对体素特征进行特征提取,得到目标特征;

检测结果生成模块906,用于采用区域候选网络检测目标特征,得到目标物体的检测结果。

在一个实施例中,稀疏卷积网络包括依次连接的多个稀疏卷积特征提取网络;目标特征生成模块905,具体用于采用第一个稀疏卷积特征提取网络对体素特征进行特征提取,得到中间特征,将中间特征依次输入至下一个稀疏卷积特征提取网络,直至得到目标特征。

在一个实施例中,每个稀疏卷积特征提取网络包括稀疏卷积层和多个子流形稀疏卷积层;目标特征生成模块905,具体用于采用第一个稀疏卷积特征提取网络中的多个子流形稀疏卷积层,确定活动点位置;通过稀疏卷积层,根据活动点位置对体素特征进行特征提取,得到中间特征;将中间特征依次输入至下一个稀疏卷积特征提取网络进行处理,直至得到目标特征。

在一个实施例中,体素特征生成模块904,具体用于将体素空间划分成多个体素网格;根据各体素网格中包含的激光点的局部坐标系下的坐标平均值,以及激光点所在的体素网格在体素空间中的位置坐标,生成体素特征。

在一个实施例中,检测结果生成模块906,具体用于通过区域候选网络中的多个卷积层对目标特征进行下采样处理;将下采样后的目标特征调整至一维向量;将一维向量输入至全连接层中,输出预设长度的一维向量,根据预设长度的一维向量得到目标物体的位置信息和类别。在一个实施例中,三维目标检测装置900,还包括样本框生成模块,用于获取点云样本对应的多个原始检测框,从多个原始检测框中确定多个正样本框和多个负样本框;检测框扩张模块902,还用于扩张多个正样本框和多个负样本框;坐标转换模块903,还用于将各正样本框和各负样本框中包含的激光点样本的坐标,转换至以激光点样本所在的正样本框中心点或负样本框中心点为原点的局部坐标系下,得到局部坐标系下的点云样本;体素特征生成模块904,还用于将局部坐标系下的点云样本映射至体素空间,根据局部坐标系下的点云样本的坐标以及点云样本的体素空间位置坐标,生成样本体素特征;目标特征生成模块905,还用于采用待训练稀疏卷积网络对样本体素特征进行特征提取,得到样本目标特征;回归结果和分类结果生成模块,用于采用区域候选网络检测样本目标特征,得到回归结果和分类结果;模型训练模块,用于使用回归结果和分类结果对待训练稀疏卷积网络进行训练,得到训练好的稀疏卷积网络。

在一个实施例中,样本框生成模块,具体用于对点云样本进行标注得到多个目标真实值;采用三维目标检测模型检测点云样本,得到多个原始检测框;计算各原始检测框与多个目标真实值的交并比;当原始检测框与多个目标真实值中任一个的交并比大于第一阈值时,则将原始检测框确定为正样本框;当原始检测框与多个目标真实值的交并比都小于第二阈值时,则将原始检测框确定为负样本框。

在一个实施例中,样本框生成模块,具体用于对点云样本进行标注得到多个目标真实值;通过预设的数据调整方式,根据多个目标真实值中的目标位置信息和/或目标尺寸信息,得到多个正样本框和多个负样本框。

关于三维目标检测装置的具体限定可以参见上文中对于三维目标检测方法的限定,在此不再赘述。上述三维目标检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种三维目标检测方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

采用三维目标检测模型检测待检测点云,得到多个检测框;扩张多个检测框,将扩张后的各检测框中激光点的坐标转换至局部坐标系下,得到局部坐标系下的待检测点云;将局部坐标系下的待检测点云映射至体素空间,根据局部坐标系下的待检测点云的坐标以及待检测点云的体素空间位置坐标,生成体素特征;采用稀疏卷积网络对体素特征进行特征提取,得到目标特征;采用区域候选网络检测目标特征,得到目标物体的检测结果。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

采用三维目标检测模型检测待检测点云,得到多个检测框;扩张多个检测框,将扩张后的各检测框中激光点的坐标转换至以激光点所在的检测框中心点为原点的局部坐标系下,得到局部坐标系下的待检测点云;将局部坐标系下的待检测点云映射至体素空间,根据局部坐标系下的待检测点云的坐标以及待检测点云的体素空间位置坐标,生成体素特征;采用稀疏卷积网络对体素特征进行特征提取,得到目标特征;采用区域候选网络检测目标特征,得到目标物体的检测结果。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1