一种高能效FPGA实现的点云特征提取方法及其应用技术

技术编号:36293567 阅读:37 留言:0更新日期:2023-01-13 10:07
本发明专利技术的一个技术方案是提供了一种高能效FPGA实现的点云特征提取方法,映射到FPGA上运行。本发明专利技术的另一个技术方案是提供了一种前述的高能效FPGA实现的点云特征提取方法的应用,其特征在于,应用于无人驾驶或者机器人的点云特征提取中。相比于现有技术方案而言,本发明专利技术的创新之处在于:一种低复杂度的投影方法来组织无序且稀疏的点云;一种高并行度的方法来提取粗粒度特征点;一种高并行度的方法来选择细粒度的特征点。择细粒度的特征点。择细粒度的特征点。

【技术实现步骤摘要】
一种高能效FPGA实现的点云特征提取方法及其应用


[0001]本专利技术涉及一种点云特征提取算法以及该点云特征提取算法的应用。

技术介绍

[0002]点云特征提取算法即对于激光雷达产生的每一帧点云数据,提取其中的特征(比如轮廓、角点和平面点),用于后续计算,广泛应用于无人驾驶和智能机器人领域中。点云特征提取的作用有两个:一是可以滤除原始点云中的噪声,提高后续定位与建图精度;二是去除冗余的点,提高后续操作的运行速度。
[0003]然而,现在激光雷达线束已经升级到了128线,扫描速度提升到了20Hz,这会大大增加传统特征提取算法的处理时间。在边缘计算处理器上,当前最先进的点云特征提取算法只能实现低于9Hz的处理速度,远远低于实时性需求。再加上智能汽车对应用功耗的约束,急需实现一种实时高能效的特征提取算法。
[0004]为了解决这个问题,相关专家曾在不同方面做出了探索。【1】系列工作通过计算每个点的局部曲率来计算几何特征点,然而其计算复杂,无法高效处理大量点云。【2】系列工作通过映射三维点云到二维范围图或者鸟瞰图中,然后用图像类似的方法来提取特征。虽然速度提升很多,但他们忽略了激光雷达线束在垂直方向是不均匀发射的,从而导致特征精度较低。【3】通过开发GPU的并行性,提出了快速提取二维特征点的方法,处理速度达到300帧/秒。然而GPU消耗了大量的电量,这会大大影响智能车的续航能力。【4】在FPGA平台上实现了高性能、低功耗的特征提取算法,然而只能处理二维图像数据。
[0005]参考文献:
[0006]【1】J.Zhang and S.Singh,“Low

drift and real

time LiDAR odometry and mapping,”Auton.Robots,vol.41,no.2,pp.401

416,Feb.2017.
[0007]【2】N.Attarmoghaddam and K.F.Li,“An area

efficient FPGA implementation of a real

time multi

class classifier for binary images,”IEEE Trans.Circuits Syst.II,Exp.Briefs,vol.69,no.4,pp.2306

2310,Apr.2022.
[0008]【3】B.Nagy,P.Foehn,and D.Scaramuzza,“Faster than FAST:GPU

accelerated frontend for high

speed VIO,”in Proc.IEEE/RSJ Int.Conf.Intell.Robots Syst.(IROS),Oct.2020,pp.4361

4368.
[0009]【4】Y.Liu et al.,“MobileSP:An FPGA

based real

time keypoint extraction hardware accelerator for mobile VSLAM,”IEEE Trans.Circuits Syst.I,Reg.Papers,early access,Jul.21,2022,doi:10.1109/TCSI.2022.3190300.

技术实现思路

