验证道路交叉口的制作方法

文档序号:25293434发布日期:2021-06-01 17:46阅读:73来源:国知局
验证道路交叉口的制作方法

本公开一般涉及使用道路图(roadgraphs)的导航和路线规划。



背景技术:

导航系统可以使用包括交叉口和道路的描述的道路图来规划供载具(vehicle)行进的安全且合法的路线。



技术实现要素:

道路交叉口是在道路网络中具有不同走向(heading)和速度的载具在其中紧密靠近地交互的区域。载具导航系统可以使用包括交叉口和道路的描述的道路图来为载具规划安全且合法的轨迹,以了解让行决策的优先性(precedence),并预测其他载具的行为。在交叉口处碰撞的增加的风险使得确保在道路图中包含的交叉口描述是准确的尤为重要。为了确保道路图的交叉口描述的准确性,系统可能需要候选的交叉口的描述以成功地完成一个或多个质量控制过程,其中质量控制过程可以由计算机系统或在某些情况下由人类操作员来实施。

在一些实施方式中,使用带注释的交叉口数据,系统可以生成用于候选的交叉口的描述的指纹,其中该指纹对交叉口的车道的拓扑结构敏感,但是对于交叉口的特定几何结构是不变的。例如,指纹可以对交叉口的车道的驾驶性能关系(例如,车道的数量、车道的布置、车道的扇出)敏感,但是对于车道的几何结构关系(例如,车道的宽度、车道之间的距离、车道之间的角度)是不敏感的。

指纹可以是例如基于交叉口车道的一个或多个属性而生成的哈希值。车道的属性可以包括:单独的车道的特性,例如车道的类型(例如,转弯车道、直行车道、掉头车道);车道控制措施的存在(例如,交通灯、停止标志、让行标志);车道是否具有任何入口同级或出口同级(例如,车道从共同的车道扇出或合并为共同的车道);以及车道是否穿过直行车道。车道的属性还可包括车道对的特性(例如,车道对特性),例如车道的布置(例如,车道彼此相邻,车道彼此交叉);车道是否是入口同级或出口同级(例如,车道共享共同的入口车道或出口车道);以及车道是否共享共同的起始走向(例如,车道中的交通从相同的方向进入交叉口)或结束走向(例如,车道中的交通以相同的方向退出交叉口)。

为了验证候选交叉口描述而不执行一个或多个质量控制过程,系统可以将候选交叉口指纹与已知用于描述有效交叉口配置的一个或多个交叉口模板进行比较。例如,系统可以生成指示候选交叉口与交叉口模板相似的程度的值(例如,候选交叉口指纹的哈希值和交叉口模板指纹的哈希值之间的距离)。如果候选交叉口指纹与经过验证的交叉口模板足够相似,则系统可以将候选的交叉口的描述指定为有效,而不执行附加的质量控制过程。然后,系统可以将经过验证的候选交叉口描述的表示存储在道路图中,以供载具在导航和路线规划中使用。

在一些实施方式中,一种方法包括操作:由一个或多个处理设备接收带注释的交叉口数据,带注释的交叉口数据针对特定候选交叉口的每个车道指示车道的一个或多个属性,以及由一个或多个处理设备处理带注释的交叉口数据以生成针对特定候选交叉口的交叉口指纹,该交叉口指纹对特定候选交叉口的车道的拓扑结构敏感并且对于特定候选交叉口的车道的几何结构是不变的。该方法还包括操作:由一个或多个处理设备至少基于针对特定候选交叉口的交叉口指纹来将特定候选交叉口指定为经过验证,而不执行一个或多个质量控制过程,以及响应于将特定候选交叉口指定为经过验证,由一个或多个处理设备将特定候选交叉口的表示存储在道路图中。

在一些实施方式中,一种系统包括(i)质量保证引擎,该质量保证引擎将已成功完成一个或多个质量控制过程的候选交叉口指定为经验证,(ii)存储道路图的一个或多个数据库,以及(iii)道路图管理器,该道路图管理器使经过验证的候选交叉口的表示存储在道路图中。该系统可以执行包括以下操作的方法:(i)由系统接收带注释的交叉口数据,该带注释的交叉口数据针对特定候选交叉口的每个车道指示车道的一个或多个属性;(ii)由系统处理带注释的交叉口数据以生成针对特定候选交叉口的交叉口指纹,该交叉口指纹对特定候选交叉口的车道的拓扑结构敏感并且对于特定候选交叉口的车道的几何结构是不变的;(iii)由系统至少基于针对特定候选交叉口的交叉口指纹来将特定候选交叉口指定为经过验证,而不执行一个或多个质量控制过程;(iv)响应于将特定候选交叉口指定为经过验证,由系统将特定候选交叉口的表示存储在道路图中。

在一些实施方式中,由系统接收的带注释的交叉口数据包括以下至少一个:(i)特定候选交叉口的带注释的图像数据或(ii)特定候选交叉口的带注释的雷达数据。

在一些实施方式中,由带注释的交叉口数据指示的车道的一个或多个属性中的至少一个包括车道对的属性。在一些实施方式中,由带注释的交叉口数据指示的车道的一个或多个属性中的至少一个包括单独的车道的属性。

