基于三维点云的车辆可行驶区域目标识别方法及系统
文献发布时间:2024-01-17 01:27:33
技术领域
本发明属于智能化汽车领域,涉及一种基于三维点云的车辆可行驶区域目标识别方法及系统。
背景技术
近年来,智能化是汽车行业重点关注的技术之一,相较于传统的动力传动技术,智能化无论是在硬件还是软件层面,都仍有很大的拓展空间,具备广阔的发展前景,目前各大主机厂在车辆的智能化技术上都投入了巨大的精力和成本,对于局限性的工作场景甚至具备一定危险性的车辆作业环境,如果能通过提高智能化而解放人力,将会非常有意义。
汽车智能化的最终目标是实现高级别的自动驾驶,其基础是对于道路信息的精准感知,常用的车载感知传感器有摄像头、毫米波雷达和超声波雷达,发展已经较为成熟,激光雷达近年来才逐渐得到主机厂的关注。
对于三维点云处理算法,目前对于目标分割的研究比较广泛,由于三维点云特征不显著,比如反射在大型车辆正侧方的点云和反射在墙壁上的点云在特征上几乎没有区别,所以基于三维点云的目标识别算法还有待进一步研究。
发明内容
本发明的目的在于解决现有技术中的问题,提供一种基于三维点云的车辆可行驶区域目标识别方法及系统,通过三维激光雷达检测车辆可行驶区域内的障碍物并进行识别。
为达到上述目的,本发明采用以下技术方案予以实现:
基于三维点云的车辆可行驶区域目标识别方法,包括以下步骤:
对车辆上的激光雷达的数据进行转换,将极坐标下的角度和距离信息转化为笛卡尔坐标系下的坐标;
对转换后的三维点云进行裁剪,对裁剪后的三维点云进行地面分割,得到地面点云和非地面点云,将地面点云作为可行使区域;
对非地面点云进行降采样,进行数据采集和标注标签,以降采样后的非地面点云为输入,标注标签为参照,以检测结果为输出,通过深度学习对神经网络模型进行训练;
用训练出的神经网络模型进行目标检测和识别,对可行驶区域进行感兴趣目标的提取,发布目标信息。
进一步的,所述极坐标下的角度和距离信息转换为笛卡尔坐标系下的坐标的转换关系为
其中,r为实测距离,ω为激光的垂直角度,α为激光的水平旋转角度,x,y,z为极坐标投影到笛卡尔坐标系X,Y,Z轴上的坐标。
进一步的,所述裁剪包括将转换后的三维点云中反射在本车车身上的点和高于本车高度的所有点进行裁剪。
进一步的,所述地面分割的过程为:
激光雷达发射出一簇一簇的射线,将三维点云(x,y,z)降至二维(x,y),计算每一个点到本车车头正前方方向的平面夹角θ,对360°进行微分,每一份的角度为0.18°,每一等份近似的可以看作一条射线,将这些射线中的点按照距离的远近进行排序;
设置两个坡度阈值,一个是同条射线上邻近两点的坡度阈值A,一个是整个地面的坡度阈值B,通过这两个阈值以及当前点到雷达的水平距离求得高度阈值,通过判断当前点的z值是否在地面加减高度阈值范围内来判断当前点是否为地面。
进一步的,所述降采样为以自定义尺寸的立方体对非地面点云进行分割,使用立方体的形心来表示这个立方体内的所有点云。
进一步的,所述数据采集和标注标签的过程为:
通过rosbag录制ROS话题进行三维点云数据采集,将rosbag按采样频率分割为bin格式的单帧点云;
通过LabelColud对切割出的每一帧点云进行标注标签,所述标注标签包括商用车、乘用车、摩托车、电动车、自行车、行人和路障。
进一步的,神经网络模型以Pillar的形式将三维点云转换为二维伪图像,从而将3D卷积转为2D卷积,具体实现步骤如下:
按照点云数据所在的X,Y轴将点云数据划分为网格,凡是落入到一个网格的点云数据被视为其处在一个Pillar里;
假设每个样本中有P个非空的Pillars,每个Pillar中有N个点云数据,那么这个样本就表示一个(D,P,N)的张量,如果每个Pillar中的点云数据超过N个,则随机采样至N个,如果每个Pillar中的点云数据少于N个,少于的部分则填充为0,将点云转换成(D,P,N)张量格式的堆积Pillars;
得到堆积Pillars后,对张量化的点云数据进行处理和特征提取,按照Pillar所在维度进行池化操作,获得(C,P)维度的特征图,将P转化为(W,H),最终获得形如(C,H,W)的伪图像。
基于三维点云的车辆可行驶区域目标识别系统,包括:
转换模块,所述转换模块用于对车辆上的激光雷达的数据进行转换,将极坐标下的角度和距离信息转化为笛卡尔坐标系下的坐标;
分割模块,所述分割模块用于对转换后的三维点云进行裁剪,对裁剪后的三维点云进行地面分割,得到地面点云和非地面点云,将地面点云作为可行使区域;
降采样模块,所述降采样模块用于对非地面点云进行降采样,进行数据采集和标注标签,以降采样后的非地面点云为输入,标注标签为参照,以检测结果为输出,通过深度学习对神经网络模型进行训练;
提取模块,所述提取模块用于用训练出的神经网络模型进行目标检测和识别,对可行驶区域进行感兴趣目标的提取,发布目标信息。
一种终端设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述的方法的步骤。
与现有技术相比,本发明具有以下有益效果:
本发明提供一种基于三维点云的车辆可行驶区域目标识别方法及系统,通过搭载在车辆上的激光雷达发射出的三维点云进行裁剪,对裁剪后的三维点云地面分割,分割出本车的可行驶区域,并对非地面点云进行降采样,对可行驶区域内的障碍物进行检测识别,向决策层输出目标的位置、速度、姿态、长度、宽度、高度、类别等信息,供下一层决策算法参考。
进一步的,本发明采用激光雷达作为车载感知传感器,使用激光探测位置、形状和速度等几何特征,向目标物体发射激光,然后接收这些物体反射的信号,通过比较接收信号与发送信号的相位差,可以得到目标物体诸如距离、反射率等信息,通过进一步的算法处理,还可以得到目标物体的位置、高度、速度以及姿态等信息。激光雷达可以有效地避免如摄像头对于日照强度的依赖以及极端天气的影响等其他传感器的通病,且对于目标位置的检测可以精确至厘米级。
附图说明
为了更清楚的说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明的基于三维点云的车辆可行驶区域目标识别方法流程图。
图2为本发明的实施例激光雷达极坐标系和XYZ坐标映射示意图。
图3为本发明的激光雷达扫描轮廓图。
图4为本发明的地面分割流程图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中所涉及的终端可以包括但不限于手机、个人数字助理(Personal Digital Assistant,PDA)、无线手持设备、平板电脑(Tablet Computer)、个人电脑(Personal Computer,PC)、MP3播放器、MP4播放器、可穿戴设备(例如,智能眼镜、智能手表、智能手环等)、智能家居设备等智能设备。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图对本发明做进一步详细描述:
参见图1,本发明提供一种基于三维点云的车辆可行驶区域目标识别方法,包括以下步骤:
S1:对车辆上的激光雷达的数据进行转换,将极坐标下的角度和距离信息转化为笛卡尔坐标系下的坐标。
由于雷达封装的数据包仅为水平旋转角度和距离参量,为了呈现三维点云图的效果,如图2所示,将激光雷达原始数据中极坐标下的角度和距离信息转换为笛卡尔坐标系下的x,y,z坐标,转换关系为
其中,r为实测距离,ω为激光的垂直角度,α为激光的水平旋转角度,x,y,z为极坐标投影到笛卡尔坐标系X,Y,Z轴上的坐标;
S2:对转换后的三维点云进行裁剪,对裁剪后的三维点云进行地面分割,得到地面点云和非地面点云,将地面点云作为可行使区域。
雷达安装高度为H,本车车身高度为h。本车以及高于本车高度的障碍物对车辆行驶是没有影响的,故将三维点云中反射在本车车身上的点和z坐标高于(h-H)的所有点进行裁剪,裁剪后的点云用P表示;
激光雷达发射出的其实是一簇一簇的射线,以射线的形式来组织点云,将三维点云(x,y,z)降至二维(x,y),计算每一个点到本车车头正前方方向的平面夹角θ,对360°进行微分,每一份的角度为0.18°,每一等份近似的可以看作一条射线,雷达内部分布多个激光器,发出如图3所示的放射状激光束,图3中的圆圈即为每一簇激光束的反射,对点云进行水平角度微分之后,可以得到360/0.18=2000条射线,将这些射线中的点按照距离的远近进行排序;
设置两个坡度阈值,一个是同条射线上邻近两点的坡度阈值A,一个是整个地面的坡度阈值B,通过这两个阈值以及当前点到雷达的水平距离求得高度阈值,通过判断当前点的z值是否在地面加减高度阈值范围内来判断当前点是否为地面,整个流程如图4所示。分割出的地面点云用Pg表示,非地面点云用Png表示,同时,Pg所在的范围即为本车的可行驶区域;
S3:对非地面点云进行降采样,进行数据采集和标注标签,以降采样后的非地面点云为输入,标注标签为参照,以检测结果为输出,通过深度学习对神经网络模型进行训练。
对非地面点云进行降采样,以自定义尺寸的立方体对非地面点云进行分割,使用立方体的形心来表示这个立方体内的所有点云,从而减少数据量;
通过rosbag录制ROS(Robot Operating System)话题进行三维点云数据采集,将rosbag按采样频率分割为bin格式的单帧点云;
通过LabelColud对切割出的每一帧点云进行标注,标注标签可自定义,常用的类型有商用车、乘用车、摩托车、电动车、自行车、行人、路障等;
将每一帧bin格式的点云及其对应的标签进行深度学习,以检测结果为输出,对神经网络模型进行训练,神经网络模型以Pillar(点柱)的形式将三维点云转换为二维伪图像,从而将3D卷积转为2D卷积,具体实现步骤如下:
按照点云数据所在的X,Y轴(不考虑Z轴)将点云数据划分为一个个的网格,凡是落入到一个网格的点云数据被视为其处在一个Pillar里。假设每个样本中有P个非空的Pillars,每个Pillar中有N个点云数据,那么这个样本就可以用一个(D,P,N)的张量表示。如果每个Pillar中的点云数据超过N个,那么就随机采样至N个;如果每个Pillar中的点云数据少于N个,少于的部分就填充为0;于是,就很容易将点云转换成(D,P,N)张量格式的堆积Pillars。得到堆积Pillars后,对张量化的点云数据进行处理和特征提取。特征提取可以理解为对点云的维度进行处理,原来的点云维度为D=9,处理后的维度为C,那么就获得了一个(C,P,N)的张量。接着,按照Pillar所在维度进行池化操作,即获得了(C,P)维度的特征图。为了获得伪图片特征,将P转化为(W,H)。因此最终就获得了形如(C,H,W)的伪图片。这样就实现了3D到2D的转化,接下来进行2D卷积,得到损失函数后送回检测头用于在线检测。
S4:用训练出的神经网络模型进行目标检测和识别,对可行驶区域进行感兴趣目标的提取,发布目标信息。
用训练出的模型进行目标检测和识别,识别出的目标中,只有在本车可行驶区域内的目标会对本车行驶造成影响,通过比较目标位置是否与可行驶区域重合进行感兴趣目标的提取。
将感兴趣目标的位置、速度、姿态、长度、宽度、高度、类别等信息作为输出发布。
实施例1:
本发明提供的实施例1为本发明提供的基于三维点云的车辆可行驶区域目标识别方法的实施例,该方法的实施例包括以下步骤:
首先,由于雷达封装的数据包仅为水平旋转角度和距离参量,为了呈现三维点云图的效果,需要如图2所示将极坐标下的角度和距离信息转化为笛卡尔坐标系下的x,y,z坐标。其次,由于本车以及高于本车高度的障碍物对车辆行驶是没有影响的,故需要将转化后的三维点云中反射在本车车身上的点和高于本车高度的所有点进行裁剪,然后对裁剪后的点云进行地面分割,分割出地面点和非地面点,分割出的地面点所在的范围即本车的可行驶区域。接下来,对分割出的非地面点云降采样,以自定义尺寸的立方体对非地面点云进行分割,使用立方体的形心来表示这个立方体的所有点云。然后进行数据采集和标注,标注标签可自定义,常用的标注标签类型有商用车、乘用车、摩托车、电动车、自行车、行人、路障等。以降采样后的非地面点云为输入,标注标签为参照,以检测结果为输出,进行深度学习,训练神经网络模型,用训练出的模型进行目标检测和识别,并通过分割出的可行驶区域进行感兴趣目标的提取,最后将目标的位置、长度、宽度、高度、类别等信息作为输出发布,实现目标识别的功能,输出信息可供下一层决策算法参考。
实施例2:
本发明提供的实施例2为本发明提供的基于三维点云的车辆可行驶区域目标识别系统的实施例,该系统的实施例包括:转换模块、分割模块、降采样模块和提取模块。
转换模块,所述转换模块用于对车辆上的激光雷达的数据进行转换,将极坐标下的角度和距离信息转化为笛卡尔坐标系下的坐标;
分割模块,所述分割模块用于对转换后的三维点云进行裁剪,对裁剪后的三维点云进行地面分割,得到地面点云和非地面点云,将地面点云作为可行使区域;
降采样模块,所述降采样模块用于对非地面点云进行降采样,进行数据采集和标注标签,以降采样后的非地面点云为输入,标注标签为参照,以检测结果为输出,通过深度学习对神经网络模型进行训练;
提取模块,所述提取模块用于用训练出的神经网络模型进行目标检测和识别,对可行驶区域进行感兴趣目标的提取,发布目标信息。
可以理解的是,本发明提供的基于三维点云的车辆可行驶区域目标识别系统与前述各实施例提供的基于三维点云的车辆可行驶区域目标识别方法相对应,基于三维点云的车辆可行驶区域目标识别系统的相关技术特征可参考基于三维点云的车辆可行驶区域目标识别方法的相关技术特征,在此不再赘述。
本实施例提供一种终端设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:对激光雷达的数据进行转换,将极坐标下的角度和距离信息转化为笛卡尔坐标系下的坐标;对转换后的三维点云进行裁剪,对裁剪后的三维点云进行地面分割,得到地面点云和非地面点云;对非地面点云进行降采样,进行数据采集和标注,以降采样后的非地面点云为输入,标注标签为参照,进行深度学习,输出神经网络模型;用训练出的神经网络模型进行目标检测和识别,并对分割出的可行驶区域进行感兴趣目标的提取,发布目标信息。
本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如下步骤:对激光雷达的数据进行转换,将极坐标下的角度和距离信息转化为笛卡尔坐标系下的坐标;对转换后的三维点云进行裁剪,对裁剪后的三维点云进行地面分割,得到地面点云和非地面点云;对非地面点云进行降采样,进行数据采集和标注,以降采样后的非地面点云为输入,标注标签为参照,进行深度学习,输出神经网络模型;用训练出的神经网络模型进行目标检测和识别,并对分割出的可行驶区域进行感兴趣目标的提取,发布目标信息。
本发明实施例提供的基于三维点云的车辆可行驶区域目标识别方法、系统、终端设备及存储介质,通过对激光雷达的数据进行转换,将极坐标下的角度和距离信息转化为笛卡尔坐标系下的坐标。其次,对转化后的三维点云进行裁剪,过高的区域以及反射在本车车身上的点云可忽略不计,然后对裁剪后的三维点云地面分割,得到地面点云和非地面点云,分割出的地面点云所在的范围即为可行驶区域。接下来,对非地面点云进行降采样,以自定义尺寸的立方体对非地面点云进行分割,使用立方体的形心来表示这个立方体的所有点云。然后进行数据采集和标注,标注标签可自定义,常用的类型有商用车、乘用车、摩托车、电动车、自行车、行人、路障等。以降采样后的非地面点云为输入,标注标签为参照,进行深度学习,输出神经网络模型,用训练出的模型进行目标检测和识别,并通过分割出的可行驶区域进行感兴趣目标的提取,最后将目标的位置、长度、宽度、高度、类别等信息作为输出发布,供下一层决策算法参考。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
- 基于点云的目标物体三维计算机建模方法和目标识别方法
- 一种基于三维点云数据的目标识别方法及系统