[0010]本专利技术要解决的技术问题是:在边缘计算处理器上,当前最先进的点云特征提取算法只能实现低于9Hz的处理速度,远远低于实时性需求。
[0011]为了解决上述技术问题,本专利技术的一个技术方案是提供了一种高能效FPGA实现的
点云特征提取方法,映射到FPGA上运行,其特征在于,包括以下步骤:
[0012]步骤1、获取无序点云,对于无序点云中的每个点(x,y,z),使用激光角度导向的投影方法将点云精确投影到点云矩阵中,包括以下步骤:
[0013]步骤101、针对激光雷达构建一个激光发射角度中值查找表,在该激光发射角度中值查找表中记录激光雷达相邻发射角度的中值角度φ
n
,φ
n
=(ω
n

n+1
)/2,ω
n
为激光雷达发出的第n束激光线束的发射角度,n∈[0,N

1],激光雷达共发射N束激光线束;
[0014]步骤102、将激光发射角度中值查找表中记录的各中值角度的正切值的平方乘以正负系数后,构建一个线束查找表τ。对于每个中值角度φ
n
,对应的线束查找数值τ
n
的计算如下式所示:
[0015]τ
n
=sign(φ
n
)
×
(tan(φ
n
))2[0016]式中,sign(φ
n
)表示φ
n
的正负号;
[0017]步骤103、对无序点云中的每个点(x,y,z)通过τ
p
=sign(z)
×
(z2/(x2+y2))得到对应的查找数值τ
p
,再用查找数值τ
p
与线束查找表作比较,得到每个点所属的激光线束,进而获得了点云矩阵中的行索引v,结合当前点的行索引h,将当前点投影到点云矩阵中;
[0018]步骤104、重复步骤103直至遍历无序点云中的所有点,得到点云矩阵;
[0019]步骤2、将点云矩阵的元素分成三类,分别是起始元素、丢失元素和正常元素,其中:丢失元素指没有任何点映射到此元素对应的位置,有点映射的称为正常元素,起始元素指的是属于第0行的元素或者丢失元素下一行的正常元素;
[0020]列扫描遍历点云矩阵,检测出粗粒度特征点,包括以下步骤:
[0021]步骤201、计算每个点云矩阵中每个数据点的局部平面曲率,并滤除不可靠的数据点或者阻挡点;
[0022]对于可靠的数据点,将局部平面曲率c超过角点阈值t
edge
的数据点标记为粗粒度角点,对于局部平面曲率c低于平面点阈值t
plane
的数据点,进入步骤202进行处理;
[0023]步骤202、计算上一步所获得的数据点的斜率θ,将斜率θ大于阈值t
vp
的数据点标记为粗粒度垂直平面点,对于斜率θ小于阈值t
θ
的数据点,进入步骤203进行处理;
[0024]步骤203、引入全局平均地面点高度h
g
和局部平均地面点高度h
l
,其中,全局平均地面点高度h
g
表示当前计算的所有地面点的平均高度,局部平均地面点高度h
l
表示当前处理点局本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种高能效FPGA实现的点云特征提取方法,映射到FPGA上运行,其特征在于,包括以下步骤:步骤1、获取无序点云,对于无序点云中的每个点(x,y,z),使用激光角度导向的投影方法将点云精确投影到点云矩阵中,包括以下步骤:步骤101、针对激光雷达构建一个激光发射角度中值查找表,在该激光发射角度中值查找表中记录激光雷达相邻发射角度的中值角度φ
n
,φ
n
=(ω
n

n+1
)/2,ω
n
为激光雷达发出的第n束激光线束的发射角度,n∈[0,N

1],激光雷达共发射N束激光线束;步骤102、将激光发射角度中值查找表中记录的各中值角度的正切值的平方乘以正负系数后,得到各线束查找数值τ
n
,并以此构建一个线束查找表,如下式所示:τ
n
=sign(φ
n
)
×
(tan(φ
n
))2式中,sign(φ
n
)表示φ
n
的正负号;步骤103、对无序点云中的每个点(x,y,z)通过τ
p
=sign(z)
×
(z2/(x2+y2))得到对应的查找数值τ
p
,再用查找数值τ
p
与线束查找表作比较,得到每个点所属的激光线束,进而获得了点云矩阵中的行索引v,结合当前点的行索引h,将当前点投影到点云矩阵中;步骤104、重复步骤103直至遍历无序点云中的所有点,得到点云矩阵;步骤2、将点云矩阵的元素分成三类,分别是起始元素、丢失元素和正常元素,其中:丢失元素指没有任何点映射到此元素对应的位置,有点映射的称为正常元素,起始元素指的是属于第0行的元素或者丢失元素下一行的正常元素;列扫描遍历点云矩阵,检测出粗粒度特征点,包括以下步骤:步骤201、计算每个点云矩阵中每个数据点的局部平面曲率,并滤除不可靠的数据点或者阻挡点;对于可靠的数据点,将局部平面曲率c超过角点阈值t
edge
的数据点标记为粗粒度角点,对于局部平面曲率c低于平面点阈值t
plane
的数据点,进入步骤202进行处理;步骤202、计算上一步所获得的数据点的斜率θ,将斜率θ大于阈值t
vp
的数据点标记为粗粒度垂直平面点,对于斜率θ小于阈值t
θ
的数据点,进入步骤203进行处理;步骤203、引入全局平均地面点高度h
g
和局部平均地面点高度h
l
,其中,全局平均地面点高度h
g
表示当前计算的所有地面点的平均高度,局部平均地面点高度h
l
表示当前处理点局部范围内地面点的平均高度;对于斜率θ小于阈值t
...

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

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

1