用于无人驾驶车辆的目标物体识别方法和装置与流程

文档序号:11134677阅读:922来源:国知局
用于无人驾驶车辆的目标物体识别方法和装置与制造工艺

本申请涉及机动车技术领域,具体涉及无人驾驶车辆技术领域,尤其涉及用于无人驾驶车辆的目标物体识别方法和装置。



背景技术:

无人驾驶车辆的控制系统依赖传感器感知周围环境,包括车辆、行人和交通标识等。无人驾驶车辆通常会配置多种传感器设备以获取更多的信息量。不同的传感器之间可以互补,提供更丰富的信息供无人驾驶车辆的控制系统进行感知。激光雷达传感器和摄像头传感器是无人驾驶车辆中最常用同时也是最主要的两种传感器设备。

激光雷达传感器利用激光扫描无人驾驶车辆的周围环境并生成点云数据,通过点云数据无人驾驶车辆的控制系统能够方便快速地建立无人驾驶车辆周围环境的三维模型,因此,激光雷达传感器已经成为最重要的车载传感器。摄像头传感器可以采集无人驾驶车辆周围环境的影像信息。无人驾驶车辆的控制系统可以将摄像头传感器采集的影像信息与激光雷达传感器采集的点云数据相结合从而可以识别车辆周围环境中的障碍物和交通标识等信息,因此,摄像头也是非常重要的车载传感器。

激光雷达传感器和摄像头传感器这两类主要的传感器共同作用可以覆盖更大的范围,获取的信息互相验证,提高了无人驾驶车辆控制系统识别环境的精确度,还可以在单个传感器异常或者出错时,保证控制系统的稳定性。

然而,目前一般是利用单传感器数据(影像数据或点云数据)来识别目标物体(车辆、行人、建筑物等),一定程度上限制了目标物体识别的精确度。



技术实现要素:

本申请的目的在于提出一种改进的用于无人驾驶车辆的目标物体识别方法和装置,来解决以上背景技术部分提到的技术问题。

第一方面,本申请提供了一种用于无人驾驶车辆的目标物体识别方法,所述无人驾驶车辆设置有激光雷达传感器和摄像头传感器,所述方法包括:获取所述激光雷达传感器采集的点云数据以及所述摄像头传感器采集的影像数据;在所述影像数据中检测出目标物体,生成用于指示所述目标物体的矩形框,其中,所述目标物体位于所述矩形框内;移除所述点云数据中的用于指示地面的地面点以及处于所述摄像头传感器视角范围之外的点以得到第一点云数据;根据所述矩形框,在所述第一点云数据中检测出与所述目标物体对应的第二点云数据;在所述第二点云数据中确定与所述目标物体对应的最小外包围盒,其中,所述最小外包围盒为包围所述第二点云数据的最小长方体。

在一些实施例中,所述在所述第二点云数据中确定与所述目标物体对应的最小外包围盒,包括:去除所述第二点云数据中的每一个点的Z坐标值以得到二维点集;确定与所述二维点集对应的凸多边形,其中,所述凸多边形为包围所述二维点集内的所有点的凸多边形;确定与所述凸多边形对应的最小外接矩形;从所述第二点云数据中获取Z坐标值的最大值和最小值,根据所述最小外接矩形以及所获取的Z坐标值的最大值和最小值,确定与所述目标物体对应的最小外包围盒。

在一些实施例中,所述移除所述点云数据中的用于指示地面的地面点,包括:利用随机抽样一致性算法在所述点云数据中确定所述地面点,并在所述点云数据中移除所述地面点。

在一些实施例中,所述利用随机抽样一致性算法在所述点云数据中确定所述地面点,并在所述点云数据中移除所述地点,包括:对于平坦地区,利用随机抽样一致性算法将整个所述点云数据进行地面点移除。

在一些实施例中,所述利用随机抽样一致性算法在所述点云数据中确定所述地面点,并在所述点云数据中移除所述地点,包括:对于不平坦地区,对所述点云数据进行分块处理,对每一区块中的点云数据进行地面点移除。

在一些实施例中,所述移除处于所述摄像头传感器视角范围之外的点,包括:将已移除所述地面点的所述点云数据作为第三点云数据,基于点云坐标系与影像坐标系的旋转矩阵R和平移矩阵t,利用如下公式对所述第三点云数据中的每一个点进行转换,如果该点的Z坐标值小于或等于0,则确定该点为处于所述摄像头传感器视角范围之外的点,将该点从所述第三点云数据中移除:

Xcam=RXcld+t;

