一种道路数据处理的方法、装置、电子设备及存储介质
文献发布时间:2023-06-19 11:44:10
技术领域
本公开涉及自动驾驶技术领域,具体而言,涉及一种道路数据处理的方法、装置、电子设备及存储介质。
背景技术
在自动驾驶技术领域中,往往需要采集大量的车辆数据用于后续应用,例如,可以用于模型的训练、调优等,还可以用于地图创建等。这里的车辆数据可以是采集车上搭载的设备(如雷达探测器)所采集的。为了能够采集到更为完整的道路信息,还可以采用多辆采集车,采集更多的道路数据,以完全覆盖计划路线。
不管是多辆采集车进行数据采集,还是单个采集车进行数据采集,针对同一道路往往存在一定程度上的数据冗余,这为数据存储带来了压力。
发明内容
本公开实施例至少提供一种道路数据处理的方法、装置、电子设备及存储介质,通过定位数据确定是否基于当前轨迹路线更新轨迹路线集合及对应的道路数据,道路数据的冗余度较低,便于存储。
第一方面,本公开实施例提供了一种道路数据处理的方法,所述方法包括:
获取当前车辆在采集道路数据的过程中的定位数据;
基于获取的所述定位数据,确定当前车辆采集道路数据的过程中经过的当前轨迹路线;
基于所述当前轨迹路线以及轨迹路线集合,将所述当前轨迹路线中与所述轨迹路线集合中的路线段不重复的路线段作为目标路线段;
将所述目标路线段合并到所述轨迹路线集合中,并将所述目标路线段对应的道路数据合并到所述轨迹路线集合对应的道路数据。
采用上述道路数据处理的方法,在获取到当前车辆在采集道路数据的过程中的定位数据的情况下,可以确定车辆在采集过程中经过的当前轨迹路线,进而可以从当前轨迹路线中确定与轨迹路线集合中的路线段不重复的路线段,并作为目标路线段合并到轨迹路线集合以及进行道路数据的合并。可知的是,上述道路数据处理的方法可以基于道路数据采集过程中的定位数据对轨迹路线集合进行更新,这里更新的是没有与轨迹路线集合发生重复的路线段,进而可以快速的对大批量的道路数据进行筛选以达到道路数据去重的目的,在确保了道路数据完整性的前提下,节省了后续的数据存储空间,还能够便于指导后续的路线采集工作。
在一种可能的实施方式中,所述定位数据包括多个车辆轨迹点的位置信息;所述目标路线段采用以下步骤确定:
针对所述当前轨迹路线包含的每个路线段,基于该路线段所包括的多个车辆轨迹点的位置信息以及所述轨迹路线集合所包括的各个车辆轨迹点的位置信息,从所述轨迹路线集合中查找与该路线段距离最近的目标车辆轨迹点;
判断所述目标车辆轨迹点与所述路线段之间的距离是否大于预设距离;
若是,则确定所述路线段为所述目标路线段。
这里,考虑到当前轨迹路线与轨迹路线集合越是接近,一定程度上也说明当前车辆采集的道路数据存在重复的可能性越大,而两条路线越是远离,一定程度上则说明存在重复的可能性越小,因而,本公开实施例提供了一种针对每个路线段,基于距离限定方式来确定该路线段是否出现在轨迹路线集合的方案,该方案能够在一个路线段未出现在轨迹路线集合的情况下,执行后续的路线合并操作。
在一种可能的实施方式中,所述车辆轨迹点的位置信息包括横向坐标值和纵向坐标值;按照如下步骤确定所述目标车辆轨迹点与所述路线段之间的距离:
基于所述路线段所包括的任意两个车辆轨迹点中每个车辆轨迹点的横向坐标值和纵向坐标值,确定该路线段所对应的直线方程;
基于所述目标车辆轨迹点的横向坐标值和纵向坐标值、以及确定的所述直线方程,确定所述目标车辆轨迹点与所述路线段之间的距离。
在一种可能的实施方式中,所述定位数据还包括与每个位置信息对应的采集时间戳;所述基于获取的所述定位数据,确定当前车辆采集道路数据的过程中经过的当前轨迹路线,包括:
按照采集时间戳由小到大的顺序对所述多个车辆轨迹点进行排序;
按照预设路线段长度将所述多个车辆轨迹点划分为多个车辆轨迹点集;
针对每个所述车辆轨迹点集,将该车辆轨迹点集包括的各个车辆轨迹点进行连线,生成组成所述当前轨迹路线的一个路线段;
将针对每个所述车辆轨迹点集生成的组成所述当前轨迹路线的一个路线段进行组合,得到所述当前轨迹路线。
这里,考虑到在实际的定位数据采集过程中,可能会受到数据传输速度等因素的影响,而导致实际采集的各个车辆轨迹点在时间上并非连续的,又考虑到本公开实施例中的当前轨迹路线可以是时间连续的轨迹路线,因而,这里首先可以按照采集时间戳对多个车辆轨迹点进行排序,进而基于排序后的多个车辆轨迹点进行点集划分以确定当前轨迹路线包括的各个路线段,从而得到当前轨迹路线,该当前轨迹路线在时间上连续的,从而便于进行后续的路线段比对。
在一种可能的实施方式中,所述基于获取的所述定位数据,确定当前车辆采集道路数据的过程中经过的当前轨迹路线,包括:
对获取的所述定位数据进行下采样处理,得到处理后的定位数据;
基于处理后的定位数据,确定当前车辆采集道路数据的过程中经过的当前轨迹路线。
这里,考虑到当前车辆所实际采集到的定位数据的量是巨大的,如果直接应用于当前轨迹路线的构建,一定程度上会需要占用大量的计算量,而在实际场景中,特别是针对一些平滑行驶轨迹,较少的车辆轨迹点即可以用以表征当前轨迹路线,因而,本公开实施例在确定当前轨迹路线之前,可以先对获取的定位数据进行下采样处理,以在确保轨迹路线完整性的同时,降低后续的数据计算量。
在一种可能的实施方式中,所述对获取的所述定位数据进行下采样处理,得到处理后的定位数据,包括:
从获取的所述定位数据所包括的多个车辆轨迹点中筛选出符合预设下采样比例的多个车辆轨迹点;
将筛选出的所述多个车辆轨迹点对应的数据作为所述处理后的定位数据。
在一种可能的实施方式中,所述对获取的所述定位数据进行下采样处理,得到处理后的定位数据,包括:
针对获取的所述定位数据包括的任意三个连续采集的车辆轨迹点,确定两个相邻的路线段,并确定该两个相邻的路线段中的每个路线段所对应的方向向量;
确定所述两个相邻的路线段所对应的方向向量之间的夹角是否小于预设角度;
若是,则删除所述任意三个连续采集的车辆轨迹点中的最后一个车辆轨迹点,并将剩余的各个车辆轨迹点对应的数据,确定为所述处理后的定位数据。
这里,可以基于方向向量的确定实现定位数据的局部下采样操作,将对应方向向量的夹角较小的两个路线段中的最后一个车辆轨迹点进行删除,也即,最后一个车辆轨迹点被认为是三个连续采集的车辆轨迹点中的冗余轨迹点,在删除后不会影响整个轨迹路线的完整性,还可以降低后续的计算量。
在一种可能的实施方式中,所述将所述目标路线段合并到所述轨迹路线集合中之后,还包括:
基于合并后的所述轨迹路线集合包括的各个路线段,生成与每个路线段对应的折线展示信息;
将每个路线段对应的折线展示信息对应展示在当前车辆的地图中。
本公开实施例中,针对更新的轨迹路线集合可以生成与该轨迹路线包括的每个路线段对应的折线展示信息,以进行车辆地图的展示。以基于展示的地图信息可以提醒数据采集员避开已完成道路数据采集的路段,进而可以提升整个数据采集流程的效率。
在一种可能的实施方式中,所述道路数据包括以下数据中的至少一种:
当前车辆上的雷达设备采集的点云数据;
当前车辆上的图像传感器采集的图像数据。
第二方面,本公开实施例还提供了一种道路数据处理的装置,所述装置包括:
获取模块,用于获取当前车辆在采集道路数据的过程中的定位数据;
确定模块,用于基于获取的所述定位数据,确定当前车辆采集道路数据的过程中经过的当前轨迹路线;
筛选模块,用于基于所述当前轨迹路线以及轨迹路线集合,将所述当前轨迹路线中与所述轨迹路线集合中的路线段不重复的路线段作为目标路线段;
合并模块,用于将所述目标路线段合并到所述轨迹路线集合中,并将所述目标路线段对应的道路数据合并到所述轨迹路线集合对应的道路数据。
第三方面,本公开实施例还提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如第一方面及其各种实施方式任一所述的道路数据处理的方法的步骤。
第四方面,本公开实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被电子设备运行时,所述电子设备执行如第一方面及其各种实施方式任一所述的道路数据处理的方法的步骤。
关于上述道路数据处理的装置、电子设备、及计算机可读存储介质的效果描述参见上述道路数据处理的方法的说明,这里不再赘述。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例一所提供的一种道路数据处理的方法的流程图;
图2示出了本公开实施例二所提供的一种道路数据处理的装置的示意图;
图3示出了本公开实施例三所提供的一种电子设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
经研究发现,不管是多辆采集车进行数据采集,还是单个采集车进行数据采集,针对同一道路往往存在一定程度上的数据冗余,这为数据存储带来了压力。
基于上述研究,本公开提供了一种道路数据处理的方法、装置、电子设备及存储介质,通过定位数据确定是否基于当前轨迹路线更新轨迹路线集合及对应的道路数据,由此得到的道路数据的冗余度较低,便于存储。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种道路数据处理的方法进行详细介绍,本公开实施例所提供的道路数据处理的方法的执行主体一般为具有一定计算能力的电子设备,该电子设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该道路数据处理的方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
下面以执行主体为服务器为例对本公开实施例提供的道路数据处理的方法加以说明。
实施例一
参见图1所示,为本公开实施例提供的道路数据处理的方法的流程图,方法包括步骤S101~S104,其中:
S101、获取当前车辆在采集道路数据的过程中的定位数据;
S102、基于获取的定位数据,确定当前车辆采集道路数据的过程中经过的当前轨迹路线;
S103、基于当前轨迹路线以及轨迹路线集合,将当前轨迹路线中与轨迹路线集合中的路线段不重复的路线段作为目标路线段;
S104、将目标路线段合并到轨迹路线集合中,并将目标路线段对应的道路数据合并到轨迹路线集合对应的道路数据。
为了便于理解本公开实施例提供的道路数据处理的方法,接下来首先对该道路数据处理的方法的应用场景进行详细描述。上述道路数据处理的方法主要可以应用于自动驾驶技术领域中,这主要是考虑到自动驾驶技术作为一种通过电脑系统实现无人驾驶的技术,为了使得电脑可以在没有主动操作的情况下,自动安全地操作机动车辆,这就需要预先对车辆周边的道路数据进行检测以用于后续应用,例如,可以用于目标对象识别模型的训练、调优等,还可以用于地图创建等。除此之外,本公开实施例还可以应用于任何需要进行道路数据采集的应用场景中,在此不做具体的限制。
为了能够采集到更为完整的道路数据,在相关技术中往往可以采用多量采集车进行一个待检测区域的道路数据采集,多辆采集车之间由于缺乏相应的数据共享机制而导致针对同一道路存在不同程度的数据冗余,这为后续的数据存储带来了压力,且在道路数据存在冗余的情况下,不便于进行后续应用。
正是为了解决上述问题,本公开实施例才提供了一种通过定位数据实现道路数据冗余消除的道路数据处理的方法,由此得到的道路数据的冗余度较低,便于存储,且便于后续应用。
其中,本公开实施例所获取的定位数据可以是搭载在车辆上的定位设备采集的,该定位设备可以是基于全球定位系统(Global Positioning System,GPS)实现的定位,还可以是基于伽利略卫星导航系统(Galileo Satellite Navigation System,GSNS)、全球卫星导航系统(GLOBAL NAVIGATION SATELLITE SYSTEM,GNSS)等系统实现的定位,还可以是基于其它定位技术实现的定位,在此不做具体的限制。
另外,本公开实施例提供的道路数据处理的方法还可以基于车辆搭载的道路数据检测设备进行道路数据的采集,这里的道路数据检测设备可以是雷达设备,用于检测有关道路的点云数据,还可以是图像传感器,用于检测有关道路的图像数据,除此之外,本公开实施例还可以基于实际的应用需求选择其它的检测设备,在此不做具体的限制。
本公开实施例中的定位数据可以是在进行道路数据采集的过程中获取的,这样,道路数据与定位数据之间存在一定的依赖性,例如,在确定车辆到达一个特定位置的情况下,可以确定在该特定位置所采集到的道路数据。
本公开实施例正是利用上述两份数据之间的依赖性,提供了一种基于定位数据来对道路数据去重的方案。
这里,首先可以基于获取的定位数据,确定在进行道路数据采集的过程中车辆经过的当前轨迹路线,将该当前轨迹路线与轨迹路线集合进行比对,可以确定路线之间是否存在重复,对于不重复的路线段可以作为目标路线段以实现轨迹路线集合的更新以及对应的道路数据的更新。在路线之间不存在重复的情况下,可以进行路线合并,由于整个轨迹路线不存在重复,从而使得所确定出的道路数据的冗余度较低。
需要说明的是,这里的轨迹路线集合可以是车辆(如当前车辆和/或其他车辆)已采集的道路数据对应的轨迹路线的集合,例如可以是原始轨迹路线,还可以是在对原始轨迹路线进行去重后得到的轨迹路线,这里,可以作为更新前的一个轨迹路线集合。这样,在当前车辆采集道路数据的过程中,即可以基于获取的定位数据所确定的当前轨迹路线对轨迹路线集合进行当前次的更新,在当前次的更新的基础上还可以进行下一次的更新,直至满足应用场景下对道路数据采集的需求,例如,遍历了一个采集区域内所有的城市道路。
本公开实施例提供的道路数据处理的方法还可以对合并后的轨迹路线集合进行可视化展示,基于可视化结果可以避免数据采集员去往已采集的路段再次进行道路数据的采集,进一步减少路线重复,便于后续的采集路线设计。
这里,可以基于合并后的轨迹路线集合包括的各个路线段,生成与每个路线段对应的折线展示信息,然后将每个路线段对应的折线展示信息对应展示在当前车辆的地图中。其中,路线段对应的折线展示信息可以是基于路线段包括的各个车辆轨迹点之间的连线所生成的,使得地图展示效果更为直观。
为了更好的进行路线比对,本公开实施例中,可以对当前轨迹路线进行更小粒度的划分,这里可以划分为多个路线段。这样,即可以基于当前轨迹路线以及轨迹路线集合确定当前轨迹路线的每个路线段是否出现在轨迹路线集合中,若没有出现,则可以将这一路线段作为目标路线段合并到轨迹路线集合中,从而可以得到更新后的轨迹路线集合,若出现,则可以删除这一路线段对应采集的道路数据,与此同时,还可以将目标路线段对应采集的道路数据合并到轨迹路线集合对应的道路数据中,这样所采集得到的道路数据是不存在重复的。
考虑到目标路线段的确定过程对于后续轨迹路线集合及对应的道路数据的确定的关键作用,接下来可以通过如下步骤具体说明目标路线段的确定过程:
步骤一、针对当前轨迹路线包含的每个路线段,基于该路线段所包括的多个车辆轨迹点的位置信息以及轨迹路线集合所包括的各个车辆轨迹点的位置信息,从轨迹路线集合中查找与该路线段距离最近的目标车辆轨迹点;
步骤二、判断目标车辆轨迹点与路线段之间的距离是否大于预设距离;
步骤三、若是,则确定路线段为目标路线段。
针对当前轨迹路线的一个路线段,本公开实施例提供的道路数据处理的方法首先可以基于该路线段所包括的多个车辆轨迹点的位置信息以及轨迹路线集合所包括的各个车辆轨迹点的位置信息之间的相对位置关系,从轨迹路线集合中查找与这一路线段最近的目标车辆轨迹点。进而可以判断目标车辆轨迹点与路线段之间的距离是否大于预设距离,这主要是考虑到在目标车辆轨迹点距离路线段越近的情况下,一定程度上说明当前轨迹路线中的这一路线段与目标车辆轨迹点所对应的轨迹路线集合发生重复的可能性较大,同理,在目标车辆轨迹点距离路线段越远的情况下,一定程度上说明当前轨迹路线中的这一路线段与目标车辆轨迹点所对应的轨迹路线集合发生重复的可能性较小,因而,这里,可以基于距离判断结果来确定这一路线段是否与轨迹路线集合不重复的目标路线段。
其中,上述预设距离的选取不宜过大,也不宜过小,过大的预设距离将导致判断结果存在较大的误差,而过小的预设距离则会忽视噪声干扰等情况所带来的合理轨迹扰动,导致判断结果不准确,因而,这里可以基于实际应用场景的需求,选取适宜大小的预设距离。例如,可以基于定位设备的定位精度来确定,在定位精度比较高的情况下,可以选取较小的预设距离,在定位精度比较低的情况下,可以选取较大的预设距离。
为了便于进一步理解上述目标路线段的确定过程,接下来可以结合一个具体的示例进行说明。
首先,假设已有一个路线数据库R(对应轨迹路线集合),需要插入一段新的路线S(对应当前轨迹路线),则可以筛除S中与R重复的路线段,再插入数据库与R合并。这里,可以记路线S由多个连续的路线段组成:AB,BC,CD,DE,……;
然后,针对待插入S中的每个路线段,判断该路线段是否与R重复,如果重复,则筛除;否则插入与R合并。
这里,可以先判断路线段AB与R是否重复,在R中找到距离路线段AB最近的一个点P(即目标车辆轨迹点),如果点P与路线段AB的距离大于预设距离δ,则认为路线段AB与R不重复,确定路线段AB为目标路线段,合并路线段AB和R;如果小于预设距离δ,则认为路线段AB被路线R覆盖,确定路线段AB非目标路线段,删除路线段AB及该路线段AB对应的道路数据,继续计算下一个路线段。
本公开实施例提供的道路数据处理的方法可以按照距离公式确定目标车辆轨迹点与路线段之间的距离,具体包括如下步骤:
步骤一、基于路线段所包括的任意两个车辆轨迹点中每个车辆轨迹点的横向坐标值和纵向坐标值,确定该路线段所对应的直线方程;
步骤二、基于目标车辆轨迹点的横向坐标值和纵向坐标值、以及确定的直线方程,确定目标车辆轨迹点与路线段之间的距离。
这里,首先可以基于路线段所包括的任意两个车辆轨迹点中每个车辆轨迹点的横向坐标值和纵向坐标值,确定路线段所对应的直线方程,也即,利用两点坐标值可以确定这两点所形成直线的直线方程,这样,即可以基于点到直线的距离公式,确定目标车辆轨迹点与路线段之间的距离。
为了便于进行当前轨迹路线与轨迹路线集合之间的比对,本公开实施例中的当前轨迹路线可以是基于时间先后顺序排列的各个车辆轨迹点连线所得到的。
在具体应用中,可以先确定组成当前轨迹路线的各个路线段,进而基于各个路线段的组合来确定当前轨迹路线,具体可以按照如下步骤来实现:
步骤一、按照采集时间戳由小到大的顺序对多个车辆轨迹点进行排序;
步骤二、按照预设路线段长度将多个车辆轨迹点划分为多个车辆轨迹点集;
步骤三、针对每个车辆轨迹点集,将该车辆轨迹点集包括的各个车辆轨迹点进行连线,生成组成当前轨迹路线的一个路线段;
步骤四、将针对每个车辆轨迹点集生成的组成当前轨迹路线的一个路线段进行组合,得到当前轨迹路线。
这里,首先按照各个车辆轨迹点的采集时间戳对各个车辆轨迹点进行排序,排序后的各个车辆轨迹点在时间上是具有连续性的,这样,可以基于按照预设路线段长度将多个车辆轨迹点划分为多个车辆轨迹点集,每一个车辆轨迹点集可以对应一个路线段,将各个路线段进行组合,即可以确定当前轨迹路线。
其中,有关预设路线段长度可以是基于定位设备的采集频率等相关参数确定的。在采集频率较高的情况下,单位时间内获取的车辆轨迹点也越密集,为了确保路线对比效果,这时可以将预设路线段长度设定的更小一些,而在采集频率较低的情况下,单位时间内获取的车辆轨迹点也越稀疏,这时则可以将预设路线段长度设定的更大一些。
本公开实施例在基于定位数据确定当前轨迹路线的过程中,由于采集车采集的数据较为密集,这为后续的轨迹点之间的距离比对带来了一定的计算量,因而,本公开实施例可以提供一种下采样处理方式先对定位数据进行下采样处理,再基于采样处理后的定位数据来确定当前轨迹路线,从而能够在确保轨迹完整性的前提下,降低后续计算量。
本公开实施例中,可以通过以下两个方面分别描述本公开实施例提供的两种下采样处理方法。
第一方面:本公开实施可以基于轨迹点筛选实现下采样,具体包括如下步骤:
步骤一、从获取的定位数据所包括的多个车辆轨迹点中筛选出符合预设下采样比例的多个车辆轨迹点;
步骤二、将筛选出的多个车辆轨迹点对应的数据作为处理后的定位数据。
这里,可以基于预设下采样比例对多个车辆轨迹点进行筛选,例如,单批定位数据有N个车辆轨迹点,给定下采样比例p(如30%),可以随机筛选出Np个点,也可以基于车辆轨迹点的分布遍历筛选。
第二方面:本公开实施可以基于方向向量实现下采样,具体包括如下步骤:
步骤一、针对获取的定位数据包括的任意三个连续采集的车辆轨迹点,确定两个相邻的路线段,并确定该两个相邻的路线段中的每个路线段所对应的方向向量;
步骤二、确定两个相邻的路线段所对应的方向向量之间的夹角是否小于预设角度;
步骤三、若是,则删除任意三个连续采集的车辆轨迹点中的最后一个车辆轨迹点,并将剩余的各个车辆轨迹点对应的数据,确定为处理后的定位数据。
这里,考虑到在实际的应用中,不同车辆轨迹点对当前轨迹路线的影响程度并不相同,例如,针对连续的多个车辆轨迹点而言,在车辆进行拐弯时的车辆轨迹点往往比较重要,这些车辆轨迹点是需要保留的,而对于沿直线行驶的车辆而言,一些车辆轨迹点的有无不会对当前轨迹路线产生太大的影响,因而,本公开实施例提供了一种基于三个连续的车辆轨迹点所形成的两个相邻的路线段之间的方向向量实现下采样的方案。
在两个相邻的路线段所对应的方向向量之间的夹角越小的情况下,说明三个连续的车辆轨迹点位于一条直线上的可能性较大,这时,可以对第三个车辆轨迹点进行删除,在两个相邻的路线段所对应的方向向量之间的夹角越大的情况下,说明三个连续的车辆轨迹点位于一条直线上的可能性较小,且第三个车辆轨迹点发生转向的可能性更大,这时,可以保留第三个车辆轨迹点。
为了便于进一步理解上述下采样处理过程,接下来可以结合一个具体的示例进行说明。
记连续的车辆轨迹点为A,B,C,D。可以基于A,B,C这三个车辆轨迹点的横向坐标值和纵向坐标值,计算AB与BC两条线段对应的方向向量,再计算AB、BC方向向量的夹角大小,如果夹角小于预设角度θ(如90°),则丢弃点C,继续计算AB与CD的夹角;如果大于预设角度θ,则保留C,继续计算BC与CD的夹角,进一步确定是否保留D,依此类推,直至得到处理后的定位数据。
考虑到基于本公开实施例提供的上述道路数据处理的方法所确定的道路数据冗余度较低,在将处理后的道路数据应用到具体场景时,将具有很大的优势。
例如,针对目标对象检测场景,利用上述道路数据所训练目标对象检测模型,由于道路数据的冗余度较低,这样,可以尽可能避免所训练出来的目标对象检测模型过拟合到训练数据的场景中,且少量的数据样本涵盖了各个路线段的道路数据,从而能够在确保目标对象检测模型的训练效果的前提下,提升训练效率。再如,针对需要预先进行道路数据标注的应用场景中,标注的成本也大大降低。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与道路数据处理的方法对应的道路数据处理的装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述道路数据处理的方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
实施例二
参照图2所示,为本公开实施例提供的一种道路数据处理的装置的示意图,装置包括:获取模块201、确定模块202、筛选模块203、合并模块204;其中,
获取模块201,用于获取当前车辆在采集道路数据的过程中的定位数据;
确定模块202,用于基于获取的定位数据,确定当前车辆采集道路数据的过程中经过的当前轨迹路线;
筛选模块203,用于基于当前轨迹路线以及轨迹路线集合,将当前轨迹路线中与轨迹路线集合中的路线段不重复的路线段作为目标路线段;
合并模块204,用于将目标路线段合并到轨迹路线集合中,并将目标路线段对应的道路数据合并到轨迹路线集合对应的道路数据。
本公开实施例,在获取到当前车辆在采集道路数据的过程中的定位数据的情况下,可以确定车辆在采集过程中经过的当前轨迹路线,进而可以从当前轨迹路线中确定与轨迹路线集合中的路线段不重复的路线段,并作为目标路线段合并到轨迹路线集合以及进行道路数据的合并。可知的是,上述道路数据处理的方法可以基于道路数据采集过程中的定位数据对轨迹路线集合进行更新,这里更新的是没有与轨迹路线集合发生重复的路线段,进而可以快速的对大批量的道路数据进行筛选以达到道路数据去重的目的,在确保了道路数据完整性的前提下,节省了后续的数据存储空间,还能够便于指导后续的路线采集工作。
在一种可能的实施方式中,定位数据包括多个车辆轨迹点的位置信息;筛选模块203,用于按照以下步骤确定目标路线段:
针对当前轨迹路线包含的每个路线段,基于该路线段所包括的多个车辆轨迹点的位置信息以及轨迹路线集合所包括的各个车辆轨迹点的位置信息,从轨迹路线集合中查找与该路线段距离最近的目标车辆轨迹点;
判断目标车辆轨迹点与路线段之间的距离是否大于预设距离;
若是,则确定路线段为目标路线段。
在一种可能的实施方式中,车辆轨迹点的位置信息包括横向坐标值和纵向坐标值;筛选模块203,用于按照如下步骤确定目标车辆轨迹点与路线段之间的距离:
基于路线段所包括的任意两个车辆轨迹点中每个车辆轨迹点的横向坐标值和纵向坐标值,确定该路线段所对应的直线方程;
基于目标车辆轨迹点的横向坐标值和纵向坐标值、以及确定的直线方程,确定目标车辆轨迹点与路线段之间的距离。
在一种可能的实施方式中,定位数据还包括与每个位置信息对应的采集时间戳;确定模块202,用于按照以下步骤基于获取的定位数据,确定当前车辆采集道路数据的过程中经过的当前轨迹路线:
按照采集时间戳由小到大的顺序对多个车辆轨迹点进行排序;
按照预设路线段长度将多个车辆轨迹点划分为多个车辆轨迹点集;
针对每个车辆轨迹点集,将该车辆轨迹点集包括的各个车辆轨迹点进行连线,生成组成当前轨迹路线的一个路线段;
将针对每个车辆轨迹点集生成的组成当前轨迹路线的一个路线段进行组合,得到当前轨迹路线。
在一种可能的实施方式中,确定模块202,用于按照以下步骤基于获取的定位数据,确定当前车辆采集道路数据的过程中经过的当前轨迹路线:
对获取的定位数据进行下采样处理,得到处理后的定位数据;
基于处理后的定位数据,确定当前车辆采集道路数据的过程中经过的当前轨迹路线。
在一种可能的实施方式中,确定模块202,用于按照以下步骤对获取的定位数据进行下采样处理,得到处理后的定位数据:
从获取的定位数据所包括的多个车辆轨迹点中筛选出符合预设下采样比例的多个车辆轨迹点;
将筛选出的多个车辆轨迹点对应的数据作为处理后的定位数据。
在一种可能的实施方式中,确定模块202,用于按照以下步骤对获取的定位数据进行下采样处理,得到处理后的定位数据:
针对获取的定位数据包括的任意三个连续采集的车辆轨迹点,确定两个相邻的路线段,并确定该两个相邻的路线段中的每个路线段所对应的方向向量;
确定两个相邻的路线段所对应的方向向量之间的夹角是否小于预设角度;
若是,则删除任意三个连续采集的车辆轨迹点中的最后一个车辆轨迹点,并将剩余的各个车辆轨迹点对应的数据,确定为处理后的定位数据。
在一种可能的实施方式中,上述装置还包括:
展示模块205,用于将目标路线段合并到轨迹路线集合中之后,基于合并后的轨迹路线集合包括的各个路线段,生成与每个路线段对应的折线展示信息;将每个路线段对应的折线展示信息对应展示在当前车辆的地图中。
在一种可能的实施方式中,道路数据包括以下数据中的至少一种:
当前车辆上的雷达设备采集的点云数据;
当前车辆上的图像传感器采集的图像数据。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
实施例三
本公开实施例还提供了一种电子设备,如图3所示,为本公开实施例提供的电子设备结构示意图,包括:处理器301、存储器302、和总线303。存储器302存储有处理器301可执行的机器可读指令(比如,图2中的装置中获取模块201、确定模块202、筛选模块203、合并模块204对应的执行指令等),当电子设备运行时,处理器301与存储器302之间通过总线303通信,机器可读指令被处理器301执行时执行如下处理:
获取当前车辆在采集道路数据的过程中的定位数据;
基于获取的定位数据,确定当前车辆采集道路数据的过程中经过的当前轨迹路线;
基于当前轨迹路线以及轨迹路线集合,将当前轨迹路线中与轨迹路线集合中的路线段不重复的路线段作为目标路线段;
将目标路线段合并到轨迹路线集合中,并将目标路线段对应的道路数据合并到轨迹路线集合对应的道路数据。
在一种可能的实施方式中,定位数据包括多个车辆轨迹点的位置信息;上述处理器301执行的指令中,目标路线段采用以下步骤确定:
针对当前轨迹路线包含的每个路线段,基于该路线段所包括的多个车辆轨迹点的位置信息以及其它车辆已采集的道路数据对应的轨迹路线集合所包括的各个车辆轨迹点的位置信息,从轨迹路线集合中查找与该路线段距离最近的目标车辆轨迹点;
判断目标车辆轨迹点与路线段之间的距离是否大于预设距离;
若是,则确定路线段为目标路线段。
在一种可能的实施方式中,车辆轨迹点的位置信息包括横向坐标值和纵向坐标值;上述处理器301执行的指令中,按照如下步骤确定目标车辆轨迹点与路线段之间的距离:
基于路线段所包括的任意两个车辆轨迹点中每个车辆轨迹点的横向坐标值和纵向坐标值,确定该路线段所对应的直线方程;
基于目标车辆轨迹点的横向坐标值和纵向坐标值、以及确定的直线方程,确定目标车辆轨迹点与路线段之间的距离。
在一种可能的实施方式中,定位数据还包括与每个位置信息对应的采集时间戳;上述处理器301执行的指令中,基于获取的定位数据,确定当前车辆采集道路数据的过程中经过的当前轨迹路线,包括:
按照采集时间戳由小到大的顺序对多个车辆轨迹点进行排序;
按照预设路线段长度将多个车辆轨迹点划分为多个车辆轨迹点集;
针对每个车辆轨迹点集,将该车辆轨迹点集包括的各个车辆轨迹点进行连线,生成组成当前轨迹路线的一个路线段;
将针对每个车辆轨迹点集生成的组成当前轨迹路线的一个路线段进行组合,得到当前轨迹路线。
在一种可能的实施方式中,上述处理器301执行的指令中,基于获取的定位数据,确定当前车辆采集道路数据的过程中经过的当前轨迹路线,包括:
对获取的定位数据进行下采样处理,得到处理后的定位数据;
基于处理后的定位数据,确定当前车辆采集道路数据的过程中经过的当前轨迹路线。
在一种可能的实施方式中,上述处理器301执行的指令中,对获取的定位数据进行下采样处理,得到处理后的定位数据,包括:
从获取的定位数据所包括的多个车辆轨迹点中筛选出符合预设下采样比例的多个车辆轨迹点;
将筛选出的多个车辆轨迹点对应的数据作为处理后的定位数据。
在一种可能的实施方式中,上述处理器301执行的指令中,对获取的定位数据进行下采样处理,得到处理后的定位数据,包括:
针对获取的定位数据包括的任意三个连续采集的车辆轨迹点,确定两个相邻的路线段,并确定该两个相邻的路线段中的每个路线段所对应的方向向量;
确定两个相邻的路线段所对应的方向向量之间的夹角是否小于预设角度;
若是,则删除任意三个连续采集的车辆轨迹点中的最后一个车辆轨迹点,并将剩余的各个车辆轨迹点对应的数据,确定为处理后的定位数据。
在一种可能的实施方式中,将目标路线段合并到轨迹路线集合中之后,上述处理器301执行的指令还包括:
基于合并后的轨迹路线集合包括的各个路线段,生成与每个路线段对应的折线展示信息;
将每个路线段对应的折线展示信息对应展示在当前车辆的地图中。
在一种可能的实施方式中,道路数据包括以下数据中的至少一种:
当前车辆上的雷达设备采集的点云数据;
当前车辆上的图像传感器采集的图像数据。
上述指令的具体执行过程可以参考本公开实施例中所述的道路数据处理的方法的步骤,此处不再赘述。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的道路数据处理的方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供了一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的道路数据处理的方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
- 一种道路数据处理的方法、装置、电子设备及存储介质
- 道路数据处理方法、装置、电子设备及计算机存储介质