一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种面向三维点云目标检测的数据编码方法

2022-06-01 01:28:37 来源:中国专利 TAG:


1.本发明属于点云数据处理技术领域,具体涉及一种面向三维点云目标检测的数据编码方法。


背景技术:

2.三维点云数据是某个坐标系下点的集合,直接提供了目标的三维空间信息,其深度信息是其他图像不可替代的。这一优势使得基于激光雷达点云数据的三维目标检测得到了越来越多的关注。
3.近年来在点云数据的三维目标检测方向,大多数研究者提出的方法主要为两类,包括基于体素的方法和基于点的方法。基于体素的方法将点云分布到空间坐标系的网格中进行三维卷积,会产生很大的计算量;而基于点的方法由于通常涉及最远点采样和取临近点的操作,无法把计算过程有效的并行化,导致三维目标检测伴随着很大的计算量以及很慢的计算帧率。


技术实现要素:

4.为了解决现有三维目标检测算法在存储上的劣势以及现有方案中数据处理量巨大的问题,本发明提供了一种面向三维点云目标检测的数据编码方法。本发明要解决的技术问题通过以下技术方案实现:
5.本发明提供了一种面向三维点云目标检测的数据编码方法,包括:
6.将三维点云数据所覆盖的真实空间区域划分为多个体素格子;
7.对所述多个体素格子进行数据编码,形成包括五个通道特征的第一伪图像,所述五个通道特征包括当前体素格子中的点沿z轴方向的坐标最大值、沿z轴方向的坐标最小值、反射率最大值、体素格子中点的个数以及体素格子中点云的分布描述系数;
8.将所述第一伪图像拆分成包括所述五个通道特征中的三个通道特征的第二伪图像以及包括所述五个通道特征中的二个通道特征的第三伪图像;
9.利用经训练的卷积神经网络模型对所述第二伪图像和所述第三伪图像进行特征学习并获得三维点云数据的边框和类别。
10.在本发明的一个实施例中,将三维点云数据所覆盖的真实空间区域划分为多个体素格子,包括:
11.获取三维点云数据中每个点的反射强度以及在真实坐标系中的坐标,所述真实坐标系是指以激光雷达为原点建立的三维坐标系,x轴和y轴均平行于地面,z轴垂直于地面;
12.沿所述三维坐标轴中xy轴所在平面将所述三维点云所覆盖的空间区域按照预设的体素尺寸划分为多个体素格子,并获得点云所覆盖的范围在x轴上被划分的体素格子数目以及在y轴上被划分的体素格子数目。
13.在本发明的一个实施例中,所述体素格子中点云的分布描述系数为:
[0014][0015]
其中,xi和yi分别表示体素格子中第i个点在x轴坐标值和y轴坐标值,x
mean
和y
mean
分别表示体素格子中所有点的x轴坐标值的均值和y轴坐标值的均值。
[0016]
在本发明的一个实施例中,所述第一伪图像为[h w 5]尺度,其中,h表示真实空间区域沿着x轴方向划分的体素格子总数,w表示真实空间区域沿着y轴方向划分的体素格子总数,[h w 5]中的5表示所述五个特征通道。
[0017]
在本发明的一个实施例中,所述第二伪图像为[h w 3]尺度的伪图像,[h w 3]中的3表示三个特征通道:沿z轴方向的坐标最大值、沿z轴方向的坐标最小值、反射率最大值。
[0018]
在本发明的一个实施例中,所述第三伪图像为[h w 2]尺度的伪图像,[h w 2]中的2表示两个特征通道:体素格子中点的个数q和体格素子中点云的分布描述系数s。
[0019]
在本发明的一个实施例中,所述卷积神经网络模型包括主干特征学习网络、伴随辅助学习网络和检测头,并且,利用经训练的卷积神经网络模型对所述第二伪图像和所述第三伪图像进行特征学习并获得三维点云数据的边框和类别,包括:
[0020]
将所述第二伪图像输入所述主干特征学习网络,将所述第三伪图像输入所述伴随辅助学习网络中,随后将所述伴随辅助学习网络的输出特征通过sigmoid函数后乘到所述主干特征学习网络的输出特征并经过所述检测头,即可得到三维点云数据的边框和类别。
[0021]
在本发明的一个实施例中,所述主干特征学习网络为unet神经网络,所述伴随辅助学习网络包括依次连接的四组卷积层和激活层。
[0022]
本发明的另一方面提供了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序用于执行上述实施例中任一项所述面向三维点云目标检测的数据编码方法的步骤。
[0023]
本发明的又一方面提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如上述实施例中任一项所述面向三维点云目标检测的数据编码方法的步骤。
[0024]
与现有技术相比,本发明的有益效果在于:
[0025]
1、本发明面向三维点云目标检测的数据编码方法,其数据存储量远低于现有目标检测算法,且数据编码过程并行度高,计算量小于当前的编码方式。同时,本发明的三维点云目标检测方法对体素化后的点云数据进行数据编码,编码结果更易于后期网络的处理,节约了大量计算量,有效提高了检测帧率。
[0026]
2、本发明将第二伪图像和第三伪图像分别通过两个卷积神经网络学习特征,相比于经过一个大网络学习特征具有更高的检测精度,且两个网络输出特征层对应相同的h和w尺度,逐通道相乘过程,能有效结合局部信息与整体信息,有益于提高检测精度。
[0027]
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
[0028]
图1是本发明实施例提供的一种面向三维点云目标检测的数据编码方法的流程
图;
[0029]
图2是本发明实施例提供的一种点云数据体素化与数据编码过程示意图;
[0030]
图3是本发明实施例提供的一种利用卷积神经网络模型进行目标检测的流程图。
具体实施方式
[0031]
为了进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及具体实施方式,对依据本发明提出的一种面向三维点云目标检测的数据编码方法进行详细说明。
[0032]
有关本发明的前述及其他技术内容、特点及功效,在以下配合附图的具体实施方式详细说明中即可清楚地呈现。通过具体实施方式的说明,可对本发明为达成预定目的所采取的技术手段及功效进行更加深入且具体地了解,然而所附附图仅是提供参考与说明之用,并非用来对本发明的技术方案加以限制。
[0033]
应当说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的物品或者设备中还存在另外的相同要素。
[0034]
请参见图1,图1是本发明实施例提供的一种面向三维点云目标检测的数据编码方法的流程图。该三维点云目标检测方法包括:
[0035]
s1:将三维点云数据所覆盖的真实空间区域划分为多个体素格子。
[0036]
具体地,如图2所示,本实施例的步骤s1包括:
[0037]
s11:获取三维点云数据中每个点的反射强度以及在真实坐标系中的坐标,所述真实坐标系是指以激光雷达为原点建立的三维坐标系,x轴和y轴均平行于地面,z轴垂直于地面。
[0038]
具体地,激光雷达获得的点云数据中每个点可以表示为:
[0039]
p=(p
x
,py,pz,pr)
[0040]
其中,p
x
表示点云中当前点p在真实坐标系下的x轴坐标,py表示点云中当前点在真实坐标系下的y轴坐标,pz表示点云中当前点p在真实坐标系下的z轴坐标,pr表示点云中当前点p的反射强度,一帧点云数据中所包含点的总个数为n
[0041]
。需要说明的是,所述真实坐标系是指以激光雷达为原点建立的三维坐标系,x轴和y轴均平行于地面,z轴垂直于地面。
[0042]
则点云数据的集合表示为:
[0043]
pc={p|0<p
x
<l,0<py<w,0<pr<1}
[0044]
其中,l表示x轴上包含点云的最大长度范围,w表示y轴上包含点云的最大长度范围,单位是米。
[0045]
s12:沿三维坐标轴中xy轴所在平面将所述三维点云所覆盖的真实空间区域按照预设的体素尺寸划分为多个体素格子,并获得点云所覆盖的范围在x轴上被划分的体素格子数目以及在y轴上被划分的体素格子数目,z轴上不进行划分。每个体素格子具有相同的
长度和宽度。
[0046]
具体地,获得点云所覆盖的范围在x轴上被划分的体素格子数目l
grid
以及在y轴上被划分的体素格子数目w
grid