其中,Xcam=[Xcam,Ycam,Zcam]T,Xcld=[Xcld,Ycld,Zcld]T,R、t分别为点云坐标系与影像坐标系的旋转矩阵与平移矩阵,X表示三维空间向量,cam表示影像,cld表示点云,T表示转置,Xcam为影像坐标系下的向量,Xcld为点云坐标系下的向量,X、Y、Z分别表示X坐标值、Y坐标值与Z坐标值,Xcam、Ycam、Zcam分别表示影像坐标系下的X坐标值、Y坐标值与Z坐标值,Xcld、Ycld、Zcld分别表示点云坐标系下的X坐标值、Y坐标值与Z坐标值。

在一些实施例中,所述根据所述矩形框,在所述第一点云数据中检测出与所述目标物体对应的第二点云数据,包括:在所述第一点云数据中筛选出与所述矩形框对应的点,将筛选出的点作为兴趣点集;对所述兴趣点集内的点进行聚类,以确定与所述目标物体对应的第二点云数据。

在一些实施例中,所述在所述第一点云数据中筛选出与所述矩形框对应的点,将筛选出的点作为兴趣点集,包括:对于所述第一点云数据中的每一个点,将该点的坐标投影至影像平面坐标得到投影点坐标,其中,所述影像平面坐标为二维坐标;对于各所述投影点坐标,如果所述投影点坐标满足以下不等式,则确定与所述投影点坐标对应的点为与所述矩形框对应的点:

其中,i为大于0的整数,xi与yi分别表示与所述第一点云数据中的第i个点对应的投影点坐标的x坐标值与y坐标值;所述矩形框表示为(x,y,width,height),x、y分别为所述矩形框的左上点的x坐标值与y坐标值,width、height分别为所述矩形框的宽与高。

在一些实施例中,所述对所述兴趣点集内的点进行聚类,以确定与所述目标物体对应的第二点云数据,包括:采用K中心点算法对所述兴趣点集内的点进行聚类;响应于聚类结果只有一个类别,确定该类别的点云数据为与所述目标物体对应的第二点云数据。

在一些实施例中,所述对所述兴趣点集内的点进行聚类,以确定与所述目标物体对应的第二点云数据,包括:响应于聚类结果包括多个类别,确定包含点云数据最多的类别中的点的个数是否为包含点云数据次多的类别中的点的个数的2倍以上,若是,则确定包含点云数据最多的类别的点云数据为与所述目标物体对应的第二点云数据。

第二方面,本申请提供了一种用于无人驾驶车辆的目标物体识别装置,所述无人驾驶车辆设置有激光雷达传感器和摄像头传感器,所述装置包括:获取单元,配置用于获取所述激光雷达传感器采集的点云数据以及所述摄像头传感器采集的影像数据;生成单元,配置用于在所述影像数据中检测出目标物体,生成用于指示所述目标物体的矩形框,其中,所述目标物体位于所述矩形框内;第一确定单元,配置用于移除所述点云数据中的用于指示地面的地面点以及处于所述摄像头传感器视角范围之外的点以得到第一点云数据;第二确定单元,配置用于根据所述矩形框,在所述第一点云数据中检测出与所述目标物体对应的第二点云数据;第三确定单元,配置用于在所述第二点云数据中确定与所述目标物体对应的最小外包围盒,其中,所述最小外包围盒为包围所述第二点云数据的最小长方体。

在一些实施例中,所述第三确定单元包括:二维点集确定子单元,配置用于去除所述第二点云数据中的每一个点的Z坐标值以得到二维点集;凸多边形确定子单元,配置用于确定与所述二维点集对应的凸多边形,其中,所述凸多边形为包围所述二维点集内的所有点的凸多边形;最小外接矩形确定子单元,配置用于确定与所述凸多边形对应的最小外接矩形;最小外包围盒确定子单元,配置用于从所述第二点云数据中获取Z坐标值的最大值和最小值,根据所述最小外接矩形以及所获取的Z坐标值的最大值和最小值,确定与所述目标物体对应的最小外包围盒。

在一些实施例中,所述第一确定单元包括:第一移除子单元,配置用于利用随机抽样一致性算法在所述点云数据中确定所述地面点,并在所述点云数据中移除所述地面点。

在一些实施例中,所述第一移除子单元进一步配置用于:对于平坦地区,利用随机抽样一致性算法将整个所述点云数据进行地面点移除。

在一些实施例中,所述第一移除子单元进一步配置用于:对于不平坦地区,对所述点云数据进行分块处理,对每一区块中的点云数据进行地面点移除。

