掌桥专利:专业的专利平台
掌桥专利
首页

一种物体检测方法及装置

文献发布时间:2023-06-19 11:44:10


一种物体检测方法及装置

技术领域

本发明属于汽车技术领域,尤其涉及一种物体检测方法及装置。

背景技术

在辅助驾驶、智能驾驶领域中,车载激光雷达作为探测车辆周围障碍物的主要手段而得到广泛应用。在每个探测周期里,车载激光雷达都会反馈由若干激光点组成的点云,车载控制器通过分析点云完成车辆周围的障碍物的检测。

具体的,车载控制器在得到激光雷达反馈的点云后,往往首先对激光雷达进行聚类分析,得到一个或多个点云簇,并认为一个点云簇对应一个物体,进一步的,还会应用点云分类算法对所得点云簇进行分类,确定各点云簇对应的物体的类别。

然而,在实际应用中,车辆的行驶环境极为复杂,车辆周围的物体以及物体之间的距离在不断变化,现有的物体检测方法在识别物体时往往存在欠聚类和过聚类的问题,所谓欠聚类,是指将大型物体,比如卡车,识别为独立的两个物体;所谓过聚类,是指将间距较小的两个问题,比如行人和小轿车,识别为一个物体。显然,现有物体检测方法的检测准确度不高,影响车辆的安全行驶。

发明内容

有鉴于此,本发明的目的在于提供一种物体检测方法及装置,解决现有技术中存在的过聚类和欠聚类问题,提高物体检测的准确度,有助于改善行程安全性,具体方案如下:

第一方面,本发明提供一种物体检测方法,包括:

获取待处理点云;

以第一预设距离阈值为激光点间距的上限值,对所述待处理点云中的激光点进行聚类,得到至少一个点云簇;

其中,所述点云簇中包括至少一个检测对象,所述第一预设距离阈值基于同一检测对象的不同部分之间可能出现的最大距离设置;

构建所述点云簇的有向包围框,并将所述有向包围框对应的空间划分为多个预设规格的体素;

根据所述点云簇对应的体素,确定所述点云簇内包括的检测对象的目标数量;

对所述点云簇对应的体素进行聚类,直至得到所述目标数量个体素簇,以使同一所述体素簇内的激光点对应同一个检测对象。

可选的,所述根据所述点云簇对应的体素,确定所述点云簇内包括的检测对象的目标数量,包括:

获取所述点云簇对应的各体素的体素特征,其中,所述体素特征由预设维数的特征向量表征;

根据所述点云簇对应的各体素的体素特征,确定所述点云簇内包括的检测对象的目标数量。

可选的,所述获取所述点云簇对应的各体素的体素特征,包括:

分别将所述点云簇对应的每一体素作为目标体素;

将所述目标体素内包括的激光点输入预训练的特征提取模型,得到所述目标体素的体素特征;

其中,所述特征提取模型以体素包括的激光点为输入,以预设维数的特征向量为输出,训练神经网络得到。

可选的,所述根据所述点云簇对应的各体素的体素特征,确定所述点云簇内包括的检测对象的目标数量,包括:

获取包括多个体素标准特征的体素标准特征集;

针对所述点云簇对应的每一个体素,分别计算所述体素的体素特征与各所述体素标准特征的欧式距离;

将所得欧式距离小于第二预设距离阈值的体素特征作为目标体素特征;

根据所述目标体素特征的数量确定所述点云簇内包括的检测对象的目标数量。

可选的,所述体素标准特征集包括多个特征子集;

所述根据所述目标体素特征的数量确定所述点云簇内包括的检测对象的目标数量,包括:

分别统计各所述特征子集中各所述体素标准特征对应的目标体素特征的数量;

针对每一所述特征子集,将所述特征子集中各所述体素标准特征对应的目标体素特征的数量中的最大值,作为所述特征子集对应的检测对象的数量;

将各所述特征子集对应的检测对象的数量之和,作为所述点云簇内包括的检测对象的目标数量。

可选的,一所述特征子集对应一对象类型,所述方法还包括:

根据所述目标体素特征对应的体素标准特征所属的特征子集,确定检测对象对应的对象类型。

可选的,获取所述体素标准特征集的过程,包括:

获取样本对象的样本点云;

构建所述样本点云的有向包围框;

将所述样本点云的有向包围框对应的空间划分为多个所述预设规格的样本体素;

分别将所述样本体素内包括的激光点输入所述特征提取模型,得到相应的候选体素标准特征;

在各所述候选体素标准特征中筛选满足预设筛选规则的体素标准特征,得到所述体素标准特征集。

