用于提供车辆认知的系统和方法与流程
未命名
09-03
阅读:76
评论:0

用于提供车辆认知的系统和方法
1.本技术是申请号为201780017483.8、申请日为2017年3月15日、发明名称为“用于提供车辆认知的系统和方法”的发明专利申请的分案申请。
技术领域
2.本公开总体上涉及自主机器人的操作,且尤其涉及通过机器视觉系统创建定位地图和三维语义地图。
背景技术:
3.实现机器人技术的自主性一直是一个持续的目标,并且是数十年来研究和开发的持续主题。成功实施的意义往往影响深远。在人员、货物和车辆都需要安全、高效和快速地移动的移动方面就是这种情况。为了使移动自主机器人成为现实,它们需要感知周围的世界,以便进行操作。
4.机器视觉技术的当前进展使自主性更接近实现。相机、lidar和radar(以及其它)为机器人提供了来自其周围环境的极丰富数据。然而,这带来了挑战。这些实时系统收集的数据量很快成为机载有限内存和计算资源的负担。在所有获取的数据生成时对其进行处理以使机器人能够在其环境中行动变得代价大且难以负担。
5.机器人或车辆行进的环境中的基础设施的预制地图可用于缓和这些系统的实时要求。另外,地图可帮助机器人预测即将遇到的基础设施,以更好地规划其路线。
6.移动自主机器人的一个应用是道路行进,其中车辆在道路网络上携带人和货物。类似地,自主列车沿铁路基础设施行进。或大或小的飞行器也可利用自主性。在这些应用以及更多应用中,可能希望此类车辆在广阔的大陆范围上操作,这意味着它们将在无需人为干预的情况下沿着基础设施连续长距离行进。
7.虽然为自主研究目的创建测试轨道的3d语义地图是一种相当容易理解的勘测实践,但针对大的区域创建这些地图仍是一项挑战。使用传统方法对数千公里的道路或铁路基础设施进行勘测和数字化的代价高、耗时且操作复杂。这是因例如所得地图中所需的高精度水平、环境中要注意的资产数目以及用于生成这些地图的数据大小等因素所致。另外,随着环境的不断变化,某些区域需要重新制图,这增加了问题的复杂性。
技术实现要素:
8.根据本文公开的一个方面,提供一种用于创建和更新3d语义地图的群集方法。实施例可在大陆范围和高频率下使用。所述群集可由沿着待制图的基础设施行进的现有自主和半自主车辆构成。所述系统可利用基于云的后端系统来聚合和协调收集到的数据,以及在运行时操作期间更新存储在车辆上的缓存数据。
9.实施例的一个方面是使用从空间数据导出的签名(例如散列)的精确车载定位引擎,所述空间数据使用机器传感器数据获得。
10.某些实施例的另一方面是车载3d语义地图创建和审核系统,其也使用视觉传感器
且利用精确定位组件。车辆可对穿越环境时遇到的资产进行特征化,且将这些特征化结果与存储在本地地图缓存中的语义地图数据进行比较。可向中央服务器报告遗漏(omission)与错记(commission)差异,以用于在维护主语义地图时的评估。来自主语义地图的更新可向下传输到群集车辆以在运行时操作期间使用。
11.某些实施例的另一方面是车载认知引擎,其介接于定位和映射引擎与决策引擎之间以根据车辆位置和方向来为决策引擎提供来自车辆周围环境的实时情境。
12.根据本发明的一种定位车辆的计算机实施的方法,所述车辆具有车载机器视觉传感器,所述方法包括:通过所述机器视觉传感器观测与一个或多个体素中的每一个相关联的体素数据;通过将每个体素的所述体素数据应用于计算机实施的编码函数,计算所述体素中的每个体素的体素签名;在体素签名定位表内查找所述体素签名,所述体素签名定位表包括靠近所述车辆的体素的多个体素签名以及每个体素签名的相关联已知良好位置;以及针对具有在所述体素签名定位表中匹配的签名的一个或多个体素,通过将与所述体素签名定位表内的所述体素签名相关联的已知位置偏移由机器视觉系统确定的所述车辆相对于观测到的体素的位置来确定所估计车辆位置。
13.根据所述的方法的优选方案,其中计算所述体素中的每个体素的体素签名的步骤由车载计算机执行,且包括以下子步骤:基于所述体素内的数据点在所述体素内的几何结构和其信号特性,给所述数据点指派权重;将加权的体素数据应用于散列算法以产生固定长度的体素签名输出。
14.优选地,针对所述体素签名定位表中匹配的多个体素签名中的每个体素签名执行确定所估计车辆位置的步骤,且所述方法进一步包括:基于相对于观测到的体素确定的所述所估计车辆位置中的两个或更多个而组合地计算精确化车辆位置估计值的步骤。
15.所述方法可以进一步包括从连接网络的服务器将所述体素签名定位表的参考内容下载到所述车辆的步骤;计算所述体素中的每个体素的体素签名的步骤包括将计算出的体素签名和相关联的观测到的位置存储在查询表中的子步骤;以及确定所估计车辆位置的步骤包括确定参考表和所述查询表中都匹配的体素的相对位置的子步骤。
16.计算精确化车辆位置估计值的步骤可以包括:在刚性体的所有六个自由度中调整车辆位置和方向估计值;以及反复尝试将本地观测到的体素与参考表中存在的体素匹配。所述的方法可以进一步包括基于本地计算的体素签名与存储在所述体素签名定位表中的签名匹配的频率来确定定位精确度水平的步骤。计算精确化车辆位置估计值的步骤可以进一步包括在对所述所估计车辆位置中的两个或更多个求平均值之前滤除离群值。在体素签名定位表内查找所述体素签名的步骤可以包括在基于所述车辆的位置的前一估计确定的所述体素签名定位表的子集内查找所述体素签名。所述体素签名定位表的所述子集可以进一步基于所述车辆自所述车辆的位置的所述前一估计以来的相对运动而确定。
17.根据本发明的一种用于创建车辆定位表的方法,所述车辆定位表由车辆用于通过参考其局部环境确定其绝对地理空间位置,所述方法包括:纳入一个或多个车辆对局部环境的多次穿越,每个车辆具有车载机器视觉传感器和车载计算机;在每次穿越期间观测多个体素中的每个体素,以便为所述体素中的每一个生成体素签名和体素位置假设,这两者都本地存储在定位表中;聚合来自所述穿越的定位表;以及针对每个观测到的体素,基于共享聚合的定位表内的共同体素签名的体素位置假设,组合地确定精确化体素位置假设。
18.根据所述的方法的改进,聚合定位表的步骤包括由每个车辆通过广域数据网络将包括体素签名和相关联位置假设的定位表内容从所述车辆传输到中央数据处理计算机。在每次穿越期间观测多个体素中的每个体素的步骤进一步包括在所述定位表内本地存储观测到每个体素的时间以及针对此特定体素位置提取的签名的子步骤。组合地确定精确化体素位置假设的步骤包括过滤聚合的定位表内共享共同体素签名的体素位置假设。组合地确定精确化体素位置假设的步骤进一步包括对已过滤体素位置假设求平均值。组合地确定精确化体素位置假设的步骤进一步包括滤除离群值位置估计值。所述的方法进一步包括以下步骤:由每个车辆从所述中央数据处理计算机接收已更新的主机定位签名表。
19.根据本发明的一种用于使用多个代理创建局部环境的三维语义地图的方法,所述多个代理各自具有机器视觉传感器和定位引擎,所述方法包括:在具有用于语义映射的一个或多个资产的环境内定位每个代理;由每个代理在穿过所述环境时对所述环境内的资产进行制图,且同时由每个代理本地存储特征化所制图资产的信息;以及由所述代理中的每个代理在运行时操作期间将特征化所制图资产的信息传输到中央映射服务器以用于将所述代理的所制图资产信息聚合到主服务器侧资产地图。
20.根据所述的方法的改进,在具有用于语义映射的一个或多个资产的环境内定位所述代理的步骤包括以下子步骤:通过所述机器视觉传感器观测与一个或多个体素中的每一个相关联的体素数据;通过将每个体素的所述体素数据应用于计算机实施的编码函数,计算所述体素中的每个体素的体素签名;在体素签名定位表内查找所述体素签名,所述体素签名定位表包括靠近所述车辆的体素的多个体素签名以及每个体素签名的相关联已知良好位置;以及针对具有在所述体素签名定位表中匹配的签名的一个或多个体素,通过将与所述体素签名定位表内的所述体素签名相关联的已知位置偏移由机器视觉系统确定的所述车辆相对于观测到的体素的位置来确定所估计车辆位置。
21.传输特征化所制图资产的信息的步骤可以包括在映射代理的运行时操作期间通过无线蜂窝数据连接传输特征化所制图资产的信息。传输特征化所制图资产的信息的步骤包括以下子步骤:识别观测到的特征化所制图资产的信息与和所制图资产相关联的本地缓存映射数据之间的一个或多个差异;以及将所述差异传输到所述中央映射服务器。
22.所述的方法可以进一步包括以下步骤:由所述中央映射服务器将从与共同资产相关联的多个代理接收到的资产信息组合为所述共同资产的服务器侧地图。所述的方法进一步包括由每个代理缓存从中央映射服务器接收到的主语义地图内容的步骤;且其中对所述环境内的资产进行制图的步骤包括观测所述局部环境中未反映在缓存的主语义地图中的资产;且其中传输特征化所制图资产的信息的步骤包括将资产遗漏报告到所述中央映射服务器。
23.本发明还提供一种用于使用多个代理车辆创建局部环境的三维语义地图的方法,所述多个代理车辆具有硬件规格不同的机器视觉和定位系统,所述方法包括:由中央映射服务器向所述代理车辆中的每一个提供体素签名定位表,以由所述代理车辆用于通过以下方式在环境中进行自身精确定位:基于代理的机器视觉硬件执行的体素观测结果计算体素签名,以及在签名定位表内查找计算出的体素签名以确定体素参考位置,从所述体素参考位置确定代理位置;由所述中央映射服务器从所述多个代理车辆接收给定资产的多个语义地图特征化结果,所述特征化结果包括向量和语义;通过对来自所述多个代理车辆的所述
多个特征化结果应用统计过程,确定所述给定资产的主语义地图特征化结果。
24.根据所述的方法的改进,对所述多个特征化结果应用统计过程的步骤包括过滤资产地理空间位置的特征化结果以排除离群值,以及对已过滤位置求平均值以确定精确化位置估计值。所述的方法可以进一步包括前述步骤:由所述中央映射服务器接收特征化每个代理内存在的所述机器视觉和定位系统的信息;至少部分地基于所选代理的机器视觉或定位系统的特征化来为映射任务选择一个或多个代理;以及向所选代理传输针对资产特征化的映射任务。所述的方法进一步包括前述步骤:由所述中央映射服务器评估每个代理在准确映射资产时的历史表现;至少部分地基于对所述代理的历史映射表现的评估,为映射任务选择一个或多个代理;以及向所选代理传输针对资产特征化的映射任务。为映射任务选择一个或多个代理的步骤进一步包括:至少部分地基于以下一个或多个基准来为映射任务选择一个或多个代理:任务优先级、代理位置、每个特定代理的已知表现历史,以及具有类似硬件规格的代理的已知表现历史。所述的方法进一步包括以下步骤:由所述中央映射服务器将所述给定资产的已更新主语义地图特征化结果传输给所述多个代理车辆。
25.本发明还提供一种用于使用多个代理车辆创建局部环境的三维语义地图的方法,所述多个代理车辆各自具有定位系统、本地缓存定位签名表、机器视觉系统和本地缓存语义地图,所述方法包括:由每个代理车辆评估所述车辆在穿越所述局部环境时进行定位的定位精确度水平;当所述定位精确度水平低于代理车辆的阈值水平时,利用所述车辆的机器视觉系统计算体素签名以确定相关联地理空间位置,以与所述缓存定位表内的签名进行比较,并在运行时操作期间将计算出的签名和相关联地理空间位置报告到中央映射服务器;当所述定位精确度水平超过代理车辆的阈值水平时,利用所述车辆的机器视觉系统对所述局部环境内的资产进行制图。
26.根据权利要求所述的方法的改进,利用所述车辆的机器视觉系统对所述局部环境内的资产进行制图的步骤包括:如果资产与存储在所述本地缓存语义地图中的资产信息映射一致,则将特征化所述资产的信息传输到车辆认知引擎;如果所述车辆机器视觉系统未观测到所述本地缓存语义地图中反映的资产,则将所述资产的遗漏报告给中央映射服务器;以及如果所述车辆机器视觉系统在所述局部环境内观测到资产,但未反映在所述本地缓存语义地图中,则将特征化所述资产的信息传输到所述车辆认知引擎并将所述资产的存在报告给所述中央映射服务器。
27.优选地,由每个代理车辆评估所述定位精确度水平的步骤包括评估本地计算出的定位签名与存储在所述缓存定位表内的签名匹配的频率。所述体素签名通过散列化加权体素数据进行计算。
28.下文详细描述这些和其它方面。
附图说明
29.图1是现有技术的自主或半自主车辆导航系统的示意框图。
30.图2是使用勘测车辆对区域进行制图的现有技术系统的示意图。
31.图3是现有技术车辆定位系统的示意框图。
32.图4是车辆导航系统的示意框图。
33.图5是自主车辆操作环境的示意图。
34.图6是体素映射系统的示意框图。
35.图7是使用定位签名表进行车辆定位的过程的图。
36.图8是体素签名导出组件的示意框图。
37.图9是用于导出体素签名的过程的图。
38.图10是借助代理群集的体素映射系统的示意框图。
39.图11是感测局部环境的代理的示意图。
40.图12是代理映射系统的示意框图。
41.图13是聚合体素位置数据的示例图。
42.图14是基于群集的聚合特征映射的示意图。
43.图15是群集代理运行时操作的过程图。
44.图16是基于群集的运行时操作的示意图。
45.图17是针对基于行为的语义提取的服务器侧代理进行监测的图。
46.图18是用于对地理区域进行制图的群集和云服务器的示意框图。
47.图19是用于对地理区域进行制图的基于群集的方法的示意图。
48.图20是示出基于车辆定位精确度的定位和映射操作的图。
49.图21是用于在车辆操作期间创建和审核地图资产的过程图。
具体实施方式
50.尽管本发明易于以许多不同形式体现,但在附图中示出且将在本文中详细描述若干具体实施例,其中应理解,本公开应视为本发明原理的示例,以使所属领域的技术人员能够制造和使用本发明,且并非在于将本发明限于所示实施例。
51.图1示出能实现机器人自主操作的常规系统组件。3d语义地图100含有伪静态资产的位置、其特征以及使其彼此相关的语义。当资产预期不会例如在每日、每周、每季度等基础上频繁改变时,将资产视为伪静态。在自主道路车辆的情境中,这些资产包含道路上由道路工程师设计的确定允许的和推荐的交通流的特征。语义描述道路上各种对象之间的关系(例如,交通信号与道路上由其管控的相关车道之间的关联)。除了地图100之外,一组机器视觉传感器110提供关于机器人周围环境的实时信息。机器视觉传感器110可包含lidar、radar、具有不同频率范围的相机等。来自传感器110的信息可描述伪静态对象以及动态对象。在道路车辆的情境中,动态对象可以是移动或规律地改变位置的对象,例如道路上的其它汽车、行人、骑车者等。
52.定位引擎120提供自主车辆在地图上或在绝对参考系(例如全局参考系)中的位置,优选地具有易于以厘米测量的精确度水平。不同的应用需要不同的精确度水平。对于道路行进,可能需要低于10cm的定位精确度以与其它可能非自主的车辆保持安全操作。三维语义地图100、机器视觉传感器110和定位引擎120都与决策引擎130介接。通过将控制信号140输出到负责车辆操作的各个方面的车载系统,例如电驱动马达、制动系统和动力转向系统,决策引擎130负责车辆的致动(例如,转向,加速和减速)。决策引擎130的目标通常是,以安全的方式规划和执行机器人在来处与目的地之间的路线。
53.图2是示出用于为自主汽车创建3d语义地图的常规方法的示意图。本实例可推广到使用类似方法的其它应用和行业。在常规方法中,利用一队勘测级车辆200来横穿受关注
区域210以收集机器视觉数据。车辆200横穿规划路线211、212和213,以便从区域210内的预定所要路径收集数据。接着将收集到的数据移动到数据中心220以进行存储和管理。接着使用半自动化过程从传感器数据创建地图。
54.图2中所示的常规方法存在若干缺点。在此模型中收集数据所必需的勘测级车辆成本较高,通常在最好的情况下将车队的大小限制为数百辆车。仅美国估计就有大约六百万公里的道路。因此,用有限数目的车辆来勘测此网络变得具有挑战性。每辆车的路线需要提前规划并正确执行,以使数据有用。由于道路(和其它交通设施)上的环境不断变化,因此有必要每年每季度多次重新访问同一区域,以使地图合理地保持最新状态。另外,勘测级车辆200通常携载极少车载计算能力,从而迫使操作员将收集到的数据传输到数据中心220。这还是具有挑战性的,因为对于勘测的每千米,车辆220可能收集约10gb的数据。最后,半自动化地图制作过程涉及数据的人为标注,且容易出错。
55.图3是用于以地理参考方式定位车辆的常用系统的框图表示。全球导航卫星系统(gnss)接收器300接收卫星信号并向滤波组件310呈现位置估计。惯性测量单元320以较高速率跟踪机器人的运动。(另外或替代地,还可使用姿态和航向参考系统(ahrs)。)imu 320可具有多个传感器(例如加速计、陀螺仪、磁力计、气压传感器等),以便准确感测车辆的运动。滤波器310使用传感器融合以从通过gnss 300和imu 320接收到的数据导出车辆位置的精确化估计。在一些实施例中,可能需要滤波器组件310包含微处理器,所述微处理器将扩展卡尔曼滤波器(kalman filter)或粒子滤波器应用于从gnss 300和imu 320接收的数据。
56.虽然图3的定位系统可提供足以满足某些应用的精度和可靠性水平,但其它应用可从定位车辆的高水平精度和精确度中受益,这使得具有足够精确度水平的常规定位系统可能不可用或代价过大。因此,可能需要实施车辆定位的其它方法,以及将此类定位用于例如精确制图和/或自主车辆操作。为此,图4示出能够实现机器人的自主操作的系统的另一实施例。3d语义地图100、机器视觉传感器110、定位引擎120各自与中央认知引擎125介接。认知引擎125将车辆情境传达到决策引擎130。认知引擎125还可与辅助车辆系统135介接。辅助系统135通常连接到车辆数据和通信总线,且可实施例如感测和安全应用。
57.为了以最优安全性和效率执行其功能,决策引擎130需要来自其周围环境的关于环境本身以及同一地点中的其它车辆和移动实体的情境。认知引擎125可通过利用其信息源向车辆提供此类情境。利用定位引擎120(例如通过下文描述的操作)以高水平的精确度确定的位置和位姿,认知引擎125可过滤地图100内关于车辆周围环境的3d语义地图信息。这提供了交通基础设施等伪静态资产的几何和语义信息。另外,机器视觉传感器110连同辅助系统135一起可提供车辆附近的移动对象的情境。认知引擎125组合所有这些源,且使用精确的车辆位置和车辆属性处理情境并将情境传达到决策引擎130,由此减少决策引擎130进行决策所必要的认知负荷。
58.图5示出其中可利用认知引擎125对传感器数据进行过滤以减少决策引擎130引起的认知负荷的情境。图5示意性地示出在车辆操作期间由机器视觉传感器110感知的示例性场景。车辆沿着道路在车道500内行进,其中所述道路还具有用于相反方向的行进的车道502。传感器110检测道路中心线510和右侧车道标记512,这两者都(1)被确认为与3d语义地图100内存在的资产语义一致,并且(2)由认知引擎125验证为与车辆的当前操作相关;且因此由认知引擎125传送到决策引擎130以用于车辆操作中的评估。类似地,机器视觉传感器
110还观测到速度限制标志520,且所述速度限制标志被认知引擎125验证为与车辆的操作相关,之后被传送到决策引擎130。相比之下,机器传感器110观测到街道标志525,但所述街道标志在3d语义地图100内指示为适用于在与认知引擎125所识别的行进方向相反的行进方向上行进的车辆;因此,认知引擎125不必将关于标志525的细节传递给决策引擎130,由此减少其上的处理负荷。最后,机器视觉系统110检测到行人530但不将其指示为3d地图100内的伪静态资产,使得认知引擎125可将行进区域内的动态对象的存在和位置传送给决策引擎130。
59.为了促进认知引擎125的最优使用,精确的车辆定位可能较重要。图6描述使用计算出的签名的机器人的定位,所述计算出的签名对应于机器视觉传感器110等机器视觉系统执行的观测结果。此类机器视觉系统能够捕捉三个维度中的地理空间数据。所述系统隔离通常在网格上限定的三个维度中的体积。限定的网格内的每个体积元素称为体素。体素在长度、宽度和深度上可能不同,甚至可能没有笛卡尔(cartesian)空间中定义的形状。其位置通常被定义为处于体素中心的空间坐标。尽管出于分析和定位的目的,本文所示的某些实施例将由网格限定的体素用作受关注区域,但应预期和理解,其它实施例可将相同的技术便捷地应用于除基于网格的体素之外的各种受关注区域。体素还可以各种形状分组并指派到全局参考系中的原点。体素的分组还可用于在全局框架中定位车辆。体素的分组实例可定形为球形、圆柱形,盒形等,并且还可具有不规则的形状。
60.本文描述的技术可用于通过确定车辆位置和其方向来定位车辆。优选地,可以刚性体在三维空间中的移动的六个自由度来限定定向。也就是说,在一些实施例中,可通过沿着那些自由度的数据属性的知识来标准化一个或多个自由度,由此潜在消除沿着这些自由度提高定位调整的需要。
61.在图6和7的情境中,在道路610上行进的车辆600使用车载传感器观测体素620(步骤s700)。观测到的数据被传送到编码函数800(图8)。编码函数800通过车辆600内的车载计算机实施,其使用例如散列算法计算固定长度的体素签名输出810(步骤s705)。有效用于定位的体素签名输出可(通常临时地)存储在查询表内。每个车辆可接入不同签名与生成这些签名的体素的位置之间的已知映射(定位签名表630,其存储已知体素签名和与它们中的每个体素签名相关联的已知良好位置,所述表也可称为签名参考表)。在每个车辆使用其机器视觉传感器来测量观测到的体素相对于车辆自身的距离和位姿的情况下,通过比较车辆到体素的相对位置(可存储在查询表中)与先前确定的观测到的体素的绝对位置(可存储在参考表中),有可能在绝对意义上定位车辆。换句话说,车辆的车载计算引擎在体素签名表630中搜索针对车辆机器视觉传感器观测到的体素而计算出的签名值(步骤s710)。在步骤s710的一些实施例中,可搜索体素签名表630的一部分或子集,其含有被认为在车辆附近的体素。所述子集可含有在参考表中具有接近车辆最新先前位置估计值的位置的体素。可基于车辆自其上次位置估计以来的相对运动来进一步精确化在其中搜索匹配体素的位置子集,其可基于例如车辆在上次估计时的位置、方向和行进速率以及自上次估计以来流逝的时间和/或基于自上次位置估计以来的惯性测量值来确定。通过限制参考体素签名表的匹配部分,可减少计算需求。
62.对于具有与体素签名表630中的条目匹配的签名的每个观测到的体素,通过将相对于机器视觉系统观测到的体素的距离和位姿偏移到从表630查找到的已知体素位置来确
定所估计车辆位置(步骤s715)。换句话说,可通过将参考表中的匹配体素的相对位置与查询表(观测到的数据)相同体素的位置进行比较以确定所估计车辆位置。如果签名表630内的体素签名查找失败,则不将所述体素用于定位目的(步骤s720),但可出于评估定位效果的目的而跟踪签名匹配成功或失败率,如下文进一步描述。通过组合基于多个匹配的体素签名(例如求均值或在滤除离群值之后求均值)确定的所估计车辆位置,可确定车辆位置的精确确定(步骤s730)。
63.当定位引擎120精确化其位置估计时,可迭代地进行观测到的体素签名与定位表中存储的签名的定位比较。在每次迭代期间,可修改车辆的位置估计值,且计算车辆的本地签名与其缓存的定位签名表中存在的签名之间的匹配率。接着,目标变为优化所述匹配率,所述匹配率将对应于定位引擎在共享坐标系中的最精确位置和方向估计值。除了匹配率之外,可利用体素的相对位置以及它们与体素分组原点的相对位置来精确车辆的位置。
64.在一些实施例中,车辆的位置和定向可以六个维度定义:x、y、z、横滚、俯仰和侧转。可接着使用所有这六个维度来实施签名匹配。然而,此类签名匹配实施例可能是计算密集型的。在计算受限的环境中,使用其它方法考虑一些维度可能是有益的。方法可用来使用例如与道路边缘的横向距离和/或车辆相对于地面的高度和定向等参数而考虑某些维度。
65.编码函数800分离体素内观测到的数据并将其编码为签名。图9示出可通过编码函数800实施的过程的实施例。基于相对于体素中心的点几何结构,函数800指派权重给每个点(步骤s900)。(其它实施例可选择基于例如体素内的数据的颜色空间或与lidar返回值相关联的强度等因素来指派不同的权重。)接着,所述权重用于通过应用散列算法来导出签名。散列函数的配置连同体素的配置可帮助确保编码函数对测量系统中的缺陷(噪声、不同传感器配置、变化的环境条件等)的弹性。即使不同的代理测量体素中的不同数目的点并且距离有所不同,编码函数800的输出通常也应相同以确保在精确定位时提高匹配率。
66.这种和其它签名编码技术可用在各种实施例中。优选地,所述签名编码技术将帮助确保从空间和时间中的两个不同时刻观测到的并且使用不同的测量系统的从相同空间位置导出的签名将通常产生相同的散列。也就是说,通常不需要保证每一个别签名的唯一性。相反,签名仅需要足够独特,以使它们在空间中唯一地组合定位。除了编码函数自身内的一致性之外,体素形状和参数以及体素分组的形状和参数还可因捕捉环境的独特性的目的而随着每体素或分组的大量信息(熵)发生变化,同时保持对感测和环境中噪声源的弹性。这些共同点可接着用作地标以用于例如在共同坐标系中导航或登记代理(定位),或识别与所述代理或利用这些系统的其它代理相关的情境信息,例如交通信号(语义映射)。定位引擎120与定位签名表联合工作的最终目标是确保针对代理群集中的所有代理使用共同的参考框架,以确保其观测结果的一致性。
67.在车辆上具有定位签名表是使用上述技术的自主车辆定位和导航的重要方面,而在使用常规的一队勘测车辆时,在较大可导航区域中创建此类签名表可能成本较高、耗时且资源密集。然而,下述替代技术可利用群集方法来创建和更新体素签名表。
68.图10是创建定位签名表的示例性群集方法的示意框图。本质上,代理群集(例如,车辆1000a、1000b、1000c等在环境中行进,每个车辆都带有如本文所描述的机器视觉系统)横穿空间中的相同区域,从而在其行进时观测其局部环境并记录其自身的空间位置(例如使用合理准确的定位系统,如图3所示)。代理1000各自测量和散列化其附近的体素,例如体
素1010,以生成每个体素的体素签名和体素位置假设。
69.图11示出每个代理1000在其局部环境中的操作,而图12是代理1000内的某些系统的示意框图。代理1000载有机器视觉传感器1200、定位引擎1210、3d语义地图生成运行时1220和部分现有地图1230行进通过环境1100。优选地,使用车载计算机来实施图12的软件实施组件。代理1000上的机器视觉传感器1200观测局部环境1100中的资产,例如停止标志1110和限速标志1120,并且评估车辆相对于那些资产的位置(例如,使用lidar测距)。通过使代理1000的当前位置(由定位引擎1210提供)偏移观测到的资产或体素相对于代理1000的位置(例如由机器视觉传感器1200提供),代理1000可产生关于观测到的体素的绝对地理空间位置的假设。观测到的体素位置的这些测量值由每个车辆存储,其中在车载数据存储装置内有效地创建定位签名表。可接着,例如通过在车辆操作期间可接入的广域网数据连接和/或通过将含有部分地图1230的车载存储物理输送到数据卸载中心而接入的本地数据连接,卸载数据以用于进一步处理,如下文所描述。
70.举例来说,在图10的实例中,代理1000a、1000b和1000c中的每一个可使用其车载传感器观测共同体素1010。关于体素1010的位置的假设是相对于车辆对其当前位置的理解而确定的。然而,每个车辆1000在其位置测量中携带一些误差,这缘于其车载定位系统中的不准确性(例如,所述系统的与imu中的噪声和漂移关联的gnss测量误差)。此误差因素在包含具有通用感测和定位设备(例如,消费级设备而不是更高成本、更高精度的勘测设备)的车辆的群集中可能尤其显著。由此,每个体素的位置假设将反映观测代理在捕捉体素时的车载定位系统瞬时误差。考虑到每个车辆中所经历的误差不同,且在不同的行程中,所得定位签名表将是不同的。
71.这些定位系统中经历的误差可建模为统计过程,从而允许在给定充分观测结果的情况下推导出体素的实际位置的最佳估计值。图13是体素位置(在x轴上示出)的代表图,其中在y轴上示出该位置处观测体素的频率。由于许多车辆观测给定体素,因此可形成位置确定分布。来自多个车辆的有限精确度位置数据1300的统计处理可用于使数据特征化且导出观测到的体素的更精确的位置估计值1310。举例来说,在一些实施例中,可筛选位置数据1300(例如,以排除离群值数据),其中将其余数据点平均化以便导出精确化的位置估计值1310。此方法可有效地实现更高等级的地理参考精度。应预期和理解,还可利用用于从位置假设数据1300导出精确化位置估计值1310的其它机制,且可改为针对相对精确度等其它因素进行优化。在此类情况下,可使用相对拟合和环闭合方法来从交叉轨迹实现数据一致性。
72.与离散空间位置有关的签名还可与观测时间相关联。如果观测到针对给定位置生成的签名已从其原始值改变,则此信息可为语义映射系统提供额外值。此外,位置签名随时间的变化可反映在签名表中以改进定位性能。在时域中操作的统计方法可用于确定在位置的签名代码中观测到的变化何时应被认为是显著的,且因此用于更新语义地图或定位系统的信息内容。
73.假设在足够的车辆到达已捕捉环境之后实现每个车辆的精确定位,则群集可对群集中的每个成员周围的局部环境进行制图。代理机器视觉传感器1200将输入驱动到定位引擎1210以得出每个车辆的精确位置和位姿,且馈送到3d语义地图创建运行时1220。使用由代理传感器捕捉的数据,地图创建运行时1220分析其环境以搜索资产。分析用于资产识别的环境感测数据的实例在例如申请人的共同未决的2016年1月20日提交的第15/002,380号
美国专利申请中进行了描述,且以引入的方式并入本文中。接着将所得向量(指派到精确位置和几何结构)和语义与车辆上存在的3d语义地图的现有局部副本匹配。对现有地图的更新周期性地与共同云后端系统1240同步,所述系统负责数据的聚合和向多个代理广播地图更新。此类更新可优选地通过集成在代理车辆内的蜂窝数据调制解调器(未示出)传输到云后端系统1240,以实现云后端系统1240与系统1200、1210、1220或1230中的一个或多个之间通过互联网的通信。在其它实施例中,可利用替代的向云后端1240递送地图更新的方式,例如当代理在wifi接入点附近时通过局域802.11wifi连接进行传输,和/或在代理返回时将数据上传到数据卸载中心。
74.图14示出后端云系统1240处的数据聚合的实例。两个群集代理1400和1402在不同行程期间访问相同的区域(代理1400在中午12:00,且代理1402在凌晨3:00)。如上文所描述,两个代理1400和1402精确地定位到定位签名表,并且当前将路缘线1410映射到其行进方向的右侧(例如,特征化资产性质并确定资产的地理空间位置)。在这两种情况下,某些停放的汽车1420、1421和1422阻挡了机器视觉传感器路径的部分,由此遮蔽路缘线的部分1430、1431和1432。由此,每个代理存储路缘线的不完全映射(即,来自代理1400的映射1440和来自代理1402的映射1442)。两个代理将其导出的路缘线例如通过车载蜂窝互联网连接中继到共同云后端1240。云后端1240可组合映射1440和1442以产生路缘线1410更完整的服务器侧映射1450(可能包含来自相同或其它代理的先前行程的其它观测结果)。然后可将路缘线的这个更完整服务器侧版本1450广播到所有群集代理,以便每个车辆都能得益于改进的地图。
75.还可利用群集代理来导出地图上各种资产之间的语义关联。这些语义关联对于车辆的决策引擎在环境中的操作是有用的。从资产中提取语义含义可以基于规则或基于行为的方式或组合来完成。在基于规则的提取的情况下,映射引擎使用物理基础设施来利用预编程的一组交通规则和相关联解释。这可帮助预测特定语义关联。在基于行为的提取的情况下,车辆可观测其附近的代理的移动(以及当由驾驶者手动导航而非自主导航时车辆自身的行为)以导出资产的语义关联。
76.举例来说,图15示出存在于仅左转车道中的群集代理1500。此代理1500已感知到提供车道性质的视觉指示的标志1510。代理能够通过基于规则的语义提取对标志进行分类并得出其含义(例如,感知具有某一外观、定位在左手交通车道上、指示仅左转车道的标志)。另外,通过观测前方车道中的其它车辆1520,代理能够在基于行为的语义提取中其它车辆的转向轨迹1530与相同的标志语义相关联,由此增大代理1500在标志1510指定转向车道的的语义含义方面的置信级。
77.图16和17示出如何在服务器侧验证或加强特定资产的语义含义。图16是沿着道路1605行进、经过道路限速标志1610的多个车辆代理1600的示意性图解,所述标志用以将道路速度限制从每小时30英里改变为每小时50英里。尽管代理1600可能能够解释限速标志1610的限速读数(例如,通过基于规则的语义提取),但例如可在云服务器1240上实施的中央服务器软件应用程序可针对随着时间推移的许多不同到达而跟踪特定车道中的各种代理1600的速度(例如通过周期性地直接获得车辆速度的报告,例如通过辅助车辆系统135的报告,或通过跟踪车辆位置的改变速率)以及其它惯性和原始或处理过的传感器数据。图17示出此类示例性车辆速度数据,其中相对于沿着道路1605的线性位置绘制代理速度。通过
使标志1610的位置与代理1600的平均速度的改变相关,可通过基于服务器侧行为的语义提取来加强语义含义。应理解,道路上的车辆可能并不总是遵守速度限制。尽管如此,系统收集的信息仍可用于语义映射的目的。
78.在群集代理上和服务器系统处观测到的模式还可在类似的情境中进行分类和应用。这可通过映射资产位置和特征以及导出资产之间的语义来完成。例如,将左转标志与特定左转车道相关联的模式可应用于类似的场景中,其中类似的标志和车道出现在不同的交叉点处。类似于申请人2016年1月20日提交的共同未决的第15/002,380号美国专利申请的机器学习技术可用于研究映射和语义模式。
79.图18示出可用于基于群集的定位和映射的系统架构的实施例。当群集代理1840行进通过环境时,群集代理1840与云后端系统1800交互。由代理从体素和其位置估计导出的新签名1850被传达到云服务器1800。服务器1800实施应用逻辑1815以将这些测量结果聚合为不同的观测结果,并得出每个签名在环境内的位置的最佳估计值。签名存储在主机定位签名表(lst)1805中。一旦体素以足够的精确度定位,就可通过lst更新1852将其从云服务器1800传达到群集代理1840。代理1840可接着利用所述体素位置信息来更新其本地缓存的lst 1842并实时精确化其位置。此过程确保群集代理共享相同的坐标系。
80.同时,精确定位的代理1840映射其周围环境,针对其本地缓存的3d语义地图(3dsm)1844检测资产遗漏以及错记,并将这些遗漏和错记1860上传到云数据中心1800。云数据中心服务器和相关联的应用逻辑1815远程接收这些更新并聚合来自不同车辆的3dsm数据。由于每个资产检测算法都存在不同的置信级,因此在个别资产识别基础上,会犯某些错误。然而,随着访问同一区域的行程次数增加,从聚合的报告信息中导出的观测到的假设的置信度也会增加。语义地图数据的顺序分析的实例描述于例如申请人2016年1月20日提交且以引入的方式并入本文中的共同未决的第15/002,380号美国专利申请。最终,服务器1800维持主3d语义地图1810的最新版本,且周期性地将已验证改变1862传达给其余的群集代理1840。
81.图19示出用于对地理区域1910进行制图的基于群集的方法,其与图2的常规勘测车队方法形成对比。具体地说,大群集1900被授权创建3d语义地图。在群集代理1900定期且重复地访问区域的条件下,地图的刷新率也高很多。一般来说,机器人群集通常频繁访问会随着时间推移发生许多改变的空间位置。另外,群集代理1900所采用的路线不需要预先计划,因为车辆的绝对数目确保每个区域被充分访问。群集代理1900携带各种机器视觉传感器(不同等级)和各种gnss和imu模型(也具有不同等级)。这些代理的检测过程则也会不同。在一些实施例中,可将任务分布到不同的代理以在创建、处理和更新地图中起到各种作用。可基于使代理最适合所述作用的因素来向代理提供个别任务,例如硬件配置(例如,处理器、存储器、传感器)、地理位置或历史信任度和质量测量指标(例如,特定代理配置可能擅于收集非常适合识别某些资产或语义的勘测数据,例如车道标记,而另一代理配置更适合标志识别)。跟踪代理配置随着时间推移的性能指标允许最适合某一任务的代理的知识在需求和配置都改变时连续更新。
82.可通过客户端-服务器模型跟踪已知代理,其中代理向具有云基础设施1920的作业服务器通告,所述云基础设施则基于例如任务优先级、硬件要求、代理位置和类似代理的已知表现历史等因素将作业队列中的任务提供给代理。由于群集代理不需要传输原始传感
器数据,而是利用云后端传输高度压缩的位置签名以及3d向量和语义,因此移动大量传感器数据的问题消失。本质上,在代理的车载计算资源上进行最大可能程度的计算,其中后端服务器1920负责聚合和验证数据且将更新发送到代理。这实现用于最新3d语义地图创建的自动化和可扩展的方法。
83.在访问新区域时,群集无法立即开始映射区域的资产和语义。需要构建这些区域的定位签名表,以便群集代理精确定位自身。只有实现这一点,代理才能开始可靠地映射这些区域。
84.虽然用于定位和映射的群集方法可针对大量车辆有效地实施,但即使是单个车辆在不同时间穿越某一区域的情况下,也可以成功地使用相同的方法。即使区域自身没有改变,车辆设备固有的变化也通常会导致每次穿越一个区域时数据略有不同。通过组合来自多个不同行程的观测结果,即使是来自单个代理,也可随着时间推移改进定位表和语义映射。
85.图20示出代理定位与代理活动之间的示例性关系,其中曲线2000示出示例性代理随着时间推移的定位精确度水平。在时间t2010之前,代理的定位精确度水平保持低于阈值水平t2020;因此,代理的车载活动专注于定位,因为它力图为此区域构建更完整和准确的定位表,如上文所描述。一旦代理的定位精确度水平增大超出阈值t2020,代理就添加映射活动,优选地同时继续构建定位签名表。可例如通过代理跟踪随着时间推移的成功匹配签名的数目或比例(即,代理观测到的签名与缓存的lst 1142中存在的签名之间的匹配数目)来确定定位精确度。在车辆上运行的定位引擎可基于在空时间隔上与体素或体素分组匹配的频率来实施不同的模态。在示例性实施例中,当先前未访问过区域时可激活一个模式,当区域具有不足以一致地定位的部分签名表时可使用另一模式,并且当足够的签名和其分组存在于表中且车辆能够一致地校正其轨迹时可应用第三模式。模态之间的转变可取决于车辆附近的观测到的体素与本地签名参考表中存在的体素之间的签名匹配的一致性。这些不同的模态可能影响在云应用服务器1800处接收来自代理的信息的方式。因此,基于(除了其它情况)其中在车辆端生成对主机定位签名表1805或主3d语义地图1810的贡献的定位模式,可赋予那些贡献更大或更小的信任级别。
86.图21示出地图创建和审核的典型系统操作,以及其与此处呈现的框架中的车辆认知和决策引擎的介接。使用其各种传感器和定位签名表,车辆获得精确位置(步骤s2100)。基于此位置和车辆的期望目的地,从本地缓存的地图加载相关3d语义地图数据(步骤s2105)。当车辆前进通过环境时,车辆使用其传感器观测其周围环境(步骤s2110)。出现三种情况:a.当在环境中检测到存在于地图中的资产时,将它们转发到认知引擎125,所述认知引擎使用它们从车辆周围提取情境,并将所述情境传输到决策引擎130(步骤s2120)。
87.b.当在环境中未检测到地图中存在的资产时,向地图更新器通知这些遗漏(步骤s2130)。地图更新器是本地应用模块,其负责与云服务器传达地图差异。
88.c.当在环境中检测到地图中不存在的资产时,将它们转发到车辆的本地认知引擎125并添加到地图更新器的错记列表中(步骤s2140)。
89.在本文公开的一些实施例中呈现的机器视觉系统还可与自主系统和驾驶辅助系统等其它车载系统(即,辅助系统135)通信。这些系统之间的信息交换可增强定位签名生成
以及3d语义映射和审核,从而潜在地增大资产检测准确性和/或从机器视觉数据中去除伪影。此类整合可涉及车辆的数据总线(例如,汽车中的can总线,或列车中的mvb)。车辆的转向角、制动/节流、速度等信息可用于考虑惯性系统和机器视觉系统内的传感器数据的噪声源。在本说明书的示例性实施方案中,定位和映射引擎可利用车辆上的驾驶辅助系统的输出。此类系统能够检测车辆附近的动态对象(例如,其它车辆或骑车者)。由于这些对象可在机器视觉数据中产生影子,从而阻止车辆观测影子之外的事物,因此可移除来自这些区段的原始传感器数据。
90.尽管出于清晰和理解的目的,已在本文中详细描述了本发明的某些实施例,但前文描述和附图仅仅解释和说明了本发明,且本发明不限于此。应了解,借助本公开,所属领域的技术人员将能够在不脱离本发明或所附权利要求的范围的情况下对本文公开的内容进行修改和变化。
技术特征:
1.一种方法,包括:接收与对应于网格内的一个或多个体积元素的一个或多个体素中的每一个相关联的相应体素数据,所述网格表示由车辆的传感器检测到的环境的至少一部分;通过将所述相应体素数据应用于计算机实现的编码函数来计算包括针对所述一个或多个体素中的每一个的相应体素签名的一个或多个体素签名;在体素签名定位表内搜索计算出的一个或多个体素签名的至少一部分,所述体素签名定位表包括具有相关联已知位置的多个体素签名条目;以及响应于所述计算出的一个或多个体素签名中的至少一个与所述体素签名定位表中的体素签名条目中的至少一个相匹配,通过将由相应匹配的体素签名条目指示的相关联的已知位置偏移一个量来确定估计车辆位置;其中所述体素签名定位表是通过聚合来自环境穿越的定位表并基于共享所聚合的定位表中的共同体素签名的不同体素位置假设组合地精确化体素位置假设来确定的。2.根据权利要求1所述的方法,其中计算所述一个或多个体素中的每个体素的相应体素签名包括:基于所述体素内的数据点的几何结构和所述数据点的信号特性,给所述相应体素内的所述数据点指派权重;在散列算法中使用所述权重以产生固定长度的体素签名输出。3.根据权利要求1所述的方法,其中针对所述体素签名定位表中匹配的多个体素签名中的每个体素签名执行所述估计车辆位置的确定,且所述方法进一步包括基于相对于相应体素确定的所述估计车辆位置中的两个或更多个而组合地计算精确化车辆位置估计值。4.根据权利要求3所述的方法,其中计算所述精确化车辆位置估计值的步骤包括:在六个自由度中为所述车辆调整车辆位置和方向估计值。5.根据权利要求3所述的方法,进一步包括基于多个计算的体素签名与存储在所述体素签名定位表中的签名匹配的频率来确定定位精确度水平。6.根据权利要求3所述的方法,其中计算所述精确化车辆位置估计值进一步包括在对所述车辆的所述估计车辆位置中的两个或更多个求平均值之前滤除离群值。7.根据权利要求1所述的方法,搜索所述体素签名定位表包括在基于所述车辆的前一位置估计确定的所述体素签名定位表的子集内查找所述计算出的一个或多个体素签名的至少一部分。8.根据权利要求7所述的方法,其中所述体素签名定位表的所述子集进一步基于所述车辆自所述车辆的所述前一位置估计以来的相对运动而确定。9.根据权利要求1所述的方法,其中聚合所述定位表包括由所述多个车辆的每个车辆通过广域数据网络将包括体素签名和相关联位置假设的定位表内容从所述车辆传输到中央数据处理计算机。10.根据权利要求1所述的方法,其中基于不同的体素位置假设组合地精确化体素位置假设包括过滤聚合的定位表内共享所述共同体素签名的不同的体素位置假设。11.根据权利要求10所述的方法,其中基于所述不同的体素位置假设组合地精确化所述体素位置假设包括对共享所述共同体素签名的不同体素位置假设求平均值。12.一种系统,包括:
一个或多个处理器,被配置用于:接收与对应于网格内的一个或多个体积元素的一个或多个体素中的每一个相关联的相应体素数据,所述网格表示由车辆的传感器检测到的环境的至少一部分;通过将所述相应体素数据应用于计算机实现的编码函数来计算包括针对所述一个或多个体素中的每一个的相应体素签名的一个或多个体素签名;在体素签名定位表内搜索计算出的一个或多个体素签名的至少一部分,所述体素签名定位表包括具有相关联已知位置的多个体素签名条目;以及响应于所述计算出的一个或多个体素签名中的至少一个与所述体素签名定位表中的体素签名条目中的至少一个相匹配,通过将由所述相应匹配的体素签名条目指示的相关联的已知位置偏移一个量来确定估计车辆位置;其中所述体素签名定位表是通过聚合来自环境穿越的定位表并基于共享所聚合的定位表中的共同体素签名的不同体素位置假设组合地精确化体素位置假设来确定的。13.一种计算机程序产品,所述计算机程序产品被包含在计算机可读存储介质中并包括计算机指令用于:接收与对应于网格内的一个或多个体积元素的一个或多个体素中的每一个相关联的相应体素数据,所述网格表示由车辆的传感器检测到的环境的至少一部分;通过将所述相应体素数据应用于计算机实现的编码函数来计算包括针对所述一个或多个体素中的每一个的相应体素签名的一个或多个体素签名;在体素签名定位表内搜索计算出的一个或多个体素签名的至少一部分,所述体素签名定位表包括具有相关联已知位置的多个体素签名条目;以及响应于所述计算出的一个或多个体素签名中的至少一个与所述体素签名定位表中的体素签名条目中的至少一个相匹配,通过将由所述相应匹配的体素签名条目指示的相关联的已知位置偏移一个量来确定估计车辆位置;其中所述体素签名定位表是通过聚合来自环境穿越的定位表并基于共享所聚合的定位表中的共同体素签名的不同体素位置假设组合地精确化体素位置假设来确定的。
技术总结
本发明涉及用于提供车辆认知的系统和方法。定位涉及通过散列化从机器视觉系统获得的加权体素数据进行的体素签名的车载计算,以及计算出的签名与含有先前已知体素签名和相关联地理空间位置的签名定位表内的缓存数据的比较。签名定位表通过代理群集在穿越环境时计算签名并将计算出的签名和相关联地理空间位置报告给中央服务器来形成。一旦车辆被定位,其即纳入语义映射。车辆群集特征化在穿越局部环境时遇到的资产。资产特征化结果可与本地缓存语义地图内的已知资产相比较。可向中央服务器报告观测到的资产和资产特征化结果与本地地图缓存之间的遗漏和错记差异。地图缓存之间的遗漏和错记差异。地图缓存之间的遗漏和错记差异。
技术研发人员:F
受保护的技术使用者:康多尔收购第二分公司
技术研发日:2017.03.15
技术公布日:2023/8/31
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/