[0047]
l
grid
=l/n
l
[0048]wgrid
=w/nw[0049]
其中,n
l
表示单个体素格子沿x轴的长度,nw表示单个体素格子沿y轴的长度。在本实施例中,n
l
=nw。具体地,假设预设的体素格子的长宽均为0.16m,而三维点云数据所覆盖的真实空间区域为[0~61.44m-30.72~30.72m-3~2m],则l
grid
=l/n
l
=61.44/0.16=384,w
grid
=w/nw=61.44/0.16=384,因此,在xy坐标上分成384
×
384个体素格子。
[0050]
s2:对所述多个体素格子进行数据编码,形成包括五个通道特征的第一伪图像,所述五个通道特征包括当前体素格子中的点沿z轴方向的坐标最大值、沿z轴方向的坐标最小值、反射率最大值、体素格子中点的个数以及体素格子中点云的分布描述系数。
[0051]
具体地,统计每个体素格子中所包含的点并提取所述体素格子的五通道特征。
[0052]
首先,将沿着x轴的第i个,沿着y轴的第j个体素格子内所包含的点云集合p
ij
表示为:
[0053]
p
ij
={p|i
×
l
grid
<p
x
<(i 1)
×
l
grid
,j
×wgrid
<py<(j 1)
×wgrid
}
[0054]
三维点云中的每个点均包含4通道信息,分别是该点在真实世界中的三维坐标以及反射强度。对体素化后的点云数据进行数据编码,在一个体素格子中统计所有包含的点云数据并编码出五个通道信息,所述五个通道信息分别包括:当前体素格子中的点沿z轴方向的坐标最大值z
max
、当前体素格子中的点沿z轴方向的坐标最小值z
min
,当前体素格子中点的反射率最大值r
max
、体素格子中点的个数q以及格体素子中点云的分布描述系数s。
[0055]
具体地,获得体素格子中点云在z轴上的最高点和最低点的坐标:
[0056]zmax
=max(z),z={pz|p∈p
ij
}
[0057]zmin
=min(z),z={pz|p∈p
ij
}
[0058]zmax
和z
min
的数据编码考虑到在体素化过程中舍去了z轴维度的信息,然而目标检测过程中z轴包含着实际物体的高度信息。作为原始激光雷达点云数据中的一个通道,不同类别物体以及背景之间存在着截然不同的z轴信息,提取z
max
和z
min
是因为格点的划分足够细密,这样降低数据量的同时又能保留体素格子高度信息,对在实际目标检测中排除路杆、交通指示牌、行道树等的干扰有重要作用。
[0059]
获得当前体素格子中点的反射率最大值:
[0060]rmax
=max(r),r={rz|p∈p
ij
}
[0061]rmax
的数据编码是考虑到不同距离和材质的物体提供的反射率信息存在区别,能辅助目标体素格子的确定,消除背景点和噪声点信息的干扰。
[0062]
获取体素格子中点的个数q:
[0063]
q=card p
ij
[0064]
q的特征提取是给体素格子提供了一个密度信息,统计点云体素格子点的数量。
[0065]
获得格子中点云的分布描述系数s:
[0066][0067]
其中,xi和yi分别表示体素格子中第i个点在x轴坐标值和y轴坐标值,x
mean
和y
mean
分别表示体素格子中所有点的x轴坐标值的均值和y轴坐标值的均值。
[0068][0069][0070]
格子中点云的分布描述系数s表示在xy坐标平面上体素格子中所有点对它们的均值点的欧氏距离的平均数。这一系数能够有效描述体素格子中点在鸟瞰视角下的分布规律,对于分辨墙体等干扰背景目标体素格子起到重要作用。
[0071]
如图2所示,经过上述数据编码之后,点云数据由四维(即,包括x轴,y轴,代表点的个数的n轴以及代表p
x
,py,pz,pr四个参数的轴d)降到三维(x轴,y轴以及代表五通道特征的轴c),原来代表点云数据中点个数的n轴的信息在编码过程中提炼出新的通道。进一步地,经过上述数据编码,三维点云数据形成了[h w 5]尺度的伪图像,其中,h表示真实空间区域沿着x轴方向划分的体素格子总数,w表示真实空间区域沿着y轴方向划分的体素格子总数,例如,一幅图像像素为720*1280,720和1280就是图像的h和w,5表示上述五个特征通道。
[0072]
s3:将所述第一伪图像拆分成包括所述五个通道特征中的三个通道特征的第二伪图像以及包括所述五个通道特征中的二个通道特征的第三伪图像。
[0073]
在本实施例中,所述第二伪图像为[h w 3]尺度的伪图像,[h w 3]中的3表示三个特征通道:沿z轴方向的坐标最大值、沿z轴方向的坐标最小值、反射率最大值;所述第三伪图像为[h w 2]尺度的伪图像,[h w 2]中的2表示两个特征通道:体素格子中点的个数q和格体素子中点云的分布描述系数s。
[0074]
s4:利用经训练的卷积神经网络模型对所述第二伪图像和所述第三伪图像进行特征学习,并获得三维点云数据的边框和类别。
[0075]
具体地,请参见图3,图3是本发明实施例提供的一种利用卷积神经网络模型进行目标检测的流程图。本实施例的卷积神经网络模型包括主干特征学习网络、伴随辅助学习网络和检测头,具体地,将数据编码后得到的第二伪图像[h w 3]输入所述主干特征学习网络,将第三伪图像[h w 2]输入所述伴随辅助学习网络中,随后将所述伴随辅助学习网络的输出结果通过sigmoid函数后乘到所述主干特征学习网络的输出特征并经过所述检测头,即可得到三维点云数据的边框和类别。所述检测头由几组卷积组成,相当于一个译码器,用于将特征层转换为算法输出的边框和类别信息。例如三维点云表示真实空间中一辆车,边框指一个包含车的立方体,类别表示物体的种类,即,车。
[0076]
需要说明的是,本实施例的主干特征学习网络和伴随辅助学习网络事先均利用目前主流的点云目标检测任务数据集kitti进行训练。在本实施例中,主干特征学习网络使用的是unet神经网络,所述伴随辅助学习网络包括依次连接的4组卷积层以及激活层。主干特
征学习网络输出特征学习后的特征层[h w 64],伴随辅助学习网络输出与主干特征学习网络输出特征层有相同长宽,但通道数为1的特征层[h w 1]。
[0077]
第二伪图像的特征学习网络作为本方法的主干特征学习网络。第三伪图像经过伴随辅助学习网络进行特征学习后起到对主干特征层的调整作用。如图3所示,第三伪图像在经过伴随辅助学习网络的特征学习后,经过一次sigmoid函数引入非线性能力,之后将得到的特征层乘到第二伪图像经主干特征学习网络后得到的相同尺度的特征层上,从而得到的经伴随辅助网络调整过的特征层,可以通过检测头预测生成待测目标的边界框及类别。
[0078]
本实施例的方法将第二伪图像和第三伪图像分别通过两个卷积神经网络学习特征,相比于经过一个大网络学习特征具有更高的检测精度。原因在于,第二伪图像中的信息更多描述单个体素格子所对应的三维目标信息,第三伪图像中体素格子中点的个数以及体素格子中点云的分布描述系数信息描述的是真实空间中三维目标在xy平面上的分布位置信息,将两者共同学习特征会混淆局部信息与整体信息。相反,通过一个小网络对第三伪图像学习特征,能有效保留整体信息。且两个网络输出特征层对应相同的h和w尺度,逐通道相乘过程,能有效结合局部信息与整体信息,有益于提高检测精度。
[0079]
进一步地,本实施例的数据编码方法的效果可以通过以下对比实验进一步说明。利用本发明实施例的方法与现有pointpillars算法的体素化方法对相同数据集的点云数据进行编码比较,将体素格子都设置为0.16m。如表1所示,本发明实施例的方法编码后的数据量明显小于pointpillars的体素化方法的数据量。
[0080]
表1不同方法的编码数据量比较表
[0081]
方法point pillars体素化方法本发明方法编码后数据量384*384*32*4384*384*5
[0082]
综上,本实施例面向三维点云目标检测的数据编码方法,其数据存储量远低于现有目标检测算法,且数据编码过程并行度高,计算量小于当前的编码方式。同时,本发明的三维点云目标检测方法对体素化后的点云数据进行数据编码,编码结果更易于后期网络的处理,节约了大量计算量,有效提高了检测帧率。
[0083]
本发明的又一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序用于执行上述实施例中面向三维点云目标检测的数据编码方法的步骤。本发明的再一方面提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如上述实施例所述面向三维点云目标检测的数据编码方法的步骤。具体地,上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0084]
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献