可选的,所述以第一预设距离阈值为激光点间距的上限值,对所述待处理点云中的激光点进行聚类,得到至少一个点云簇,包括:

执行如下操作,直至确定所述待处理点云中所有激光点所属的点云簇:

构建包括一个目标激光点初始点云簇,其中,所述目标激光点为所述待处理点云簇内未确定所属点云簇的激光点中的任意一个;

计算所述目标激光点与所述初始聚类簇以外的激光点的欧式距离;

将所得欧式距离小于第一预设距离阈值的激光点保存至所述初始点云簇;

将保存至所述初始聚类簇内的激光点依次作为目标激光点;

返回所述计算所述目标激光点与所述初始聚类簇以外的激光点的欧式距离步骤,直至所述初始聚类簇以外的激光点与所述初始聚类簇内任一目标激光点之间的欧式距离大于等于所述第一预设距离阈值,得到最终的点云簇。

第二方面,本发明提供一种物体检测装置,包括:

第一获取单元,用于获取待处理点云;

第一聚类单元,用于以第一预设距离阈值为激光点间距的上限值,对所述待处理点云中的激光点进行聚类,得到至少一个点云簇;

其中,所述点云簇中包括至少一个检测对象,所述第一预设距离阈值基于同一检测对象的不同部分之间可能出现的最大距离设置;

划分单元,用于构建所述点云簇的有向包围框,并将所述有向包围框对应的空间划分为多个预设规格的体素;

数量确定单元,用于根据所述点云簇对应的体素,确定所述点云簇内包括的检测对象的目标数量;

第二聚类单元,用于对所述点云簇对应的体素进行聚类,直至得到所述目标数量个体素簇,以使同一所述体素簇内的激光点对应同一个检测对象。

可选的,所述数量确定单元,用于根据所述点云簇对应的体素,确定所述点云簇内包括的检测对象的目标数量时,具体包括:

获取所述点云簇对应的各体素的体素特征,其中,所述体素特征由预设维数的特征向量表征;

根据所述点云簇对应的各体素的体素特征,确定所述点云簇内包括的检测对象的目标数量。

上述本发明提供的物体检测方法,在得到待处理点云后,对待处理点云进行两次聚类,第一次聚类得到点云簇的过程中,第一预设距离阈值基于同一检测对象的不同部分之间可能出现的最大距离设置,可以防止将外形较大的检测对象划分为多个个体,解决欠聚类问题,然后针对各个点云簇,以体素为基础进行第二次聚类,在确定各个点云簇内包括的检测对象的目标数量的前提下,以目标数量作为结束聚类过程的结束条件,确保可以检测出点云簇内的每个检测对象,进而解决过聚类的问题,因此,与现有技术相比,本发明提供的方法能够解决现有技术中存在的过聚类和欠聚类问题,提高物体检测的准确度,有助于改善行程安全性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种物体检测方法的流程图;

图2是本发明实施例提供的一种物体检测装置的结构框图;

图3是本发明实施例提供的另一种物体检测装置的结构框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供的物体检测方法,应用于整车中设置的用于辅助驾驶或自动驾驶的车载控制器,当然,同样可以应用于整车中其他需要基于激光雷达反馈的激光点云进行物体检测识别的车载控制器,在某些情况下,还可以应用于网络侧的服务器。

参见图1,图1是本发明实施例提供的一种物体检测方法的流程图,本发明实施例提供的物体检测方法的流程可以包括:

S100、获取待处理点云。

在实际应用中,激光雷达会按照固定的采样周期反馈点云,本发明实施例中述及的待处理点云可以是激光雷达直接反馈的点云,也可以是暂存于存储器内的点云,任何需要进行物体检测识别的点云都可以作为本实施例中述及的待处理点云,本发明对于待处理点云的具体获取方法不做限定。

S110、以第一预设距离阈值为激光点间距的上限值,对待处理点云中的激光点进行聚类,得到至少一个点云簇。

在本实施例中,第一预设距离阈值是基于同一检测对象的不同部分之间可能出现的最大距离设置的。结合第一预设距离阈值的定义可以看出,在不同的应用场景中,第一预设距离阈值的选取是不同的,比如,在高速自动驾驶场景中,通常物体为连续的刚体,且物体间距离较大,可以将第一预设距离阈值设置为0.2米-1.5米;在港口封闭园区场景中,由于卡车通常体积较大,卡车各组成部分之间间距较大,此种情况下可以将第一预设距离阈值设置为0.5-3.0米。

可选的,在得到待处理点云之后,可执行如下操作,直至确定待处理点云中所有激光点所属的点云簇:

