发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种车道拓扑构建方法、相应的一种车道拓扑构建装置、一种车辆和一种存储介质。
本发明实施例公开了一种车道拓扑构建方法,包括:
获取非结构化道路数据,所述非结构化道路数据包括第一结构车道和第二结构车道;
计算所述第二结构车道对应的横向跨度;
确定所述第一结构车道在所述横向跨度上的重叠长度;
当所述重叠长度满足预设条件时,构建所述第一结构车道和所述第二结构车道的连接。
可选地,所述第二结构车道包括车道起点,所述计算所述第二结构车道对应的横向跨度的步骤包括:
在所述车道起点建立横向矢量;
将所述横向矢量确定为横向跨度。
可选地,所述车道起点数据量至少为两个,所述在所述车道起点建立横向矢量的步骤包括:
以当前车道起点为矢量起点,指向下一车道起点,建立横向矢量。
可选地,所述第一结构车道包括车道终点,所述确定所述第一结构车道在所述横向跨度上的重叠长度的步骤包括:
将所述车道终点投影到所述横向跨度所在的直线上,形成重叠部分;
计算所述重叠部分的长度,并将所述重叠部分的长度确定为重叠长度。
可选地,所述第一结构车道与所述第二结构车道平行时,所述将所述车道终点投影到所述横向跨度所在的直线上,形成重叠部分的步骤包括:
确定所述横向跨度的垂直方向;
按照所述垂直方向,将所述车道终点投影到所述横向跨度所在的直线上,形成重叠部分。
可选地,所述当所述重叠长度满足预设条件时,构建所述第一结构车道和所述第二结构车道的连接的步骤包括:
计算所述重叠长度与所述横向跨度的比值;
当所述比值大于或等于预设阈值时,构建所述第一结构车道和所述第二结构车道的连接。
可选地,所述横向跨度为矢量时,所述计算所述重叠长度与所述横向跨度的比值的步骤包括:
计算所述横向跨度的模;
计算所述重叠长度的绝对值;
采用所述绝对值除以所述模,得到比值。
本发明实施例还公开了一种车道拓扑构建装置,包括:
获取模块,用于获取非结构化道路数据,所述非结构化道路数据包括第一结构车道和第二结构车道;
计算模块,用于计算所述第二结构车道对应的横向跨度;
确定模块,用于确定所述第一结构车道在所述横向跨度上的重叠长度;
构建模块,用于当所述重叠长度满足预设条件时,构建所述第一结构车道和所述第二结构车道的连接。
本发明实施例还公开了一种车辆,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的车道拓扑构建方法的步骤。
本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的车道拓扑构建方法的步骤。
本发明实施例包括以下优点:
本发明实施例通过获取非结构化道路数据,所述非结构化道路数据包括第一结构车道和第二结构车道;计算所述第二结构车道对应的横向跨度;确定所述第一结构车道在所述横向跨度上的重叠长度;从横向上考虑了变化前车道能够通行的变化后车道,而横向跨度只与车道的宽度相关,更符合人对车道的识别方式;确定所述第一结构车道在所述横向跨度上的重叠长度;以重叠长度确定变化前车道是否会与变化后车道连接,构建的车道拓扑关系更加符合人类驾驶习惯。当所述重叠长度满足预设条件时,构建所述第一结构车道和所述第二结构车道的连接;在保障足够完整的车道拓扑连接的同时,避免了车道数变化前后的车道拓扑全连接,节省地图数据量。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
车辆的自动驾驶中,主要依据高精地图和传感器的实时感知数据,确定出车辆的行驶路径;而在一些城市道路中,会出现车道前后的数量,形态不一致,车道呈现出非结构化的变化,且在这些道路上往往并没有具体的指示标识,传感器也无法对道路的进行判断,导致在非结构化道路场景下,变化前后的车道,并没有明确的拓扑关系,车辆无法基于高精地图进行自动驾驶,途径这些路段是需要用户去驾驶车辆,而车道拓扑是高精地图车道表达的关键难点,往往采用大量的数据去甄别判断;但是往往效果不佳;因此,针对于车道数发生变化的非结构化道路场景,构建符合人类驾驶员习惯的车道拓扑关系,提出本发明实施例。
参照图1,示出了本发明的一种车道拓扑构建方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,获取非结构化道路数据,所述非结构化道路数据包括第一结构车道和第二结构车道;
从指定地址获取非结构化道路数据,所述非结构化道路数据是指车道线并非前后对应,车道形态不对齐的道路数据。其中,所述非结构化道路数据具体可以包括第一结构车道和第二结构车道,所述第一结构车道可以是指车道线变化前的车道,所述第二结构车道可以是指车道线变化后的车道。
需要说明的是,所述指定地址可以是服务器自身的存储空间的存储地址,也可以是云空间存储地址。本发明实施例对此不作具体限定。
此外,对于非结构化道路数据中的第一结构车道和第二结构车道,可以是车辆上指定传感器自动识别的车道线形成,存储至指定地址;也可以是相关人员在确定第一结构车道和第二结构车道后人工绘制形成,存储至指定地址;本发明实施例对此也并不做具体限定。
步骤102,计算所述第二结构车道对应的横向跨度;
在所述第二结构车道上,计算第二结构车道垂直方向上对应的横向跨度。其中,所述横向跨度的横向是针对于第二结构车道的车道线而言,与第二结构车道的车道线垂直的方向。
步骤103,确定所述第一结构车道在所述横向跨度上的重叠长度;
将第一结构车道与第二结构车道进行对比,具体地,基于第一结构车道在第二结构车道的横向跨度上的重叠长度,确定第一结构车道在第二结构车道上所占据的实际位置。
步骤104,当所述重叠长度满足预设条件时,构建所述第一结构车道和所述第二结构车道的连接。
当重叠长度满足预设条件时,即可以确定第一结构车道和第二结构车道之间的位置偏移是可以在车辆行驶方向允许范围内通过改变车辆的行驶轨迹去弥补,确定第一结构车道和第二结构车道拓扑关系,将第一结构车道和第二结构车道进行连接;当车辆依据高精地图对车辆进行控制时,则可以控制在第一结构车道的车辆行驶至第二结构车道。
本发明实施例通过获取非结构化道路数据,所述非结构化道路数据包括第一结构车道和第二结构车道;计算所述第二结构车道对应的横向跨度;确定所述第一结构车道在所述横向跨度上的重叠长度;从横向上考虑了变化前车道能够通行的变化后车道,而横向跨度只与车道的宽度相关,更符合人对车道的识别方式;确定所述第一结构车道在所述横向跨度上的重叠长度;以重叠长度确定变化前车道是否会与变化后车道连接,构建的车道拓扑关系更加符合人类驾驶习惯。当所述重叠长度满足预设条件时,构建所述第一结构车道和所述第二结构车道的连接;在保障足够完整的车道拓扑连接的同时,避免了车道数变化前后的车道拓扑全连接,节省地图数据量。
参照图2,示出了本发明的另一种车道拓扑构建方法实施例的步骤流程图,具体可以包括如下步骤:
步骤201,获取非结构化道路数据,所述非结构化道路数据包括第一结构车道和第二结构车道;
从指定的数据库中获取非结构化道路数据,其中,所述非结构化道路数据可以基于车辆在非结构化道路场景下行驶时根据视觉传感器识别到的车道线数据生成,或是人工绘制的车道线数据生成。所述非结构化道路数据至少包括车道变化前的第一结构车道和车道变化后的第二结构车道。
需要说明的是,对于第一结构车道与第二结构车道中具体包括的车道线数量并不相同;如第一结构车道包括三条车道线,即具备两条行车道;第二结构车道包括四条车道线,即具备三条行车道。当然,第一结构车道与第二结构车道具体包含的车道线数量可以根据实际情况确定,本发明实施例不作进一步限定。
此外,所述第一结构车道与第二结构车道是同向的行车道,并排组合形成,并不包括反向的行车道。而第一结构车道与第二结构车道的方向为一致的。
步骤202,计算所述第二结构车道对应的横向跨度;
在得到第二结构车道后,可以在第二结构车道上确定对应的横向跨度,以横向跨度表征第二结构车道在横向方向上的位置。
在本发明的一可选实施例中,所述第二结构车道包括车道起点,所述计算所述第二结构车道对应的横向跨度的步骤包括:
子步骤2021,在所述车道起点建立横向矢量;
需要说明的是,所述第二结构车道是变化后的车道,在建立与变化前的第一结构车道的拓扑关系时只需要关心车道的起始端,因此,为了可以减少处理的数据量,可以在获取第二结构车道时,对第二结构车道的起点进行标注,确定车道起点。
然后以车道起点为起点,建立横向矢量。具体地,以当前车道起点为矢量起点,指向下一个车道起点,建立横向矢量。举例而言,如第二结构车道为纵向延伸的车道,从左侧车道起点指向右侧车道起点,建立横向矢量。
子步骤2022,将所述横向矢量确定为横向跨度。
在获得横向矢量后,以横向矢量作为横向跨度,确保横向跨度能准确地表征车道的宽度方向的特征,以人识别车道的方式对车道进行标识。使得对于车道的确认可以模拟人的驾驶习惯去确认。
步骤203,确定所述第一结构车道在所述横向跨度上的重叠长度;
确定表征第二结构道路的横向跨度后,以横向跨度为基准,确定第一结构车道在横向跨度上的重叠长度。
在本发明的一可选实施例中,所述第一结构车道包括车道终点,所述确定所述第一结构车道在所述横向跨度上的重叠长度的步骤包括:
子步骤S2031,将所述车道终点投影到所述横向跨度所在的直线上,形成重叠部分;
需要说明的是,所述第一结构车道是变化前的车道,在建立与变化后的第二结构车道的拓扑关系时只需要关心车道的末尾端,因此,为了可以减少处理的数据量,可以在获取第一结构车道时,对第一结构车道的终点进行标注,确定车道终点;以车道终点来表征第一结构车道的位置。
按照预设的投影方向将车道终点投影到表征第二结构车道的横向跨度上所在的直线上,令第一结构车道的车道终点对应的投影点与横向跨度所在的直线上,通过投影点沿横向跨度的方向上形成的线段与横向跨度形成重叠部分。如横向跨度的方向为从左向右,将车道终点投影到横向跨度上,形成的投影点与右侧边缘形成的线段与横向跨度形成重叠部分。
在本发明的一可选实施例中,所述第一结构车道与所述第二结构车道平行时,所述将所述车道终点投影到所述横向跨度所在的直线上,形成重叠部分的步骤包括:
子步骤S20311,确定所述横向跨度的垂直方向;
在实际应用中,当第一结构车道与第二结构车道平行时,即第一结构车道与第二结构车道为车辆前进方向上途径的不同道路,此时,第一结构车道与第二结构车道的车道线相互平行。因此,可以横向跨度的垂直方向,即确定第一结构车道与第二结构车道平行的方向。
子步骤S20312,按照所述垂直方向,将所述车道终点投影到所述横向跨度所在的直线上,形成重叠部分。
再根据垂直方向,直接将车道终点投影到横向跨度所在的直线上,而无需进行其他转换,提高车道拓扑的效率。然后车道终点投影到横向跨度所在的直线上的投影点与右侧区域形成重叠部分。
子步骤S2031,计算所述重叠部分的长度,并将所述重叠部分的长度确定为重叠长度。
确定重叠部分后,计算重叠部分的线段对应的长度,并以将该长度确定为重叠长度。其中,对于计算重叠部分的线段对应的长度,可以根据车道终点投影到横向跨度所在的直线上的投影点位置进行确定,具体的计算方法本领域技术人员可以根据实际需求进行确定,本发明实施例对此不作进一步限定。
步骤204,计算所述重叠长度与所述横向跨度的比值;
在确定横向跨度和得到重叠长度后,以重叠长度为分子,横向跨度为分母计算两者之间的比值,即确定重叠长度占横向跨度的比例。具体地,可以计算横向跨度的模;由于横向跨度为矢量,确定矢量的模即可得到横向跨度具体的长度;然后再计算重叠长度的绝对值,避免因为方向的导致的误差;对于绝对值的计算可以采用数轴法等方式进行,本发明实施例不作限定。最后采用重叠长度的绝对值除以横向跨度的模,得到比值;保证比值为正;消除因方向带来的误差。
步骤205,当所述比值大于或等于预设阈值时,构建所述第一结构车道和所述第二结构车道的连接。
得到比值后,可以根据所述比值作判断,通过将比值与预设阈值进行比较。其中,预设阈值为第一结构车道与第二结构车道是否建立连接的阈值。在本发明的一示例中,所述预设阈值可以是百分之二十五,转化为分数则为四分之一。此外,对于比较的方式可以通过做差法、作商法、数轴法等判断比值与预设阈值的大小关系。
当比值大于或等于预设阈值时,构建第一结构车道和第二结构车道的连接。举例而言,如重叠长度与横向跨度的比值为50%,因50%大于25%,确定第一结构车道与第二结构车道在横向上存在重叠,可以从第一结构车道行驶至第二结构车道上,构建第一结构车道和第二结构车道的连接。
此外,当比值小于预设阈值时,则从第一结构车道行驶无法直接行驶至第二结构车道上,不构建第一结构车道和第二结构车道的连接。
本发明实施例通过获取非结构化道路数据,所述非结构化道路数据包括第一结构车道和第二结构车道;计算所述第二结构车道对应的横向跨度;确定所述第一结构车道在所述横向跨度上的重叠长度;从横向上考虑了变化前车道能够通行的变化后车道,而横向跨度只与车道的宽度相关,更符合人对车道的识别方式;确定所述第一结构车道在所述横向跨度上的重叠长度;以重叠长度确定变化前车道是否会与变化后车道连接,构建的车道拓扑关系更加符合人类驾驶习惯。计算所述重叠长度与所述横向跨度的比值;当所述比值大于或等于预设阈值时,构建所述第一结构车道和所述第二结构车道的连接;在保障足够完整的车道拓扑连接的同时,避免了车道数变化前后的车道拓扑全连接,节省地图数据量。
为了使本领域技术人员能够更好地理解本发明实施例,下面通过一个例子对本发明实施例加以说明:
可以参照图3,示出了本发明的一种车道拓扑构建方法示例的步骤流程图;
1、获取非结构化道路场景下自动识别或者人工绘制的车道线数据(非结构化道路数据)。具体地,可以参照图4,并对车道数变化前车道线终点记录为NF,从左往右依次编号为NF1,NF2,NF3等,以及车道数变化后车道线起点记录为NT,从左往右依次编号为NT1,NT2,NT3。
2、可以参照图5,矢量(NT1,NT2)代表变化后左一车道的横向跨度矢量WT1,NF1’和NF2’是NF1和NF2在矢量WT1所在直线上的投影点。
3、计算重叠部分长度与变化后左一车道横向跨度长度的比值B,重叠部分即为矢量(NF1’,NT2),由于两者都在一条直线上,因此可以直接使用(NF1’,NT2)的绝对值除以(NT1,NT2)的绝对值,即获得比值B,如果B>25%,则需要连接这两个车道。
4、同理计算变化前左二、左三车道的两条车道线终点在(NT1,NT2)矢量直线上的投影,并计算重叠部分与(NT1,NT2)矢量长度的比值B,直到B<25%停止,从而可以获取变化后左一车道与变化前车道的连接关系。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图6,示出了本发明的一种车道拓扑构建装置实施例的结构框图,具体可以包括如下模块:
获取模块601,用于获取非结构化道路数据,所述非结构化道路数据包括第一结构车道和第二结构车道;
计算模块602,用于计算所述第二结构车道对应的横向跨度;
确定模块603,用于确定所述第一结构车道在所述横向跨度上的重叠长度;
构建模块604,用于当所述重叠长度满足预设条件时,构建所述第一结构车道和所述第二结构车道的连接。
在本发明的一可选实施例中,所述第二结构车道包括车道起点,所述计算模块602包括:
建立子模块用于在所述车道起点建立横向矢量;
第一确定子模块,用于将所述横向矢量确定为横向跨度。
在本发明的一可选实施例中,所述车道起点数据量至少为两个,所述建立子模块包括:
建立单元,用于以当前车道起点为矢量起点,指向下一车道起点,建立横向矢量。
在本发明的一可选实施例中,所述第一结构车道包括车道终点,所述确定模块603包括:
投影子模块,用于将所述车道终点投影到所述横向跨度所在的直线上,形成重叠部分;
第一计算子模块,用于计算所述重叠部分的长度,并将所述重叠部分的长度确定为重叠长度。
在本发明的一可选实施例中,所述第一结构车道与所述第二结构车道平行时,所述投影子模块包括:
第一确定单元,用于确定所述横向跨度的垂直方向;
投影单元,用于按照所述垂直方向,将所述车道终点投影到所述横向跨度所在的直线上,形成重叠部分。
在本发明的一可选实施例中,所述构建模块604包括:
第二计算子模块,用于计算所述重叠长度与所述横向跨度的比值;
构建子模块,用于当所述比值大于或等于预设阈值时,构建所述第一结构车道和所述第二结构车道的连接。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种车辆,包括:
处理器和存储介质,所述存储介质存储有所述处理器可执行的计算机程序,当车辆运行时,所述处理器执行所述计算机程序,以执行如本发明实施例任一项所述的方法。具体实现方式和技术效果与方法实施例部分类似,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如本发明实施例任一项所述的方法。具体实现方式和技术效果与方法实施例部分类似,这里不再赘述。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种车道拓扑构建方法、装置、车辆和存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。