发明内容
鉴于上述问题,提出了以便提供克服上述问题或者至少部分地解决上述问题的一种目标物速度的估计方法及装置、车辆和存储介质,包括:
一种目标物速度的估计方法,其特征在于,方法包括:
获取目标单帧点云,目标单帧点云由激光雷达设备在目标时段内对移动的目标物进行多次扫描后得到的一帧点云生成;
将目标单帧点云分割成至少两个点云片段;
确定至少两个点云片段中任意两个点云片段之间的差异值,并将最小差异值所对应的两个点云片段作为目标点云片段;
根据目标点云片段,估计目标物的目标速度。
可选地,确定至少两个点云片段中任意两个点云片段之间的差异值,包括:
从至少两个点云片段中,任意获取两个点云片段作为第一点云片段和第二点云片段;
确定第一点云片段的第一点云参数,以及第二点云片段的第二点云参数;
根据第一点云参数和第二点云参数,确定第一点云片段和第二点云片段之间的差异值;
其中,点云参数包括以下至少一项:
点云形态、点云平均时间、点云面积、点云平均俯仰角。
可选地,根据第一点云参数和第二点云参数,确定第一点云片段和第二点云片段之间的差异值,包括:
确定第一点云片段的点云形态,与第二点云片段的点云形态的目标形态差异;
确定第一点云片段的点云平均时间,与第二点云片段的点云平均时间的目标时间差异;
确定第一点云片段的点云面积,与第二点云片段的点云面积的目标点云面积差异;
确定第一点云片段的点云平均俯仰角,与第二点云片段的点云平均俯仰角的目标点云平均俯仰角差异;
获取预先针对不同差异设置的权重;
根据目标形态差异、目标时间差异、目标点云面积差异、目标点云平均俯仰角差异,以及对应的权重,确定第一点云片段和第二点云片段之间的差异值。
可选地,点云片段的点云形态通过如下步骤确定:
建立针对点云片段的二维外接矩形,并确定二维外接矩形中距离激光雷达设备最近的第一角点;
确定外接二维矩形中,与第一角点相邻的第二角点和第三角点;
确定第一角点和激光雷达设备的连线,与第二角点和激光雷达设备的连线的第一夹角;
确定第一角点和激光雷达设备的连线,与第三角点和激光雷达设备的连线的第二夹角;
根据第一夹角和第二夹角中数值最小的夹角,确定点云片段的点云形态。
可选地,根据目标点云片段,估计目标物的目标速度,包括:
根据预先为目标点云片段对应的点云形态设置的特征提取方式,从目标点云片段中提取目标特征点;
根据目标特征点,确定目标物的目标速度。
可选地,将目标单帧点云分割成至少两个点云片段,包括:
按照时间顺序,对目标单帧点云中的点进行排序;
判断目标单帧点云中相邻的第一点和第二点之间的间隔是否超过预设时长间隔;
当第一点和第二点之间的间隔超过预设时长间隔时,判断以第一点为端点的点云片段的偏航角升降序,和以第二点为端点的点云片段的偏航角升降序是否一致;
当以第一点为端点的点云片段的偏航角升降序,和以第二点为端点的点云片段的偏航角升降序不一致时,在第一点和第二点之间进行分割。
可选地,目标速度包括目标物的绝对速度,激光雷达设备部署在目标车辆中,获取目标单帧点云,包括:
获取目标车辆在目标时段内的目标自车位姿;
根据目标自车位姿,对一帧点云进行自车运动补偿,得到目标单帧点云。
本发明实施例还提供了一种目标物速度的估计装置,装置包括:
获取模块,用于获取目标单帧点云,目标单帧点云由激光雷达设备在目标时段内对移动的目标物进行多次扫描后得到的一帧点云生成;
分割模块,用于将目标单帧点云分割成至少两个点云片段;
确定模块,用于确定至少两个点云片段中任意两个点云片段之间的差异值,并将最小差异值所对应的两个点云片段作为目标点云片段;
估计模块,用于根据目标点云片段,估计目标物的目标速度。
可选地,确定模块,包括:
选取子模块,用于从至少两个点云片段中,任意获取两个点云片段作为第一点云片段和第二点云片段;
参数确定子模块,用于确定第一点云片段的第一点云参数,以及第二点云片段的第二点云参数;
差异值确定子模块,用于根据第一点云参数和第二点云参数,确定第一点云片段和第二点云片段之间的差异值;
其中,点云参数包括以下至少一项:
点云形态、点云平均时间、点云面积、点云平均俯仰角。
可选地,差异值确定子模块,用于确定第一点云片段的点云形态,与第二点云片段的点云形态的目标形态差异;确定第一点云片段的点云平均时间,与第二点云片段的点云平均时间的目标时间差异;确定第一点云片段的点云面积,与第二点云片段的点云面积的目标点云面积差异;确定第一点云片段的点云平均俯仰角,与第二点云片段的点云平均俯仰角的目标点云平均俯仰角差异;获取预先针对不同差异设置的权重;根据目标形态差异、目标时间差异、目标点云面积差异、目标点云平均俯仰角差异,以及对应的权重,确定第一点云片段和第二点云片段之间的差异值。
可选地,参数确定子模块,用于建立针对点云片段的二维外接矩形,并确定二维外接矩形中距离激光雷达设备最近的第一角点;确定外接二维矩形中,与第一角点相邻的第二角点和第三角点;确定第一角点和激光雷达设备的连线,与第二角点和激光雷达设备的连线的第一夹角;确定第一角点和激光雷达设备的连线,与第三角点和激光雷达设备的连线的第二夹角;根据第一夹角和第二夹角中数值最小的夹角,确定点云片段的点云形态。
可选地,估计模块,包括:
特征提取子模块,用于根据预先为目标点云片段对应的点云形态设置的特征提取方式,从目标点云片段中提取目标特征点;
根据目标特征点,确定目标物的目标速度。
可选地,分割模块,包括:
排序子模块,用于按照时间顺序,对目标单帧点云中的点进行排序;
第一判断子模块,用于判断目标单帧点云中相邻的第一点和第二点之间的间隔是否超过预设时长间隔;
第二判断子模块,用于当第一点和第二点之间的间隔超过预设时长间隔时,判断以第一点为端点的点云片段的偏航角升降序,和以第二点为端点的点云片段的偏航角升降序是否一致;
分割片段子模块,用于当以第一点为端点的点云片段的偏航角升降序,和以第二点为端点的点云片段的偏航角升降序不一致时,在第一点和第二点之间进行分割。
可选地,目标速度包括目标物的绝对速度,激光雷达设备部署在目标车辆中,获取模块,包括:
自车位姿获取子模块,用于获取目标车辆在目标时段内的目标自车位姿;
自车运动补偿子模块,用于根据目标自车位姿,对一帧点云进行自车运动补偿,得到目标单帧点云。
本发明实施例还提供了一种车辆,包括处理器、存储器及存储在存储器上并能够在处理器上运行的计算机程序,计算机程序被处理器执行时实现如上的目标物速度的估计方法。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现如上的目标物速度的估计方法。
本发明实施例具有以下优点:
本发明实施例中,可以先获取目标单帧点云,目标单帧点云由激光雷达设备在目标时段内对移动的目标物进行多次扫描后得到的一帧点云生成;然后将目标单帧点云分割成至少两个点云片段;再确定至少两个点云片段中任意两个点云片段之间的差异值,并将最小差异值所对应的两个点云片段作为目标点云片段;之后再根据目标点云片段,估计目标物的目标速度。通过本发明实施例,实现了基于单帧的点云来估计移动的物体的速度;由于无需依赖于相邻帧的点云,使得在激光雷达设备所采集到的初始几帧的点云中就出现的移动的物体的速度也能够被准确的估计到。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1,示出了本发明实施例的一种目标物速度的估计方法的步骤流程图,包括如下步骤:
步骤101、获取目标单帧点云,目标单帧点云由激光雷达设备在目标时段内对移动的目标物进行多次扫描后得到的一帧点云生成;
其中,激光雷达设备可以指能够在一定时间段内对物体进行多次扫描,并基于这多次扫描得到一帧点云的雷达设备。
目标单帧点云可以是激光雷达设备所生成的第一帧的点云,也可以是第二帧的点云、第三帧的点云......,本发明实施例对此不作限制。
目标单帧点云可以是激光雷达设备在目标时段内,对一移动的目标物进行多次扫描后得到的一帧点云生成的,例如:可以是对该一帧点云进行处理后生成的目标单帧点云,本发明实施例对此不作限制。
如图2,为一目标单帧点云的示例,其中包括激光雷达设备在目标时段内对移动的目标物进行多次扫描后得到多圈点云。
步骤102、将目标单帧点云分割成至少两个点云片段;
在获取到目标单帧点云后,可以先对目标单帧点云进行分割,以便得到至少两个点云片段;点云片段可以由连续的多个点组成,每个点可以包含有三维坐标、颜色信息、反射强度信息、回波次数信息等。
作为一示例,每个点云片段对应目标时段的一个子时段,例如:目标单帧点云对应的目标时段为第10ms-第20ms,分割得到A、B、C和D四个点云片段,点云片段A对应目标时段中的第10ms-第12ms这一子时段,点云片段B对应目标时段中的第12ms-第14ms这一子时段,点云片段C对应目标时段中的第14ms-第17ms这一子时段,点云片段D对应目标时段中的第17ms-第20ms这一子时段,本发明实施例对此不作限制。
步骤103、确定至少两个点云片段中任意两个点云片段之间的差异值,并将最小差异值所对应的两个点云片段作为目标点云片段;
在对目标单帧点云进行分割后,可以从所得到的至少两个点云片段中,任意选取两个点云片段,然后计算任意两个点云片段之间的差异值;例如:面积差异、形态差异等,本发明实施例对此不作限制。
接上例,可以分别计算点云片段A与点云片段B之间的差异值、点云片段A与点云片段C之间的差异值、点云片段A与点云片段D之间的差异值、点云片段B与点云片段C之间的差异值、点云片段B与点云片段D之间的差异值,以及点云片段C与点云片段D之间的差异值。
在确定至少两个点云片段中,每两个点云片段之间的差异值后,可以将其中最小差异值所对应的两个点云片段作为目标点云片段。
接上例,点云片段A与点云片段B之间的差异值为0.2,点云片段A与点云片段C之间的差异值0.3,点云片段A与点云片段D之间的差异值0.4,点云片段B与点云片段C之间的差异值0.3,点云片段B与点云片段D之间的差异值0.1,点云片段C与点云片段D之间的差异值0;其中,差异值0为最小差异值,则可以将点云片段C和点云片段D作为目标点云片段。
步骤104、根据目标点云片段,估计目标物的目标速度。
在获取到两个目标点云片段后,可以基于这两个目标点云片段来估计目标物的目标速度;具体的,可以基于两个目标点云片段所对应的位置,以及两个目标点云片段所对应的时间来估计目标物的目标速度。
本发明实施例中,可以先获取目标单帧点云,目标单帧点云由激光雷达设备在目标时段内对移动的目标物进行多次扫描后得到的一帧点云生成;然后将目标单帧点云分割成至少两个点云片段;再确定至少两个点云片段中任意两个点云片段之间的差异值,并将最小差异值所对应的两个点云片段作为目标点云片段;之后再根据目标点云片段,估计目标物的目标速度。通过本发明实施例,实现了基于单帧的点云来估计移动的物体的速度;由于无需依赖于相邻帧的点云,使得在激光雷达设备所采集到的初始几帧的点云中就出现的移动的物体的速度也能够被准确的估计到。
参照图3,示出了本发明实施例的另一种目标物速度的估计方法的步骤流程图,包括如下步骤:
步骤301、获取目标单帧点云;
在实际应用中,当需要对目标物的速度进行估计时,可以先获取目标单帧点云。
在本发明一实施例中,目标速度可以包括目标物的绝对速度,激光雷达设备可以是部署在目标车辆中的,步骤301可以包括如下子步骤:
子步骤11、获取目标车辆在目标时段内的目标自车位姿;
其中,目标自车位姿可以包括目标车辆在目标时段内的位置信息和姿态。
在实际应用中,目标物可以是目标车辆外的移动的障碍物;目标物在移动的同时,目标车辆可能也在移动;此时,为了能够准确的估计到目标物的绝对速度,可以基于目标车辆在目标时段内的位姿来进行补偿。
具体的,可以先获取目标车辆在目标时段内的目标自车位姿,目标自车位姿可以利用视觉SLAM(Simultaneous Localization andMapping,同步定位与地图构建)、激光雷达SLAM、GPS(Global Positioning System,全球定位系统)、IMU(InertialMeasurementUnit,惯性测量单元)和轮速计等来获取,本发明实施例对此不作限制。
子步骤12、根据目标自车位姿,对一帧点云进行自车运动补偿,得到目标单帧点云。
在获取到目标车辆在目标时段内的目标自车位姿后,可以根据该目标自车位姿,对激光雷达设备在目标时段内所生成的一帧点云做自车运动补偿,从而得到目标单帧点云。
在本发明另一实施例中,如果是要估计目标物相对于目标车辆的相对速去的话,则可以直接将激光雷达设备在目标时段内对移动的目标物进行多次扫描后得到的一帧点云作为目标单帧点云。
作为一示例,激光雷达设备在对目标物进行扫描时,可能还会针对其他物体生成点云;因此,可以先对激光雷达设备在目标时段内对移动的目标物进行多次扫描后得到的一帧点云进行目标物识别,例如:可以采用深度学习方法、或者传统几何方法来进行目标物识别。
然后,再基于识别结果从该一帧点云中得到目标单帧点云。
步骤302、将目标单帧点云分割成至少两个点云片段;
在获取到目标单帧点云后,可以先对目标单帧点云进行分割,以便得到至少两个点云片段。
在本发明一实施例中,可以通过如下子步骤对目标单帧点云进行分割:
子步骤21、按照时间顺序,对目标单帧点云中的点进行排序;
首先,可以先按照时间的先后顺去,对目标单帧点云中所有的点进行排序,得到一端点云。
子步骤22、判断目标单帧点云中相邻的第一点和第二点之间的间隔是否超过预设时长间隔;
然后,可以从排序后的目标单帧点云中任意选取两个相邻的点,作为第一点和第二点。
在选取到第一点和第二点后,可以获取第一点对应的时间戳和第二点对应的时间戳,并基于第一点对应的时间戳和第二点对应的时间戳确定第一点和第二点之间的间隔。
然后,可以基于第一点和第二点之间的间隔与预设时长间隔之间的关系,判断第一点和第二点之间的连续性。
如果第一点和第二点之间的间隔未超过预设时长间隔的话,可以表示第一点和第二点是连续的;此时,可以重新执行子步骤21。
如果第一点和第二点之间的间隔超过预设时长间隔的话,可以表示第一点和第二点是不连续的;此时,可以继续执行后续子步骤23。
子步骤23、当第一点和第二点之间的间隔超过预设时长间隔时,判断以第一点为端点的点云片段的偏航角升降序,和以第二点为端点的点云片段的偏航角升降序是否一致;
如果第一点和第二点之间的间隔超过预设时长间隔的话,可以先以第一点为端点,得到一条点云片段,以及以第二点为端点,得到另一条点云片段。
然后,可以确定这两条点云片段的偏航角升降序;例如:是上升或者下降;如果两条点云片段的偏航角升降序是不一致的话,则可以表示第一点和第二点是激光雷达设备在不同次针对目标物进行扫描时生成的。
如果两条点云片段的偏航角升降序是一致的话,则可以表示第一点和第二点是激光雷达设备在同一次针对目标物进行扫描时生成的。
子步骤24、当以第一点为端点的点云片段的偏航角升降序,和以第二点为端点的点云片段的偏航角升降序不一致时,在第一点和第二点之间进行分割。
当判定以第一点为端点的点云片段的偏航角升降序,和以第二点为端点的点云片段的偏航角升降序不一致时,可以在第一点和第二点之间进行分割操作,以便得到点云片段。
当判定以第一点为端点的点云片段的偏航角升降序,和以第二点为端点的点云片段的偏航角升降序一致时,可以重新执行子步骤21。
作为一示例,通过多次执行上述子步骤21-子步骤24,可以得到至少两个点云片段。
步骤303、从至少两个点云片段中,任意获取两个点云片段作为第一点云片段和第二点云片段;
在对目标单帧点云进行分割,得到至少两个点云片段后,可以先从至少两个点云片段中,任意获取两个点云片段,并将任意获取的两个点云片段中的一个点云片段作为第一点云片段,将另一个点云片段作为第二点云片段。
步骤304、确定第一点云片段的第一点云参数,以及第二点云片段的第二点云参数;
其中,点云参数可以包括以下至少一项:点云形态、点云平均时间、点云面积、点云平均俯仰角。
点云形态可以表征点云片段所具备的形态,如图4a所示,为L形点云形态的点云片段;如图4b所示,为I形点云形态的点云片段。
点云平均时间可以指点云片段中所有点所对应的时间撮的平均时间。
点云面积可以指点云片外的二维外接矩形的面积。
点云平均俯仰角可以指点云片段中所有点所对应的俯仰角的平均角度。
在实际应用中,在获取到第一点云片段和第二点云片段后,可以先确定第一点云片段的第一点云参数,以及确定第二点云片段的第二点云参数。其中,具体确定点云形态、点云平均时间、点云面积和点云平均俯仰角中的那个点云参数,可以根据实际情况设定,例如:确定第一点云片段的点云形态、点云平均时间、点云面积和点云平均俯仰角;或者,确定第一点云片段的点云平均时间、点云面积和点云平均俯仰角,本发明实施例对此不作限制。
在本发明一实施例中,点云片段的点云形态可以通过如下子步骤确定:
子步骤31、建立针对点云片段的二维外接矩形,并确定二维外接矩形中距离激光雷达设备最近的第一角点;
在确定点云片段的点云形态时,可以先建立针对点云片段的二维外接矩形;然后,可以确定该二维外接矩形中,距离激光雷达设备最近的一个角点,并将其作为第一角点。
子步骤32、确定外接二维矩形中,与第一角点相邻的第二角点和第三角点;
然后,可以将二维矩形中,与第一角点相邻的两个角点中的一个角点作为第二角点,将另一个相邻的角点作为第三角点。
子步骤33、确定第一角点和激光雷达设备的连线,与第二角点和激光雷达设备的连线的第一夹角;
子步骤34、确定第一角点和激光雷达设备的连线,与第三角点和激光雷达设备的连线的第二夹角;
在确定第二角点和第三角点后,可以将第一角点、第二角点和第三角点与分别与激光雷达设备所处的位置进行连线;并确定第一角点和激光雷达设备的连线与第二角点和激光雷达设备的连线的第一夹角,以及第一角点和激光雷达设备的连线与第三角点和激光雷达设备的连线的第二夹角。
如图5,点云云片500的二维外接矩形580;其中,第一角点510和激光雷达设备520的连线530,与第二角点540和激光雷达设备520的连线550的第一夹角α,以及第一角点510和激光雷达设备520的连线560与第三角点570和激光雷达设备520的连线580的第二夹角β。
子步骤35、根据第一夹角和第二夹角中数值最小的夹角,确定点云片段的点云形态。
在确定第一夹角和第二夹角后,可以根据第一夹角和第二夹角中数值最小的那个夹角来确定点云片段的点云形态;具体的,可以预先针对不同的夹角设置不同的点云形态,例如:夹角小于1.5°的为I形点云形态,否则为L形点云形态,本发明实施例对此不作限制。
在本发明另一实施例中,点云片段的点云平均时间可以通过如下子步骤确定:
子步骤41、确定点云片段中所包括的点的数量,以及每个点对应的时间戳;
首先,可以先统计需要确定点云平均时间的点云片段中,所包括的点的数量N,以及每个点对应的时间戳ti。
子步骤42、根据点的数量,以及每个点对应的时间戳,确定点云片段的点云平均时间。
然后,可以根据点的数量N,以及每个点对应的时间戳,计算该点云片段的点云平均时间;例如:点云平均时间T可以通过如下公式计算:
在本发明又一实施例中,可以将针对点云片段所创建的外接二维矩形的面积,作为该点云片段的点云面积。
在本发明再一实施例中,点云片段的点云平均俯仰角可以通过如下子步骤确定:
子步骤51、确定点云片段中所包括的点的数量,以及每个点对应的俯仰角;
首先,可以先统计需要确定点云平均时间的点云片段中,所包括的点的数量N,以及每个点对应的俯仰角∠i。
子步骤52、根据点的数量,以及每个点对应的俯仰角,确定点云片段的点云平均俯仰角。
然后,可以根据点的数量N,以及每个点对应的俯仰角∠i,计算该点云片段的点云平均俯仰角;例如:点云平均俯仰角∠可以通过如下公式计算:
步骤305、根据第一点云参数和第二点云参数,确定第一点云片段和第二点云片段之间的差异值;
在确定第一点云参数和第二点云参数后,可以基于第一点云参数和第二点云参数,来确定第一点云片段中的点云,与第二点云片段中的点云的差异;具体的,可以将第一点云参数与第二点云参数的差值,作为第一点云片段和第二点云片段之间的差异值。
作为一示例,可以重复执行步骤303-步骤305,以分别确定至少两个点云片段中,任意一个点云片段与至少两个点云片段中其他点云片段的差异值。
在本发明一实施例中,可以通过如下子步骤确定第一点云片段和第二点云片段之间的差异值:
子步骤61、确定第一点云片段的点云形态,与第二点云片段的点云形态的目标形态差异;
在实际应用中,可以先确定第一点云片段的点云形态,以及第二点云片段的点云形态;然后,获取预先为第一点云片段的点云形态设置的一常数shapei,以及为第二点云片段的点云形态设置的另一常数shapej。
之后,可以将shapei和shapej的差值的绝对值,作为第一点云片段的点云形态与第二点云片段的点云形态的目标形态差异。
子步骤62、确定第一点云片段的点云平均时间,与第二点云片段的点云平均时间的目标时间差异;
同时,可以根据第一点云片段的点云平均时间,和第二点云片段的点云平均时间,确定第一点云片段和第二点云片段的时间差异;具体的,可以将第一点云片段的点云平均时间,与第二点云片段的点云平均时间的差值的绝对值作为目标时间差异。
子步骤63、确定第一点云片段的点云面积,与第二点云片段的点云面积的目标点云面积差异;
另外,还可以根据第一点云片段的点云面积,和第二点云片段的点云面积,确定第一点云片段和第二点云片段的面积差异;具体的,可以将第一点云片段的点云面积,与第二点云片段的点云面的差值的绝对值作为目标点云面积差异。
子步骤64、确定第一点云片段的点云平均俯仰角,与第二点云片段的点云平均俯仰角的目标点云平均俯仰角差异;
在实际应用中,还可以根据第一点云片段的点云平均俯仰角,和第二点云片段的点云平均俯仰角,确定第一点云片段和第二点云片段的俯仰角差异;具体的,可以将第一点云片段的点云平均俯仰角,与第二点云片段的点云平均俯仰角的差值的绝对值作为目标点云平均俯仰角差异。
子步骤65、获取预先针对不同差异设置的权重;
在得到目标形态差异、目标时间差异、目标点云面积差异,以及目标点云平均俯仰角差异的同时,可以获取预先针对不同差异设置的权重;例如:为形态差异设置较大的权重,以保证最终得到的两个目标点云片段的点云形态是一致的;为时间差异、点云面积差异,以及点云平均俯仰角差异设置的权重,能够保证最终得到的两个目标点云片段的时间差异、点云面积差异,以及点云平均俯仰角差异在一个数量级上,本发明实施例对此不作限制。
子步骤66、根据目标形态差异、目标时间差异、目标点云面积差异、目标点云平均俯仰角差异,以及对应的权重,确定第一点云片段和第二点云片段之间的差异值。
然后,可以根据所得到的目标形态差异、目标时间差异、目标点云面积差异,以及标点云平均俯仰角差异;和预先为各个差异设置的权重,来计算第一点云片段与第二点云片段之间的差异值。
例如:可以通过如下公式计算第一点云片段与第二点云片段之间的差异值scoreij:
其中,wshape为预先为形态差异设置的权重,shapei为第一点云片段的点云形态对应的常数,shapej为第二点云片段的点云形态对应的常数;
wt为预先为时间差异设置的权重,Ti为第一点云片段的点云平均时间,Tj为第二点云片段的点云平均时间;
warea为预先为点云面积差异设置的权重,areai为第一点云片段的点云面积,areaj为第二点云片段的点云面积;
wpitch为预先为点云平均俯仰角差异设置的权重,pitchi为第一点云片段的点云平均俯仰角,pitchj为第二点云片段的点云平均俯仰角。
步骤306、将最小差异值所对应的两个点云片段作为目标点云片段;
在确定至少两个点云片段中,每两个点云片段之间的差异值后,可以将其中最小差异值所对应的两个点云片段作为目标点云片段。
步骤307、根据目标点云片段,估计目标物的目标速度。
在获取到两个目标点云片段后,可以基于这两个目标点云片段来估计目标物的目标速度;具体的,可以基于两个目标点云片段所对应的位置,以及两个目标点云片段所对应的时间来估计目标物的目标速度。
在本发明一实施例中,可以通过如下子步骤估计目标物的目标速度:
子步骤71、根据预先为目标点云片段对应的点云形态设置的特征提取方式,从目标点云片段中提取目标特征点;
在确定两个目标点云片段后,可以先从两个目标点云片段中各提取出一个点作为目标特征点;具体的,可以预先为不同的点云形态设置对应的特征提取方式。
如图6a所示,对于L形点云形态的点云片段610,可以将针对目标点云片段所创建的外接二维矩形620中,距离激光雷达设备630最近的角点作为目标特征点640。
如图6b所示,对于I形点云形态的点云片段650,可以将针对目标点云片段所创建的外接二维矩形660中,距离激光雷达设备630最近的两个角点的连线的重点作为目标特征点670,本发明实施例对此不作限制。
子步骤72、根据目标特征点,确定目标物的目标速度。
然后,可以根据两个目标特征点对应位置之间的距离,以及目标点云片段对应的点云平均时间,计算目标物的目标速度。
在本发明一实施例中,也可以用ICP(Iterative Closest Point,迭代最近点)方法得到两个目标点云片段的变换矩阵,然后利用变换矩阵和目标点云片段对应的点云平均时间计算目标物的速度,本发明实施例对此不作限制。
在实际应用中,在估计到目标物的目标速度后,可以基于目标速度来进行针对目标物的避障。
当然,激光雷达设备在针对目标物进行扫描,可能因为目标物的移动导致扫描到的点云产生严重的变形;此时,可以基于所获取到的目标速度对激光雷达设备所输出的点云进行运动畸变矫正。
如图7所示,如果期望估计到目标物的绝对速度的话,可以在获取目标单帧点云时,先对所获取的一帧点云进行自车运动补偿,然后对补偿后的一帧点云进行目标物的检测,从而得到目标单帧点云;之后,再通过对目标单帧点云进行上述步骤302-步骤307的处理,来估计目标物的绝对速度。
在获取到目标物的绝对速度后,可以基于绝对速度对激光雷达设备所输出的点云进行运动畸变矫正。
如图8所示,如果期望估计到目标物的相对速度的话,可以在获取到一帧点云后,仅对这一帧点云进行目标物的检测,从而得到目标单帧点云,而不进行自车运动补偿;之后,再通过对目标单帧点云进行上述步骤302-步骤307的处理,来估计目标物相对于目标车辆的相对速度。
在本发明实施例中,可以先获取目标单帧点云;然后将目标单帧点云分割成至少两个点云片段;从至少两个点云片段中,任意获取两个点云片段作为第一点云片段和第二点云片段;确定第一点云片段的第一点云参数,以及第二点云片段的第二点云参数;根据第一点云参数和第二点云参数,确定第一点云片段和第二点云片段之间的差异值;将最小差异值所对应的两个点云片段作为目标点云片段;根据目标点云片段,估计目标物的目标速度。通过本发明实施例,实现了基于单帧的点云来估计移动的物体的速度;且保证了移动的物体的速度估计的实时性和准确性。
且通过准确而及时地估计移动的物体的速度,可以有效地提升自动驾驶过程中车辆避障的及时性、舒适性及安全性。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图9,示出了本发明实施例的一种目标物速度的估计装置的结构示意图,包括如下模块:
获取模块901,用于获取目标单帧点云,目标单帧点云由激光雷达设备在目标时段内对移动的目标物进行多次扫描后得到的一帧点云生成;
分割模块902,用于将目标单帧点云分割成至少两个点云片段;
确定模块903,用于确定至少两个点云片段中任意两个点云片段之间的差异值,并将最小差异值所对应的两个点云片段作为目标点云片段;
估计模块904,用于根据目标点云片段,估计目标物的目标速度。
本发明的一个可选实施例中,确定模块903,包括:
选取子模块,用于从至少两个点云片段中,任意获取两个点云片段作为第一点云片段和第二点云片段;
参数确定子模块,用于确定第一点云片段的第一点云参数,以及第二点云片段的第二点云参数;
差异值确定子模块,用于根据第一点云参数和第二点云参数,确定第一点云片段和第二点云片段之间的差异值;
其中,点云参数包括以下至少一项:
点云形态、点云平均时间、点云面积、点云平均俯仰角。
本发明的一个可选实施例中,差异值确定子模块,用于确定第一点云片段的点云形态,与第二点云片段的点云形态的目标形态差异;确定第一点云片段的点云平均时间,与第二点云片段的点云平均时间的目标时间差异;确定第一点云片段的点云面积,与第二点云片段的点云面积的目标点云面积差异;确定第一点云片段的点云平均俯仰角,与第二点云片段的点云平均俯仰角的目标点云平均俯仰角差异;获取预先针对不同差异设置的权重;根据目标形态差异、目标时间差异、目标点云面积差异、目标点云平均俯仰角差异,以及对应的权重,确定第一点云片段和第二点云片段之间的差异值。
本发明的一个可选实施例中,参数确定子模块,用于建立针对点云片段的二维外接矩形,并确定二维外接矩形中距离激光雷达设备最近的第一角点;确定外接二维矩形中,与第一角点相邻的第二角点和第三角点;确定第一角点和激光雷达设备的连线,与第二角点和激光雷达设备的连线的第一夹角;确定第一角点和激光雷达设备的连线,与第三角点和激光雷达设备的连线的第二夹角;根据第一夹角和第二夹角中数值最小的夹角,确定点云片段的点云形态。
本发明的一个可选实施例中,估计模块904,包括:
特征提取子模块,用于根据预先为目标点云片段对应的点云形态设置的特征提取方式,从目标点云片段中提取目标特征点;
根据目标特征点,确定目标物的目标速度。
本发明的一个可选实施例中,分割模块902,包括:
排序子模块,用于按照时间顺序,对目标单帧点云中的点进行排序;
第一判断子模块,用于判断目标单帧点云中相邻的第一点和第二点之间的间隔是否超过预设时长间隔;
第二判断子模块,用于当第一点和第二点之间的间隔超过预设时长间隔时,判断以第一点为端点的点云片段的偏航角升降序,和以第二点为端点的点云片段的偏航角升降序是否一致;
分割片段子模块,用于当以第一点为端点的点云片段的偏航角升降序,和以第二点为端点的点云片段的偏航角升降序不一致时,在第一点和第二点之间进行分割。
本发明的一个可选实施例中,目标速度包括目标物的绝对速度,激光雷达设备部署在目标车辆中,获取模块901,包括:
自车位姿获取子模块,用于获取目标车辆在目标时段内的目标自车位姿;
自车运动补偿子模块,用于根据目标自车位姿,对一帧点云进行自车运动补偿,得到目标单帧点云。
本发明实施例中,可以先获取目标单帧点云,目标单帧点云由激光雷达设备在目标时段内对移动的目标物进行多次扫描后得到的一帧点云生成;然后将目标单帧点云分割成至少两个点云片段;再确定至少两个点云片段中任意两个点云片段之间的差异值,并将最小差异值所对应的两个点云片段作为目标点云片段;之后再根据目标点云片段,估计目标物的目标速度。通过本发明实施例,实现了基于单帧的点云来估计移动的物体的速度;由于无需依赖于相邻帧的点云,使得在激光雷达设备所采集到的初始几帧的点云中就出现的移动的物体的速度也能够被准确的估计到。
本发明实施例还提供了一种车辆,包括处理器、存储器及存储在存储器上并能够在处理器上运行的计算机程序,计算机程序被处理器执行时实现如上的目标物速度的估计方法。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现如上的目标物速度的估计方法。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对所提供的一种目标物速度的估计方法及装置、车辆和存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。