在一些实施方式中,特定候选交叉口的车道的拓扑结构包括在几何结构变形下没有变化的特定候选交叉口的一个或多个车道的拓扑特性。例如,特定候选交叉口的一个或多个车道的拓扑特性可以包括以下中的至少一个:车道的数量、车道的布置或车道的扇出。在一些实施方式中,特定候选交叉口的车道的几何结构可以包括以下至少一个:车道的宽度、车道之间的距离或车道之间的角度。

在一些实施方式中,处理带注释的交叉口数据以生成针对特定候选交叉口的交叉口指纹包括:处理带注释的交叉口数据以生成针对特定候选交叉口的哈希值,该哈希值对特定候选交叉口的车道的拓扑结构敏感并且对于特定候选交叉口的车道的几何结构是不变的。例如,在一些实施方式中,由带注释的交叉口数据指示的车道的一个或多个属性中的每一个由该属性的二进制值表示,以及生成针对特定候选交叉口的哈希值包括:(i)组合针对特定候选交叉口的车道的一个或多个属性的二进制值以生成一个或多个串;以及(ii)至少基于一个或多个串,生成针对特定候选交叉口的哈希值,该哈希值对特定候选交叉口的车道的拓扑结构敏感并且对于特定候选交叉口的车道的几何结构是不变的。然后,系统可以至少基于针对特定候选交叉口的哈希值来将特定候选交叉口指定为经过验证,而不执行一个或多个质量控制过程。

在一些实施方式中,至少基于交叉口指纹来将特定候选交叉口指定为经过验证而不执行一个或多个质量控制过程包括:(i)由系统访问交叉口模板,(ii)将针对特定候选交叉口的交叉口指纹与交叉口模板进行比较,(iii)基于所述比较,生成反映特定候选交叉口与交叉口模板相关联的程度的值,(iv)确定反映特定候选交叉口与交叉口模板相关联的程度的值满足阈值,以及(iv)基于确定反映特定候选交叉口与交叉口模板相关联的程度的值满足阈值,将特定候选交叉口指定为经过验证而不执行一个或多个质量控制过程。

交叉口模板可以是例如通过执行一个或多个质量控制过程而被指定为有效的交叉口的指纹。

在一些实施方式中,上述方法可以由一个或多个计算机系统执行,例如,由包括一个或多个处理设备以及一个或多个存储设备的系统来执行,所述一个或多个存储设备存储指令,所述指令在由一个或多个处理设备执行时可操作以执行上述操作。在一些实施方式中,一个或多个计算机可读存储介质存储计算机程序,该计算机程序包括指令,所述指令在由一个或多个处理设备执行时使一个或多个处理设备执行上述操作。

所公开的系统、技术和方法的某些实施方式具有特定的特征和优点。候选交叉口描述可以通过将其指纹与已经经过验证的交叉口模板进行比较来验证,从而消除了执行附加的质量控制过程的需要,并减少了验证所需的时间和计算资源。例如,将交叉口指纹与已经经过验证的交叉口模板进行比较,可以使得能够同时评估多个验证器(例如,兼容的车道控制、可疑的车道终点、可疑的合并和可疑的车道交叉(crossings)),这与单独地和/或顺序地评估验证器的方法相比,加快了验证过程。此外,不是需要对带注释的交叉口数据进行计算密集型建模和分析以生成高级交叉口表示或识别许多自动质量控制过程所需的有意义的交叉口结构(例如,专用转弯车道或左转专用车道(sliplane)),交叉口指纹可以基于一组单独的车道属性和车道对属性来区分交叉口结构,提供明显更少的计算工作量的验证。在某些情况下,可以在指纹中识别出独特或不平常的交叉口特征,且提交这些特征以用于附加的质量控制措施或使这些特征引起人类质量控制工程师的关注。

在一些实施方式中,交叉口指纹可以与道路图的交叉口表示一起存储,并用于防止道路图更新期间的误差。例如,道路图更新可能会移除交叉口处的停止标志。如果更新后的交叉口的指纹与原始交叉口的指纹或已经经过验证的交叉口模板的指纹足够不同,则系统可以将更新标示(flag)为潜在误差,并提交更新后的交叉口以用于附加的质量控制过程。

除了验证以外,基于分析一组经过验证的交叉口的指纹,该方法可以做出关于可以由软件应用或人工构建地图和道路图使用的交叉口的一个或多个推断。例如,基于针对特定交叉口的交通控制信号和/或一组输入和输出车道的指纹,系统可能能够为缺少特定交叉口的描述的不完整道路图生成交叉口,该系统可以识别一个或多个兼容的、已经经过验证的交叉口模板,并添加所选择的模板的描述以完善道路图。

作为另一示例,系统可以基于交叉口的相对(opposite)侧的车道配置来确定交叉口的一侧的可能车道配置。作为又一个示例,系统可以基于特定的交叉口拓扑(例如,车道的布置、车道之间的关系等)来确定可能的交通灯配置。

在附图和以下描述中阐述一个或多个实施方式的细节。从说明书、附图和权利要求中,本公开的其他可能特征和优点将是清晰的。