在一些实施例中,所述第一确定单元包括:第二移除子单元,配置用于将已移除所述地面点的所述点云数据作为第三点云数据,基于点云坐标系与影像坐标系的旋转矩阵R和平移矩阵t,利用如下公式对所述第三点云数据中的每一个点进行转换,如果该点的Z坐标值小于或等于0,则确定该点为处于所述摄像头传感器视角范围之外的点,将该点从所述第三点云数据中移除:

Xcam=RXcld+t;

其中,Xcam=[Xcam,Ycam,Zcam]T,Xcld=[Xcld,Ycld,Zcld]T,R、t分别为点云坐标系与影像坐标系的旋转矩阵与平移矩阵,X表示三维空间向量,cam表示影像,cld表示点云,T表示转置,Xcam为影像坐标系下的向量,Xcld为点云坐标系下的向量,X、Y、Z分别表示X坐标值、Y坐标值与Z坐标值,Xcam、Ycam、Zcam分别表示影像坐标系下的X坐标值、Y坐标值与Z坐标值,Xcld、Ycld、Zcld分别表示点云坐标系下的X坐标值、Y坐标值与Z坐标值。

在一些实施例中,所述第二确定单元包括:筛选子单元,配置用于在所述第一点云数据中筛选出与所述矩形框对应的点,将筛选出的点作为兴趣点集;聚类子单元,配置用于对所述兴趣点集内的点进行聚类,以确定与所述目标物体对应的第二点云数据。

在一些实施例中,所述筛选子单元包括:投影模块,配置用于对于所述第一点云数据中的每一个点,将该点的坐标投影至影像平面坐标得到投影点坐标,其中,所述影像平面坐标为二维坐标;

确定模块,配置用于对于各所述投影点坐标,如果所述投影点坐标满足以下不等式,则确定与所述投影点坐标对应的点为与所述矩形框对应的点:

其中,i为大于0的整数,xi与yi分别表示与所述第一点云数据中的第i个点对应的投影点坐标的x坐标值与y坐标值;所述矩形框表示为(x,y,width,height),x、y分别为所述矩形框的左上点的x坐标值与y坐标值,width、height分别为所述矩形框的宽与高。

在一些实施例中,所述确定模块进一步配置用于:采用K中心点算法对所述兴趣点集内的点进行聚类;响应于聚类结果只有一个类别,确定该类别的点云数据为与所述目标物体对应的第二点云数据。

在一些实施例中,所述确定模块进一步配置用于:响应于聚类结果有多个类别,确定包含点云数据最多的类别中的点的个数是否为包含点云数据次多的类别中的点的个数的2倍以上,若是,则确定包含点云数据最多的类别的点云数据为与所述目标物体对应的第二点云数据。

本申请提供的用于无人驾驶车辆的目标物体识别方法和装置,通过获取上述激光雷达传感器采集的点云数据以及上述摄像头传感器采集的影像数据,而后在上述影像数据中检测出目标物体并生成用于指示上述目标物体的矩形框,之后移除上述点云数据中的用于指示地面的地面点以及处于所述摄像头传感器视角范围之外的点以得到第一点云数据,然后根据上述矩形框以在上述第一点云数据中检测出与上述目标物体对应的第二点云数据,最后在上述第二点云数据中确定与上述目标物体对应的最小外包围盒,从而有效利用了影像数据与点云数据的融合,提高了用于无人驾驶车辆的目标物体识别的精确度。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1是本申请可以应用于其中的示例性系统架构图;

图2是根据本申请的用于无人驾驶车辆的目标物体识别方法的一个实施例的流程图;

图3是根据本申请的用于无人驾驶车辆的目标物体识别方法的又一个实施例的流程图;

图4是根据本申请的用于无人驾驶车辆的目标物体识别装置的一个实施例的结构示意图;

图5是适于用来实现本申请实施例的控制设备的计算机系统的结构示意图

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

图1示出了可以应用本申请的用于无人驾驶车辆的目标物体识别方法或用于无人驾驶车辆的目标物体识别装置的实施例的示例性系统架构100。

如图1所示,系统架构100可以包括激光雷达传感器101、102、103,摄像头传感器104、105、106,网络107和控制设备108。网络107用以在激光雷达传感器101、102、103,摄像头传感器104、105、106和控制设备108之间提供通信链路的介质。网络107可以包括各种连接类型,例如有线、无线通信链路、总线、网线或者光纤电缆等等。不同的传感器可以用不同的方式与控制设备108交互。例如,激光雷达传感器101、102、103可以通过网线将数据传输给控制设备108,而摄像头传感器104、105、106可以将采集到的影像数据发送到车辆的总线上,控制设备108可以从车辆总线上获取影像数据。