构建包括一个目标激光点初始点云簇,其中,目标激光点为待处理点云簇内未确定所属点云簇的激光点中的任意一个;

计算目标激光点与初始聚类簇以外的激光点的欧式距离;

将所得欧式距离小于第一预设距离阈值的激光点保存至初始点云簇;

将保存至初始聚类簇内的激光点依次作为目标激光点;

返回计算目标激光点与初始聚类簇以外的激光点的欧式距离步骤,直至初始聚类簇以外的激光点与初始聚类簇内任一目标激光点之间的欧式距离大于等于第一预设距离阈值,得到最终的点云簇。

基于上述划分点云簇的方法,下面给出一种更为具体的划分点云簇的方法:

S1、待处理点云以点云集合P(p0,…,pi,…pn)表示,为该待处理点云创建Kd树,其中,n为待处理点云内包括的激光点数量。

进一步的,预设列表Q和列表C,将当前聚类过程中的初始点云簇保存在列表Q中,将聚类完成后得到的最终的点云簇保存在列表C中。

根据Kd树的基本原理可知,构建待处理点云的Kd树,可以有效降低后续选择过程中的对待处理点云簇内各个激光点的筛选判定次数,进而有效提高本步骤对划分点云簇的处理效率。对于Kd树的具体构建过程,可以参照现有技术实现,本发明对此不做限定。

S2、假设待处理点云中的所有激光点的初始状态均标记为未处理状态,对点云集合P中的每一激光点pi执行以下步骤:

S21、判断pi的标记状态,若为未处理状态,将pi加入列表Q中,并继续执行S22;若为已处理状态,则跳过pi,对下一个点云执行S21-S24;

S22、将pi的状态标记为已处理,使用Kd树近邻法寻找离pi最近的m个激光点,计算这m个激光点到pi的距离,将距离小于前述第一预设距离阈值并且标记状态为未处理的激光点加入列表Q中;如果距离大于第一预设距离阈值或标记状态为已处理,则对跳过该激光点,不做任何处理;

S23、对列表Q中每个未处理的点均返回S22执行,直至列表Q中的每一个激光点均标记为已处理;

S24、如果列表Q中的激光点个数在[A,B]之间,将列表Q中当前点云簇作为最终划分得到的点云簇,并保存至列表C中。将列表Q置为空集进行下一次操作。

其中,A表示点云中物体对应的最少激光点数量,B表示点云中物体对应的最多激光点数量。在实际应用中,A和B的取值需要结合具体的应用场景选择。

S3、当待处理点云中的所有激光点的状态均为已处理后,算法终止。

基于上述内容可以看出,本步骤是对待处理点云的第一次聚类处理,处理过程中总的原则是确保同一物体不会被划分到两个点云簇中,经过此步骤,能够得到一个或多个点云簇,且每个点云簇中包括至少一个检测对象。

需要提前说明的是,经过本步骤的处理,待处理点云有可能被划分为多个点云簇,基于此,在后续S120-S140的处理步骤是针对每一个点云簇都需要执行的,即针对每一点云簇执行S120-S140步骤,在后续内容中不再对此进行单独说明。

S120、构建点云簇的有向包围框,并将有向包围框对应的空间划分为多个预设规格的体素。

在经过前述步骤划分得到点云簇之后,构建点云簇的有向包围框,然后,按照预设规格划分所得有向包围框对应的空间,最终可得到多个预设规格的体素。

需要说明的是,对于针对点云簇的有向包围框的构建,以及体素的划分,都可以参照现有技术实现,本发明对此不做限定。至于预设规格,可以结合控制器的数据处理能力以及物件检测的精度要求灵活选择。

S130、根据点云簇对应的体素,确定点云簇内包括的检测对象的目标数量。

为确定个点云簇内包括的检测对象的具体数量,本发明实施例所提供的检测方法预设一个体素标准特征集,该体素标准特征集中包括多个体素标准特征,基于体素标准特征确定点云簇内包括的检测对象的数量。

下面,介绍体素标准特征集的获取过程:

首先,获取样本对象的样本点云。本实施例中述及的样本对象指的是已知的已经标注好的样本物体。在实际操作中,可以将卡车、轿车、人体等实物作为样本对象,然后获取激光雷达反馈的样本对象的样本点云。可以想到的是,由于激光雷达检测的对象是已知的,获取得到的样本点云中具体包括何种样本对象,以及具体包括几个样本对象都是可以明确知道的。