附图说明

图1是示出用于验证道路交叉口而无需执行一个或多个质量控制过程的系统的示例的图。

图2是示出用于验证道路交叉口而无需执行一个或多个质量控制过程的方法的示例的流程图。

在各个附图中,相同的附图标记和命名指示相同的元素。

具体实施方式

图1是示出用于验证道路交叉口而无需执行一个或多个质量控制过程的系统100的示例的图。系统100包括计算机系统110,该计算机系统110将经过验证的道路图数据存储在数据库170中。计算机系统110还包括质量保证引擎160,其可以执行各种质量控制过程以在将数据存储在数据库170中之前验证道路图数据。

对于某些道路交叉口,计算机系统110可以验证交叉口的候选描述而无需执行质量控制过程。对于这些交叉口,系统110接收描述候选交叉口的带注释(annotated)的交叉口数据122,并基于该数据122生成用于候选交叉口的交叉口指纹142。通过处理生成的指纹142,计算机系统110可以将候选交叉口指定为经过验证,而无需执行质量保证引擎160的质量控制过程,从而减少验证所需的时间和计算资源。图1包括阶段(a)至阶段(d),其表示用于验证道路交叉口而无需执行一个或多个质量控制过程的过程流程。

道路图包括描述道路网络的数据。就像地图一样,道路图数据指示道路、交叉口和用于路线规划的其他结构的位置。道路图数据还包括对于载具导航的相关的道路特征,包括指示特定车道、交通控制设备(例如,停止标志、让行标志)、驾驶规则(例如,转弯限制、拼车车道)的数据以及用于导航的其他数据。载具导航系统(例如用于载人载具或自主载具的导航系统)可以使用道路图数据来为载具规划安全且合法的轨迹,以了解让行决策的优先性并预测道路上其他载具的行为。

道路图数据包括描述道路交叉口的数据。道路交叉口是在道路网络中具有不同走向和速度的载具在其中紧密靠近地交互的区域。例如,道路交叉口可能发生在两条或更多条道路相交的情况、一条道路与另一条道路汇合的情况、或一条道路分成多条道路的情况。在一些实施方式中,交叉口在道路图中被表示为多边形区域,其具有到通过该交叉口的每个车道的链路,以及与每个交叉口相关联的交通控制(例如,交通灯、停止标志、让行标志)。

在交叉口处潜在的载具交互的复杂性增加了碰撞的风险,使得确保描述交叉口的道路图数据准确且完整尤为重要。为了确保道路图的交叉口描述的准确性,系统可能需要交叉口的候选描述以成功地完成一个或多个质量控制过程,其中质量控制过程可以由计算机系统或在某些情况下由人类操作员来实施。例如,质量保证引擎160可以自动执行一个或多个质量控制过程,所述一个或多个质量控制过程相对于用于交叉口的一组规则来分析候选交叉口或者搜索候选交叉口以用于交叉口描述中的常见误差。在一些实施方式中,质量控制过程中的一个或多个可能需要来自人类操作员的输入(例如,以识别和标记错误)。然后,质量保证引擎160可以将已成功完成一个或多个质量控制过程的候选交叉口指定为经过验证,并将经过验证的候选交叉口的表示作为道路图数据存储在道路图数据库中。

许多自动验证过程需要生成交叉口的高级表示(例如,将交叉口表征为具有两个停靠点(stop)的四向交叉口)或特定交叉口结构的识别(例如,专用转弯车道、左转专用车道)以确定交叉口有效性。但是,生成这样的高级表示并识别特定的交叉口结构可能不可靠,并且可能需要大量的建模和分析。其他过程依赖于在所有情况下要执行的质量控制过程或者需要人类操作员输入,这可能会大大减慢验证过程。系统100使得能够实现候选交叉口描述的验证而无需在所有情况下由质量保证引擎160执行质量控制过程,从而减少验证所需的时间和计算资源。

系统100包括计算机系统110。计算机系统110可以是例如执行指令以进行系统100的各种操作的一个或多个计算机或服务器(例如服务器系统)。计算机系统100可以包括一个或多个cpu、gpu、存储器系统或其他计算机硬件,诸如一个或多个处理器、芯片组、通用计算系统、存储器系统和数据存储系统。在一些实施方式中,计算机系统100可包括云计算平台、或另外的远程和/或分布式计算系统。

计算机系统110包括用于执行过程的各个步骤的一个或多个过程模块。例如,计算机系统110可以包括接口模块120、属性引擎130、指纹生成器140、道路图管理器150和质量保证引擎160。这些模块可以以硬件和/或软件的任何组合来实现。例如,模块中的一个或多个可以被实现为由计算机110的操作系统执行的软件应用。在一些实施方式中,模块中的一个或多个可以包括专用处理硬件,例如数字信号处理硬件、专用集成电路(asic)、现场可编程门阵列(fpga)或其他专用硬件。