激光雷达传感器101、102、103和摄像头传感器104、105、106通过网络107与控制设备108交互,以接收或发送消息等。例如,控制设备108可以通过网络107发送控制指令给激光雷达传感器101、102、103和摄像头传感器104、105、106,而激光雷达传感器101、102、103和摄像头传感器104、105、106可以通过网络107将各自采集到的数据包发送给控制设备108。控制设备108上可以安装有各种应用,例如传感器数据获取类应用、传感器数据处理类应用、无人驾驶车辆控制类应用等。

需要说明的是,本申请实施例所提供的用于无人驾驶车辆的目标物体识别方法一般由控制设备108执行,相应地,用于无人驾驶车辆的目标物体识别装置一般设置于控制设备108中。

应该理解,图1中的激光雷达传感器、摄像头传感器、网络和控制设备的数目仅仅是示意性的。根据实现需要,可以具有任意数目的激光雷达传感器、摄像头传感器、网络和控制设备。

继续参考图2,示出了根据本申请的用于无人驾驶车辆的目标物体识别方法的一个实施例的流程200。所述的用于无人驾驶车辆的目标物体识别方法,包括以下步骤:

步骤201,获取激光雷达传感器采集的点云数据以及摄像头传感器采集的影像数据。

在本实施例中,用于无人驾驶车辆的目标物体识别方法运行于其上的电子设备(例如图1所示的控制设备108)可以在预设的采集周期内实时获取上述激光雷达传感器(例如图1所示的激光雷达传感器101、102、103)采集的点云数据以及上述摄像头传感器(例如图1所示的摄像头传感器104、105、106)采集的影像数据。其中,上述预设的采集周期可以存储在上述电子设备本地,也可以存储在对上述无人驾驶车辆进行支持的云服务器中。

可选地,上述预设的采集周期可以为激光雷达传感器的采集周期。当无人驾驶车辆中的激光雷达传感器为至少一个激光雷达传感器时,上述预设的采集周期可以是根据上述至少一个激光雷达传感器中的每一个激光雷达传感器的传感信息来设置的。这里,传感器信息可以包括重要级别和采集周期。上述预设的采集周期可以是重要级别最高的激光雷达传感器(例如位于无人驾驶车辆车顶的激光雷达传感器)的采集周期。

步骤202,在上述影像数据中检测出目标物体,生成用于指示上述目标物体的矩形框。

在本实施例中,上述电子设备可以利用预置的检测方法来检测上述影像数据中的目标物体,并生成用于指示目标物体的矩形框。其中,上述目标物体位于上述矩形框内,上述矩形框为与影像坐标平行的矩形框,用于指示与其对应的目标物体的位置、宽与高等。

在本实施例的一些可选的实现方式中,上述预置的检测方法可以是深度学习方法,检测过程可以为先通过人工从大量的影像中标出目标物体(如车辆、行人等),作为样本,训练深度学习网络(训练的过程可以通俗的认为是教计算机学习认识这些标识出的目标物体),得到深度学习网络模型;之后,通过深度学习网络模型预测当前影像中是否有目标物体,并生成矩形框用于指示预测出的目标物体。

步骤203,移除上述点云数据中的用于指示地面的地面点以及处于上述摄像头传感器视角范围之外的点以得到第一点云数据。

在本实施例中,上述预置的检测方法关注的是地面以上的物体(例如行人、车辆等),为了有效地减少点云数据的数量,上述电子设备可以利用不同的算法来确定上述点云数据中的地面点以及处于上述摄像头传感器视角范围之外的点,并将所确定的地面点以及处于上述摄像头传感器视角范围之外的点从上述点云数据中移除,以得到上述第一点云数据。

在本实施例的一些可选的实现方式中,上述电子设备可以利用RANSAC(RANdom Sample Consensus,随机抽样一致性)算法来确定上述点云数据中包含的地面点,并在上述点云数据中移除所确定的地面点。上述电子设备可以通过迭代的方式估计地面平面的参数,迭代结果可以将上述点云数据分为“局内点”(地面点)与“局外点”(非地面点,比如车辆、建筑物、植被等),将“局外点”作为移除地面点后的点云数据。通常,RANSAC算法的基本假设是样本中包含正确数据(也可称为“局内点”,是可以被模型描述的数据),也包含异常数据(也可以称为“局外点”,是偏离正常范围很远、无法适应数学模型的数据),即数据集中含有噪声。这些异常数据可能是由于错误的测量、错误的假设、错误的计算等产生的。同时RANSAC也假设,给定一组正确的数据,存在可以计算出符合这些数据的模型参数的方法。

