障碍物检测方法、装置、计算机设备和存储介质
技术领域
本申请涉及人工智能技术领域,特别是涉及一种障碍物检测方法、装置、计算机设备和存储介质。
背景技术
在智能驾驶场景或机器人运动场景中,需要时刻获取前方障碍物信息以生成决策信号。一般可以通过激光雷达、毫米波雷达、超声波雷达和相机获取道路信息。其中相机因为成本低廉、信息量丰富、测量范围广,是极具潜力的技术方案。
传统的基于双目立体视觉的障碍物检测方法,根据采集设备的拍摄方向及点云数据,确定在所述拍摄方向上各单位区间内的点云数量,并基于该点云数量的直方图,确定障碍物位置信息。由于双目立体视觉的局限性,同一目标所占的点云数量随距离的增大而变小,对应在世界坐标系中,障碍物的点云数量也遵从这个规律。
因此,传统的障碍物检测方法,存在准确性较差的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高检测准确性的障碍物检测方法、装置、计算机设备和存储介质。
一种障碍物检测方法,方法包括:
获取基于双目立体视觉的采集设备采集的点云数据;
根据采集设备的拍摄方向及点云数据,确定在拍摄方向上各单位区间内的第一点云数量;
通过修正模型对第一点云数量进行修正,确定在各单位区间内的第二点云数量,修正模型的约束条件为同一障碍物修正后的点云数量恒定;
基于在拍摄方向上各单位区间内的第二点云数量的直方图,确定障碍物位置信息。
在其中一实施例中,基于在拍摄方向上各单位区间内的第二点云数量的直方图,确定障碍物位置信息,包括:
以拍摄方向上与采集设备的距离作为横坐标,以点云数量作为纵坐标,确定拍摄方向上各单位区间内的第二点云数量的直方图;
基于直方图的峰值确定障碍物在拍摄方向上、与采集设备的距离。
在其中一实施例中,所述根据所述采集设备的拍摄方向及所述点云数据,确定在所述拍摄方向上各单位区间内的第一点云数量,包括:
获取车辆信息,并根据所述拍摄方向及所述车辆信息,确定当前车道信息;
根据所述当前车道信息及所述点云数据,过滤当前车道以外的所述点云数据。
在其中一实施例中,修正模型为二次函数模型。
在其中一实施例中,二次函数模型为Sx=ax2+bx+c;其中,x表示点云数据对应的实体对象与采集设备的距离,Sx表示x对应的单位区间的第一点云数量的修正系数,a为二次函数模型的二次项系数,b为二次函数模型的一次项系数,c为二次函数模型的常数项;
第二点云数量表示为:yx'=yxSx,其中,yx表示x对应的单位区间的第一点云数量,yx'表示x对应的单位区间的第一点云数量修正后得到的第二点云数量。
在其中一实施例中,根据采集设备的拍摄方向及点云数据,确定在拍摄方向上各单位区间内的第一点云数量,还包括:对预设数量组中的每一组点云数据,确定障碍物对应的单位区间的第一点云数量;预设数量的值不小于3;
二次函数模型的确定方式为:基于预设数量的同一障碍物对应的第一点云数量,进行二次函数拟合,确定二次函数模型的二次项系数、一次项系数及常数项。
一种障碍物检测装置,装置包括:
点云数据获取模块,用于获取基于双目立体视觉的采集设备采集的点云数据;
点云数量确定模块,用于根据采集设备的拍摄方向及点云数据,确定在拍摄方向上各单位区间内的第一点云数量;
点云数量修正模块,用于通过修正模型对第一点云数量进行修正,确定在各单位区间内的第二点云数量,修正模型的约束条件为同一障碍物修正后的点云数量恒定;
障碍位置确定模块,用于基于在拍摄方向上各单位区间内的第二点云数量的直方图,确定障碍物位置信息。
在其中一实施例中,还包括直方图确定模块;
直方图确定模块,用于以拍摄方向上与采集设备的距离作为横坐标,以点云数量作为纵坐标,确定拍摄方向上各单位区间内的第二点云数量的直方图;
障碍位置确定模块,用于基于直方图的峰值确定障碍物在拍摄方向上、与采集设备的距离。
在其中一实施例中,还包括:
车道确定模块,用于获取车辆信息,并根据所述拍摄方向及所述车辆信息,确定当前车道信息;
数据预处理模块,用于根据所述当前车道信息及所述点云数据,过滤当前车道以外的所述点云数据。
在其中一实施例中,修正模型为二次函数模型。
在其中一实施例中,二次函数模型为Sx=ax2+bx+c;其中,x表示点云数据对应的实体对象与采集设备的距离,Sx表示x对应的单位区间的第一电源数量的修正系数,a为二次函数模型的二次项系数,b为二次函数模型的一次项系数,c为二次函数模型的常数项;
第二点云数量表示为:yx'=yxSx,其中,yx表示x对应的单位区间的第一点云数量,yx'表示x对应的单位区间的第一点云数量修正后得到的第二点云数量。
在其中一实施例中,还包括模型确定模块;
点云数量确定模块,还用于对预设数量组中的每一组点云数据,确定障碍物对应的单位区间的第一点云数量;预设数量的值不小于3;
模型确定模块,用于基于预设数量的同一障碍物对应的第一点云数量,进行二次函数拟合,确定二次函数模型的二次项系数、一次项系数及常数项。
一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
获取基于双目立体视觉的采集设备采集的点云数据;
根据采集设备的拍摄方向及点云数据,确定在拍摄方向上各单位区间内的第一点云数量;
通过修正模型对第一点云数量进行修正,确定在各单位区间内的第二点云数量,修正模型的约束条件为同一障碍物修正后的点云数量恒定;
基于在拍摄方向上各单位区间内的第二点云数量的直方图,确定障碍物位置信息。
在其中一实施例中,基于在拍摄方向上各单位区间内的第二点云数量的直方图,确定障碍物位置信息,包括:
以拍摄方向上与采集设备的距离作为横坐标,以点云数量作为纵坐标,确定拍摄方向上各单位区间内的第二点云数量的直方图;
基于直方图的峰值确定障碍物在拍摄方向上、与采集设备的距离。
在其中一实施例中,基于直方图的峰值确定障碍物在拍摄方向上、与采集设备的距离,包括:
根据直方图中峰值大于预设值且距离采集设备最近的峰值,确定障碍物在拍摄方向上、与采集设备的距离。
在其中一实施例中,所述根据所述采集设备的拍摄方向及所述点云数据,确定在所述拍摄方向上各单位区间内的第一点云数量,包括:
获取车辆信息,并根据所述拍摄方向及所述车辆信息,确定当前车道信息;
根据所述当前车道信息及所述点云数据,过滤当前车道以外的所述点云数据。
在其中一实施例中,修正模型为二次函数模型。
在其中一实施例中,二次函数模型为Sx=ax2+bx+c;其中,x表示点云数据对应的实体对象与采集设备的距离,Sx表示x对应的单位区间的第一电源数量的修正系数,a为二次函数模型的二次项系数,b为二次函数模型的一次项系数,c为二次函数模型的常数项;
第二点云数量表示为:yx'=yxSx,其中,yx表示x对应的单位区间的第一点云数量,yx'表示x对应的单位区间的第一点云数量修正后得到的第二点云数量。
在其中一实施例中,根据采集设备的拍摄方向及点云数据,确定在拍摄方向上各单位区间内的第一点云数量,还包括:对预设数量组中的每一组点云数据,确定障碍物对应的单位区间的第一点云数量;预设数量的值不小于3;
二次函数模型的确定方式为:基于预设数量的同一障碍物对应的第一点云数量,进行二次函数拟合,确定二次函数模型的二次项系数、一次项系数及常数项。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取基于双目立体视觉的采集设备采集的点云数据;
根据采集设备的拍摄方向及点云数据,确定在拍摄方向上各单位区间内的第一点云数量;
通过修正模型对第一点云数量进行修正,确定在各单位区间内的第二点云数量,修正模型的约束条件为同一障碍物修正后的点云数量恒定;
基于在拍摄方向上各单位区间内的第二点云数量的直方图,确定障碍物位置信息。
在其中一实施例中,基于在拍摄方向上各单位区间内的第二点云数量的直方图,确定障碍物位置信息,包括:
以拍摄方向上与采集设备的距离作为横坐标,以点云数量作为纵坐标,确定拍摄方向上各单位区间内的第二点云数量的直方图;
基于直方图的峰值确定障碍物在拍摄方向上、与采集设备的距离。
在其中一实施例中,基于直方图的峰值确定障碍物在拍摄方向上、与采集设备的距离,包括:
根据直方图中峰值大于预设值且距离采集设备最近的峰值,确定障碍物在拍摄方向上、与采集设备的距离。
在其中一实施例中,所述根据所述采集设备的拍摄方向及所述点云数据,确定在所述拍摄方向上各单位区间内的第一点云数量,包括:
获取车辆信息,并根据所述拍摄方向及所述车辆信息,确定当前车道信息;
根据所述当前车道信息及所述点云数据,过滤当前车道以外的所述点云数据。
在其中一实施例中,修正模型为二次函数模型。
在其中一实施例中,二次函数模型为Sx=ax2+bx+c;其中,x表示点云数据对应的实体对象与采集设备的距离,Sx表示x对应的单位区间的第一电源数量的修正系数,a为二次函数模型的二次项系数,b为二次函数模型的一次项系数,c为二次函数模型的常数项;
第二点云数量表示为:yx'=yxSx,其中,yx表示x对应的单位区间的第一点云数量,yx'表示x对应的单位区间的第一点云数量修正后得到的第二点云数量。
在其中一实施例中,根据采集设备的拍摄方向及点云数据,确定在拍摄方向上各单位区间内的第一点云数量,还包括:对预设数量组中的每一组点云数据,确定障碍物对应的单位区间的第一点云数量;预设数量的值不小于3;
二次函数模型的确定方式为:基于预设数量的同一障碍物对应的第一点云数量,进行二次函数拟合,确定二次函数模型的二次项系数、一次项系数及常数项。
由于该障碍物检测方法、装置、计算机设备和存储介质,通过修正模型对第一点云数量进行修正,确定在各单位区间内的第二点云数量,该修正模型的约束条件为同一障碍物修正后的点云数量恒定。因此,可以解决同一障碍物所占的点云数量随距离的增大而变小的问题,如此,可以通过对点云数量进行修正,降低距离近的非障碍物带来的干扰,同时增强对距离较远的障碍物的点云数量,从而,可以提高障碍物检测的准确性。
附图说明
图1为一个实施例中障碍物检测方法的应用环境图;
图2为一个实施例中障碍物检测方法的流程示意图;
图3为一具体实施例的障碍物检测方法中的点云数据示例意图;
图4为一具体实施例的障碍物检测方法的第一点云数量的直方图;
图5为一具体实施例的障碍物检测方法的第二点云数量的直方图;
图6为一个实施例中障碍物检测装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中障碍物检测方法的应用环境图。如图1所示,该障碍物检测方法应用于一种计算机设备。该计算机设备可以是终端或者服务器。终端可以是台式设备或者移动终端。服务器可以是独立的物理服务器、物理服务器集群或者虚拟服务器。其中,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统及数据库,该数据库中包括源域数据及目标域数据。该计算机设备的非易失性存储介质还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现障碍物检测方法的步骤。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行障碍物检测方法的步骤。
本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
如图2所示,在一个实施例中,提供了一种障碍物检测方法。本实施例主要以该方法应用于上述图1中的计算机设备来举例说明。该障碍物检测方法,包括以下步骤:
S202,获取基于双目立体视觉的采集设备采集的点云数据。
双目立体视觉是指使用不同方位的两台采集设备,如可以是相机,或将一台采集设备通过移动或光学技巧虚拟出两台采集设备来拍摄同一个目标对象,并模拟人眼的工作模式,根据同一目标对象在两台采集设备中的位置差别来还原目标对象在世界坐标系中的位置。相较于单目采集设备,基于双目立体视觉的采集设备可以获取到深度信息,因此从原理上更加适宜高精度的障碍物检测。同时,由于单目采集设备往往需要先检测识别目标对象,再进行测距,基于双目立体视觉的采集设备采集的点云数据可以对场景内所有目标对象做测距,因此其适应范围更广。
双目立体视觉获得的点云数据是指基于双目立体视觉的目标对象的坐标信息。如点云数据可以是根据目标在图像坐标系的坐标、在世界坐标系的深度值和双目立体视觉系统标定参数,获得的世界坐标系的位置。其中,图像坐标系为基于采集设备采集的图像建立的坐标系;世界坐标系的深度值,为与采集设备拍摄方向平行的方向上,距离采集设备的距离值,世界坐标系为真实世界对应的坐标系。双目立体视觉系统的标定参数可以基于单位距离的计量方式确定。
需要说明是,由于双目立体视觉的采集设备可以为两台采集设备,本实施例中采集设备的拍摄方向可以为两台采集设备的中心点的拍摄方向。本实施例中距离采集设备的距离值,可以为距离该中心点的距离值。
S204,根据采集设备的拍摄方向及点云数据,确定在拍摄方向上各单位区间内的第一点云数量。
采集设备的拍摄方向即为点云数据的深度值的坐标轴延伸方向。沿着点云数据的该深度值的坐标轴延伸方向,按预设的单位间隔(如10米、1米、0.1米等)进行取样,统计每个单位区间内的点云数量,如此,可以确定在拍摄方向上各单位区间内的第一点云数量。可以理解地,在连续的、不少于一个单位区间内的第一点云数量大于预设值时,则该连续的、不少于一个单位区间对应于一个障碍物。
由于障碍物的点云数量与该障碍物,在基于双目立体视觉的二维图像上的面积成近似正比关系,因此,可以通过基于单位区间内的投影面积来表示第一点云数量。可以通过直方图的形式表示在拍摄方向上各单位区间内的点云数量。该基于立体视觉的二维图像可以为基于两台采集设备采集的两张二维图像进行模拟人眼处理后,得到的一张二维图像。可以理解地,该基于双目立体视觉的二维图像可以为在点云数据在与采集设备拍摄方向垂直的平面上,进行投影得到的二维图像。
可以基于双目立体视觉的点云数据在拍摄方向上,以某个间距(GAP)做切分,建立关于第一点云数据的直方图。
S206,通过修正模型对第一点云数量进行修正,确定在各单位区间内的第二点云数量,修正模型的约束条件为同一障碍物修正后的点云数量恒定。
同一障碍物是指在世界坐标系中的一个障碍物。可以理解地,一个障碍物可以对应于连续的、不少于一个的单位区间。同一障碍物修正后的点云数量恒定是指,同一障碍物对应于在拍摄方向上不同距离处采集的点云数据,同一障碍物修正后的点云数量相同。
修正模型可以为二次函数模型,也可以为其它的函数模型,如指数函数、对数函数等函数模型,只需要满足在误差允许的范围内,同一障碍物修正后的点云数量恒定的约束条件即可。
通过修正模型对第一点云数量进行修正,可以是将第一点云数量乘以修正模型,得到第二点云数量。
S208,基于在拍摄方向上各单位区间内的第二点云数量的直方图,确定障碍物位置信息。
该直方图以拍摄方向上的单位区间为统计单位,以第二点云数量为统计对象。对于障碍物位置仅在一个单位区间内的情况,可以根据第二点云数量的值是否大于预设值确定是否存在障碍物,对于障碍物位置跨越不少于两个单位区间的情况,可以根据连续的第二点云数量的值是否大于预设值确定是否存在障碍物。在存在障碍物的情况下,可以根据该障碍物所在的单位区间确定障碍物位置信息。还可以根据修正后得到的第二点云数量的峰值,确定障碍物信息。
由于该障碍物检测方法,通过修正模型对第一点云数量进行修正,确定在各单位区间内的第二点云数量,该修正模型的约束条件为同一障碍物修正后的点云数量恒定。因此,可以解决同一障碍物所占的点云数量随距离的增大而变小的问题,如此,可以通过对点云数量进行修正,降低距离近的非障碍物带来的干扰,同时增强对距离较远的障碍物的点云数量,从而,可以提高障碍物检测的准确性。
在其中一实施例中,基于在拍摄方向上各单位区间内的第二点云数量的直方图,确定障碍物位置信息,包括:以拍摄方向上与采集设备的距离作为横坐标,以点云数量作为纵坐标,确定拍摄方向上各单位区间内的第二点云数量的直方图;基于直方图的峰值确定障碍物在拍摄方向上、与采集设备的距离。
基于本实施例的技术方案中,直方图的横坐标为在拍摄方向上与采集设备的距离,即,横坐标的值为点云数据对应的实体对象与采集设备的距离;直方图的纵坐标为拍摄方向上单位区间内的第二点云数量。该实体对象可以为障碍物。可以理解地,直方图中的峰值是指在纵坐标上的峰值。对于不同距离的第二点云数量,在障碍物的位置处第二点云数量会形成一个峰值。因此,在本实施例中,通过障碍物在拍摄方向上、与采集设备的距离来表示障碍物位置信息。如此,可以提高检测效率。
在其中一实施例中,基于直方图确定障碍物在拍摄方向上、与采集设备的距离,包括:根据直方图中峰值大于预设值且距离采集设备最近的峰值,确定障碍物在拍摄方向上、与采集设备的距离。
由于误匹配的存在,对应的位置也会形成一个峰值,因此需要一个合理的阈值对其做过滤。在本实施中,通过取大于预设值的峰值方式,过滤干扰,如此,提高检测的准确性。可以理解地,在其中一实施例中,可以根据直方图中峰值大于预设值的峰值,确定障碍物在拍摄方向上、与采集设备的距离。
由于最大威胁的障碍物往往为距离最近的障碍物,因此,在本实施例中,每次处理距离采集设备最近的障碍物,如此,提高检测效率。可以理解地,在其中一实施例中,可以根据直方图中距离采集设备最近的峰值,确定障碍物在拍摄方向上、与采集设备的距离。
基于本实施例的障碍检测方法,通过直方图中峰值大于预设值且距离采集设备最近的峰值,确定该最近的障碍物在拍摄方向上、与采集设备的距离。如此,可以在进一步提高准确性的同时进一步提高检测效率。
在其中一个具体实施例中,本申请的障碍物检测方法应用于智能驾驶场景。在根据采集设备的拍摄方向及点云数据,确定在拍摄方向上各单位区间内的第一点云数量,之前还可以包括:对获取的点云数据进行预处理。该根据采集设备的拍摄方向及点云数据,确定在拍摄方向上各单位区间内的第一点云数量,为根据该预处理后的采集设备的拍摄方向及点云数据,确定在拍摄方向上各单位区间内的第一点云数量。该预处理可以包括:过滤当前车道以外的点云数据,如此,通过本障碍物检测方法确定的障碍物位置信息为当前车道上距离采集设备最近的障碍物位置信息。如此,可以在降低干扰,提高检测准确性的同时,提高检测效率。
在其中一实施例中,根据采集设备的拍摄方向及点云数据,确定在拍摄方向上各单位区间内的第一点云数量,包括:获取车辆信息,并根据拍摄方向及车辆信息,确定当前车道信息;根据当前车道信息及点云数据,过滤当前车道以外的点云数据。可以理解地,在过滤当前车道以外的点云数据之后,可以根据采集设备的拍摄方向及过滤后的点云数据确定在拍摄方向想各单位区间内的第一点云数量。
车辆信息可以包括车身宽度,可以根据车身宽度及采集设备的拍摄方向确定当前车道信息。如当前车道的宽度可以为车身宽度加上预设值,当前车道的方向可以为与拍摄方向平行。通过过滤当前车道以外的点云数据的方式,可以使得,通过本障碍物检测方法确定的障碍物位置信息为当前车道上距离采集设备最近的障碍物位置信息。如此,可以在降低干扰,提高检测准确性的同时,提高检测效率。
在其中一实施例中,根据直方图中峰值大于预设值且距离采集设备最近的峰值,确定障碍物在前进方向上、与采集设备的距离,包括:根据直方图中峰值大于预设值,且距离采集设备最近的峰值的起始位置的横坐标,确定障碍物在前进方向上、与采集设备的距离。
峰值的起始位置是指在到达峰值之前,点云数量大于阈值的起始位置。该阈值可以为过滤干扰的阈值,该阈值可以根据经验确定。由于直方图中的横坐标为拍摄方向上与采集设备的距离,因此,可以将直方图中峰值大于预设值,且距离采集设备最近的峰值的起始位置的横坐标,作为障碍物在前进方向上、与采集设备的距离。也可以通过预设的转换规则将直方图中峰值大于预设值,且距离采集设备最近的峰值的起始位置的横坐标,转换为障碍物在前进方向上、与采集设备的距离。如此,可以提高检测效率。
在其中一实施例中,为了在提高检测效率的同时,提高检测的准确性,修正模型为二次函数模型。
在其中一实施例中,二次函数模型为Sx=ax2+bx+c;其中,x表示点云数据对应的实体对象与采集设备的距离,Sx表示x对应的单位区间的第一电源数量的修正系数,a为二次函数模型的二次项系数,b为二次函数模型的一次项系数,c为二次函数模型的常数项。其中,a、b、c可以根据经验确定,也可以根据实验确定。第二点云数量表示为:yx'=yxSx,其中,yx表示x对应的单位区间的第一点云数量,yx'表示x对应的单位区间的第一点云数量修正后得到的第二点云数量。对于距离x的第一点云数量yx,其修正后的值为yx'=yxSx=yx×(ax2+bx+c)。如此,进一步提高检测效率。
对于同一障碍物在距离x的第一点云数量yx,经过修正得到的第二点云数量yx'应该趋于保持恒定。如此,通过对点云数量进行修正,降低距离近的非障碍物带来的干扰,同时增强对距离较远的障碍物的点云数量。从而,可以提高检测的准确性。
在其中一实施例中,根据采集设备的拍摄方向及点云数据,确定在拍摄方向上各单位区间内的第一点云数量,还包括:对预设数量组中的每一组点云数据,确定障碍物对应的单位区间的第一点云数量;预设数量的值不小于3。该预设数量的第一点云数据,可以为采用双目立体视觉的采集设备采集的同一障碍物,在不同距离上的点云数据。该不同距离的数量等于预设数量。
二次函数模型的确定方式为:二次函数模型的确定方式为:基于预设数量的同一障碍物对应的第一点云数量,进行二次函数拟合,确定二次函数模型的二次项系数、一次项系数及常数项。
如此,通过二次函数拟合的方式确定二次函数模型的二次项系数、一次项系数及常数项,提高二次函数模型的准确性,从而提高检测的准确性。
在其中一具体实施例中,可以假设恒定的值为N,也即,同一障碍物修正后的点云数量恒定为N,则可以设
为方便计算,进一步提高检测效率,可以取N=1,计算
的直方图。在平坦的直道上使用双目立体系统采集同一障碍物在不同距离上的点云数据,统计其在每个位置的点云数量y
x,多组距离和该实验目标在该距离的点云数量的数据(x,y
x),也即得到多组对应数据(x,S
x),其中,S
x采用
计算,以实验数据x作为输入,S
x作为输出,可以采用最小二乘法等最优化拟合方法对直方图的峰值点做二次函数拟合,得到二次函数模型S
x。
在其中一具体实施例中,提供一种障碍物检测方法,方法包括:
获取基于双目立体视觉的采集设备采集的点云数据;
根据采集设备的拍摄方向及点云数据,确定在拍摄方向上各单位区间内的第一点云数量;
通过修正模型对第一点云数量进行修正,确定在各单位区间内的第二点云数量,修正模型的约束条件为同一障碍物修正后的点云数量恒定;
以拍摄方向上与采集设备的距离作为横坐标,以点云数量作为纵坐标,确定拍摄方向上各单位区间内的第二点云数量的直方图;
根据所述直方图中峰值大于预设值且距离所述采集设备最近的所述峰值,确定障碍物在所述拍摄方向上、与所述采集设备的距离;
其中,修正模型为二次函数模型;二次函数模型为Sx=ax2+bx+c;其中,x表示点云数据对应的实体对象与采集设备的距离,Sx表示x对应的单位区间的第一点云数量的修正系数,a为二次函数模型的二次项系数,b为二次函数模型的一次项系数,c为二次函数模型的常数项;
第二点云数量表示为:yx'=yxSx,其中,yx表示x对应的单位区间的第一点云数量,yx'表示x对应的单位区间的第一点云数量修正后得到的第二点云数量;
根据采集设备的拍摄方向及点云数据,确定在拍摄方向上各单位区间内的第一点云数量,还包括:对预设数量组中的每一组点云数据,确定障碍物对应的单位区间的第一点云数量;预设数量的值不小于3;
二次函数模型的确定方式为:基于预设数量的同一障碍物对应的第一点云数量,进行二次函数拟合,确定二次函数模型的二次项系数、一次项系数及常数项。
以下结合一具体示例说明本申请的有益效果。将本申请的障碍物检测方法应用于智能驾驶场景中。获取的基于双目立体视觉的采集设备采集的点云数据如图3所示,其中,X-Z平面表示世界坐标系中路面,X-Y平面代表与路面垂直且与车辆前进方向垂直的平面,Y-Z平面表示与路面垂直且与车辆前进方向平行的平面。可以理解地,在智能驾驶场景中,车辆前景方向与采集设备的拍摄方向一致。图3中在Z轴,即深度值,也即采集设备拍摄方向上,100表示距离采集设备1000米的位置处,200表示距离采集2000米的位置处。其中,0-1000米的单位区间上,500米左右的位置处存在一波干扰数据,在2000米附近的位置才是实际上威胁等级最高的障碍物。
可以基于双目立体视觉的点云数据沿Z轴做切分,建立直方图,用于定位障碍物距离。基于在拍摄方向上各单位区间内的第一点云数量的直方图,该单位区间的单位为1米,可以如图4所示,在500米处误匹配的点云数量超过了2000米附近的障碍物点云数量,且通过阈值无法筛选出后者。因此,若通过维修中的第一点云数量进行障碍物位置信息的确定,将确定为误匹配的500米处。基于在拍摄方向上各单位区间内的第二点云数量的直方图,可以如图5所示,由于通过修正模型对点云数量进行修正,能够使得近处误匹配点云数量被压缩,降低非障碍物带来的干扰,同时增强对距离较远的障碍物的点云数量,如此,可以通过阈值筛选出2000米附近的障碍物,从而,提高了障碍物检测的准确性。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种运行于图1中的计算机设备的障碍物检测装置,包括:
一种障碍物检测装置,装置包括:
点云数据获取模块602,用于获取基于双目立体视觉的采集设备采集的点云数据;
点云数量确定模块604,用于根据采集设备的拍摄方向及点云数据,确定在拍摄方向上各单位区间内的第一点云数量;
点云数量修正模块606,用于通过修正模型对第一点云数量进行修正,确定在各单位区间内的第二点云数量,修正模型的约束条件为同一障碍物修正后的点云数量恒定;
障碍位置确定模块608,用于基于在拍摄方向上各单位区间内的第二点云数量的直方图,确定障碍物位置信息。
由于该障碍物检测装置,通过修正模型对第一点云数量进行修正,确定在各单位区间内的第二点云数量,该修正模型的约束条件为同一障碍物修正后的点云数量恒定。因此,可以解决同一障碍物所占的点云数量随距离的增大而变小的问题,如此,可以通过对点云数量进行修正,降低距离近的非障碍物带来的干扰,同时增强对距离较远的障碍物的点云数量,从而,可以提高障碍物检测的准确性。
在其中一实施例中,还包括直方图确定模块(图未示);
直方图确定模块,用于以拍摄方向上与采集设备的距离作为横坐标,以点云数量作为纵坐标,确定拍摄方向上各单位区间内的第二点云数量的直方图;
障碍位置确定模块,用于基于直方图的峰值确定障碍物在拍摄方向上、与采集设备的距离。
在其中一实施例中,障碍位置确定模块,用于根据直方图中峰值大于预设值且距离采集设备最近的峰值,确定障碍物在拍摄方向上、与采集设备的距离。
在其中一实施例中,障碍位置确定模块,用于根据直方图中峰值大于预设值,且距离采集设备最近的峰值的起始位置的横坐标,确定障碍物在前进方向上、与采集设备的距离。
在其中一实施例中,还包括:
车道确定模块,用于获取车辆信息,并根据拍摄方向及车辆信息,确定当前车道信息;
数据预处理模块,用于根据当前车道信息及点云数据,过滤当前车道以外的点云数据。
在其中一实施例中,修正模型为二次函数模型。
在其中一实施例中,二次函数模型为Sx=ax2+bx+c;其中,x表示点云数据对应的实体对象与采集设备的距离,Sx表示x对应的单位区间的第一点云数量的修正系数,a为二次函数模型的二次项系数,b为二次函数模型的一次项系数,c为二次函数模型的常数项;
第二点云数量表示为:yx'=yxSx,其中,yx表示x对应的单位区间的第一点云数量,yx'表示x对应的单位区间的第一点云数量修正后得到的第二点云数量。
在其中一实施例中,还包括模型确定模块(图未示);
点云数量确定模块,还用于对预设数量组中的每一组点云数据,确定障碍物对应的单位区间的第一点云数量;预设数量的值不小于3;
模型确定模块,用于基于预设数量的同一障碍物对应的第一点云数量,进行二次函数拟合,确定二次函数模型的二次项系数、一次项系数及常数项。
在一个实施例中,提供了一种与上述方法、装置对应的计算机设备,该计算机设备可以是服务器,其内部结构图可以如图1所示。该一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
获取基于双目立体视觉的采集设备采集的点云数据;
根据采集设备的拍摄方向及点云数据,确定在拍摄方向上各单位区间内的第一点云数量;
通过修正模型对第一点云数量进行修正,确定在各单位区间内的第二点云数量,修正模型的约束条件为同一障碍物修正后的点云数量恒定;
基于在拍摄方向上各单位区间内的第二点云数量的直方图,确定障碍物位置信息。
在其中一实施例中,基于在拍摄方向上各单位区间内的第二点云数量的直方图,确定障碍物位置信息,包括:
以拍摄方向上与采集设备的距离作为横坐标,以点云数量作为纵坐标,确定拍摄方向上各单位区间内的第二点云数量的直方图;
基于直方图的峰值确定障碍物在拍摄方向上、与采集设备的距离。
在其中一实施例中,基于直方图的峰值确定障碍物在拍摄方向上、与采集设备的距离,包括:
根据直方图中峰值大于预设值且距离采集设备最近的峰值,确定障碍物在拍摄方向上、与采集设备的距离。
在其中一实施例中,根据直方图中峰值大于预设值且距离采集设备最近的峰值,确定障碍物在前进方向上、与采集设备的距离,包括:
将直方图中峰值大于预设值,且距离采集设备最近的峰值的起始位置的横坐标,作为障碍物在前进方向上、与采集设备的距离。
在其中一实施例中,根据采集设备的拍摄方向及点云数据,确定在拍摄方向上各单位区间内的第一点云数量,包括:
获取车辆信息,并根据拍摄方向及车辆信息,确定当前车道信息;
根据当前车道信息及点云数据,过滤当前车道以外的点云数据。
在其中一实施例中,修正模型为二次函数模型。
在其中一实施例中,二次函数模型为Sx=ax2+bx+c;其中,x表示点云数据对应的实体对象与采集设备的距离,Sx表示x对应的单位区间的第一点云数量的修正系数,a为二次函数模型的二次项系数,b为二次函数模型的一次项系数,c为二次函数模型的常数项;
第二点云数量表示为:yx'=yxSx,其中,yx表示x对应的单位区间的第一点云数量,yx'表示x对应的单位区间的第一点云数量修正后得到的第二点云数量。
在其中一实施例中,根据采集设备的拍摄方向及点云数据,确定在拍摄方向上各单位区间内的第一点云数量,还包括:对预设数量组中的每一组点云数据,确定障碍物对应的单位区间的第一点云数量;预设数量的值不小于3;
二次函数模型的确定方式为:基于预设数量的同一障碍物对应的第一点云数量,进行二次函数拟合,确定二次函数模型的二次项系数、一次项系数及常数项。
在其中一实施例中,提供一种与上述方法、装置对应的计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取基于双目立体视觉的采集设备采集的点云数据;
根据采集设备的拍摄方向及点云数据,确定在拍摄方向上各单位区间内的第一点云数量;
通过修正模型对第一点云数量进行修正,确定在各单位区间内的第二点云数量,修正模型的约束条件为同一障碍物修正后的点云数量恒定;
基于在拍摄方向上各单位区间内的第二点云数量的直方图,确定障碍物位置信息。
在其中一实施例中,基于在拍摄方向上各单位区间内的第二点云数量的直方图,确定障碍物位置信息,包括:
以拍摄方向上与采集设备的距离作为横坐标,以点云数量作为纵坐标,确定拍摄方向上各单位区间内的第二点云数量的直方图;
基于直方图的峰值确定障碍物在拍摄方向上、与采集设备的距离。
在其中一实施例中,基于直方图的峰值确定障碍物在拍摄方向上、与采集设备的距离,包括:
根据直方图中峰值大于预设值且距离采集设备最近的峰值,确定障碍物在拍摄方向上、与采集设备的距离。
在其中一实施例中,根据直方图中峰值大于预设值且距离采集设备最近的峰值,确定障碍物在前进方向上、与采集设备的距离,包括:
将直方图中峰值大于预设值,且距离采集设备最近的峰值的起始位置的横坐标,作为障碍物在前进方向上、与采集设备的距离。
在其中一实施例中,根据采集设备的拍摄方向及点云数据,确定在拍摄方向上各单位区间内的第一点云数量,包括:
获取车辆信息,并根据拍摄方向及车辆信息,确定当前车道信息;
根据当前车道信息及点云数据,过滤当前车道以外的点云数据。
在其中一实施例中,修正模型为二次函数模型。
在其中一实施例中,二次函数模型为Sx=ax2+bx+c;其中,x表示点云数据对应的实体对象与采集设备的距离,Sx表示x对应的单位区间的第一点云数量的修正系数,a为二次函数模型的二次项系数,b为二次函数模型的一次项系数,c为二次函数模型的常数项;
第二点云数量表示为:yx'=yxSx,其中,yx表示x对应的单位区间的第一点云数量,yx'表示x对应的单位区间的第一点云数量修正后得到的第二点云数量。
在其中一实施例中,根据采集设备的拍摄方向及点云数据,确定在拍摄方向上各单位区间内的第一点云数量,还包括:对预设数量组中的每一组点云数据,确定障碍物对应的单位区间的第一点云数量;预设数量的值不小于3;
二次函数模型的确定方式为:基于预设数量的同一障碍物对应的第一点云数量,进行二次函数拟合,确定二次函数模型的二次项系数、一次项系数及常数项。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。