在阶段(a)中,接口模块120接收候选交叉口的带注释的交叉口数据122。带注释的交叉口数据122可以是例如候选交叉口的图像数据或候选交叉口的雷达数据(例如,通过航空相机或通过附接到载具的相机或雷达系统获得的数据),其中已对图像数据或雷达数据加注释以指示交叉口的各种特征。例如,可以对数据122加注释以指示沿着交叉口的一个或多个车道行进的位置和方向、合法转弯的车道、合并车道、或其他车道特征。也可以对数据122加注释以指示交通控制设备的存在,例如交通灯、停止标志和让行标志。在某些情况下,注释可以指示对候选交叉口的合法驾驶限制,例如禁止掉头或仅有拼车车道。

数据122可以例如由计算机系统110或处理数据122的另一计算机系统自动地加注释以生成注释。数据122还可以例如由评估数据122并将注释输入到计算机系统的一个或多个人手动地加注释。

在图1的示例中,计算机系统122接收带注释的交叉口数据122,其包括用于特定候选交叉口“100123”的数据。带注释的交叉口数据122除其他特征外,还包括车道k和车道j的指示,其中车道k是直行车道(例如,该车道在与该车道汇入该交叉口的那侧相对的一侧退出交叉口)。带注释的交叉口数据122还指示车道j和车道k均受停止标志控制。

在阶段(b)中,属性引擎130基于带注释的数据122确定候选交叉口的一个或多个车道属性132。由属性引擎130确定的车道属性132描述了候选交叉口的一个或多个车道的拓扑属性,该拓扑属性可以由系统100用来将交叉口分类为各种交叉口类型和几何结构并在其之间进行区分。拓扑车道特性可以描述单独的(individual)车道的特征(例如,行进方向、车道类型、车道的交通控制设备)或几个车道之间的关系(例如,车道的数量、车道的布置、车道的扇出(fan-out)),其对于交叉口的特定几何结构是不变的(例如,不受几何结构变形(distortion)(例如,拉伸(stretching)交叉口的部分、旋转交叉口、收缩交叉口、或其他几何结构变形))影响的特性。通常,车道属性132不包括交叉口的几何结构特性,例如车道的宽度、车道之间的距离、车道之间的角度或对几何结构变形敏感的其他几何结构特性。

如图1所示,车道属性132可以指示单独的车道的特性(例如,“车道j的特性”、“车道k的特性”)。例如,属性132可以指示车道的行进方向、车道是否为直行车道(例如,车道在与该车道进入该交叉口的那侧相对的一侧存在交叉口)、转弯车道、掉头车道或其他类型的车道。属性132可以指示车道是否由交通灯、停止标志、让行标志或其他交通控制机制来控制。在一些实施方式中,属性132可以指示车道是否包括“隐含停止”,其中即使没有交通灯或停止标志(例如,当退出停车场时),驾驶习惯也要求载具停止。

单独的车道属性132可以指示车道的优先性,例如,在该车道中行进的交通是否必须让行于在交叉口的另一车道中行进的交通。例如,连接在交叉口的相对侧的两个车道的直行车道可能比连接在交叉口的相邻侧的两个车道的转弯车道优先。在一些实施方案中,属性132可指示与特定的单独的车道相关联的置信度水平(例如,由注释指示的车道名称和拓扑表示真实车道特征的可能性)。

单独的车道属性132还可以指示候选交叉口的车道具有多少入口同级(sibling)或出口同级。入口同级是共享共同的前身(例如,进入)车道的车道,而出口同级是共享共同的后继(例如,退出)车道的车道。入口同级代表车道的扇出,而出口同级代表车道的扇入或合并。

在一些实施方式中,单独的车道属性132指示特定车道是否与另一车道相交、特定车道与多少其他车道相交、和/或特定车道相交的车道的优先性或类型(例如,直行车道、转弯车道、合并车道)。

属性132还可以指示候选交叉口的车道对(例如,车道j和车道k)的特性,如图1所示。对于特定的车道对,车道对属性132可以指示这样的特性,其指示两个车道是否是从共同的入口车道扇出的入口同级,或者两个车道是否是扇入(例如,合并)到共同的出口车道的出口同级。

车道对属性132还可以指示车道的布置。例如,属性132可以指示一个车道是否与另一车道相邻、车道是否共享共同的起始走向(例如,车道中的交通从相同方向进入交叉口)或车道是否共享共同的结束走向(例如,车道中的交通沿相同方向退出交叉口)。车道对属性132可以指示两个车道是否是相反的(opposing)车道(例如,车道具有相反的起始走向和相反的结束走向)。

在某些情况下,属性132可以包括被选择来打破可能存在于相似但几何结构上可区分的交叉口中的对称性的车道对特性。例如,在没有任何方向性概念(例如,左或右)的情况下,包括直行车道和专用左转车道的交叉口可能与包括专用右转车道的交叉口相混淆。为了在具有这种对称性的交叉口之间进行区分,属性132可以包括方向特性,例如该对中的一条特定车道是否在另一条车道的右边(或左边)。在一些实施方式中,这样的方向性车道对特性(例如,车道j在车道k的右边)可以与可提供相似信息(例如,车道j是专用右转车道)的单独的车道特性相比,更可靠地从带注释的交叉口数据122计算出,从而提供更加鲁棒性的候选交叉口描述。