可选地,对于平坦地区,上述电子设备可以利用RANSAC算法对整个上述点云数据进行地面点移除。对于不平坦的地区,上述电子设备可以将上述点云数据在XOY平面进行分块处理(如网格大小3×3m),最终将每一区块移除地面点后的点相加,得到整体移除地面点的点云数据。其中,XOY表示平面直角坐标系,X为横轴,Y为纵轴,O为原点。

需要说明的是,上述RANSAC算法是目前广泛研究和应用的公知技术,在此不再赘述。

在本实施例的一些可选的实现方式中,由于车载激光雷达传感器的水平扫描范围为360度,而车载摄像头传感器的水平扫描范围一般为60~90度之间,因此移除点云数据中处于摄像头传感器的视角范围之外的点,可以进一步有效减少点云的数量。上述电子设备可以将已移除地面点的上述点云数据作为第三点云数据,基于点云坐标系与影像坐标系的旋转矩阵R和平移矩阵t,可以利用如下公式对上述第三点云数据中的每一个点进行转换,如果该点的Z坐标值小于或等于0,则可以确定该点为处于上述摄像头传感器视角范围之外的点,可以将该点从上述第三点云数据中移除,最终得到上述第一点云数据:

Xcam=RXcld+t;

其中,Xcam=[Xcam,Ycam,Zcam]T,Xcld=[Xcld,Ycld,Zcld]T,R、t分别为点云坐标系与影像坐标系的旋转矩阵与平移矩阵,X表示三维空间向量,cam表示影像,cld表示点云,T表示转置,Xcam为影像坐标系下的向量,Xcld为点云坐标系下的向量,X、Y、Z分别表示X坐标值、Y坐标值与Z坐标值,Xcam、Ycam、Zcam分别表示影像坐标系下的X坐标值、Y坐标值与Z坐标值,Xcld、Ycld、Zcld分别表示点云坐标系下的X坐标值、Y坐标值与Z坐标值。

步骤204,根据上述矩形框,在上述第一点云数据中检测出与上述目标物体对应的第二点云数据。

在本实施例中,上述电子设备可以先从上述第一点云数据中筛选出与上述矩形框对应的点云数据,然后从筛选出的点云数据中确定与上述目标物体对应的第二点云数据。

在本实施例的一些可选的实现方式中,上述电子设备可以根据以下方程式,将上述第一点云数据中的每一个点的坐标投影至影像平面坐标,得到投影点坐标:

其中,影像平面坐标为二维坐标,[u,v,w]为影像坐标系下的三维向量;K为与摄像头传感器对应的内参数矩阵,用于将影像三维坐标系下的点Xcam的坐标变换为影像平面坐标(x,y);x=u/w,y=v/w,将影像平面坐标(x,y)变换为齐次坐标(x,y,1),再乘以w可以得到影像坐标系下的三维坐标(u,v,w)。需要说明的是,与摄像头传感器对应的内参数矩阵K可以通过标定获得,若考虑摄像头传感器的畸变,还可以通过增加畸变差值对影像平面坐标进行改正。这里,摄像头传感器的内参数包括但不限于焦距、主点偏移、畸变参数。

对于各上述投影点坐标,如果上述投影点坐标满足以下不等式,则可以确定与上述投影点坐标对应的点为与上述矩形框对应的点:

其中,i为大于0的整数,xi与yi分别表示与上述第一点云数据中的第i个点对应的投影点坐标的x坐标值与y坐标值;上述矩形框可以表示为(x,y,width,height),x、y分别为所述矩形框的左上点的x坐标值与y坐标值,width、height分别为所述矩形框的宽和高。

可选地,上述电子设备可以将所确定的与上述矩形框对应的点作为兴趣点集;之后,上述电子设备可以采用K中心点算法对上述兴趣点集内的点进行聚类。当聚类结果只有一个类别时,上述电子设备可以确定该类别的点云数据为与上述目标物体对应的第二点云数据;当聚类结果包括多个类别时,上述电子设备可以确定包含点云数据最多的类别中的点的个数是否为包含点云数据次多的类别中的点的个数的2倍以上,若是,则可以确定包含点云数据最多的类别的点云数据为与上述目标物体对应的点云数据。如果结果存在歧义,还可以通过人工判断来确定与上述目标物体对应的第二点云数据。

通常,K中心点算法的基本过程可以是:首先为每个簇随意选择一个代表对象,剩余的对象根据其与每个代表对象的距离(此处距离不一定是欧氏距离,也可能是曼哈顿距离)分配给最近的代表对象所代表的簇;然后反复用非代表对象来代替代表对象,以优化聚类质量。聚类质量用一个代价函数来表示。当一个中心点被某个非中心点替代时,除了未被替换的中心点外,其余各点被重新分配。

