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

障碍物识别方法、装置及电子设备与流程

2022-04-30 15:14:37 来源:中国专利 TAG:


1.本技术涉及自动驾驶技术领域,尤其是涉及一种障碍物识别方法、装置及电子设备。


背景技术:

2.环境感知作为自动驾驶汽车的眼睛有着及其重要的作用,车辆在进行自动驾驶过程中必须实时感知周围环境来做出自身的应对策略。而激光雷达以精度高的优势在众多传感器中脱颖而出,随着激光雷达在自动驾驶领域广泛普及,针对激光雷达点云算法研究正在如火如荼开展。
3.目前激光雷达障碍物感知方面分为两种:深度学习网络算法检测和传统算法检测。深度学习网络算法检测一方面需要大量数据采集和标注,第二方面若标注数据中没有覆盖的场景会导致深度学习网络无法检测障碍物。自动驾驶车辆在行使过程中首先保证安全是第一目标,针对深度学习网络检测算法的弊端,传统算法检测能达到应检尽检目标,保证了行车安全,但是传统算法检测的流程繁琐及算法的复杂度是当前面临一大考验。由于自动驾驶对系统实时性要求比较高,面对突发情况时传统算法不能迅速做出反应,存在较大安全隐患。


技术实现要素:

4.有鉴于此,本技术的目的在于提供一种障碍物识别方法、装置及电子设备,以提高自动驾驶安全性。
5.第一方面,本技术实施例提供一种障碍物识别方法,该方法包括:获取车辆当前所在位置的三维点云数据集合;其中,三维点云数据集合为车辆对应的车体坐标系下的点云数据构成的集合;点云数据是通过安装在车辆上的激光雷达传感器确定的;根据三维点云数据集合中每个点云数据的坐标,将三维点云数据集合划分成多个网格构成的网格集合;获取每个网格包含的点云数据对应的分布信息;其中,分布信息包括该网格包含的点云数据的均值和协方差矩阵;根据每个网格的分布信息对三维点云数据集合划分得到的网格进行聚类,得到目标网格簇;其中,目标网格簇中每两个网格之间的相似度大于网格相似度阈值;根据目标网格簇中包含的点云数据确定目标网格簇对应的障碍物信息。
6.进一步地,上述获取车辆当前所在位置的三维点云数据集合的步骤,包括:获取初始点云数据集合;其中,初始点云数据集合为通过安装在车辆上的激光雷达传感器获取的三维数据;将初始点云集合中的每个初始点云数据转化成车体坐标系下的点云数据;其中,车体坐标系的原点为车辆后轴的中心点,x轴为车辆的车头方向,y轴为车辆的左侧方向,z轴为车辆的向上方向;将转化后的车体坐标系下的点云数据构成的集合确定为三维点云数据集合。
7.进一步地,上述根据三维点云数据集合中每个点云数据的坐标,将三维点云数据集合划分成多个网格构成的网格集合的步骤,包括:将三维点云数据集合对应的预定空间
范围,按照预设尺寸划分成多个网格;根据三维点云数据集合中每个点云数据的坐标以及每个网格的端点坐标,确定每个点云数据对应的网格;将每个点云数据对应的网格确定为网格集合。
8.进一步地,上述网格包含的点云数据对应的均值u通过以下公式确定:u=[u
x
,uy,uz]
t
;其中,n为该网格中包含的点云数据的个数,xi、yi和zi为每个点云数据的坐标。
[0009]
进一步地,上述网格包含的点云数据对应的协方差矩阵∑通过以下公式确定;其中,其中,a和b的取值为每个点云数据的坐标x、y或z,n为该网格中包含的点云数据的个数。
[0010]
进一步地,上述获取每个网格包含的点云数据对应的分布信息的步骤之前,方法还包括:根据每个网格中包含的点云数据的数量,确定该网格的第一属性;其中,第一属性用于表征网格是否包含点云数据;将网格集合中第一属性表征空网格的网格删除。
[0011]
进一步地,上述第一属性包括空网格和非空网格;根据每个网格中包含的点云数据的数量,确定该网格的第一属性的步骤,包括:判断网格中包含的点云数据的数量是否大于预设第一数量阈值;如果是,将该网格的第一属性确定为非空网格;否则,将该网格的第一属性确定为空网格。
[0012]
进一步地,上述根据每个网格的分布信息对三维点云数据集合划分得到的网格进行聚类的步骤之前,方法还包括:对每个网格的协方差矩阵进行求解,得到该网格对应的特征值集合;根据特征值集合确定该网格的第二属性;其中,第二属性用于表征该网格中包含的点云数据构成的物体形状;将网格集合中第二属性表征地面网格的网格删除。
[0013]
进一步地,上述第二属性包括地面网格和非地面网格;根据特征值集合确定该网格的第二属性的步骤,包括:将特征值集合中数值最大的三个特征值对应的特征向量确定为该网格对应的第一特征集;判断第一特征集是否满足预设地面特征;如果否,确定该网格的第二属性为非地面网格;否则,确定该网格的第二属性为地面网格。
[0014]
进一步地,上述根据每个网格的分布信息对三维点云数据集合划分得到的网格进行聚类,得到目标网格簇的步骤,包括:根据预设邻域规则,确定与第一网格相邻的第二网格;其中,第一网格与第二网格为网格集合中的网格;根据第一网格的分布信息确定第一网格的第一概率密度函数,以及根据第二网格的分布信息确定第二网格的第二概率密度函数;根据第一概率密度函数和第二概率密度函数确定第一网格和第二网格之间的相似度;判断相似度是否大于网格相似度阈值;如果是,将第一网格的第三属性和第二网格的第三属性标记为第一类别;其中,第三属性用于表征网格中包含的点云数据表征的物体的类别;将所有第三属性为第一类别的网络构成的集合确定为目标网格簇。
[0015]
进一步地,上述相似度为js相似度;通过以下公式计算第一网格和第二网格之间
的相似度:其中,p1表示第一网格的高斯分布的概率密度函数、p2表示第二网格的高斯分布的概率密度函数,kl表示第一网格和第二网格之间的kl散度。
[0016]
第二方面,本技术实施例还提供一种障碍物识别装置,该装置包括:点云数据获取模块,用于获取车辆当前所在位置的三维点云数据集合;其中,三维点云数据集合为车辆对应的车体坐标系下的点云数据构成的集合;点云数据是通过安装在车辆上的激光雷达传感器确定的;划分模块,用于根据三维点云数据集合中每个点云数据的坐标,将三维点云数据集合划分成多个网格构成的网格集合;分布信息获取模块,用于获取每个网格包含的点云数据对应的分布信息;其中,分布信息包括该网格包含的点云数据的均值和协方差矩阵;聚类模块,用于根据每个网格的分布信息对三维点云数据集合划分得到的网格进行聚类,得到目标网格簇;其中,目标网格簇中每两个网格之间的相似度大于网格相似度阈值;障碍物确定模块,用于根据目标网格簇中包含的点云数据确定目标网格簇对应的障碍物信息。
[0017]
第三方面,本技术实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现上述第一方面的障碍物识别方法。
[0018]
第四方面,本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述第一方面的障碍物识别方法。
[0019]
与现有技术相比,本技术具有以下有益效果:
[0020]
本技术实施例提供的上述障碍物识别方法、装置及电子设备,首先获取车辆当前位置的三维点云数据集合,并根据每个点云数据的坐标,将三维点云数据集合划分成多个网格,然后根据每个网格包含的点云数据对应的分布信息将相似度较高的网格组成目标网格簇,最后,根据目标网格簇中包含的点云数据确定障碍物信息。本技术相对于现有技术,并没有对点云数据进行地面分割,而是直接将三维点云映射到网格中,并根据分布信息对网格进行聚类,保留了所有三维点云的分布特性,使得最终对障碍物的识别结果具有较好的鲁棒性。
[0021]
本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
[0022]
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
[0023]
为了更清楚地说明本技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0024]
图1为本技术实施例提供的一种电子系统的结构示意图;
[0025]
图2为本技术实施例提供的一种障碍物识别方法的流程图;
[0026]
图3为本技术实施例提供的另一种障碍物识别方法的流程图;
[0027]
图4为本技术实施例提供的一种三维高斯分布对应不同形状的示意图;
[0028]
图5为本技术实施例提供的一种标记了网格属性的网格示意图;
[0029]
图6为本技术实施例提供的一种对网格进行聚类的方法的流程图;
[0030]
图7为本技术实施例提供的一种标记了不同类别的点云数据集合的示意图;
[0031]
图8为本技术实施例提供的一种障碍物识别装置的结构示意图;
[0032]
图9为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
[0033]
为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0034]
目前在自动驾驶过程中的目标识别技术,传统算法检测一般流程为:第一步进行地面分割算法(ransac,基于径向梯度检测),第二步在去除地面点云基础上采用聚类方法(欧式距离聚类、dbscan、k-means)或者现有栅网格方法,现有栅网格方法直接计算网格垂直方向的均值,然后直接根据均值的相关阈值进行聚类。上述第一步存在的弊端是地面分割点云不干净之后导致后续的处理会有误检的情况,严重影响自动驾驶行车性能;上述第二步算法存在遍历所有点云情况导致算法复杂度比较高,然后现有栅网格方法直接使用点云垂直方向的信息,忽略了其点云水平方向分布特征,损失了大量的点云信息。基于此,本技术实施例提供一种障碍物识别方法、装置及电子设备,以提高自动驾驶的安全性。
[0035]
参照图1所示的电子系统100的结构示意图。该电子系统可以用于实现本技术实施例的障碍物识别方法和装置。
[0036]
如图1所示的一种电子系统的结构示意图,电子系统100包括一个或多个处理设备102、一个或多个存储装置104。可选地,电子系统100还可以包括输入装置106、输出装置108以及一个或多个点云数据采集设备110,这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子系统100的组件和结构只是示例性的,而非限制性的,根据需要,电子系统可以具有图1中的部分组件,也可以具有其他组件和结构。
[0037]
处理设备102可以为服务器、智能终端,或者是包含中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元的设备,可以对电子系统100中的其它组件的数据进行处理,还可以控制电子系统100中的其它组件以执行障碍物识别功能。
[0038]
存储装置104可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理设备102可以运行程序指令,以实现下文的本技术实施例中(由处理设备实现)的客户端功能以及/或者其它期望的功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据,例如应用程序使用和/或产生的各种数据等。
[0039]
输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风
和触摸屏等中的一个或多个。
[0040]
输出装置108可以向外部(例如,用户)输出各种信息(例如,图像或声音),并且可以包括显示器、扬声器等中的一个或多个。
[0041]
点云数据采集设备110可以获取待处理点云数据,并且将该点云数据存储在存储装置104中以供其它组件使用。
[0042]
示例性地,用于实现根据本技术实施例的障碍物识别方法、装置及电子设备中的各器件可以集成设置,也可以分散设置,诸如将处理设备102、存储装置104、输入装置106和输出装置108集成设置于一体,而将点云数据采集设备110设置于可以采集到点云数据的指定位置。当上述电子系统中的各器件集成设置时,该电子系统可以被实现为诸如相机、智能手机、平板电脑、计算机、车载终端等智能终端。
[0043]
图2为本技术实施例提供的一种障碍物识别方法的流程图,如图2所示,该方法具体包括以下步骤:
[0044]
s202:获取车辆当前所在位置的三维点云数据集合;其中,三维点云数据集合为车辆对应的车体坐标系下的点云数据构成的集合;点云数据是通过安装在车辆上的激光雷达传感器确定的;
[0045]
自动驾驶车辆上设置的传感器,例如雷达、激光、相机等,可以实施获取车辆周围的三维点云数据,在当前时刻,通过传感器获取初始点云数据集合,并对初始点云数据集合进行坐标系的变换,得到车体坐标系下的点云数据构成的集合。
[0046]
s204:根据三维点云数据集合中每个点云数据的坐标,将三维点云数据集合划分成多个网格构成的网格集合;
[0047]
将三维点云对应的空间划分成等分或者不等分的网格,每个网格中可以包括一个或者多个点云数据,也可以不包括点云数据,这样,在点云数据和网格之间就建立了对应关系。
[0048]
s206:获取每个网格包含的点云数据对应的分布信息;其中,分布信息包括该网格包含的点云数据的均值和协方差矩阵;
[0049]
分布信息中的均值和协方差矩阵,都是表征网格中的点云数据的密度信息的数据。均值包括x方向的均值、y方向的均值以及z方向的均值,还包括x、y、z方向的均值的总均值。协方差矩阵通过均值计算得到,具体的计算方法将在下文详细阐述,在此不在赘述。
[0050]
s208:根据每个网格的分布信息对三维点云数据集合划分得到的网格进行聚类,得到目标网格簇;其中,目标网格簇中每两个网格之间的相似度大于网格相似度阈值;
[0051]
在得到分布信息后,根据分布信息将相似度较高的网格归为相同类别,得到一个或者多个网格簇,网格和网格之间的相似度可以是js散度,或者kl散度,也可以是其他现有技术中的相似度,本技术实施例对此不进行限定。具体地,可以设置网格相似度阈值,将相似度大于网格相似度阈值的两个网格,归为相同类别,在遍历所有网格后,得到所有相同类别网格构成的网格簇。
[0052]
s210:根据目标网格簇中包含的点云数据确定目标网格簇对应的障碍物信息。
[0053]
在确定目标网格簇后,可以聚类网格簇内所有网格包含的点云,形成点云簇,并计算点云簇的相关属性,例如最小外包络框、质心、中心点等等,根据点云簇的相关属性,识别出最终的障碍物信息。
[0054]
本技术提供的上述障碍物识别方法,首先获取车辆当前位置的三维点云数据集合,并根据每个点云数据的坐标,将三维点云数据集合划分成多个网格,然后根据每个网格包含的点云数据对应的分布信息将相似度较高的网格组成目标网格簇,最后,根据目标网格簇中包含的点云数据确定障碍物信息。本技术相对于现有技术,并没有对点云数据进行地面分割,而是直接将三维点云映射到网格中,并根据分布信息对网格进行聚类,保留了所有三维点云的分布特性,使得最终对障碍物的识别结果具有较好的鲁棒性。
[0055]
在一些可能的实施方式中,获取到车辆当前的初始点云数据集合后,需要将初始点云数据集合进行坐标转换,转换成车体坐标系下的点云数据,具体可以采用如下方法进行坐标转换:获取初始点云数据集合;其中,初始点云数据集合为通过安装在车辆上的激光雷达传感器获取的三维数据;将初始点云集合中的每个初始点云数据转化成车体坐标系下的点云数据;其中,车体坐标系的原点为车辆后轴的中心点,x轴为车辆的车头方向,y轴为车辆的左侧方向,z轴为车辆的向上方向;将转化后的车体坐标系下的点云数据构成的集合确定为三维点云数据集合。
[0056]
具体地,车体坐标系为:以车辆后轴中心到地面投影建立坐标系,车辆前方为x轴,左方为y轴,z轴向上,服从右手坐标系。激光雷达和车体为刚性连接,两者之间的相对位置和姿态保持不变,通过旋转矩阵r和平移矩阵t参数将激光雷达坐标系映射到车体坐标系,具体坐标转换的公式如下:
[0057][0058]
其中,p

