一种基于深度学习的激光雷达点云目标检测方法与流程

专利查询2023-9-16  105



1.本发明涉及一种基于深度学习的激光雷达点云目标检测方法,属于目标检测技术领域。


背景技术:

2.环境感知是自动驾驶中的重要任务,准确的感知直接影响到车辆的规划和控制。在环境感知中有基于激光雷达、单目摄像头和多目摄像头等多种实现方式,摄像头由于成本低廉,成像稳定,因此被大量使用。但是图像有其先天缺陷,会缺乏目标的距离信息,而点云数据含有物体精确的深度信息和几何结构信息,使用点云进行3d的目标检测会拥有更高的精度。
3.但是,据申请人了解,在自动驾驶领域使用点云数据进行目标检测虽然精度较高,但处理比较复杂,计算量太大,导致检测速度比较慢,目前应用还比较少。


技术实现要素:

4.本发明要解决的技术问题是:提供一种基于深度学习的检测精度较高、检测速度快的激光雷达点云目标检测方法。
5.为了解决上述技术问题,本发明提出的技术方案是:一种基于深度学习的激光雷达点云目标检测方法,包括如下步骤:
6.步骤一、在车辆顶部安装激光雷达,收集激光雷达采集的预设范围内的雷达点云数据;
7.步骤二、以朝向车头方向为x轴、朝向车身左侧方向为y轴、垂直于地面方向为z轴,建立三维坐标系,将所述预设范围在x轴方向平均划分为w段,在y轴方向平均上划分为h段,在z轴方向平均分为m段,即在xy平面上划分为w*h个网格,并将所述预设范围划分为w*h*m个立方体;
8.步骤三、对步骤二得到的任一网格采样n个点,得到采样点云,其采样方法如下:
9.假设该网格对应的所有立方体中的雷达点云数量为d,对该网格内的某一立方体,该立方体的点云数量为s,则该立方体的采样点数量e=n*(s/d);但是,若该网格内对应的点云数量为0,则放弃对该网格的采样,并记为空网格;
10.步骤四、计算所述采样点云的每个采样点相对于所述预设范围的中心点的偏移坐标,对每个采样点的属性进行扩展,使每个采样点具有三个维度的坐标值、三个维度的偏移坐标值和采样值共7个属性,从而将所述采样点云表达为一个e*n*7的张量矩阵,其中e为非空网格的数量;
11.步骤五、将所述张量矩阵送入神经元数量为c的全连接层后接relu层激活,得到e*c的输出,从而将每个采样点编码为一个c维向量,进而将采样点云编码为e*c的向量矩阵;同时将空网格编码为c维0向量,将所述采样点云编码为(c,h,w)的伪图像;其中,c大于7;
12.步骤六、通过神经网络对伪图像进行目标检测,其中网络中的backbone对伪图像
进行特征提取。
13.首先要说明的是,一个典型的神经网络分为两个部分,特征提取部分和检测部分(包括分类、检测、分割)。本发明通过backbone完成伪图像的特征提取,然后根据提取的特征进行分类、检测和分割等工作,从而完成目标检测。其中检测部分为现有技术,比如可以采用知名的2d检测器如ssd,yolo等,可参考相关文献,不再赘述。
14.本发明通过将雷达点云数据进行采样得到采样点云,这样可以降低雷达点云数据的总体处理数量,从而提高处理速度。然后,通过点云相对于整个预设范围的中心(即激光雷达的点云中心)的偏移对采样点云的每个点云数据进行属性扩展;申请人的实践证明,通过上述人为设定的规则扩展出的属性对提高目标检测的准确性是有一定效果的,比如所有点云相对于整个点云中心的偏移都一致的话,可以认为所有的点云位于同一个球面上,但是毕竟是人为设定的规则,有效,但是还不够有效,所以本发明将e*n*7的张量矩阵送入一个全连接层,使采样点云可以表达为e*c的向量矩阵,从而使每个点云由c维特征进行表达,当c足够大时,就相当于提高了对点云细节的表达能力,从而进一步提高了目标检测的准确性。
附图说明
15.图1是利用backbone输出不同尺度的多个特征图的示意图。
具体实施方式
16.实施例一
17.本实施例的一种基于深度学习的激光雷达点云目标检测方法,包括如下步骤:
18.步骤一、在车辆顶部安装激光雷达,收集激光雷达采集的预设范围内的雷达点云数据。
19.步骤二、以朝向车头方向为x轴、朝向车身左侧方向为y轴、垂直于地面方向为z轴,建立三维坐标系,将所述预设范围在x轴方向平均划分为w段,在y轴方向平均上划分为h段,在z轴方向平均分为m段,即在xy平面上划分为w*h个网格,并将所述预设范围划分为w*h*m个立方体;为描述方便,假定所述预设范围在x轴方向上点的坐标范围为(x
min
,x
max
),在y方向上点的坐标范围为(y
min
,y
max
),在z轴方向上点的坐标范围为(z
min
,z
max
)。本实施例中将所述预设范围划分出w*h*m=1000*800*40个立方体。
20.步骤三、对步骤二得到的任一网格采样n个点,得到采样点云,其采样方法如下:
21.假设该网格对应的所有立方体中的雷达点云数量为d,对该网格内的某一立方体,该立方体的点云数量为s,则该立方体的采样点数量e=n*(s/d);但是,若该网格内对应的点云数量为0,则放弃对该网格的采样,并记为空网格。
22.如前所述,本实施例中所述预设范围划分出w*h*m=1000*800*40个立方体,假如每个网格采样10个点,即n=10。以一个网格为例,计算该网格对应的40个立体含有的点云数量为40,某个立方体含有的点云数量为20,则该立方体内的采样点数量计算可得x=10*(20/40)=5。优选的,若某网格对应的点云总数不足10个且不为0,则采样全部的点云,不足的以0补足;若某网格内对应的点云数量为0,则放弃对该网格内的点云采样,并记录下非空网格。
23.步骤四、计算所述采样点云的每个采样点相对于所述预设范围的中心点的偏移坐标,对每个采样点的属性进行扩展,使每个采样点具有三个维度的坐标值、三个维度的偏移坐标值和采样值共7个属性,即每个采样点包括三维坐标(x,y,z)和采样值r四个属性,再加上每一个采样点的三维坐标(x,y,z)相对于预设范围的中心点((x
min
+x
max
)/2,(y
min
+x
max
)/2,(x
min
+x
max
)/2)的偏移(xo,yo,zo)三个属性,将每个采样点扩展为7个属性(x,y,z,r,xo,yo,zo),从而将所述采样点云表达为一个e*n*7的张量矩阵,其中e为非空网格的数量。通常来说,预设范围的中心点即激光雷达的点云中心,对采样点的属性进行扩展对提高检测结果的准确性是有一定效果的,比如所有点的相对于整个点云中心的偏移都一致的话,那么我们就可以认为所有的点位于同一个球面上。
24.步骤五、将所述张量矩阵送入神经元数量为c的全连接层后接relu层激活,得到e*c的输出,从而将每个采样点编码为一个c维向量,进而将采样点云编码为e*c的向量矩阵,c应该大于7,本实施例中c取值为1024,这样每个采样点云由c个数字表达。本实施例中n=10,c=1024,因此每个网格里的点云表达就从n*7=70维向量变成了1024维向量,表达能力更强,从而可以更进一步的提高目标检测的准确性。
25.同时将空网格编码为c维0向量,将所述采样点云编码为(c,h,w)=(1024,800,1000)的伪图像。
26.步骤六、通过神经网络对伪图像进行目标检测,其中网络中的backbone对伪图像进行特征提取。
27.本实施例还可以作以下改进:步骤六中,网络中的backbone使用残差结构.并结合特征金字塔生成不同尺度的多个特征图,分别用于对不同大小的目标进行检测。
28.特征金字塔为现有技术,可参考《feature pyramid networks for object detection》(作者:tsung-yi lin,piotr doll
á
r,ross girshick,kaiming he,bharath hariharan,serge belongie,论文链接:https://arxiv.org/abs/1612.03144)。
29.本实施例中卷积块内部采用残差结构,以基本卷积结构结合特征金字塔构建一个backbone如图1所示,其结构如下:
30.其中block1,block2,block3,block4,block5内部为残差结构.
31.block1内的s1=1,s2=2,block1输出的大小为(h/2,w/2),
32.block2内的s1=1,s2=2,block2输出的大小为(h/4,w/4),
33.block3内的s1=1,s2=2,block3输出的大小为(h/8,w/8),
34.block4内的s1=1,s2=2,block4输出的大小为(h/16,w/16),
35.block5内的s1=1,s2=2,block5输出的大小为(h/32,w/32)。
36.block6由block5由c个1x1卷积核,步长1卷积得到,大小为(c,h/32,w/32),
37.block7由block6进行2倍upsample得到,大小为(c,h/16,w/16),对block4用c个1x1卷积核,步长1卷积后得到特征block4_1x1,大小为(c,h/16,w/16),将block4_1x1和block7的特征相加,得到特征f3,大小为(c,h/16,w/16)。
38.以此类推,block8由block7进行2倍upsample得到,对block3进行1x1卷积后得到特征block3_1x1,与block8相加得到特征f2.大小为(c,h/8,w/8)block9由block8进行2倍upsample得到,对block2进行1x1卷积后,得到特征block2_1x1,与block9相加,得到特征f1,大小为(c,h/4,w/4)。
39.即block1至block5逐步完成下采样,block6到block9逐步完成上采样,这样我们得到三个不同尺度的特征图,f1:(c,h/4,w/4),f2:(c,h/8,w/8),f3:(c,h/16,w/16)。三个不同分辨率大小的特征图f1、f2和f3由不同层的特征融合而来,形成不同分辨率的特征图,f1、f2、f3用于检测不同大小的目标,f1、f2和f3结合了高分辨率的底层特征以及低分辨率的高层特征,兼顾了细节信息和语义信息,有利于更精准地检测。
40.本实施例由于对点云进行了有效的编码,计算量更小,检测速度快。backbone输出的特征融合了高分辨率特征图信息和低分辨率特征图信息,检测效果更精准。backbone输出了不同尺度的特征图,对不同大小的目标做检测,检测效果更精准。

技术特征:
1.一种基于深度学习的激光雷达点云目标检测方法,包括如下步骤:步骤一、在车辆顶部安装激光雷达,收集激光雷达采集的预设范围内的雷达点云数据;步骤二、以朝向车头方向为x轴、朝向车身左侧方向为y轴、垂直于地面方向为z轴,建立三维坐标系,将所述预设范围在x轴方向平均划分为w段,在y轴方向平均上划分为h段,在z轴方向平均分为m段,即在xy平面上划分为w*h个网格,并将所述预设范围划分为w*h*m个立方体;步骤三、对步骤二得到的任一网格采样n个点,得到采样点云,其采样方法如下:假设该网格对应的所有立方体中的雷达点云数量为d,对该网格内的某一立方体,该立方体的点云数量为s,则该立方体的采样点数量e=n*(s/d);但是,若该网格内对应的点云数量为0,则放弃对该网格的采样,并记为空网格;步骤四、计算所述采样点云的每个采样点相对于所述预设范围的中心点的偏移坐标,对每个采样点的属性进行扩展,使每个采样点具有三个维度的坐标值、三个维度的偏移坐标值和采样值共7个属性,将所述采样点云表达为一个e*n*7的张量矩阵,其中e为非空网格的数量;步骤五、将所述张量矩阵送入神经元数量为c的全连接层后接relu层激活,得到e*c的输出,从而将每个采样点编码为一个c维向量,进而将采样点云编码为e*c的向量矩阵;同时将空网格编码为c维0向量,从而将所述采样点云编码为(c,h,w)的伪图像;其中,c大于7;步骤六、通过神经网络对伪图像进行目标检测,其中网络中的backbone对伪图像进行特征提取。2.根据权利要求1所述的基于深度学习的激光雷达点云目标检测方法,其特征在于:步骤六中,网络中的backbone结构使用残差结构.并结合特征金字塔生成不同尺度的多个特征图,分别用于对不同大小的目标进行检测。3.根据权利要求1或2所述的基于深度学习的激光雷达点云目标检测方法,其特征在于:步骤三中,对某一网格采样n个点时,若该网格对应的点云数量不足n且不为0,则采样全部的点,不足的则以0补足。

技术总结
本发明涉及一种基于深度学习的激光雷达点云目标检测方法,包括如下步骤:收集激光雷达采集的雷达点云数据;将雷达点云划分为w*h*m个立方体,其中在xy平面上划分为w*h个网格;对任一网格采样N个点,得到采样点云;对采样点云的每个采样点的属性进行扩展得到张量矩阵;将所述张量矩阵送入神经元数量为C的全连接层后接relu层激活,将所述采样点云编码为(C,h,w)的伪图像;利用Backbone对伪图像进行目标检测。本发明由于对点云进行了有效的编码,计算量更小,检测速度快;Backbone输出的特征融合了高分辨率特征图信息和低分辨率特征图信息,检测效果更精准。检测效果更精准。检测效果更精准。


技术研发人员:ꢀ(74)专利代理机构
受保护的技术使用者:奥特酷智能科技(南京)有限公司
技术研发日:2021.12.07
技术公布日:2022/3/8

最新回复(0)