需要说明的是,上述K中心点算法是目前广泛研究和应用的公知技术,在此不再赘述。

步骤205,在上述第二点云数据中确定与上述目标物体对应的最小外包围盒。

在本实施例中,上述电子设备可以通过包围盒算法在上述第二点云数据中确定与上述目标物体对应的最小外包围盒。其中,上述最小外包围盒为包围上述第二点云数据的最小长方体。需要说明的是,包围盒算法是一种求解离散点集最优包围空间的方法。基本思想是用体积稍大且特性简单的几何体(称为包围盒)来近似地代替复杂的几何对象。

本申请的上述实施例提供的方法通过将影像数据和点云数据进行融合,增强了目标物体的特征,提高了用于无人驾驶车辆的目标物体识别的精准度。

继续参见图3,其示出了用于无人驾驶车辆的目标物体识别方法的又一个实施例的流程300。该无人驾驶车辆的物体识别方法的流程300,包括以下步骤:

步骤301,获取激光雷达传感器采集的点云数据以及摄像头传感器采集的影像数据。

在本实施例中,用于无人驾驶车辆的目标物体识别方法运行于其上的电子设备(例如图1所示的控制设备108)可以在预设的采集周期内实时获取上述激光雷达传感器(例如图1所示的激光雷达传感器101、102、103)采集的点云数据以及上述摄像头传感器(例如图1所示的摄像头传感器104、105、106)采集的影像数据。其中,上述预设的采集周期可以存储在上述电子设备本地,也可以存储在对上述无人驾驶车辆进行支持的云服务器中。

步骤302,在上述影像数据中检测出目标物体,生成用于指示上述目标物体的矩形框。

在本实施例中,上述电子设备可以利用预置的检测方法来检测上述影像数据中的目标物体,并生成用于指示目标物体的矩形框。其中,上述目标物体位于上述矩形框内,上述矩形框为与影像坐标平行的矩形框,用于指示与其对应的目标物体的位置、宽与高等。

步骤303,移除上述点云数据中的用于指示地面的地面点以及处于上述摄像头传感器视角范围之外的点以得到第一点云数据。

在本实施例中,上述预置的检测方法关注的是地面以上的物体(例如行人、车辆等),为了有效地减少点云数据的数量,上述电子设备可以利用不同的算法来确定上述点云数据中的地面点以及处于上述摄像头传感器视角范围之外的点,并将所确定的地面点以及处于上述摄像头传感器视角范围之外的点从上述点云数据中移除,以得到上述第一点云数据。

步骤304,根据上述矩形框,在上述第一点云数据中检测出与上述目标物体对应的第二点云数据。

在本实施例中,上述电子设备可以先从上述第一点云数据中筛选出与上述矩形框对应的点云数据,然后从筛选出的点云数据中确定与上述目标物体对应的第二点云数据。

步骤305,去除上述第二点云数据中的每一个点的Z坐标值以得到二维点集。

在本实施例中,上述电子设备可以通过去除上述第二点云数据中的每一个点的Z坐标值以得到二维点集。

步骤306,确定与上述二维点集对应的凸多边形。

在本实施例中,上述电子设备可以利用拓扑映射法来确定与上述二维点集对应的凸多边形。上述凸多边形可以包围上述二维点集内的所有点。作为示例,上述电子设备可以将上述二维点集内的点两两连接得到多条边;对于所得的多条边中的每一条边,如果其他的边都在该条边的同侧,则上述电子设备可以确定该条边为与上述二维点集对应的凸多边形的边,最终上述电子设备可以确定与上述二维点集对应的凸多边形。

需要说明的是,拓扑映射法是目前广泛研究和应用的公知技术,在此不再赘述。

步骤307,确定与上述凸多边形对应的最小外接矩形。

在本实施例中,由于凸多边形的外接矩形存在一条边与凸多边形的边共线的特性,上述电子设备可以利用这种特性从与上述凸多边形的各条边中的某一条边共线的外接矩形中确定一个最小外接矩形。

步骤308,从上述第二点云数据中获取Z坐标值的最大值和最小值,根据上述最小外接矩形以及所获取的Z坐标值的最大值和最小值,确定与上述目标物体对应的最小外包围盒。

