应用于激光雷达单帧点云的高效KNN方法及其应用技术

技术编号:37278458 阅读:21 留言:0更新日期:2023-04-20 23:45
本发明专利技术公开了一种应用于激光雷达单帧点云的高效KNN方法。本发明专利技术的另一个技术方案是提供了一种上述的应用于激光雷达单帧点云的高效KNN方法的应用,其特征在于,通过FPGA加速上述的应用于激光雷达单帧点云的高效KNN方法。本发明专利技术建立了基于点云投影和距离尺度的数据结构,这个结构确保了空间中相邻的点也是会被组织在相邻的存储中。本发明专利技术高效地构建新数据结构。本发明专利技术提供了高效地最近点搜索方式。本发明专利技术提供了高效地最近点搜索方式。本发明专利技术提供了高效地最近点搜索方式。

【技术实现步骤摘要】
efficient ICP."Fourth International Conference on 3

D Digital Imaging and Modeling,2003.3DIM 2003.Proceedings..IEEE,2003.
[0012][8]Li,Zonghui,Tong Wang,and Yangdong Deng."Fully parallel kd

tree construction for real

time ray tracing."Proceedings of the 18th meeting of the ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games.2014.
[0013][9]Liu,Xingyu,et al."FastTree:A hardware KD

tree construction acceleration engine for real

time ray tracing."2015Design,Automation&Test in Europe Conference&Exhibition(DATE).IEEE,2015.

技术实现思路

[0014]本专利技术的目的是:高效地实现KNN算法。
[0015]为了达到上述目的,本专利技术的一个技术方案是提供了一种应用于激光雷达单帧点云的高效KNN方法,其特征在于,包括以下步骤:
[0016]步骤1、通过激光雷达获得无序的点云数据,对于任意一个点(x,y,z)利用激光雷达的横纵分辨率将其投射到矩阵,其中,点(x,y,z)在矩阵中的横坐标h=arctan(y/x)/Δβ计算得到,点(x,y,z)在矩阵中的纵坐标计算得到,点(x,y,z)在矩阵中的纵坐标Δβ表示激光雷达水平方向的角分辨率,Δα表示激光雷达垂直方向的角分辨率;
[0017]步骤2、计算点(x,y,z)到激光雷达的距离r,并依据距离r以及预先确定的不同距离维度所对应的距离范围将点(x,y,z)划分入对应的距离维度;
[0018]步骤3、将步骤1所获得的矩阵中每一列分为N
p
个数据块;
[0019]步骤4、采用步骤2计算得到每个数据块中各点所对应的距离维度,统计矩阵中每个数据块里各个距离维度上点的个数,并记录在统计表中;
[0020]步骤5、根据步骤4获得的统计表,得到不同数据块中各距离维度上第一个点的索引位置,从而得到一张索引表;
[0021]步骤6、将所有点按照步骤5所获得的索引表进行重新排列,获得有序的点云数据;
[0022]步骤7、对于同一空间中的目标点p(x
p
,y
p
,z
p
),在步骤6所获得的有序的点云数据中找到K个与之相邻的点,包括以下步骤:
[0023]步骤701、采用步骤1所记载的方法确定目标点p(x
p
,y
p
,z
p
)在矩阵的位置v
q
、h
q
,并采用步骤2所记载的方法确定目标点p(x
p
,y
p
,z
p
)与激光雷达的距离r
q