得到样本点云之后,即可构建样本点云的有向包围框,并将样本点云的有向包围框对应的空间划分为多个前述预设规格的样本体素。这里需要说明的是,实际应用中划分体素所依据的预设规格与设置体素标准特征时所依据的预设规格应保持一致,从而保证体素标准特征的有效性。

然后,分别将各个样本体素内包括的激光点输入预设的特征提取模型,得到相应的候选体素标准特征。其中,本发明实施例提供的特征提取模型是以体素包括的激光点为输入,以预设维数的特征向量为输出,训练神经网络得到。至于特征提取模型的具体训练过程,可以参照现有技术实现,本发明对此不做限定。

由于相同类别的样本对象在相同部分的特征向量往往是非常接近的,因此,在得到样本物体的候选体素标准特征后,需要在各候选体素标准特征中筛选满足预设筛选规则的体素标准特征,筛选后得到的体素特征所构成的集合,即为体素标准特征集。由于体素标准特征集需要占用一定的存储空间,因此,对于预设筛选规则的设置,可以根据车载存储器的存储空间、控制器的运算能力等参数选择,比如,可以限制体素标准特征的数量,可以限制相近体素标准特征的取值方式等。

可选的,基于上述提供的体素标准特征集,首先分别将待处理点云对应的各个点云簇的每一体素作为目标体素,将目标体素内包括的激光点输入前述内容中述及的预训练的特征提取模型,得到各个目标体素的体素特征,即预设维数的特征向量。

然后,根据点云簇对应的各体素的体素特征,确定点云簇内包括的检测对象的目标数量。具体的,针对点云簇对应的每一个体素,分别计算体素的体素特征与各体素标准特征的欧式距离,并将所得欧式距离小于第二预设距离阈值的体素特征作为目标体素特征。欧式距离的具体计算公式如下:

其中,d表示体素特征与体素标准特征之间的欧式距离;

ei表示第i个体素特征;

Vj表示第j个体素标准特征;

L表示表示特征的长度,比如特征长度为128,那么这个特征由128个数组成的序列表示;

eik表示ei特征的第k个元素值;

Vjk表示Vj标准特征的第k个元素值。

确定各点云簇内包括的目标体素特征之后,即可根据各点云簇内目标体素特征的数量确定相应点云簇内包括的检测对象的目标数量。

具体的,在构建体素标准特征集的过程中,会选择不同类型的样本对象,因此,根据样本对象的不同类型,可以进一步将体素标准特征集划分为多个特征子集,每一个特征子集对应一个对象类型。基于此,分别统计各特征子集中各体素标准特征对应的目标体素特征的数量;并针对每一特征子集,将特征子集中各体素标准特征对应的目标体素特征的数量中的最大值,作为特征子集对应的检测对象的数量。

然后,将各特征子集对应的检测对象的数量之和,作为点云簇内包括的检测对象的目标数量。

S140、对点云簇对应的体素进行聚类,直至得到目标数量个体素簇,以使同一体素簇内的激光点对应同一个检测对象。

在确定点云簇内包括的检测对象的目标数量之后,即可对点云簇对应的体素进行聚类,直至得到目标数量个体素簇,以使同一体素簇内的激光点对应同一个检测对象。

通过此步骤,最终可以实现对点云簇内包括的多个检测对象的区分,解决现有技术中的欠聚类问题。

需要说明的是,对点云簇的体素进行聚类的过程,可以参照现有技术中的聚类方法实现,此处不再详述。

综上所述,本发明实施例提供的物体检测方法,在得到待处理点云后,对待处理点云进行两次聚类,第一次聚类得到点云簇的过程中,第一预设距离阈值基于同一检测对象的不同部分之间可能出现的最大距离设置,可以防止将外形较大的检测对象划分为多个个体,解决欠聚类问题,然后针对各个点云簇,以体素为基础进行第二次聚类,在确定各个点云簇内包括的检测对象的目标数量的前提下,以目标数量作为结束聚类过程的结束条件,确保可以检测出点云簇内的每个检测对象,进而解决过聚类的问题,因此,与现有技术相比,本发明提供的方法能够解决现有技术中存在的过聚类和欠聚类问题,提高物体检测的准确度,有助于改善行程安全性。

进一步的,如前所述,体素标准特征集中的每一个特征子集对应一个对象类别,在前述步骤确定点云簇包括的检测对象的目标数量的同时,还可以根据目标体素特征对应的体素标准特征所属的特征子集,确定检测对象对应的对象类型,比如,具体确定检测对象是车辆还是行人等。