在本实施例中,由于点云坐标系的Z轴近似与地面垂直,地面上的物体应平行于Z轴,因此很容易从上述第二点云数据中的所有点中获取到Z坐标值的最大值和最小值。例如,可以基于上述第二点云数据中的各点的位置,检测出最低点与最高点,可以将最低点的Z坐标值作为最小值,将最高点的Z坐标值作为最大值。这里,上述最小外接矩形可以表示为{(Xtl,Ytl),(Xtr,Ytr),(Xbl,Ybl),(Xbr,Ybr)},其中,t、b、l、r分别表示上、下、左、右;tl、tr、bl、br分别表示左上、右上、左下、右下;(Xtl,Ytl)表示位于上述最小外接矩形左上角的点的坐标,Xtl、Ytl分别表示位于上述最小外接矩形左上角的点的X坐标值与Y坐标值;(Xtr,Ytr)表示位于上述最小外接矩形右上角的点的坐标,Xtr、Ytr分别表示位于上述最小外接矩形右上角的点的X坐标值与Y坐标值;(Xbl,Ybl)表示位于上述最小外接矩形左下角的点的坐标,Xbl、Ybl分别表示位于上述最小外接矩形左下角的点的X坐标值与Y坐标值;(Xbr,Ybr)表示位于上述最小外接矩形右下角的点的坐标,Xbr、Ybr分别表示位于上述最小外接矩形右下角的点的X坐标值与Y坐标值。由此,可以确定与上述目标物体对应的最小外包围盒为:

{(Xtl,Ytl,Zmin),(Xtr,Yrl,Zmin),(Xbl,Ybl,Zmin),(Xbr,Ybr,Zmin),(Xtl,Ytl,Zmax),(Xtr,Yrl,Zmax),(Xbl,Ybl,Zmax),(Xbr,Ybr,Zmax)}。其中,min、max分别表示最小、最大;Zmin、Zmax分别表示从上述第二点云数据中的所有点中获取到的Z坐标值的最小值与最大值。

从图3中可以看出,与图2对应的实施例相比,本实施例中的用于无人驾驶车辆的目标物体识别方法的流程300突出了确定与上述目标物体对应的最小外包围盒的步骤。由此,本实施例描述的方案可以应用在无人驾驶车辆的感知算法中,用于增强训练样本集的特征,对提高感知算法的精确度的提高具有极大作用。本实施例描述的方案可以更有效地在点云数据中确定与目标物体对应的最小外包围盒,极大地提高了用于无人驾驶车辆的目标物体识别的精准度。

进一步参考图4,作为对上述各图所示方法的实现,本申请提供了一种用于无人驾驶车辆的目标物体识别装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图4所示,本实施例所述的用于无人驾驶车辆的目标物体识别装置400包括:获取单元401、生成单元402、第一确定单元403、第二确定单元404和第三确定单元405。其中,获取单元401,配置用于获取上述激光雷达传感器采集的点云数据以及上述摄像头传感器采集的影像数据;生成单元402,配置用于在上述影像数据中检测出目标物体,生成用于指示上述目标物体的矩形框,其中,上述目标物体位于上述矩形框内;第一确定单元403,配置用于移除上述点云数据中的用于指示地面的地面点以及处于上述摄像头传感器视角范围之外的点以得到第一点云数据;第二确定单元404,配置用于根据上述矩形框,在上述第一点云数据中检测出与上述目标物体对应的第二点云数据;第三确定单元405,配置用于在上述第二点云数据中确定与上述目标物体对应的最小外包围盒,其中,上述最小外包围盒为包围上述第二点云数据的最小长方体。

在本实施例中,用于无人驾驶车辆的目标物体识别装置400的获取单元401、生成单元402、第一确定单元403、第二确定单元404和第三确定单元405的具体处理及其所带来的技术效果可分别参考图2对应实施例中步骤201、步骤202、步骤203、步骤204和步骤205的相关说明,在此不再赘述。

在本实施例的一些可选的实现方式中,上述第三确定单元可以包括:二维点集确定子单元(图中未示出),配置用于去除上述第二点云数据中的每一个点的Z坐标值以得到二维点集;凸多边形确定子单元(图中未示出),配置用于确定与上述二维点集对应的凸多边形;最小外接矩形确定子单元(图中未示出),配置用于确定与上述凸多边形对应的最小外接矩形;最小外包围盒确定子单元(图中未示出),配置用于从上述第二点云数据中获取Z坐标值的最大值和最小值,根据上述最小外接矩形以及所获取的Z坐标值的最大值和最小值,确定与上述目标物体对应的最小外包围盒。

在本实施例的一些可选的实现方式中,上述第一确定单元可以包括:第一移除子单元(图中未示出),配置用于利用随机抽样一致性算法在上述点云数据中确定上述地面点,并在上述点云数据中移除上述地面点。