在一些实施方式中,属性引擎130将候选交叉口的属性132映射到一个或多个串。例如,属性引擎130可以通过二进制值(例如,“0”或“1”)来表示每个特性,该二进制值指示车道或车道对是否呈现该特性。然后,引擎130可以通过将表示每个车道或车道对特性的二进制值进行连接(concatenate)来为交叉口中的每个车道对生成串。

例如,如图1所示,对于具有n个车道的交叉口,属性引擎130可以生成一组n*(n-1)个串,其中针对该交叉口中的每个车道对(j,k)有一个串。每个串可以包括三个子串,第一子串表示车道j的单独的特性,第二子串表示车道k的单独的特性,并且第三子串表示一起考虑的车道j和车道k的特性(例如,车道对特性)。

在阶段(c)中,计算机系统110的指纹生成器140处理指示车道属性132的数据,以为带注释的交叉口数据122所描述的候选交叉口生成交叉口指纹142。由于交叉口指纹142基于由车道属性132捕获的交叉口的拓扑特性,因此指纹142提供了对交叉口中的车道的拓扑结构和其他重要道路图特性(例如,交通控制设备的存在)敏感的候选交叉口的表示,而对于实际交叉口中常见的几何结构差异(例如,车道的宽度、车道之间的角度、交叉口的距离等)是不变的。

在一些实施方式中,指纹生成器140是哈希(hash)函数,其将车道属性132映射到交叉口指纹142(例如,哈希值)。例如,生成器140可以按字典顺序(lexicographically)对候选交叉口的车道对属性串进行排序(sort)(例如,基于串值的排序(ordering)),并将它们附加在一起以生成用于交叉口指纹142的哈希值。通过在附加串之前按字典顺序对串进行排序,指纹142可以对于车道的迭代顺序是不变的。

在一些实施方式中,可以用变化的特异性(specificity)水平来生成和/或分析交叉口的交叉口指纹。例如,指纹生成器140可以使用在候选交叉口的车道属性132中捕获的大量(例如,全部)特性来生成更具体的交叉口指纹142。可替代地,生成器140可以使用较少量(例如,选择的集合)的车道属性132来生成候选交叉口的更一般的交叉口指纹142。

单独的车道和/或车道对车道属性132中的任何一个可以用于生成交叉口指纹142,但是所选的特定属性132可以影响系统100区分不同交叉口类型和几何结构的能力。在一些实施方式中,生成器140可以有意地排除那些被确定为对交叉口验证、交叉口区分或其他分析目标具有最小影响的单独的车道或车道对的特定属性。

在阶段(d)中,基于生成的指纹142,道路图管理器150评估由带注释的交叉口数据122描述的候选交叉口是否代表可被添加到道路图的有效交叉口。在一些实施方式中,道路图管理器150访问与已知是有效的交叉口相对应的一个或多个交叉口模板的集合。然后,管理器150可以通过将交叉口的指纹142与一个或多个交叉口模板进行比较来确定候选交叉口是否有效。如果候选交叉口指纹142与已经验证的交叉口模板充分匹配,则管理器150可以将候选交叉口指定为有效。

可以通过各种技术中的任何一种来生成交叉口模板。在一些实施方式中,可通过确定先前由质量保证引擎160、人类操作员或其他验证技术所验证的交叉口的指纹或其他表示来生成交叉口模板。在一些实施方式中,通过识别具有相似特性(例如,相似指纹)的先前验证的交叉口的簇(cluster)并确定该簇的指纹或其他表示来生成交叉口模板。在验证候选交叉口时,该一个或多个交叉口模板可以被存储在道路图管理器150可访问的数据库中(例如,存储在计算机系统110的本地存储器系统中,或者存储在计算机系统110通过网络可访问的远程存储器系统中)。

道路图管理器150可以将候选交叉口指纹142与交叉口模板进行比较,以生成下述值,该值反映特定候选交叉口与交叉口模板相关联的程度。该值可以例如指示候选交叉口与模板的相似程度或它们共享某些交叉口特征的程度。在一些实施方式中,所生成的值是指纹142与交叉口模板之间的距离(例如,指纹142的哈希值与交叉口模板的哈希值之间的距离)。在一些实施方式中,所生成的值是指示指纹142和模板相似程度(例如,“匹配”)的匹配分数,或者是指纹142和交叉口模板具有相同的交叉口类型或拓扑的置信度值(例如,四路交叉口,在具有相反走向的、交叉口的两个入口处具有停止标志)。

基于生成的值,道路图管理器150可以将候选交叉口指定为有效。在一些实施方式中,如果反映候选交叉口与交叉口模板相关联的程度的值满足阈值,则管理器150将候选交叉口指定为有效。

例如,如果所生成的交叉口指纹142的哈希值与交叉口模板之间的距离在特定的距离阈值内,则道路图管理器150可以将候选交叉口指定为有效。在另一个示例中,如果所生成的在指纹142和交叉口模板之间的匹配分数在特定的匹配阈值之内(例如,如果指纹142和模板以特定置信度水平匹配),则管理器150可以将候选交叉口指定为有效。在又一示例中,如果所生成的置信度值指示指纹142和模板具有带特定阈值置信度水平的相同的交叉口拓扑,则管理器150可以将候选交叉口指定为有效。