(x

,y

,z

)为变换之后的车体坐标系点,p(x,y,z)为激光雷达坐标系下的点,r大小为3*3旋转矩阵,t大小为3*1平移矩阵。将点云转换到车体坐标系,后续针对点云的操作都是在车体坐标系下完成。
[0059]
在另一些可能的实施方式中,上述步骤s204(根据三维点云数据集合中每个点云数据的坐标,将三维点云数据集合划分成多个网格构成的网格集合)可以具体通过以下方式确定:
[0060]
(1)将三维点云数据集合对应的预定空间范围,按照预设尺寸划分成多个网格;
[0061]
(2)根据三维点云数据集合中每个点云数据的坐标以及每个网格的端点坐标,确定每个点云数据对应的网格;
[0062]
(3)将每个点云数据对应的网格确定为网格集合。
[0063]
具体地,将三维点云数据集合对应的空间划分为指定大小的网格(二维)或体素(三维),为提高计算效率,本技术实施例中采用二维网格方式,建立二维平面栅格和点云映射关系,以车辆坐标系x-y为平面基准,在[x
min
,x
max
]、[y
min
,y
max
]矩形范围内建立栅网格,取x方向网格大小为size
x
,取y方向网格大小为sizey,最后建立栅网格大小为,最后建立栅网格大小为根据距离计算每个点所属网格标号clonum,rownum。
[0064]
[0065][0066]
例如,设定栅网格大小为20*10,每个网格的长为2,宽为1,那么可以建立10*10=100个网格的栅网格。
[0067]
下面详细介绍每个网格包含的点云数据对应的分布信息如何确定。上述的分布信息包括网格包含的点云数据对应的均值,该均值u可以通过以下公式确定:
[0068][0069][0070][0071]
u=[u
x
,uy,uz]
t
[0072]
其中,n为该网格中包含的点云数据的个数,xi、yi和zi为每个点云数据的坐标。
[0073]
上述的分布信息包括网格包含的点云数据对应的协方差矩阵,该协方差矩阵∑通过以下公式确定;
[0074][0075]
其中,a和b的取值为每个点云数据的坐标x、y或z,n为该网格中包含的点云数据的个数。
[0076]
为了能够对网格的聚类能够更加高效,需要在聚类之前排除没有障碍物可能的网格,基于此,本技术实施例还提供了另一种障碍物识别方法,如图3所示,该方法具体包括以下步骤:
[0077]
s302:获取车辆当前所在位置的三维点云数据集合;其中,三维点云数据集合为车辆对应的车体坐标系下的点云数据构成的集合;点云数据是通过安装在车辆上的激光雷达传感器确定的;
[0078]
s304:根据三维点云数据集合中每个点云数据的坐标,将三维点云数据集合划分成多个网格构成的网格集合;
[0079]
s306:根据每个网格中包含的点云数据的数量,确定该网格的第一属性;其中,第一属性用于表征网格是否包含点云数据;
[0080]
s308:将网格集合中第一属性表征空网格的网格删除;
[0081]
其中,第一属性包括空网格和非空网格;具体地,可以通过以下方法确定该网格的第一属性:(1)判断网格中包含的点云数据的数量是否大于预设第一数量阈值;(2)如果是,
将该网格的第一属性确定为非空网格;(3)否则,将该网格的第一属性确定为空网格。
[0082]
例如,当前网格中包含的点云数据为n,n=20,设定第一数量阈值为25,那么当前网格中包含的点云数据的数量小于第一数量阈值,标记当前网格为空网格。
[0083]
s310:获取每个网格包含的点云数据对应的分布信息;其中,分布信息包括该网格包含的点云数据的均值和协方差矩阵;
[0084]
s312:对每个网格的协方差矩阵进行求解,得到该网格对应的特征值集合;
[0085]
s314:根据特征值集合确定该网格的第二属性;其中,第二属性用于表征该网格中包含的点云数据构成的物体形状;
[0086]
s316:将网格集合中第二属性表征地面网格的网格删除;
[0087]
其中,第二属性包括地面网格和非地面网格,上述步骤已经计算得到每个网格的协方差矩阵,那么可以进一步采用svd方法对每个网格的协方差矩阵求解特征值和对应的特征向量,取前三个最大特征值和其对应的特征向量。三维高斯分布的不同形状取决于协方差矩阵特征值之间的关系,图4为本技术实施例提供的三维高斯分布中不同协方差的值对应的不同形状的示意图,如图4所示,箭头方向表示分布的特征向量,大小表示特征值。如果三个特征值相近,则该网格内包含的点云数据分布类似于一个点或球体,如果一个特征值远大于另外两个特征值,则该网格内包含的点云数据分布类似与一条直线,如果一个特征值远小于另外两个特征值,则这个网格内包含的点云数据的正态分布描述的是一个平面。
[0088]
通过三维特征向量分布来描叙该格子点云分布特征,若三维特征向量符合地面特征,则将该网格标记为地面网格grid
ground
。如图5所示,其示出了本技术实施例提供的一种标记了网格属性的网格示意图,图中标记
‘0’
为地面网格和空网格,标记
‘1’
为占用网格。
[0089]
基于以上描述,在一些可能的实施方式中,可以根据如下方法确定该网格的第二属性:(1)将特征值集合中数值最大的三个特征值对应的特征向量确定为该网格对应的第一特征集;(2)判断第一特征集是否满足预设地面特征;(3)如果否,确定该网格的第二属性为非地面网格;(4)否则,确定该网格的第二属性为地面网格。
[0090]
s318:根据每个网格的分布信息对三维点云数据集合划分得到的网格进行聚类,得到目标网格簇;其中,目标网格簇中每两个网格之间的相似度大于网格相似度阈值;
[0091]
s320:根据目标网格簇中包含的点云数据确定目标网格簇对应的障碍物信息。
[0092]
本技术上述实施例相较于现有的二个阶段激光雷达点云障碍物检测方法,采用一阶段栅网格特征提取办法对点云进行映射处理,将三维点云映射到二维网格后,后续通过聚类网格的方法来索引点云形成点云簇。降低算法复杂度,提高算法运行效率。并且,通过计算协方差矩阵的特征值及其特征向量来表征网格内点云的分布特征,更加充分利用三维点云特征信息用于区分地面网格和占用网格,有效提高了障碍物识别的准确度。
[0093]
图6为本技术实施例提供的一种对网格进行聚类的方法,该方法基于网格集合进行网格聚类,其中,网格集合可以是最初进行点云数据划分后得到的网格集合,也可以是在网格集合中删除了空网格的更新后的网格集合,还可以是进一步在更新后的网格集合中删除了地面网格的网格集合,如图6所示,该方法具体包括以下步骤:
[0094]
s602:根据预设邻域规则,确定与第一网格相邻的第二网格;其中,第一网格与第二网格为网格集合中的网格;
[0095]
预设领域规则可以具体是四邻域或者八邻域,本技术实施例以八邻域为例进行说明:
[0096]
(1)首先,遍历网格集合,对第i行第j列grid
(i,j)
进行八邻域遍历,计算grid
(i,j)
和grid
(i k,j k)
相邻网格的js散度,其中k∈(-1,0,1);设定相邻网格js散度阈值threshold
js
,其中格子grid
(i,j)
高斯分布为p1,格子grid
(i k,j k)
高斯分布为p2。
[0097]
(2)其次,计算p1、p2之间的js散度,若js(p1||p2)《threshold
js
,则对该网格进行标记并提取对应网格序号用于聚类,然后对grid
(i k,j k)
进行八邻域遍历,递归操作下去,若遍历到标记网格或者js(p1||p2)》threshold
js
则结束。
[0098]
(3)若js(p1||p2)》threshold
js
,则取不同k值分别计算对应的js散度继续执行上述(1)的步骤。
[0099]
(4)再继续执行遍历网格操作,若遍历到该网格时已经被遍历过则跳过,直到所有网格遍历完成。
[0100]
s604:根据第一网格的分布信息确定第一网格的第一概率密度函数,以及根据第二网格的分布信息确定第二网格的第二概率密度函数;
[0101]
其中,多维高斯分布的概率密度函数公式如下:
[0102][0103]
其中,d=3维,u、∑分别表示均值向量和协方差矩阵。
[0104]
s606:根据第一概率密度函数和第二概率密度函数确定第一网格和第二网格之间的相似度;
[0105]
本技术实施例通过计算相邻网格之间高斯分布之间的js散度衡量其云分布的相似度。js散度是对称性,其取值为0到1之间,若两个分布完全相同,则值为0;若完全不同,则值为1。
[0106]
基于以上描述,在一些可能的实施方式中,上述相似度为js相似度;上述相似度通过以下公式确定:
[0107][0108]
其中,p1表示第一网格的高斯分布的概率密度函数、p2表示第二网格的高斯分布的概率密度函数,kl表示第一网格和第二网格之间的kl散度。
[0109]
为了得到js散度,需要计算kl散度,上述js散度公式中的kl散度可以通过以下公式计算得到:
[0110][0111]
其中,d表示维度,d=3,p1、p2表示相邻网格的高斯分布的概率密度函数。
[0112]
s608:判断相似度是否大于网格相似度阈值,如果是,执行步骤s610;否则,执行步骤s612;
[0113]
s610:将第一网格的第三属性和第二网格的第三属性标记为第一类别;其中,第三属性用于表征网格中包含的点云数据表征的物体的类别;
[0114]
s612:将第一网格的第三属性和第二网格的第三属性标记为不同类别;
[0115]
s614:判断是否所有网格都计算过相似度,如果是,执行步骤s616,否则,执行步骤s618;
[0116]
s616:将所有第三属性为第一类别的网络构成的集合确定为目标网格簇;
[0117]
s618:将第二网格确定为第一网格,重新执行步骤s602。
[0118]
本技术上述实施例通过计算相邻网格概率密度函数的相似度来进行八领域递归聚类,更好体现相邻网格点云分布相似度进行聚类。因为激光雷达点云具有三维空间属性,障碍物点云和背景点云具有明显的对比特征。所以使用概率密度分布函数更好区分前景和背景,同时,更好地表征了点云局部特征。
[0119]
图7为本技术实施例提供的实际应用场景中标记了不同类别的点云数据集合的示意图,图中的点云数据分为三个类别,分别为a、b和c,进一步地,分别针对a、b和c进行障碍物的识别,得到障碍物信息。
[0120]
基于上述方法实施例,本技术实施例还提供一种障碍物识别装置,参见图8所示,该装置包括:
[0121]
点云数据获取模块802,用于获取车辆当前所在位置的三维点云数据集合;其中,三维点云数据集合为车辆对应的车体坐标系下的点云数据构成的集合;点云数据是通过安装在车辆上的激光雷达传感器确定的;
[0122]
划分模块804,用于根据三维点云数据集合中每个点云数据的坐标,将三维点云数据集合划分成多个网格构成的网格集合;
[0123]
分布信息获取模块806,用于获取每个网格包含的点云数据对应的分布信息;其中,分布信息包括该网格包含的点云数据的均值和协方差矩阵;
[0124]
聚类模块808,用于根据每个网格的分布信息对三维点云数据集合划分得到的网格进行聚类,得到目标网格簇;其中,目标网格簇中每两个网格之间的相似度大于网格相似度阈值;
[0125]
障碍物确定模块810,用于根据目标网格簇中包含的点云数据确定目标网格簇对应的障碍物信息。
[0126]
本技术提供的上述障碍物识别装置,首先获取车辆当前位置的三维点云数据集合,并根据每个点云数据的坐标,将三维点云数据集合划分成多个网格,然后根据每个网格包含的点云数据对应的分布信息将相似度较高的网格组成目标网格簇,最后,根据目标网格簇中包含的点云数据确定障碍物信息。本技术相对于现有技术,并没有对点云数据进行地面分割,而是直接将三维点云映射到网格中,并根据分布信息对网格进行聚类,保留了所有三维点云的分布特性,使得最终对障碍物的识别结果具有较好的鲁棒性。
[0127]
上述点云数据获取模块802还用于:获取初始点云数据集合;其中,初始点云数据集合为通过安装在车辆上的激光雷达传感器获取的三维数据;将初始点云集合中的每个初始点云数据转化成车体坐标系下的点云数据;其中,车体坐标系的原点为车辆后轴的中心点,x轴为车辆的车头方向,y轴为车辆的左侧方向,z轴为车辆的向上方向;将转化后的车体坐标系下的点云数据构成的集合确定为三维点云数据集合。
[0128]
上述划分模块804还用于:将三维点云数据集合对应的预定空间范围,按照预设尺寸划分成多个网格;根据三维点云数据集合中每个点云数据的坐标以及每个网格的端点坐
标,确定每个点云数据对应的网格;将每个点云数据对应的网格确定为网格集合。
[0129]
上述网格包含的点云数据对应的均值u通过以下公式确定:上述网格包含的点云数据对应的均值u通过以下公式确定:u=[u
x
,uy,uz]
t
;其中,n为该网格中包含的点云数据的个数,xi、yi和zi为每个点云数据的坐标。
[0130]
上述网格包含的点云数据对应的协方差矩阵∑通过以下公式确定;其中,其中,a和b的取值为每个点云数据的坐标x、y或z,n为该网格中包含的点云数据的个数。
[0131]
上述装置还包括:第一属性确定模块,用于根据每个网格中包含的点云数据的数量,确定该网格的第一属性;其中,第一属性用于表征网格是否包含点云数据;第一删除模块,用于将网格集合中第一属性表征空网格的网格删除。
[0132]
上述,第一属性包括空网格和非空网格;上述根据每个网格中包含的点云数据的数量,确定该网格的第一属性的过程,包括:判断网格中包含的点云数据的数量是否大于预设第一数量阈值;如果是,将该网格的第一属性确定为非空网格;否则,将该网格的第一属性确定为空网格。
[0133]
上述装置还包括:特征值集合确定模块,用于对每个网格的协方差矩阵进行求解,得到该网格对应的特征值集合;第二属性确定模块,用于根据特征值集合确定该网格的第二属性;其中,第二属性用于表征该网格中包含的点云数据构成的物体形状;第二删除模块,用于将网格集合中第二属性表征地面网格的网格删除。
[0134]
上述第二属性包括地面网格和非地面网格;上述根据特征值集合确定该网格的第二属性的过程,包括:将特征值集合中数值最大的三个特征值对应的特征向量确定为该网格对应的第一特征集;判断第一特征集是否满足预设地面特征;如果否,确定该网格的第二属性为非地面网格;否则,确定该网格的第二属性为地面网格。
[0135]
上述根据每个网格的分布信息对三维点云数据集合划分得到的网格进行聚类,得到目标网格簇的过程,包括:根据预设邻域规则,确定与第一网格相邻的第二网格;其中,第一网格与第二网格为网格集合中的网格;根据第一网格的分布信息确定第一网格的第一概率密度函数,以及根据第二网格的分布信息确定第二网格的第二概率密度函数;根据第一概率密度函数和第二概率密度函数确定第一网格和第二网格之间的相似度;判断相似度是否大于网格相似度阈值;如果是,将第一网格的第三属性和第二网格的第三属性标记为第一类别;其中,第三属性用于表征网格中包含的点云数据表征的物体的类别;将所有第三属性为第一类别的网络构成的集合确定为目标网格簇。
[0136]
上述相似度为js相似度;通过以下公式计算上述第一网格和第二网格之间的相似度:其中,p1表示第一网格的高斯分布的概率密度函数、p2表示第二网格的高斯分布的概率密度函数,kl表示第一网
格和第二网格之间的kl散度。
[0137]
本技术实施例提供的障碍物识别装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,上述装置的实施例部分未提及之处,可参考前述障碍物识别方法实施例中的相应内容。
[0138]
本技术实施例还提供了一种电子设备,如图9所示,为该电子设备的结构示意图,其中,该电子设备包括处理器1501和存储器1502,该存储器1502存储有能够被该处理器1501执行的计算机可执行指令,该处理器1501执行该计算机可执行指令以实现上述障碍物识别方法。
[0139]
在图9示出的实施方式中,该电子设备还包括总线1503和通信接口1504,其中,处理器1501、通信接口1504和存储器1502通过总线1503连接。
[0140]
其中,存储器1502可能包含高速随机存取存储器(ram,random access memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口1504(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线1503可以是isa(industry standard architecture,工业标准体系结构)总线、pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。所述总线1503可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0141]
处理器1501可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1501中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1501可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器1501读取存储器中的信息,结合其硬件完成前述实施例的障碍物识别方法的步骤。
[0142]
本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,该计算机可执行指令促使处理器实现上述障碍物识别方法,具体实现可参见前述方法实施例,在此不再赘述。
[0143]
本技术实施例所提供的障碍物识别方法、装置及电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
[0144]
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本技术的范围。
[0145]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0146]
在本技术的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0147]
最后应说明的是:以上所述实施例,仅为本技术的具体实施方式,用以说明本技术的技术方案,而非对其限制,本技术的保护范围并不局限于此,尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本技术实施例技术方案的精神和范围,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。
再多了解一些

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

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

相关文献