下面对本发明实施例提供的物体检测装置进行介绍,下文描述的物体检测装置可以认为是为实现本发明实施例提供的物体检测方法,在中央设备中需设置的功能模块架构;下文描述内容可与上文相互参照。

可选的,参见图2,图2是本发明实施例提供的一种物体检测装置的结构框图,本实施例提供的物体检测装置,包括:

第一获取单元10,用于获取待处理点云;

第一聚类单元20,用于以第一预设距离阈值为激光点间距的上限值,对待处理点云中的激光点进行聚类,得到至少一个点云簇;

其中,点云簇中包括至少一个检测对象,第一预设距离阈值基于同一检测对象的不同部分之间可能出现的最大距离设置;

划分单元30,用于构建点云簇的有向包围框,并将有向包围框对应的空间划分为多个预设规格的体素;

数量确定单元40,用于根据点云簇对应的体素,确定点云簇内包括的检测对象的目标数量;

第二聚类单元50,用于对点云簇对应的体素进行聚类,直至得到目标数量个体素簇,以使同一体素簇内的激光点对应同一个检测对象。

可选的,数量确定单元40,用于根据点云簇对应的体素,确定点云簇内包括的检测对象的目标数量时,具体包括:

获取点云簇对应的各体素的体素特征,其中,体素特征由预设维数的特征向量表征;

根据点云簇对应的各体素的体素特征,确定点云簇内包括的检测对象的目标数量。

可选的,数量确定单元40,用于获取点云簇对应的各体素的体素特征,具体包括:

分别将点云簇对应的每一体素作为目标体素;

将目标体素内包括的激光点输入预训练的特征提取模型,得到目标体素的体素特征;

其中,特征提取模型以体素包括的激光点为输入,以预设维数的特征向量为输出,训练神经网络得到。

可选的,数量确定单元40,用于根据点云簇对应的各体素的体素特征,确定点云簇内包括的检测对象的目标数量,具体包括:

获取包括多个体素标准特征的体素标准特征集;

针对点云簇对应的每一个体素,分别计算体素的体素特征与各体素标准特征的欧式距离;

将所得欧式距离小于第二预设距离阈值的体素特征作为目标体素特征;

根据目标体素特征的数量确定点云簇内包括的检测对象的目标数量。

可选的,体素标准特征集包括多个特征子集;

数量确定单元40,用于根据目标体素特征的数量确定点云簇内包括的检测对象的目标数量,具体包括:

分别统计各特征子集中各体素标准特征对应的目标体素特征的数量;

针对每一特征子集,将特征子集中各体素标准特征对应的目标体素特征的数量中的最大值,作为特征子集对应的检测对象的数量;

将各特征子集对应的检测对象的数量之和,作为点云簇内包括的检测对象的目标数量。

可选的,数量确定单元40用于获取体素标准特征集的过程,具体包括:

获取样本对象的样本点云;

构建样本点云的有向包围框;

将样本点云的有向包围框对应的空间划分为多个预设规格的样本体素;

分别将样本体素内包括的激光点输入特征提取模型,得到相应的候选体素标准特征;

在各候选体素标准特征中筛选满足预设筛选规则的体素标准特征,得到体素标准特征集。

可选的,第一聚类单元20,用于以第一预设距离阈值为激光点间距的上限值,对待处理点云中的激光点进行聚类,得到至少一个点云簇,具体包括:

执行如下操作,直至确定待处理点云中所有激光点所属的点云簇:

构建包括一个目标激光点初始点云簇,其中,目标激光点为待处理点云簇内未确定所属点云簇的激光点中的任意一个;

计算目标激光点与初始聚类簇以外的激光点的欧式距离;

将所得欧式距离小于第一预设距离阈值的激光点保存至初始点云簇;

将保存至初始聚类簇内的激光点依次作为目标激光点;

返回计算目标激光点与初始聚类簇以外的激光点的欧式距离步骤,直至初始聚类簇以外的激光点与初始聚类簇内任一目标激光点之间的欧式距离大于等于第一预设距离阈值,得到最终的点云簇。

可选的,一特征子集对应一对象类型,在此基础上,参见图3,图3是本发明实施例提供的另一种物体检测装置的结构框图,在图2所示实施例的基础上,还包括:

类型确定单元60,用于根据目标体素特征对应的体素标准特征所属的特征子集,确定检测对象对应的对象类型。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的核心思想或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 运动物体检测装置、运动物体检测方法、运动物体检测程序、运动物体跟踪装置、运动物体跟踪方法以及运动物体跟踪程序
  • 运动物体检测装置、运动物体检测方法、运动物体跟踪装置、运动物体跟踪方法
技术分类

06120113033823