在将候选交叉口指定为有效之后,道路图管理器150将候选交叉口的表示172存储在道路图数据库170中。数据库170可以是例如一个或多个网络附接存储(nas)设备或其他存储器系统,其可由计算机系统110访问,并且存储描述道路网络的道路图数据。在经过验证的候选交叉口的表示被存储在道路图数据库170中之后,可以使得包括经过验证的交叉口的表示的道路图数据对于载具是可用的以用于路线规划和导航。

存储在道路图数据库170中的候选交叉口的表示172可以包括在道路图中描述交叉口所需的各种数据中的任何一种。例如,表示172可以包括用于候选交叉口的一些或所有带注释的交叉口数据122和/或由属性引擎130确定的车道属性132。在一些实施方式中,表示172包括指示候选交叉口的交叉口指纹142的数据,或识别与候选交叉口相关联的类型、拓扑或交叉口模板的其他信息。

如果道路图管理器150没有将候选交叉口指定为有效(例如,反映候选交叉口与交叉口模板相关联的程度的值不满足阈值),则管理器可以将带注释的交叉口数据122和任何其他必要的交叉口数据提供到质量保证引擎160。然后,质量保证引擎160可以对带注释的交叉口数据122执行一个或多个质量控制过程,以确定候选交叉口是否为有效交叉口。然后,引擎160可以将任何经过验证的候选交叉口的表示存储在道路图数据库170中。

通常,质量保证引擎160包括各种自动、半自动(例如,利用有限的人类操作员输入)或人类操作员执行的质量控制过程,以确定特定的候选交叉口是否有效。在一些示例中,质量控制过程评估一个或多个验证器(例如,兼容的车道控制、可疑的车道终点、可疑的合并和可疑的车道交叉),这可能需要对数据122进行计算密集型建模和分析以生成评估所需的高级表示。在其他示例中,质量控制过程需要来自经训练的人类操作员的输入(例如,以验证非常规的车道布置或确认可疑的交叉口特征标签),这可能是耗时的并且由于人为错误而易于出错。通过使候选交叉口的子集能够由道路图管理器150验证而不必执行保证引擎160的一个或多个质量控制过程,系统100提供了用于验证可与已经验证的交叉口模板相关联的那些候选交叉口的更高效且更加鲁棒性的方法。

在一些其他示例中,质量保证引擎可以指示接口模块120检索或生成用于特定的候选交叉口的新的带注释的交叉口数据,以进行后续验证。检索或生成新的带注释的交叉口数据可能涉及例如使用相同或不同的自动图像识别过程来重新识别特定的候选交叉口的图像数据、调用不同的注释算法或方案(即计算上更昂贵的注释算法)以用于注释特定的候选交叉口、或者对附加的或增强的数据的检索(即为了在注释特定的候选交叉口时使用的与特定的候选交叉口相关联的更高质量的图像)。

在一些实施方式中,系统100还提供用于识别道路图内的错误的高效且有效的装置。例如,对于道路图中的每个交叉口,系统可以生成如上述的针对候选交叉口的指纹,并分析生成的指纹以识别代表常见交叉口类型和拓扑的交叉口簇。基于所识别的簇,系统100可以识别未充分匹配常见交叉口簇的任何异常(outlier)交叉口指纹。然后可以将异常交叉口标记为包含潜在错误,并且可以被标示以用于进一步检查(例如,通过质量控制过程,例如由质量保证引擎160或人类操作员执行的过程)。在一些实施方式中,系统100可能能够通过识别将异常交叉口与附近交叉口簇区分开的一个或多个车道特性来表征潜在错误。在一些实施方式中,交叉口簇可以用于确定交叉口模板,以用于由道路图管理器执行的验证过程(例如,通过生成代表交叉口簇的交叉口模板)。

在某些情况下,由于注释过程中的错误(例如,交叉口指纹不代表真实的交叉口拓扑),交叉口可能是异常者(outlier),在这种情况下,可以对注释进行校正。例如,交叉口的带注释的数据122可能是不完整的(例如,缺少一个或多个车道、交通控制设备等)或被错误标记(mislabel)。异常交叉口可以被标记以在包含交叉口的道路图被提供给载具之前通过计算机算法或人类操作员进行进一步检查和校正。在一些示例中,可以分析异常交叉口以确定注释过程中的常见错误(例如,停车场入口和出口的不一致表示、跨多个车道的弯道的不正确映射)。然后,可以将与常见错误相关的信息用于改善人工或计算机实施的注释过程。

在其他情况下,由于实际交叉口的不平常的或非常规的拓扑,交叉口可能是异常者。在这些情况下,可以在路线规划过程中标示特定的异常交叉口,从而向载具发出信号——当导航通过不平常的或非常规的交叉口时可能应格外注意。

在一些实施方式中,可以分析道路图的交叉口指纹以用于其他地图绘制、规划和导航目的。例如,使用指示在特定交叉口处的失败或中止的导航尝试的数据,系统100可能能够识别使用当前算法无法良好导航的特定交叉口指纹或特征,由此指导算法改进工作。在另一个示例中,该系统可能能够将安全数据(例如,指示各个交叉口处的安全事件或事故)与特定交叉口指纹或特征相关联,以识别在导航期间会得益于附加的感知措施或预防措施的特别危险的交叉口类型。