在本实施例的一些可选的实现方式中,上述第一移除子单元可以进一步配置用于:对于平坦地区,利用随机抽样一致性算法将整个所上述点云数据进行地面点移除。

在本实施例的一些可选的实现方式中,上述第一移除子单元可以进一步配置用于:对于不平坦地区,对上述点云数据进行分块处理,对每一区块中的点云数据进行地面点移除。

在本实施例的一些可选的实现方式中,上述第一确定单元可以包括:第二移除子单元(图中未示出),配置用于将已移除上述地面点的上述点云数据作为第三点云数据,基于点云坐标系与影像坐标系的旋转矩阵R和平移矩阵t,利用如下公式对上述第三点云数据中的每一个点进行转换,如果该点的Z坐标值小于或等于0,则确定该点为处于上述摄像头传感器视角范围之外的点,将该点从上述第三点云数据中移除:

Xcam=RXcld+t;

其中,Xcam=[Xcam,Ycam,Zcam]T,Xcld=[Xcld,Ycld,Zcld]T,R、t分别为点云坐标系与影像坐标系的旋转矩阵与平移矩阵,X表示三维空间向量,cam表示影像,cld表示点云,T表示转置,Xcam为影像坐标系下的向量,Xcld为点云坐标系下的向量,X、Y、Z分别表示X坐标值、Y坐标值与Z坐标值,Xcam、Ycam、Zcam分别表示影像坐标系下的X坐标值、Y坐标值与Z坐标值,Xcld、Ycld、Zcld分别表示点云坐标系下的X坐标值、Y坐标值与Z坐标值。

在本实施例的一些可选的实现方式中,上述第二确定单元可以包括:筛选子单元(图中未示出),配置用于在上述第一点云数据中筛选出与上述矩形框对应的点,将筛选出的点作为兴趣点集;聚类子单元(图中未示出),配置用于对上述兴趣点集内的点进行聚类,以确定与上述目标物体对应的第二点云数据。

在本实施例的一些可选的实现方式中,上述筛选子单元可以包括:投影模块(图中未示出),配置用于对于上述第一点云数据中的每一个点,将该点的坐标投影至影像平面坐标得到投影点坐标;确定模块(图中未示出),配置用于对于各上述投影点坐标,如果上述投影点坐标满足以下不等式,则确定与上述投影点坐标对应的点为与上述矩形框对应的点:

其中,i为大于0的整数,xi与yi分别表示与所述第一点云数据中的第i个点对应的投影点坐标的x坐标值与y坐标值;所述矩形框表示为(x,y,width,height),x、y分别为所述矩形框的左上点的x坐标值与y坐标值,width、height分别为所述矩形框的宽与高。

在本实施例的一些可选的实现方式中,上述确定模块可以进一步配置用于:采用K中心点算法对上述兴趣点集内的点进行聚类;响应于聚类结果只有一个类别,确定该类别的点云数据为与上述目标物体对应的第二点云数据。

在本实施例的一些可选的实现方式中,上述确定模块可以进一步配置用于:响应于聚类结果包括多个类别,确定包含点云数据最多的类别中的点的个数是否为包含点云数据次多的类别中的点的个数的2倍以上,若是,则确定包含点云数据最多的类别的点云数据为与上述目标物体对应的第二点云数据。

下面参考图5,其示出了适于用来实现本申请实施例的控制设备的计算机系统500的结构示意图。

如图5所示,计算机系统500包括中央处理单元(CPU,Central Processing Unit)501,其可以根据存储在只读存储器(ROM,Read Only Memory)502中的程序或者从存储部分508加载到随机访问存储器(RAM,Random Access Memory)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。

以下部件连接至I/O接口505:包括传感器、ECU(Electronic Control Unit,电子控制单元)等的输入部分506;包括诸如传感器、ECU等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本申请的方法中限定的上述功能。

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括获取单元、生成单元、第一确定单元、第二确定单元和第三确定单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,获取单元还可以被描述为“获取激光雷达传感器采集的点云数据以及摄像头传感器采集的影像数据的单元”。

作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:获取上述激光雷达传感器采集的点云数据以及上述摄像头传感器采集的影像数据;在上述影像数据中检测出目标物体,生成用于指示上述目标物体的矩形框,其中,上述目标物体位于上述矩形框内;移除上述点云数据中的用于指示地面的地面点以及处于上述摄像头传感器视角范围之外的点以得到第一点云数据;根据上述矩形框,在上述第一点云数据中检测出与上述目标物体对应的第二点云数据;在上述第二点云数据中确定与上述目标物体对应的最小外包围盒,其中,上述最小外包围盒为包围上述第二点云数据的最小长方体。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1