[0024]步骤702、根据目标范围缩小搜索范围,缩小后的矩阵的大小为[v
q
±
arcsin(r
in
/r
q
)/Δα,h
q
±
arcsin(r
in
/r
q
)/Δβ],距离维度上的范围是R
q
±
R
in
,其中,r
in
表示搜索范围,R
q
表示目标点p的距离维度,R
in
表示r
in
对应的距离维度;
[0025]步骤703、获得的缩小后区域内的候选点,一一计算候选点与目标点的欧式距离并排序,获得最近K个点。
[0026]优选地,步骤2中,采用下式计算点(x,y,z)到激光雷达的距离r,
[0027]本专利技术的另一个技术方案是提供了一种上述的应用于激光雷达单帧点云的高效KNN方法的应用,其特征在于,通过FPGA加速上述的应用于激光雷达单帧点云的高效KNN方
法。
[0028]与现有技术相比,本专利技术的创新之处在于:
[0029](1)基于点云投影和距离尺度的数据结构。参考点云依据投影位置和距离雷达的距离被重新组织成新的点云集合,同时获得一个索引数组,以上组成了本方法中新的数据结构。这个结构确保了空间中相邻的点也是会被组织在相邻的存储中。
[0030](2)高效地构建新数据结构。在投影过程中,本方法并没有采用传统的计算方式,而是根据激光点云的特性,建立查找表。通过比较的方式代替计算,实现了投影的高效。于此同时,本方法将投影矩阵进行分割,实现了并行化构建新数据结构。
[0031](3)高效地最近点搜索方式。基于新数据结构,我们首先根据目标搜索区间,缩小搜索范围;其次创建了一个动态缓存,将候选点放在其中,进行并行化计算。
附图说明
[0032]图1为本实施例中KNN加速器的整体框图;
[0033]图2(a)至图2(c)示意了构建数据结构,其中,图2(a)示意了投射矩阵,图2(b)示意了点云俯视图,图2(c)示意了距离维度划分;
[0034]图3(a)至图3(c)示意了所获得的数据结构,其中,图3(a)示意了同一距离维度中点计数,图3(b)示意了数据结构中的索引表,图3(c)示意了点云重新排列。
具体实施方式
[0035]下面结合具体实施例,进一步阐述本专利技术。应理解,这些实施例仅用于说明本专利技术而不用于限制本专利技术的范围。此外应理解,在阅读了本专利技术讲授的内容之后,本领域技术人员可以对本专利技术作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
[0036]本实施例公开的一种应用于激光雷达单帧点云的高效KNN方法包括以下步骤:
[0037]步骤1、通过激光雷达获得无序的点云数据,对于任意一个点(x,y,z)利用激光雷达的横纵分辨率将其投射到矩阵,如图2(a)所示。点(x,y,z)在矩阵中的横坐标h=arctan(y/x)/Δβ计算得到,点(x,y,z)在矩阵中的纵坐标v=其中,Δβ表示激光雷达水平方向的角分辨率,Δα表示激光雷达垂直方向的角分辨率。
[0038]步骤2、计算点(x,y,z)到激光雷达的距离并依据距离r以及预先确定的不同距离维度所对应的距离范围将点(x,y,z)划分入对应的距离维度,如附图2(b)、图2(c)所示。
[0039]步骤3、将步骤1所获得的矩阵中每一列本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用于激光雷达单帧点云的高效KNN方法,其特征在于,包括以下步骤:步骤1、通过激光雷达获得无序的点云数据,对于任意一个点(x,y,z)利用激光雷达的横纵分辨率将其投射到矩阵,其中,点(x,y,z)在矩阵中的横坐标h=arctan(y/x)/Δβ计算得到,点(x,y,z)在矩阵中的纵坐标得到,点(x,y,z)在矩阵中的纵坐标Δβ表示激光雷达水平方向的角分辨率,Δα表示激光雷达垂直方向的角分辨率;步骤2、计算点(x,y,z)到激光雷达的距离r,并依据距离r以及预先确定的不同距离维度所对应的距离范围将点(x,y,z)划分入对应的距离维度;步骤3、将步骤1所获得的矩阵中每一列分为N
p
个数据块;步骤4、采用步骤2计算得到每个数据块中各点所对应的距离维度,统计矩阵中每个数据块里各个距离维度上点的个数,并记录在统计表中;步骤5、根据步骤4获得的统计表,得到不同数据块中各距离维度上第一个点的索引位置,从而得到一张索引表;步骤6、将所有点按照步骤5所获得的索引表进行重新排列,获得有序的点云数据;步骤7、对于同一空间中的目标点p(x
p
,y
p
,z
p
),在步骤6所获得的有序的点云数据中找到K个与之相邻的点,包括以下步骤:步骤701、采用步骤1所记载的方法确定目标点p(x
p
,y
p
,z
p
)在矩阵的位置v<...

【专利技术属性】
技术研发人员:肖建中孙豪邓岂哈亚军
申请(专利权)人:上海科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1