图2是示出用于验证道路交叉口而无需执行一个或多个质量控制过程的方法200的示例的流程图。方法200可以由一个或多个计算机系统(例如图1的计算机系统110)来执行。简而言之,该方法包括:接收指示候选交叉口的一个或多个车道的属性的带注释的交叉口数据(202);处理带注释的交叉口数据以生成候选交叉口的交叉口指纹(204);至少基于交叉口指纹来将候选交叉口指定为经过验证(206);以及将候选交叉口的表示存储在道路图中(208)。在一些实施方式中,执行方法200的计算机系统包括质量保证引擎、一个或多个数据库以及道路图管理器,其中质量保证引擎被配置为验证已经成功完成一个或多个质量控制过程的候选交叉口,一个或多个数据库被配置为存储经过验证的道路图,并且道路管理器引起在道路图中经过验证的候选交叉口的表示。

更详细地,方法200包括由计算机系统接收指示候选交叉口的一个或多个车道的属性的带注释的交叉口数据(202)。带注释的交叉口数据可以是例如图像数据、雷达数据、激光雷达数据、地图数据或描述交叉口(例如,候选交叉口)的特定提议表示的拓扑结构的其他数据的注释版本。在一些实施方式中,带注释的交叉口数据由计算机系统(例如,通过使用图像处理或其他数据分析技术对图像进行注释的算法)生成。在一些实施方式中,带注释的交叉口数据包括由经训练的人类操作员产生的注释。

带注释的交叉口数据包括指示候选交叉口的一个或多个车道的一个或多个属性的注释和/或标签。属性可以包括与交叉口的单独的车道相关的特性,例如车道的位置、车道中的交通方向、车道的朝向、车道的扇出或扇入、和/或针对车道存在的交通控制设备(例如,停止标志、交通灯、让行标志)。属性还可包括与交叉口的车道对相关的特性(例如,车道对特性),例如车道的布置(例如,一个车道是位于另一车道的左侧还是右侧、车道是否共享共同的走向、车道是入口同级还是出口同级)。通常,由带注释的交叉口数据指示的属性包括在几何结构变形下不改变的拓扑属性。

在一些实施方式中,候选交叉口的属性由指示在交叉口中是否存在特定特性的二进制值(例如,“0”和“1”)表示。例如,系统可以为候选交叉口生成一个或多个二进制值串,其中每个串指示交叉口的车道对(j,k)的特性,如带注释的交叉口数据所述。在一些实施方式中,用于车道对(j,k)的每个串包括三个子串,指示车道j的单独的车道特性的第一子串、指示车道k的单独的车道特性的第二子串、以及指示车道对(j,k)的车道对特性的第三子串。

计算机系统处理带注释的交叉口数据以生成针对候选交叉口的交叉口指纹(204)。在一些实施方式中,系统生成作为哈希值的交叉口指纹。例如,在候选交叉口属性由每个车道对的串表示的情况下,系统可以按字典顺序对每个车道对的串进行排序,并组合这些串(例如,连接(concatenate)或附加(append)它们)以生成指纹哈希值。

因为交叉口指纹仅基于候选交叉口的拓扑车道属性而生成,所以它对候选交叉口的车道的拓扑结构敏感,而对于候选交叉口的车道的几何结构是不变的。例如,交叉口指纹可能对拓扑特性(例如,车道的数量、车道的布置、车道的扇出、或车道的合并)敏感,而对于交叉口车道的几何结构特性(例如,在几何结构变形下改变的特性)(例如,车道的宽度、车道之间的距离、车道之间的角度、或转弯车道的半径)是不变的。

至少基于交叉口指纹,计算机系统将候选交叉口指定为经过验证的(206)。在一些实施方式中,系统将候选交叉口指定为经过验证的,而无需执行一个或多个质量控制过程,所述一个或多个质量控制过程否则会通过计算机系统的质量保证引擎来执行。

例如,系统可以将交叉口指纹与描述已经验证的交叉口的交叉口模板进行比较,并生成反映候选交叉口与交叉口模板相关联的程度的值。在一些实施方式中,交叉口模板是已经验证的交叉口的指纹的哈希值,并且所生成的值是候选交叉口指纹的哈希值与交叉口模板的哈希值之间的距离。所生成的值还可以是指示候选交叉口和交叉口模板之间的相似水平的匹配分数、指示候选交叉口和交叉口模板属于同一类型的置信度的值、或指示候选交叉口和交叉口模板之间的关联的其他值。

如果系统确定生成的值满足阈值,则系统可以将候选交叉口指定为经过验证,而无需执行一个或多个质量控制过程。例如,系统可以确定:所生成的候选交叉口指纹的哈希值与交叉口模板的哈希值之间的距离在距离阈值内,所生成的指示候选交叉口与交叉口模板之间的相似性的匹配分数在匹配阈值内,或者所生成的候选交叉口和交叉口模板具有相同交叉口拓扑的置信度值满足阈值置信度水平。

在一些实施方式中,交叉口模板由系统生成(例如,通过分析已经验证的交叉口的指纹),被存储在存储器系统中,并且被系统访问以与所生成的候选交叉口指纹进行比较。在一些实施方式中,交叉口模板可以是通过成功完成一个或多个质量控制过程(例如,由质量保证引擎或人类操作员执行的过程)而被指定为有效的交叉口的指纹。

响应于将候选交叉口指定为有效,计算机系统将候选交叉口的表示存储在道路图中(208)。在一些实施方式中,候选交叉口的表示被存储在作为道路图数据库的一部分的道路图中。道路图中存储的候选交叉口的表示可以包括一些或全部带注释的交叉口数据。所存储的表示还可以包括指示候选交叉口的一个或多个属性的数据,以及指示所生成的针对候选交叉口的指纹的数据。在存储该表示之后,可以将包括经过验证的候选交叉口的表示的道路图数据提供给载具,以进行导航和路线规划。

本说明书中描述的本发明的实施例和所有功能操作可以以数字电子电路、或以计算机软件、固件或硬件来实现,包括本说明书中公开的结构及其结构等同物,或它们中的一个或多个的组合。本发明的实施例可以被实现为一种或多种计算机程序产品,即,在计算机可读介质上编码的计算机程序指令的一个或多个模块,以由数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是非暂时性计算机可读存储介质、机器可读存储设备、机器可读存储基板、存储器设备、实践机器可读传播信号的物质组成、或它们中一个或多个的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中一个或多个的组合的代码。传播的信号是人工产生的信号,例如机器产生的电、光或电磁信号,其被产生以对信息进行编码以传输到合适的接收器装置。

计算机程序(也称为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言(包括编译或解释语言)编写,并且其可以以任何形式(包括作为独立程序,或作为适合在计算环境中使用的模块、组件、子例程或其他单元)进行部署。计算机程序不一定与文件系统中的文件相对应。程序可以存储在:保存其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本);专用于所讨论的程序的单个文件中;或多个协调文件中(例如,存储一个或多个模块、子程序或部分代码的文件)。计算机程序可以被部署为在一台计算机或在位于一个站点上或分布在多个站点上并通过通信网络互连的多台计算机上执行。

本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器来执行,所述一个或多个可编程处理器执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路来执行,并且装置也可以实现为专用逻辑电路,其中专用逻辑电路是例如,fpga(现场可编程门阵列)或asic(专用集成电路)。

适合于执行计算机程序的处理器包括例如通用微处理器和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器、以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或可操作地耦合以从用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘)接收数据、或向其传送数据、或两者。但是,计算机不必具有此类设备。此外,计算机可以被嵌入在另一设备中,仅举几个例子,例如,平板计算机、移动电话、个人数字助理(pda)、移动音频播放器、全球定位系统(gps)接收器。适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备(例如,eprom、eeprom和闪存设备);磁盘(例如,内部硬盘或可移除盘);磁光盘;以及cdrom和dvd-rom盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。

为了提供与用户的交互,本发明的实施例可以在计算机上实现,该计算机具有用于向用户显示信息的显示设备(例如,crt(阴极射线管)或lcd(液晶显示器)监视器)、以及用户可以通过其向计算机提供输入的键盘和指向设备(例如鼠标或轨迹球)。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉(sensory)反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。

本发明的实施例可以在计算系统中实现,该计算系统包括后端组件(例如,作为数据服务器)、或者包括中间件组件(例如,应用服务器)、或者包括前端组件(例如,通过其用户可以与本发明的实施方式进行交互的具有图形用户接口或web浏览器的客户端计算机),或者一个或多个此类后端组件、中间件组件或前端组件的任意组合。系统的组件可以通过数字数据通信的任何形式或介质(例如,通信网络)互连。通信网络的示例包括局域网(“lan”)和广域网(“wan”),例如因特网。

计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且典型地通过通信网络进行交互。客户端和服务器的关系是通过在各自计算机上运行并彼此具有客户端-服务器关系的计算机程序而产生的。

尽管本说明书包含许多细节,但是这些细节不应被解释为对本发明的范围或可要求保护的范围的限制,而是应理解为对本发明的特定实施例特定的特征的描述。在本说明书中在分开的实施例的上下文中描述的某些特征也可以在单个实施例中组合地实现。相反,在单个实施例的上下文中描述的各种特征也可以分开地在多个实施例中或以任何合适的子组合来实现。而且,尽管上面可以将特征描述为以某些组合起作用并且甚至最初如此要求保护,但是在某些情况下,可以从该组合中去掉来自所要求保护的组合的一个或多个特征,并且可以将所要求保护的组合用于子组合或子组合的变型。

类似地,尽管在附图中以特定顺序描绘了操作,但是这不应被理解为要求以所示的特定顺序或以顺次顺序执行这样的操作,或者要求执行所有示出的操作以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解所描述的程序组件和系统通常可以集成在单个软件产品中或打包成多个软件产品。

因此,已经描述了本发明的特定实施例。其他实施例在所附权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。

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