首页 / 专利库 / 电池与电池 / 化成 / 用于高清地图创建的视觉测程法和成对对准

用于高清地图创建的视觉测程法和成对对准

阅读:440发布:2020-05-08

专利汇可以提供用于高清地图创建的视觉测程法和成对对准专利检索,专利查询,专利分析的服务。并且当自主车辆移动通过局部区域时,可以执行成对对准,以计算不同时间点之间车辆姿势的变化。该车辆包括成像系统,该成像系统被配置成捕获描述周围区域的一部分的图像 帧 。从所捕获的图像帧中识别特征,并且针对每个识别出的特征确定3-D 位置 。对与不同时间点对应的不同图像帧的特征进行分析,以确定在图像帧之间的时间段期间车辆姿势的变换。使用所确定的车辆姿势来生成局部区域的HD地图。,下面是用于高清地图创建的视觉测程法和成对对准专利的具体信息内容。

1.一种方法,包括:
从安装在车辆上的成像系统接收多个图像,每个图像帧与在特定时间点处在所述车辆周围的局部区域相关联,所述每个图像帧包括使用所述成像系统的第一摄像装置捕获的第一图像和使用所述成像系统的第二摄像装置捕获的第二图像;
针对所述多个图像帧中的每个图像帧,通过以下操作确定与所述局部区域内的特征对应的特征集合的位置
识别在所述图像帧的所述第一图像上的第一特征点集合以及在所述图像帧的所述第二图像上的第二特征点集合;
确定所述图像帧的所述特征集合,所述特征集合均对应于所述第一特征点集合中的与所述第二特征点集合中的特征点匹配的特征点;以及
通过对所述第一特征点集合和所述第二特征点集合的对应特征点进行三测量来确定所述特征集合中的每个特征的位置;
通过以下操作确定所述车辆在对应于所述多个图像帧的第一图像帧的第一时间点处的第一位置与所述车辆在对应于所述多个图像帧的第二图像帧的第二时间点处的第二位置之间的变换:
从与所述第一图像帧相关联的所述特征集合中选择第一特征子集;
基于以下从所述第二图像帧中识别与所述第一特征子集对应的第二特征子集:所述第一特征子集与所述第二特征子集之间的几何相似度平;
使用针对所述第一图像帧和所述第二图像帧中的每一个的所述第一特征子集和所述第二特征子集,来确定在所确定的所述第一特征子集中的特征的位置和所述第二特征子集中的特征的位置之间的变换;以及
基于所述变换生成所述局部区域的高清地图,所述高清地图由一个或更多个自主车辆在行驶时使用。
2.根据权利要求1所述的方法,还包括:针对每个图像帧:
针对所述图像帧的所述第一特征点集合和所述第二特征点集合中的所识别出的每个特征点分配描述符;
针对所述图像帧的所述第一图像上的所述第一特征点集合的第一特征点:
基于所述第一特征点的位置与所述第二特征点集合中的一个或更多个特征点中的每一个的位置之间的距离来识别所述第二特征点集合中的所述一个或更多个特征点;
将所分配的所述第一特征点的描述符与所述一个或更多个特征点中的每一个的描述符进行比较,以确定所述第一特征点与所述一个或更多个特征点中的每一个之间的相似度;
响应于对所述第一特征点与所述一个或更多个特征点的第二特征点之间的相似度满足阈值的确定,将所述第一特征点和所述第二特征点匹配成与所述特征集合中的特征对应。
3.根据权利要求2所述的方法,还包括:对所述图像帧的所述第一图像和所述第二图像进行修正,使得所述第一图像和所述第二图像共面。
4.根据权利要求2所述的方法,其中,响应于所述一个或更多个特征点中的至少两个特征点与所述第一特征点具有满足阈值的相似度,所述第一特征点和所述第二特征点不被匹配成与特征点对应。
5.根据权利要求2所述的方法,其中,响应于对所述第一图像上的所述第一特征点的位置和所述第二图像上的所述第二特征点的位置不对应于所述第一图像和所述第二图像的同一行的确定,所述第一特征点和所述第二特征点不被匹配成与特征对应。
6.根据权利要求1所述的方法,还包括:响应于对所确定的特征的位置对应于距所述成像系统的距离超过阈值距离的确定,从所述特征集合中移除该特征。
7.根据权利要求1所述的方法,其中,确定所述第一位置与所述第二位置之间的所述变换还包括:
针对多次迭代中的每一次:
从与所述第一图像帧相关联的所述特征集合中选择不同的第一特征子集;
从所述第二图像帧中识别与所选择的第一特征子集对应的所述第二特征子集;
确定在所确定的所述第一特征子集的特征的位置和所述第二特征子集的特征的位置之间的所述变换;
针对所述第一图像帧的每个特征,将所确定的变换应用于所述特征并且确定所述第二图像帧的最近特征。
8.根据权利要求7所述的方法,还包括:
针对所述多次迭代中的每一次,基于具有在阈值距离内的所述第二图像帧的最近特征的所述第一图像帧的经变换的特征的数目来确定所述变换的计数;以及
识别与所述多次迭代的最高计数相关联的变换。
9.根据权利要求1所述的方法,其中,将所述第一特征子集中的每个特征选择成距所述第一特征子集中的其余特征至少阈值距离。
10.根据权利要求1所述的方法,其中,使用PnP(n点透视)算法来确定所述变换。
11.一种计算机程序产品,其用于基于行驶通过局部区域的车辆的传感器读数来生成所述局部区域的高清地图,所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质包含计算机程序代码,所述计算机程序代码在被执行时使一个或更多个处理器:
从安装在车辆上的成像系统接收多个图像帧,每个图像帧与在特定时间点处在所述车辆周围的局部区域相关联,所述每个图像帧包括使用所述成像系统的第一摄像装置捕获的第一图像和使用所述成像系统的第二摄像装置捕获的第二图像;
针对所述多个图像帧中的每个图像帧,通过以下操作确定与所述局部区域内的特征对应的特征集合的位置:
识别在所述图像帧的所述第一图像上的第一特征点集合以及在所述图像帧的所述第二图像上的第二特征点集合;
确定所述图像帧的所述特征集合,所述特征集合均对应于所述第一特征点集合中的与所述第二特征点集合中的特征点匹配的特征点;以及
通过对所述第一特征点集合和所述第二特征点集合的对应特征点进行三角测量来确定所述特征集合中的每个特征的位置;
通过以下操作确定所述车辆在对应于所述多个图像帧的第一图像帧的第一时间点处的第一位置与所述车辆在对应于所述多个图像帧的第二图像帧的第二时间点处的第二位置之间的变换:
从与所述第一图像帧相关联的所述特征集合中选择第一特征子集;
基于以下从所述第二图像帧中识别与所述第一特征子集对应的第二特征子集:所述第一特征子集与所述第二特征子集的之间的几何相似度水平;
使用针对所述第一图像帧和所述第二图像帧中的每一个的所述第一特征子集和所述第二特征子集,来确定在所确定的所述第一特征子集中的特征的位置和所述第二特征子集中的特征的位置之间的变换;以及
基于所述变换生成所述局部区域的高清地图,所述高清地图由一个或更多个自主车辆在驾驶时使用。
12.根据权利要求11所述的计算机程序产品,其中,所述计算机可读存储介质还包含计算机程序代码,所述计算机程序代码在被执行时使一个或更多个处理器:针对每个图像帧:
针对所述图像帧的所述第一特征点集合和所述第二特征点集合中的所识别出的每个特征点分配描述符;
针对所述图像帧的所述第一图像上的所述第一特征点集合的第一特征点:
基于所述第一特征点的位置与所述第二特征点集合中的一个或更多个特征点中的每一个的位置之间的距离来识别所述第二特征点集合的所述一个或更多个特征点;
将所分配的所述第一特征点的描述符与所述一个或更多个特征点中的每一个的描述符进行比较,以确定所述第一特征点与所述一个或更多个特征点中的每一个之间的相似度;
响应于对所述第一特征点与所述一个或更多个特征点的第二特征点之间的相似度满足阈值的确定,将所述第一特征点和所述第二特征点匹配成以与所述特征集合中的特征对应。
13.根据权利要求12所述的计算机程序产品,其中,所述计算机可读存储介质还包含计算机程序代码,所述计算机程序代码在被执行时使一个或更多个处理器:对所述图像帧的所述第一图像和所述第二图像进行修正,使得所述第一图像和所述第二图像共面。
14.根据权利要求12所述的计算机程序产品,其中,响应于所述一个或更多个特征点中的至少两个特征点与所述第一特征点具有满足阈值的相似度,所述第一特征点和所述第二特征点不被匹配成与特征点对应。
15.根据权利要求12所述的计算机程序产品,其中,响应于对所述第一图像上的所述第一特征点位置和所述第二图像上的所述第二特征点的位置不对应于所述第一图像和所述第二图像的同一行的确定,所述第一特征点和所述第二特征点不被匹配成与特征对应。
16.根据权利要求11所述的计算机程序产品,其中,所述计算机可读存储介质还包含计算机程序代码,所述计算机程序代码在被执行时使一个或更多个处理器:响应于对所确定的特征的位置对应于距所述成像系统的距离超过阈值距离的确定,从所述特征集合中移除该特征。
17.根据权利要求11所述的计算机程序产品,其中,所述计算机可读存储介质还包含计算机程序代码,所述计算机程序代码在被执行时使一个或更多个处理器:通过以下操作确定所述第一位置与所述第二位置之间的所述变换:
针对多次迭代中的每一次:
从与所述第一图像帧相关联的所述特征集合中选择不同的第一特征子集;
从所述第二图像帧中识别与所选择的第一特征子集对应的所述第二特征子集;
确定在所确定的所述第一特征子集中的特征的位置和所述第二特征子集中的特征的位置之间的所述变换;
针对所述第一图像帧的每个特征,将所确定的变换应用于所述特征并且确定所述第二图像帧的最近特征。
18.根据权利要求17所述的计算机程序产品,其中,所述计算机可读存储介质还包含计算机程序代码,所述计算机程序代码在被执时使一个或更多个处理器:
针对所述多次迭代中的每一次,基于具有在阈值距离内的所述第二图像帧的最近特征的所述第一图像帧的经变换的特征的数目来确定所述变换的计数;以及
识别与所述多次迭代的最高计数相关联的变换。
19.根据权利要求11所述的计算机程序产品,所述第一特征子集中的每个特征被选择成距所述第一特征子集中的其余特征至少阈值距离。
20.根据权利要求11所述的计算机程序产品,其中,使用PnP(n点透视)算法来确定所述变换。
21.一种方法,包括:
从安装在车辆上的包括一个或更多个摄像装置的成像系统接收多个图像帧,每个图像帧与在特定时间点处在所述车辆周围的局部区域相关联,所述每个图像帧包括使用所述成像系统的所述一个或更多个摄像装置中的第一摄像装置捕获的至少第一图像;
针对所述多个图像帧中的每个图像帧:
从所述图像帧的所述第一图像中提取第一区域,所述第一区域对应于所述第一图像的图示所述车辆前方的地面区段的区域;
确定在所述第一区域内的与所述地面区段上的特征对应的特征集合的位置;
从所述多个图像帧中识别与第一时间点对应的第一图像帧以及与第二时间点对应的第二图像帧;
识别所述第一图像帧的所述特征集合中的一个或更多个特征与所述第二图像帧的所述特征集合中的一个或更多个特征之间的一个或更多个对应关系;
基于第一特征子集的位置和第二特征子集的位置之间的变换来确定所述车辆在所述第一时间点处的第一位置与所述车辆在所述第二时间点处的第二位置之间的变换;以及基于所确定的变换来确定所述车辆的位置和方位。
22.根据权利要求21所述的方法,还包括对从每个图像帧中提取的所述第一区域进行正射修正。
23.根据权利要求21所述的方法,其中,基于所述第一摄像装置相对于所述车辆的位置、预定地平面的位置以及所述特征在所述第一图像内的位置来确定所述特征集合中的每个特征的位置。
24.根据权利要求21所述的方法,其中,针对每个图像帧确定在所述第一区域内的与所述地面区段上的特征对应的所述特征集合的位置包括:
识别在所述图像帧的所述第一图像上的所述第一区域内的第一特征点集合;
识别在使用所述一个或更多个摄像装置中的第二摄像装置捕获的所述图像帧的第二图像上的所述第一区域内的第二特征点集合,所述第一图像和所述第二图像形成立体对;
基于一个或更多个极线约束来确定所述图像帧的所述特征集合,所述特征集合均对应于所述第一特征点集合中的与所述第二特征点集合中的特征点匹配的特征点;以及基于所述第一特征点集合和所述第二特征点集合的对应特征点确定所述特征集合中的每个特征的位置。
25.根据权利要求24所述的方法,其中,将所述第一特征点集合中的特征点和所述第二特征点集合中的特征点进行匹配包括:
针对所述图像帧的所述第一特征点集合和所述第二特征点集合中的所识别出的每个特征点分配描述符;
针对所述第一特征点集合的第一特征点:
基于所述第一特征点的位置与所述第二特征点集合中的一个或更多个特征点中的每一个的位置之间的距离来识别所述第二特征点集合中的所述一个或更多个特征点;
将所分配的所述第一特征点的描述符与所述一个或更多个特征点中的每一个的描述符进行比较,以确定所述第一特征点与所述一个或更多个特征点中的每一个之间的相似度;以及
响应于对所述第一特征点与所述一个或更多个特征点的第二特征点之间的相似度满足阈值的确定,将所述第一特征点和所述第二特征点匹配成与立体特征的集合的特征对应。
26.根据权利要求24所述的方法,其中,识别所述第一图像帧的一个或更多个特征和所述第二图像帧的一个或更多个特征之间的一个或更多个对应关系至少部分地基于所述第一图像帧的所述一个或更多个特征中的每一个和所述第二图像帧的所述一个或更多个特征中的每一个的对应特征点。
27.根据权利要求21所述的方法,其中,确定所述第一位置和所述第二位置之间的所述变换包括确定使所述第一图像帧的所述特征集合和所述第二图像帧的所述特征集合之间的相关性最大化的变换。
28.根据权利要求21所述的方法,其中,确定所述第一位置和所述第二位置之间的所述变换还包括:
针对多次迭代中的每一次:
从与所述第一图像帧相关联的所述特征集合中选择不同的第一特征子集;
从所述第二图像帧中识别与所选择的第一特征子集对应的第二特征子集;
确定在所确定的所述第一特征子集的特征的位置和所述第二特征子集的特征的位置之间的所述变换;以及
针对所述第一图像帧的每个特征,将所确定的变换应用于所述特征并且确定所述第二图像帧的最近特征。
29.根据权利要求28所述的方法,还包括:
针对所述多次迭代中的每一次,基于具有在阈值距离内的所述第二图像帧的最近特征的所述第一图像帧的经变换的特征的数目来确定所述变换的计数;以及
识别与所述多次迭代的最高计数相关联的变换。
30.根据权利要求29所述的方法,其中,确定所述车辆在所述第一时间点的所述第一位置与所述车辆在所述第二时间点的所述第二位置之间的所述变换还包括:
将所述变换应用于所述第一图像帧的所述第一特征集合和所述第二特征集合;
针对每个经变换的特征确定所述经变换的特征在所述第二图像帧的第一图像上的投影位置;
基于每个经变换的特征的所述投影位置与所述第二图像帧的所述第一特征集合和所述第二特征集合的对应特征的位置之间的距离的聚合来确定再投影误差;以及对所述变换进行优化以减少所确定的再投影误差。
31.根据权利要求21所述的方法,其中,将所述第一特征子集中的每个特征选择成距所述第一特征子集中的其余特征至少阈值距离。
32.根据权利要求21所述的方法,还包括:针对所述多个图像帧中的每一个:
从所述图像帧中的所述第一图像和第二图像中的每一个中提取与所述第一图像或所述第二图像的图示所述局部区域的远离所述车辆至少阈值距离的部分的区域对应的第二区域;以及
确定与所述第二区域内的特征对应的第二特征集合的位置。
33.一种计算机程序产品,其用于基于行驶通过局部区域的车辆的传感器读数生成所述局部区域的高清地图,所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质包含计算机程序代码,所述计算机程序代码在被执行时使一个或更多处理器:
从安装在车辆上的包括一个或更多个摄像装置的成像系统接收多个图像帧,每个图像帧与在特定时间点处在所述车辆周围的局部区域相关联,所述每个图像帧包括使用所述成像系统的所述一个或更多个摄像装置中的第一摄像装置捕获的至少第一图像;
针对所述多个图像帧中的每个图像帧:
从所述图像帧的所述第一图像中提取第一区域,所述第一区域对应于所述第一图像的图示所述车辆前方的地面区段的区域;
确定在所述第一区域内的与所述地面区段上的特征对应的特征集合的位置;
从所述多个图像帧中识别与第一时间点对应的第一图像帧以及与第二时间点对应的第二图像帧;
识别所述第一图像帧的所述特征集合中的一个或更多个特征与所述第二图像帧的所述特征集合中的一个或更多个特征之间的一个或更多个对应关系;
基于所述第一特征子集的位置和所述第二特征子集的位置之间的变换来确定所述车辆在所述第一时间点处的第一位置与所述车辆在所述第二时间点处的第二位置之间的变换;以及
基于所确定的变换来确定所述车辆的位置和方位。
34.根据权利要求33所述的计算机程序产品,其中,所述计算机可读存储介质还包含计算机程序代码,所述计算机程序代码在被执行时使一个或更多个处理器:对从每个图像帧中提取的所述第一区域进行正射修正。
35.根据权利要求33所述的计算机程序产品,其中,基于所述第一摄像装置相对于所述车辆的位置、预定地平面的位置以及所述特征在所述第一图像内的位置来确定所述特征集合中的每个特征的位置。
36.根据权利要求33所述的计算机程序产品,其中,所述计算机可读存储介质还包含计算机程序代码,所述计算机程序代码在被执行时使一个或多个处理器通过以下操作确定在所述第一区域内与所述地面区段上的特征对应的立体特征集合的位置:
识别在所述图像帧的所述第一图像上的所述第一区域内的第一特征点集合;
识别在使用所述一个或更多个摄像装置中的第二摄像装置捕获的所述图像帧的第二图像上的所述第一区域内的第二特征点集合,所述第一图像和所述第二图像形成立体对;
基于一个或更多个极线约束来确定所述图像帧的特征集合,所述特征集合均对应于所述第一特征点集合中的与所述第二特征点集合中的特征点匹配的特征点;以及基于所述第一特征点集合和所述第二特征点集合的对应特征点确定所述特征集合中的每个特征的位置。
37.根据权利要求33所述的计算机程序产品,其中,所述计算机可读存储介质还包含计算机程序代码,所述计算机程序代码在被执行时使一个或更多个处理器:将所述第一特征点集合中的特征点和所述第二特征点集合中的特征点进行匹配包括:针对每个图像帧进行以下操作:
针对所述图像帧的所述第一特征点集合和所述第二特征点集合中的所识别出的每个特征点分配描述符;
针对所述第一特征点集合的第一特征点:
基于所述第一特征点的位置与所述第二特征点集合中的一个或更多个特征点中的每一个的位置之间的距离来识别所述第二特征点集合中的所述一个或更多个特征点;
将所分配的所述第一特征点的描述符与所述一个或更多个特征点中的每一个的描述符进行比较,以确定所述第一特征点与所述一个或更多个特征点中的每一个之间的相似度;以及
响应于对所述第一特征点与所述一个或更多个特征点的第二特征点之间的相似度满足阈值的确定,将所述第一特征点和所述第二特征点匹配成与所述立体特征集合的特征对应。
38.根据权利要求33所述的计算机程序产品,其中,识别所述第一图像帧的一个或更多个特征和所述第二图像帧的一个或更多个特征之间的一个或更多个对应关系至少部分地基于所述第一图像帧的所述一个或更多个特征和所述第二图像帧的所述一个或更多个特征中的每一个的对应特征点。
39.根据权利要求33所述的计算机程序产品,其中,确定所述第一位置和所述第二位置之间的所述变换包括确定使所述第一图像帧的所述特征集合和所述第二图像帧的所述特征集合之间的相关性最大化的变换。
40.根据权利要求33所述的计算机程序产品,其中,所述第一特征子集中的每个特征被选择成距所述第一特征子集中的其余特征至少阈值距离。

说明书全文

用于高清地图创建的视觉测程法和成对对准

[0001] 相关申请的交叉引用
[0002] 本申请要求于2016年12月30日提交的美国临时专利申请第62/441,080号的权益,其全部内容通过引用并入本文。

技术领域

[0003] 本公开内容总体上涉及用于自驾驶自主驾驶车辆的地图,并且更具体地涉及向自驾驶车辆提供具有最新和改善的精确度的高清地图,利用该高清地图,自驾驶车辆可以在有限的人类交互或监控的情况下或者在没有任何人工输入的情况下安全地导航到他们的目的地。

背景技术

[0004] 自主车辆,也称为自动驾驶汽车、无人驾驶汽车、自动或机器人汽车,在无需人类驾驶员对车辆进行控制和导航的情况下从源位置驾驶到目的地位置。由于若干原因,驾驶的自动化很困难。例如,自主车辆使用传感器即时做出驾驶决策,但车辆传感器无法始终观察所有事物。车辆传感器可能被拐、连绵起伏的山丘和其他车辆遮挡。车辆传感器可能无法及早观察某些事情以做出决定。此外,道路上可能缺少车道和标志,或者标志被撞倒或被丛林隐藏,并且因此传感器无法检测到。此外,可能不容易看到关于通行权的道路标志以用于确定哪里可能会驶来车辆,或者在紧急情况下或者在存在必须移走的停滞的障碍物时转向或移出车道。
[0005] 自主车辆可以使用地图数据找出上述信息中的一些,而不是依赖于传感器数据。然而,常规地图具有若干缺点,使得常规地图难以用于自主车辆。例如,地图不提供安全导航所需的准确度(例如,10cm或更小)。GPS系统提供约3米至5米的准确度,但是具有大的误差状况,导致准确度超过100m。这使得准确确定车辆的位置变得具有挑战性。
[0006] 此外,常规地图由勘测队创建,勘测队使用驾驶员以及特别装备的具有高分辨率传感器的汽车,汽车在地理区域周围行驶并进行测量。取回测量结果,一组地图编辑器根据测量值汇总地图。该处理昂贵且耗时(例如,可能花费几个月来完成地图)。因此,使用这种技术汇总的地图不具有新数据。例如,道路以每年约5%至10%的频率更新/修改。但勘测车价格昂贵且数目有限,因此无法捕获大部分的更新。例如,勘测车队可能包括一千辆汽车。即使对于美国的一个州来说,一千辆汽车也无法定期使地图保持最新以允许安全的自动驾驶。因此,维护地图的常规技术无法提供对于自主车辆的安全导航而言足够准确并且最新的正确数据。
发明内容
[0007] HD地图可以用于辅助对自主车辆的引导。在一些情况下,基于经由行驶通过局部区域的大量的车辆上的传感器系统收集的传感器读数来生成局部区域的HD地图。例如,可以将由不同车辆的传感器检测到的局部区域的特征进行关联,以生成特征的HD模型。然而,为了能够生成特征的准确模型,有必要知道每个车辆在其行驶通过该局部区域时的位置,使得由车辆生成的传感器读数可以与其他车辆生成的传感器读数进行准确地关联。
[0008] 在一些实施方式中,可以使用成对对准算法使用由车辆的成像系统在不同时间点捕获的局部区域的图像来确定车辆在不同时间点之间的时间段内的位置的变化,从而允许随着时间的推移来跟踪车辆的位置。成对对准可以提供优于用于确定车辆的相对运动的其他方法的优点。例如,与使用GPS(全球定位系统)和/或IMU(惯性测量单元)相比,可以使用成对对准来更精确地确定车辆的位置和相对运动。另外,使用LIDAR(光检测和测距传感器)来确定车辆的相对运动,在某些条件下(例如,在隧道内),LIDAR扫描可能不包含用于执行对准的足够特征。另一方面,基于摄像装置的成对对准通常能够捕获可用于对车辆进行计算的更大量的特征,从而允许在更多数量的不同条件下执行车辆的位置和运动跟踪。在一些实施方式中,可以使用基于摄像装置的成对对准来补充其他位置或运动跟踪技术(例如,GPS、IMU、LIDAR等)。
[0009] 在一些实施方式中,提供了用于基于行驶通过局部区域的车辆的传感器读数来生成局部区域的高清(HD)地图的系统、方法和计算机程序产品。例如,一种方法可以包括:从安装在车辆上的成像系统接收多个图像,每个图像帧与在特定时间点处在车辆周围的局部区域相关联,每个图像帧包括使用成像系统的第一摄像装置捕获的第一图像和使用成像系统的第二摄像装置捕获的第二图像。该方法还包括:针对多个图像帧的每个图像帧,确定与局部区域内的特征对应的特征集合。例如,该方法可以识别在图像帧的第一图像上的第一特征点集合以及在图像帧的第二图像上的第二特征点集合;确定图像帧的特征集合,特征集合均对应于第一特征点集合中的与第二特征点集合中的特征点匹配的特征点;以及通过对第一特征点集合和第二特征点集合的对应特征点进行三角测量来确定特征集合中的每个特征的位置。该方法还包括:确定车辆在对应于多个图像帧的第一图像帧的第一时间点处的第一位置与车辆在对应于多个图像帧的第二图像帧的第二时间点处的第二位置之间的变换。为了确定该变换,该方法从与第一图像帧相关联的特征集合中选择第一特征子集,基于以下从第二图像帧中识别与第一特征子集对应的第二特征子集:第一特征子集与第二特征子集之间的几何相似度平;以及使用针对第一图像帧和第二图像帧中的每一个的第一特征子集和第二特征子集,来确定在所确定的第一特征子集的特征的位置和第二特征子集的特征的位置之间的变换。该方法还包括基于变换生成局部区域的高清地图,该高清地图由一个或更多个自主车辆在行驶时使用。
[0010] 在一些实施方式中,从每个图像帧的第一图像和第二图像中提取第一区域。第一区域可以对应于该图像的图示车辆前方地面区段的部分。在一些实施方式中,第一区域被选择为与地面的预期为基本上是平面的和/或不包含任何其他移动对象的部分对应。对第一区域进行正射修正,并且识别在第一区域内的特征。在一些实施方式中,基于在不同图像帧的第一区域内的识别出的特征来执行成对对准。在一些实施方式中,从每个图像帧的第一图像和第二图像中提取第二区域,第二区域与预期位于远离车辆至少阈值距离的局部区域的一部分对应。在一些实施方式中,基于每个图像帧的第一区域和第二区域二者内的识别出的特征来执行成对对准。附图说明
[0011] 通过结合附图考虑以下详细描述,可以容易地理解本文所公开的实施方式的教导。
[0012] 附图(图)1示出了根据实施方式的与多个车辆计算系统交互的HD地图系统的整体系统环境。
[0013] 图2示出了根据实施方式的车辆计算系统的系统架构。
[0014] 图3示出了根据实施方式的车辆计算系统的HD地图API中的各种指令层。
[0015] 图4示出了根据实施方式的HD地图系统的系统架构。
[0016] 图5示出了根据实施方式的HD地图的组成部分。
[0017] 图6A至图6B示出了根据实施方式的在HD地图中限定的地理区域。
[0018] 图7示出了根据实施方式的HD地图中的车道的表示。
[0019] 图8A至图8B示出了根据实施方式的HD地图中的车道元素以及车道元素之间的关系。
[0020] 图9是示出了根据实施方式的用于在图像帧的对之间执行成对对准的方法的流程图
[0021] 图10是示出了根据一些实施方式的用于对特定帧(例如,帧N)执行特征检测的处理的流程图。
[0022] 图11是根据一些实施方式的用于基于不同帧之间的变换来确定车辆姿势的示例处理的流程图。
[0023] 图12示出了根据一些实施方式的捕获图像的第一区域。
[0024] 图13示出了根据一些实施方式已经被正射修正以对透视投影进行补偿的图像的第一区域。
[0025] 图14示出了根据一些实施方式的可以在不同帧的特征之间确定的对应关系的集合。
[0026] 图15是根据一些实施方式的用于执行成对对准的示例处理的流程图。
[0027] 图16示出了计算机器的实施方式,该计算机器可以从机器可读介质中读取指令并且在处理器或控制器中执行指令。
[0028] 附图仅出于说明的目的描绘了本发明的各种实施方式。本领域技术人员将从以下论述中容易地认识到,在不脱离本文中描述的本发明的原理的情况下,可以采用本文中图示的结构和方法的替选实施方式。

具体实施方式

[0029] 本发明的实施方式使用高精度来维护包含最新信息的高清(HD)地图。自主车辆可以在无需人工输入或仅需有限的人工输入的情况下使用HD地图来安全地导航到其目的地。自主车辆是能够感测其环境并且在没有人工输入的情况下导航的车辆。自主车辆在本文中也可称为“无人驾驶汽车”、“自驾驶汽车”或“机器人汽车”。HD地图是指以非常高的精度(通常为5cm至10cm)存储数据的地图。实施方式生成包含关于自主车辆可以在其上行驶的道路的空间几何信息的HD地图。因此,所生成的HD地图包括自主车辆在没有人工干预的情况下安全地导航所需的信息。本发明的实施方式不是使用包括配备有高分辨率传感器的车辆的昂贵且耗时的绘图车队处理来收集用于HD地图的数据,而是使用当自驾驶车辆在其环境中行驶时来自该自驾驶车辆本身的较低分辨率传感器的数据。车辆可能没有这些路线的先前地图数据,或者甚至没有该地区的先前地图数据。本发明的实施方式提供位置即服务(LaaS),使得不同制造商的自主车辆均能够访问通过本发明的这些实施方式创建的最新地图信息。
[0030] 实施方式生成并维护高清(HD)地图,该HD地图是准确的并且包括用于安全导航的最新路况。例如,HD地图提供自主车辆相对于道路的车道的当前位置,这精确到足以使自主车辆在车道中安全地行驶。
[0031] 概述
[0032] HD地图存储非常大量的信息,并且因此在管理信息时面临挑战。例如,用于大的地理区域的HD地图可能不适合车辆的本地存储装置。本发明的实施方式向自主车辆提供HD地图的必要部分,所述HD地图的必要部分允许车辆:确定该车辆在HD地图中的当前位置;确定在道路上相对于车辆位置的特征;基于物理约束和法律约束等确定是否安全地移动车辆。物理约束的示例包括物理障碍例如壁,并且法律约束的示例包括法律上允许的用于车道的行进方向、速度限制、让行、停车点。
[0033] 本发明的实施方式通过提供下述方面来允许用于自主车辆的安全导航:用于提供对请求的响应的低时延,例如10毫秒至20毫秒或更短;在位置方面的高精度,即10cm或更小范围之内的精度;通过确保更新地图以反映在合理时间范围内的有关道路的变化来提供确保数据的新鲜度;以及通过使HD地图所需的存储装置最小化来提供存储效率。
[0034] 图1示出了根据实施方式的与多个车辆交互的HD地图系统的整体系统环境。HD地图系统100包括与多个车辆150交互的在线HD地图系统110。车辆150可以是自主车辆,但是不是必需的。在线HD地图系统110接收由车辆传感器捕获的传感器数据,并且将从车辆150接收到的数据进行组合以生成并维护HD地图。在线HD地图系统110向车辆发送HD地图数据以在驾驶车辆时使用。在实施方式中,在线HD地图系统110被实现为分布式计算系统例如基于的服务,该分布式计算系统允许诸如车辆计算系统120的客户端对信息和服务进行请求。例如,车辆计算系统120可以请求用于沿着路线行驶的HD地图数据,并且在线HD地图系统110提供所请求的HD地图数据。
[0035] 图1和其他附图使用相似的附图标记来识别相似的元件。附图标记之后的字母例如“105A”表示该文本特指具有特定附图标记的元件。文本中没有后续字母的附图标记例如“105”是指图中带有该附图标记的任何或所有元件(例如,文本中的“105”是指附图中的附图标记“105A”和/或“105N”)。
[0036] 在线HD地图系统110包括车辆接口160和HD地图存储装置165。在线HD地图系统110使用车辆接口模块160与各种车辆150的车辆计算系统120交互。在线HD地图系统110将用于各种地理区域的地图信息存储在HD地图存储装置165中。在线HD地图系统110可以包括除图1中所示模块之外的其他模块,例如,如图4中所示并在本文中进一步描述的各种其他模块。
[0037] 在线HD地图系统110接收115由多个车辆150例如数百或数千辆汽车的传感器收集的数据。车辆提供在沿各种路线行驶时捕获的传感器数据并且将该数据发送至在线HD地图系统110。在线HD地图系统110使用从车辆150接收到的数据来创建和更新描述其中车辆150正在行驶的区域的HD地图。在线HD地图系统110基于从车辆150接收到的集体信息来构建高清地图,并且将HD地图信息存储在HD地图存储装置165中。
[0038] 在线HD地图系统110根据车辆150的需要将HD地图发送125至单独的车辆150。例如,如果自主车辆需要沿着路线行驶,则自主车辆的车辆计算系统120向在线HD地图系统110提供描述正在行驶的路线的信息。作为响应,在线HD地图系统110提供用于沿着该路线行驶所需的HD地图。
[0039] 在实施方式中,在线HD地图系统110以压缩格式将HD地图数据的一部分发送至车辆,使得所传输的数据消耗较少的带宽。在线HD地图系统110从各种车辆接收描述存储在车辆的本地HD地图存储装置275处的数据的信息。如果在线HD地图系统110确定车辆不具有本地地存储在本地HD地图存储装置275中的HD地图的某个部分,则在线HD地图系统110将HD地图的该部分发送至车辆。如果在线HD地图系统110确定车辆先前接收到HD地图的该特定部分但是由于车辆最后接收到数据而由在线HD地图系统110更新了相应的数据,则在线HD地图系统110发送针对存储在车辆处的HD地图的该部分的更新。这允许在线HD地图系统110使与车辆通信的数据量最小化,并且还使本地地存储在车辆中的HD地图数据保持定期更新。
[0040] 车辆150包括车辆传感器105、车辆控制器130和车辆计算系统120。车辆传感器105允许车辆150检测车辆的周围环境以及描述车辆的当前状态的信息,例如,描述车辆的位置和运动参数的信息。车辆传感器105包括摄像装置、光探测和测距传感器(LIDAR)、全球定位系统(GPS)导航系统、惯性测量单元(IMU)以及其他。车辆具有捕获车辆周围环境的图像的一个或更多个摄像装置。LIDAR通过利用激光脉冲照射目标并且测量反射脉冲来测量至目标的距离,以勘测车辆的周围环境。GPS导航系统基于来自卫星的信号来确定车辆的位置。IMU是使用加速度计和陀螺仪或其他测量仪器的组合来测量和报告车辆的运动数据例如速率、加速度、运动方向、速度、角速率等的电子设备。
[0041] 车辆控制器130控制车辆的物理运动,例如,加速度、方向改变、启动、停止等。车辆控制器130包括用于控制加速器、制动器、方向盘等的机器。车辆计算系统120向车辆控制器130连续地提供控制信号,从而使自主车辆沿着选定的路线行驶。
[0042] 车辆计算系统120执行包括处理由传感器收集的数据以及从在线HD地图系统110接收到的地图数据的各种任务。车辆计算系统120还处理用于发送至在线HD地图系统110的数据。车辆计算系统的详情在图2中示出并且结合图2进一步描述。
[0043] 在车辆计算系统120与在线HD地图系统110之间的交互通常经由网络例如经由因特网来执行。网络实现在车辆计算系统120与在线HD地图系统110之间的通信。在一个实施方式中,网络使用标准通信技术和/或协议。可以使用包括超文本标记语言(HTML)、可扩展标记语言(XML)等的技术和/或格式表示通过网络交换的数据。此外,可以使用常规的加密技术例如安全套接层(SSL)、传输层安全(TLS)、虚拟专用网络(VPN)、因特网协议安全性(IPsec)等对所有或一些链路进行加密。在另一实施方式中,除了上面描述的技术之外,实体可以使用定制和/或专用数据通信技术代替上面描述的技术。
[0044] 图2示出了根据实施方式的车辆计算系统的系统架构。车辆计算系统120包括感知模块210、预测模块215、规划模块220、控制模块225、本地HD地图存储装置275、HD地图系统接口280和HD地图应用编程接口(API)205。车辆计算系统120的各种模块处理各种类型的数据,包括传感器数据230、行为模型235、路线240和物理约束245。在其他实施方式中,车辆计算系统120可以具有更多或更少的模块。被描述为由特定模块实现的功能可以由其他模块实现。
[0045] 感知模块210接收来自车辆150的传感器105的传感器数据230。这包括由汽车的摄像装置、LIDAR、IMU、GPS导航系统等收集的数据。感知模块210使用传感器数据用于确定车辆周围的物体、车辆正在行驶的道路的详细信息等。感知模块210处理传感器数据230以填充存储传感器数据的数据结构并且向预测模块215提供信息。
[0046] 预测模块215使用被感知的对象的行为模型来解释由感知模块提供的数据,以确定对象是否正在移动或者可能移动。例如,预测模块215可以确定表示道路标志的对象不可能移动,而被识别为车辆、人等的对象正在移动或者可能移动。预测模块215使用各种类型的对象的行为模型235用于确定各种类型的对象是否可能移动。预测模块215向规划模块200提供各种对象的预测,以规划车辆接下来需要采取的后续动作。
[0047] 规划模块200从预测模块215接收描述车辆的周围环境的信息、确定车辆目的地的路线240以及车辆到达目的地应该采取的路径。规划模块200使用来自预测模块215的信息和路线240来规划车辆在短时间间隔内例如在接下来的几秒内需要采取的一系列动作。在实施方式中,规划模块200将动作序列指定为表示车辆接下来需要行驶通过的附近位置的一个或更多个点。规划模块200向控制模块225提供规划的详情,规划包括车辆将采取的动作序列。规划可以确定车辆的后续动作,例如车辆是否执行车道变换、转弯、通过增加速度或减慢速度来变速等。
[0048] 控制模块225基于从规划模块200接收到的规划来确定用于发送至车辆的控制器130的控制信号。例如,如果车辆当前在点A处并且规划指定车辆接下来应该去往附近的点B,则控制模块225确定用于控制器130的控制信号,该控制信号会使车辆以安全且平稳的方式从点A去往点B,例如,在不需要采取任何的急转弯或曲折路径的情况下从点A去往点B。车辆采取的从点A去往点B的路径可能取决于车辆的当前速度和方向以及点B相对于点A的位置。例如,如果车辆的当前速度高,则与车辆缓慢行驶相比车辆可能采取较宽的转弯。
[0049] 控制模块225还接收物理约束245作为输入。这些物理约束包括特定车辆的物理能。例如,具有特定品牌和型号的汽车可能能够安全地进行某些类型的车辆运动例如加速和转弯,而具有不同品牌和型号的另一辆汽车可能无法安全地运动。控制模块225在确定控制信号时结合了这些物理约束。控制模块225将控制信号发送至车辆控制器130,该控制信号使车辆执行使车辆按规划移动的指定动作序列。每隔几秒不断地重复上述步骤,使车辆沿着针对车辆而规划的路线安全地行驶。
[0050] 包括感知模块210、预测模块215和规划模块200的车辆计算系统120的各种模块接收地图信息以执行各种模块各自的计算。车辆100将HD地图数据存储在本地HD地图存储装置275中。车辆计算系统120的模块使用HD地图API 205与地图数据交互,HD地图API 205提供能够由用于访问地图信息的模块调用的一组应用编程接口(API)。HD地图系统接口280允许车辆计算系统120经由网络(图中未示出)与在线HD地图系统110交互。本地HD地图存储装置275以由HD地图系统110指定的格式存储地图数据。HD地图API 205能够处理由HD地图系统110提供的地图数据格式。HD地图API 205向车辆计算系统120提供用于与HD地图数据进行交互的接口。HD地图API 205包括若干API,若干API包括定位API 250、地标地图API 255、路线API 265、3D地图API 270、地图更新API 285等。
[0051] 例如,当车辆启动时以及当车辆沿路线移动时,定位API 250确定车辆的当前位置。定位API 250包括确定车辆在HD地图内的准确位置的定位API。车辆计算系统120可以将该位置用作准确的相对定位,以进行其他查询,例如,本文中进一步描述的特征查询、可导航空间查询、和占用地图查询。定位API接收包括下述中的一个或更多个的输入:由GPS提供的位置、由IMU提供的车辆运动数据、LIDAR扫描仪数据和摄像装置图像。定位API以纬度和经度坐标返回车辆的准确位置。与用作输入的GPS坐标相比,由定位API返回的坐标更准确,例如,定位API的输出可以具有5cm至10cm范围的精度。在一个实施方式中,车辆计算系统120调用定位API以基于使用扫描仪数据的LIDAR例如以10Hz的频率来周期性地确定车辆的位置。如果GPS/IMU数据在该频率下可用,则车辆计算系统120可以调用定位API以以更高的频率(例如,60Hz)确定车辆位置。车辆计算系统120存储位置历史记录作为内部状态,以提高后续定位调用的准确性。位置历史记录存储从汽车熄火/停止时的时间点起的位置的历史。定位API 250包括基于HD地图来生成指定车道的准确路线的定位路线API。定位路线API通过第三方地图将从源至目的地的路线作为输入,并且定位路线API基于HD地图来生成表示为沿着输入路线的可导航车道的连接图的高精度路线。
[0052] 地标地图API 255提供对车辆周围世界的几何和语义描述,例如,对车辆当前正在行驶的车道的各个部分的描述。地标地图API 255包括允许基于地标地图来进行查询的API,例如提取车道API和提取特征API。提取车道API提供与车辆和提取特征API有关的车道信息。提取车道API接收例如使用车辆的纬度和经度指定的车辆位置的位置作为输入,并且返回与输入位置有关的车道信息。提取车道API可以指定指示与检索到车道信息的输入位置有关的距离的距离参数。提取特征API接收识别一个或更多个车道元素的信息并且返回与指定的车道元素有关的地标特征。对于每个地标,地标特征包括特定于地标类型的空间描述。
[0053] 3D地图API 265提供对存储在本地HD地图存储装置275中的道路和道路周围的各种物理对象的空间三维(3D)表示的有效访问。3D地图API 365包括提取可导航表面API和提取占用网格API。提取可导航表面API接收用于一个或更多个车道元素的标识符作为输入,并且提取可导航表面API返回用于指定的车道元素的可导航边界。提取占用网格API接收位置例如车辆的纬度和经度作为输入,并且提取占用网格API返回描述道路表面的占用信息和在HD地图中该位置附近的可用的所有对象的信息。描述占用的信息包括在地图中考虑被占用的所有位置的分层体积网格。占用网格包括在可导航区域例如在路缘和凸起处附近的高分辨率的信息以及在诸如路缘以外的树木和壁的较不重要的区域中相对低分辨率的信息。提取占用网格API用于检测障碍物并且在必要时改变方向。
[0054] 3D地图API还包括地图更新API,例如下载地图更新API和上传地图更新API。下载地图更新API接收规划的路线标识符作为输入,并且下载与所有规划路线或特定规划路线的相关的数据的地图更新。上传地图更新API将由车辆计算系统120收集的数据上传至在线HD地图系统110。这允许在线HD地图系统110基于由沿着各种路线行驶的车辆的传感器观察到的地图数据的变化来使存储在在线HD地图系统110中的HD地图数据保持最新。
[0055] 当车辆沿路线行驶时,路线API 270返回包括源和目的地之间的完整路线以及路线的各部分的路线信息。3D地图API 365允许查询HD地图。路线API 270包括添加规划路线API和获取规划路线API。添加规划路线API向在线HD地图系统110提供描述规划路线的信息,使得描述相关HD地图的信息可以由车辆计算系统120下载并且保持最新。添加规划路线API接收以下作为输入:使用以纬度和经度表示的多段线指定的路线;以及指定在其后可以删除路线数据的时间段的生存时间(TTL)参数。因此,添加规划路线API允许车辆指示该车辆在不久的将来规划要采用的路线作为自主行程。添加规划路线API将路线与HD地图对准,记录路线及路线的TTL值,并且确保存储在车辆计算系统120中的路线的HD地图数据是最新的。获取规划路线API返回规划的路线的列表,并且提供描述由路线标识符识别的路线的信息。
[0056] 地图更新API 285针对本地HD地图存储装置275和HD地图存储装置165二者管理存储在在线HD地图系统110中的与地图数据的更新有关的操作。因此,车辆计算系统120中的模块调用地图更新API 285,以根据需要将数据从在线HD地图系统110下载至车辆计算系统120以存储在本地HD地图存储装置275中。地图更新API 285还允许车辆计算系统120确定由车辆传感器105监测的信息是否指示由在线HD地图系统110提供的地图信息的差异,并且将数据上传至在线HD地图系统110,这会导致在线HD地图系统110更新存储在HD地图存储装置
165中的被提供其他车辆150的地图数据。
[0057] 图4示出了根据实施方式的车辆计算系统的HD地图API中的各种指令层。不同的车辆制造商具有用于从车辆传感器105接收信息和用于控制车辆控制器130的不同的指令。此外,不同的供应商提供具有自主驾驶能力例如车辆传感器数据的收集和分析的不同计算平台。用于自主车辆的计算平台的示例包括例如NVIDIA、QUALCOMM和INTEL的提供平台的供应商。这些平台提供由自主车辆制造商在自主车辆的制造中使用的功能。车辆制造商可以将任意一个或若干个计算平台用于自主车辆。在线HD地图系统110提供用于基于特定于车辆制造商的指令和特定于车辆的供应商特定平台的指令来处理HD地图的库。该库提供对HD地图数据的访问,并且允许车辆与在线HD地图系统110交互。
[0058] 如图3所示,在实施方式中,HD地图API被实现为包括车辆制造商适配器310、计算平台适配器320和公共HD地图API层330的库。公共HD地图API层包括可以跨多个车辆计算平台和车辆制造商使用的通用指令。计算平台适配器320包括特定于每个计算机平台的指令。例如,公共HD地图API层330可以调用计算平台适配器320以从特定计算平台所支持的传感器接收数据。车辆制造商适配器310包括特定于车辆制造商的指令。例如,公共HD地图API层
330可以调用由车辆制造商适配器310提供的功能,以将特定控制指令发送至车辆控制器
130。
[0059] 在线HD地图系统110存储用于多个计算平台的计算平台适配器320以及用于多个车辆制造商的车辆制造商适配器310。在线HD地图系统110确定针对特定的自主车辆的特定的车辆制造商以及特定的计算平台。在线HD地图系统110选择针对特定车辆制造商的车辆制造商适配器310以及针对该特定车辆的特定计算平台的计算平台适配器320。在线HD地图系统110将所选择的车辆制造商适配器310和所选择的计算平台适配器320的指令发送至该特定自主车辆的车辆计算系统120。该特定自主车辆的车辆计算系统120安装接收到的车辆制造商适配器310和计算平台适配器320。车辆计算系统120周期性地检查在线HD地图系统110是否具有针对所安装的车辆制造商适配器310和计算平台适配器320的更新。如果与安装在车辆上的版本相比可以获得最近的更新,则车辆计算系统120请求并接收最新更新并且进行安装。
[0060] HD地图系统架构
[0061] 图4示出了根据实施方式的HD地图系统的系统架构。在线HD地图系统110包括地图创建模块410、地图更新模块420、地图数据编码模块430、负荷平衡模块440、地图精度管理模块、车辆接口模块和HD地图存储装置165。在线HD地图系统110的其他实施方式可以包括比图4中示出的更多或更少的模块。指示由特定模块执行的功能可以由其他模块实现。在实施方式中,在线HD地图系统110可以是包括多个处理器的分布式系统。
[0062] 地图创建模块410根据从沿着各种路线行驶的若干车辆收集的地图数据来创建地图。地图更新模块420通过从最近沿地图信息改变的路线行驶的车辆接收最近期的信息来更新先前计算的地图数据。例如,如果某些道路标志已经改变或者车道信息由于区域中的建设而改变,则地图更新模块420相应地更新地图。地图数据编码模块430对地图数据进行编码以便能够有效地存储数据以及将所需的地图数据有效地发送至车辆150。负荷平衡模块440平衡车辆之间的负荷以确保用于从车辆接收数据的请求被均匀地分布在不同的车辆上。地图准确度管理模块450使用各种技术来保持地图数据的高准确度,即使从各个车辆接收到的信息可能不具有高准确度也是如此。
[0063] 图5示出了根据实施方式的HD地图的组成部分。HD地图包括若干地理区域的地图。地理区域的HD地图510包括地标地图(LMap)520和占用地图(OMap)530。地标地图包括描述车道的信息,包括车道的空间位置和关于每条车道的语义信息。车道的空间位置包括在纬度、经度和海拔方面高精度例如等于或低于10cm的精度的几何位置。车道的语义信息包括例如方向、速度、车道类型(例如直行车道、左转车道、右转车道、出口车道等)的限制、对向左横穿以及与其他车道的连接的限制等。地标地图还可包括描述停车线、让行线、人行横道空间位置、可安全导航空间、减速带空间位置、路缘和道路标志的信息,道路标志包括与驾驶限制相关的所有标志的空间位置和类型。HD地图中描述的道路标志示例包括停车标志、交通灯、限速、单形、禁止进入、让行(车辆、行人、动物)等。
[0064] 占用地图530包含道路以及道路周围所有物理对象的三维空间(3D)表示。存储在占用地图530中的数据在本文中也称为占用网格数据。3D表示可能与表示对象存在于该位置的可能性的置信度分数关联。占用地图530可以以许多其他方式表示。在一个实施方式中,占用地图530表示为覆盖表面的3D网格几何体(三角形集合)。在另一实施方式中,占用地图530表示为覆盖表面的3D点的集合。在另一实施方式中,使用5cm至10cm分辨率的3D体积的单元网格来表示占用地图530。每个单元格指示在该单元格处是否存在表面,并且如果存在表面,则每个单元格指示表面沿其定向的方向。
[0065] 与地标地图520相比,占用地图530可能占用大量的存储空间。例如,占用地图530可能使用1GB/英里的数据,从而产生占用4×1015字节或4千兆兆字节的美国地图(包括400万英里的道路)。因此,在线HD地图系统110和车辆计算系统120使用数据压缩技术以能够存储和传输地图数据,从而降低存储和传输成本。因此,本文所公开的技术使得自驾驶自主车辆成为可能。
[0066] 在一个实施方式中,HD地图不需要或不依赖于通常包含在地图中的数据,例如地址、道路名称、对地址进行地理编码的能力以及计算地名或地址之间的路线的能力。车辆计算系统120或在线HD地图系统110访问其他地图系统,例如谷歌地图(GOOGLE MAP)以获取此信息。因此,车辆计算系统120或在线HD地图系统110从诸如如谷歌地图的工具接收进入路线的导航指令,并基于HD地图信息将信息转换成路线。
[0067] HD地图中的地理区域
[0068] 在线HD地图系统110将大的物理区域划分为地理区域,并存储每个地理区域的表示。每个地理区域表示由几何形状(例如矩形或正方形)限定的连续区域。在实施方式中,在线HD地图系统110将物理区域划分为相同大小的地理区域,而与存储每个地理区域的表示所需的数据量无关。在另一实施方式中,在线HD地图系统110将物理区域划分为不同大小的地理区域,其中每个地理区域的大小基于表示该地理区域所需的信息量而确定。例如,与表示具有较少街道的人口稀少地区的地理区域相比,表示具有众多数目的街道的人口稠密地区的地理区域代表较小的物理区域。因此,在该实施方式中,在线HD地图系统110基于对存储与HD地图相关的物理区域的各种元素所需的信息量的估计来确定地理区域的大小。
[0069] 在实施方式中,在线HD地图系统110使用包含各种属性的对象或数据记录例如使用纬度和经度坐标的边界框以及地标特征和占用网格数据的集合来表示地理区域,所述各种属性包括地理区域的唯一标识符、地理区域的唯一名称、地理区域边界的描述。
[0070] 图6A至图6B示出了根据实施方式的在HD地图中限定的地理区域。图6A示出了方形的地理区域610a。图6B示出了两个相邻的地理区域610a和610b。在线HD地图系统110以地理区域的表示来存储数据,该地理区域的表示允许当车辆跨越地理区域边界行驶时从一个地理区域平稳过渡到另一地理区域。
[0071] 根据实施方式,如图6所示,每个地理区域具有围绕该地理区域的预定宽度的缓冲区。缓冲区包括围绕地理区域的所有4条边(在地理区域由矩形划界的情况下)的冗余地图数据。图6A示出了在地理区域610a周围50米缓冲区的边界620和在地理区域610a周围100米缓冲区的边界630。当车辆在该缓冲区内越过阈值距离时,车辆计算系统120将车辆的当前地理区域从一个地理区域切换到相邻地理区域。例如,如图6B所示,车辆在地理区域610a的位置从650a处开始。车辆沿着路线行驶,以到达位置650b,在该位置处车辆越过地理区域610的边界,但是停留在缓冲区的边界620内。因此,车辆计算系统120继续使用地理区域
610a作为车辆的当前地理区域。一旦车辆在位置650c处跨越缓冲区的边界620,车辆计算系统120将车辆的当前地理区域从610a切换到610b。由于车辆沿着紧密跟踪地理区域的边界的路线行驶,因此缓冲区的使用阻止了车辆的当前地理区域的快速切换。
[0072] HD地图中的车道表示
[0073] HD地图系统100表示HD地图中街道的车道信息。尽管本文中描述的实施方式涉及街道,但该技术适用于车辆可以行驶的高速公路、小巷、大道、林荫道或任何其他路径。HD地图系统100使用车道作为参考框架,以用于规定路线和车辆定位。由HD地图系统100表示的车道包括:明确标记的车道,例如,白色和黄色条纹车道;隐式车道,例如,在没有线或路缘但是是双向行驶方向的乡村道路;以及用作车道的隐式路径,例如,当转向的汽车从另一车道进入车道时行进的路径。HD地图系统100还存储关于车道的信息,例如,诸如相对于车道的道路标志和交通灯的地标特征、用于障碍物检测的相对于车道的占用网格以及相对于车道的可导航空间,因此在车辆意外地必须移出车道时的紧急情况下车辆可以有效地规划/做出反应。因此,HD地图系统100存储车道网络的表示,以允许车辆规划源和目的地之间的合法路径,并添加用于实时感测和控制车辆的参考框架。HD地图系统100存储信息并提供API,所述API允许车辆确定车辆当前所在的车道、相对于车道几何形状的精确车辆位置以及相对于车道以及相邻的连接车道的所有相关特征/数据。
[0074] 图7示出了根据实施方式的HD地图中的车道表示。图7示出了在交通路口处的车辆710。HD地图系统向车辆提供对与车辆的自主驾驶相关的地图数据的访问。这包括例如与车道相关联的但可能不是相对于车辆的最接近特征的特征720a和720b。因此,HD地图系统100存储表示车道与特征的关系的以车道为中心的数据表示,使得车辆能够有效地提取给定车道的特征。
[0075] HD地图系统100将车道的各部分表示为车道元素。车道元素指定了车道的边界和各种约束,所述各种约束包括车辆可以在车道元素内行驶的合法方向、车辆可以在车道元素内行驶的速度、车道元素是否仅用于左转向还是仅用于右转向,等等。HD地图系统100将车道元素表示为单个车道的连续几何部分。HD地图系统100存储表示包括下述的车道元素的对象或数据结构:表示车道几何边界的信息;沿着车道的行驶方向;在车道中行驶的车辆限制,例如速度限制、与包括驶入和驶出车道的连接车道的关系;终止限制,例如,车道是否在停车线、让路标志或减速带处停止;以及与自主驾驶相关的道路特征例如交通灯位置、道路标志位置等的关系。
[0076] 由HD地图系统100表示的车道元素示例包括:高速公路上的右车道、道路上的车道、左转车道、从左转车道进入另一车道的转弯、源自入口道的汇入车道、在出口匝道上的出口车道以及行车道。HD地图系统100表示使用两个车道元素的单车道道路,每个方向一个车道元素。HD地图系统100表示与单车道道路类似的共享的中间转向车道。
[0077] 图8A至图8B示出了根据实施方式的HD地图中车道元素以及车道元素之间的关系。图8A示出了道路中T形交叉口的示例,该示例示出了车道元素810a,该车道元素810a经由转向车道810b连接到车道元素810c,并经由转向车道810d连接到车道810e。图8B示出了道路中Y形交叉口的示例,该示例示出了标记810f,标记810f直接连接到车道810h并且经由车道
810g连接到车道810i。HD地图系统100将从源位置到目的地位置的路线确定为可以穿过以从源位置到达目的地位置的连接的车道元素的序列。
[0078] 基于摄像装置的成对对准
[0079] 如上面所讨论的,在一些实施方式中,可以基于由多种车辆收集的传感器数据来生成HD地图,多种车辆可以包括载人勘测车辆以及自驾驶自主车辆或驾驶员辅助车辆,并且自主车辆可以使用该HD地图以在不需要人工干预的情况下导航通过绘图区域。
[0080] 当车辆(例如,车辆150)行驶时,车辆上的传感器(例如,车辆传感器105)生成指示在不同时间点车辆周围环境的数据。可以使用所获取的传感器数据来生成用于HD地图的与车辆周围的局部区域内的对象、车道线、标志等对应的特征。然而,为了生成HD地图,必须知道局部区域内的车辆姿势。如本文所使用的,车辆的“姿势”可以指车辆的位置和车辆的方位二者。车辆的姿势可以对应于与车辆对应的3-D坐标系的原点和轴,并且可以使用六个自由度来表示(例如,沿着全局x轴、y轴和z轴的原点的平移,以及相对于全局轴的车辆的x轴、y轴和z轴的旋转)。
[0081] 在一些实施方式中,在被称为“成对对准”的处理中通过跟踪车辆姿势在不同时间点上的变化来确定车辆的姿势。例如,使用成对对准来确定在不同时间点上车辆的相对姿势,可以使用该相对姿势使用全局对准处理来确定车辆的全局姿势。
[0082] 在一些实施方式中,可以使用迭代最近点(ICP)算法来执行成对对准,以使用对应于不同时间点的LIDAR点云与GPS和/或IMU姿势估计相结合来确定车辆姿势的变换。然而,在一些实施方式中,ICP算法可能不足以确定车辆姿势。例如,在某些环境中,例如在隧道内或在完全平坦的道路上,LIDAR扫描可能无法识别足够的点来估计必要的3-D表面(例如,小于3个相互不平行的表面)以计算车辆的相对运动。另一方面,使用摄像装置或其他成像装置捕获的局部区域的图像可能包含可以用于识别在LIDAR点云中未被捕获的局部区域例如表面标记(例如,损坏的车道线)的拐角或边缘中的附加特征的数百万个像素(与50,000个LIDAR点相比)。因此,代替使用LIDAR的ICP技术或者除了使用LIDAR的ICP技术以外,可以使用基于摄像装置的成对对准技术。
[0083] 使用成对对准用于采用使用车辆的成像系统(包括一个或更多个摄像装置或其他成像装置)捕获的图像来确定不同时间点之间车辆姿势的变换,从而允许车辆在待被确定的周围区域内的运动。在一些实施方式中,在车辆行驶时的周期性时间点处,车辆的成像系统捕获一个或更多个图像,每个图像图示车辆周围的局部区域的一部分。例如,一个或更多个图像可以至少包括形成立体对的两个图像(例如,左图像和右图像)。在一些实施方式中,与特定时间点对应的捕获图像的集合可以被称为“帧”、“图像帧”或“立体图像帧”。如本文所使用的,与在特定时间点N捕获的图像集合对应的帧可以被称为“帧N”。
[0084] 图9是示出了根据一些实施方式的用于在图像帧的对之间执行成对对准的方法的流程图。在一些实施方式中,由与每个车辆相关联的车辆计算系统(例如,图2中所示的车辆计算系统120)执行成对对准。例如,在一些实施方式中,车辆计算系统确定对应于不同时间段的可以被上载至在HD地图的构建中要使用的服务器(例如,HD地图系统110)的车辆姿势的变化。然而,应当理解,在其他实施方式中,一个或更多个成对对准步骤可以由其他部件例如HD地图系统110的地图创建模块410执行。例如,在一些实施方式中,HD地图系统110经由车辆接口模块160接收来自车辆的图像帧信息,该图像帧信息可以被HD地图系统110中的地图创建模块410或其他模块使用,以确定与不同时间对应的不同图像帧之间的车辆姿势的变换。因此,尽管以下描述可以适用于如由车辆计算系统执行的处理的步骤,但是应该理解,步骤可以替代地由在线HD地图系统的一个或更多个模块执行。
[0085] 如图9所示,车辆计算系统接收905与特定时间点(例如,时间N)对应的图像帧。图像帧(“帧N”)可以包括由车辆的一个或更多个摄像装置(例如,车辆传感器105)捕获的一个或更多个图像。在一些实施方式中,帧N至少包括使用两个不同摄像装置捕获的第一图像和第二图像。两个摄像装置可以形成立体对(例如,被安装和校准以简单地形成对应关系,在对应关系之间找到用于确定相对于车辆的3-D点的三角测量)。第一图像和第二图像可以对应于左图像和右图像。
[0086] 车辆计算系统从接收到的帧N中提取910多个特征。特征可以与帧的图像内相对可区分的任意点例如边缘、拐角或与局部区域内的一个或更多个对象相关联的其他可识别的物理特征对应。在一些实施方式中,使用一个或更多个特征或角点检测算法,以从帧N的一个或更多个图像中提取特征,例如Harris角点、尺度不变特征变换(SIFT)特征、KAZE/AKAZE(加速KAZE)、来自加速段测试的特征(FAST)、Shi/Kanade角点等。
[0087] 在一些实施方式中,在帧N包括多个捕获图像(例如,第一图像和第二图像)的情况下,对帧N的每个捕获图像进行分析以确定每个图像上的特征点的集合。帧N的提取特征均与帧的第一图像上的第一特征点以及帧的第二图像上的第二特征点对应。在一些实施方式中,基于特征相似度、在他们各自图像上的第一特征点的位置与第二特征点的位置之间的距离等来对第一图像上的第一特征点和在第二图像上的第二特征点进行匹配。在下面关于图10中更详细地描述用于对帧N执行特征检测的示例方法。
[0088] 车辆计算系统针对帧N的提取特征中的每一个确定915该特征的3D位置。特征的3D位置指示特征相对于车辆上的车辆传感器的位置。在一些实施方式中,车辆计算系统通过基于与特征对应的第一特征点和第二特征点在第一图像和第二图像内的相应位置以及第一图像与第二图像之间的已知视差(例如,用于捕获第一图像的第一摄像装置和用于捕获第二图像的第二摄像装置之间的偏移距离)对与特征对应的第一特征点和第二特征点进行三角测量来确定针对每个特征的3D位置。在其他实施方式中,可以基于单个图像内的特征的位置和已知的地平面位置来确定特征的3D位置,下面关于图12至图15中更详细地进行描述。
[0089] 车辆计算系统确定920帧N的提取特征与对应于不同时间点的另一图像帧(例如,对应于先前时间点N-1的先前帧N-1)的提取特征之间的特征对应关系。在一些实施方式中,车辆计算系统基于集合中的特征之间的几何关系、集合中的特征的特征描述符等来识别帧N的第一特征集合并且识别帧N-1的相应的第二特征集合。
[0090] 车辆计算系统基于所确定的特征对应关系来计算925车辆的姿势。在一些实施方式中,车辆计算系统基于帧N的第一特征集合的位置与帧N-1的相应的第二特征集合的位置之间的变换来确定在时间N处车辆的姿势和在N-1处车辆的姿势之间的三维变换。在一些实施方式中,车辆计算系统使用PnP(n点透视)算法来计算帧之间的3-D变换,并且相对于在时间N-1处的车辆的姿势确定在时间N处的车辆的姿势。
[0091] 在一些实施方式中,为了减少帧N和帧N-1中的异常值特征的影响,执行姿势确定(例如,使用PnP)作为随机样本一致性(RANSAC)循环的一部分。例如,局部区域中的移动对象和其他变化可以创建在帧N或帧N-1中可见而对于计算车辆姿势或者对于生成HD地图无用的特征。因此,执行RANSAC循环,在RANSAC循环中,评估帧N和帧N-1中的不同对应特征集合之间的变换,以便识别最佳拟合变换。下面关于图11中更详细地描述用于确定车辆姿势的方法的示例。
[0092] 通过确定不同时间点之间的车辆姿势的三维变换,可以确定车辆相对于周围区域中的对象和特征的位置。当许多不同的车辆行驶通过特定区域时,他们采取的路径可能不同并且因此将影响由他们各自的传感器系统收集的数据。通过确定每个车辆在其行驶通过该区域时的姿势如何变化,可以将由行驶通过该区域的不同位置的不同车辆收集的传感器数据进行相互关联并且可以使用该传感器数据将特征填充到该区域的HD地图上。
[0093] 帧特征检测
[0094] 如上面所讨论的,成对对准可以基于识别出的与每个不同时间点对应的帧特征之间所确定的相关性来确定不同时间点之间车辆姿势的变换。图10是根据一些实施方式的用于对特定帧(例如,帧N)执行特征检测的处理的流程图。用于对帧执行特征检测的处理可以由与每个车辆相关联的车辆计算系统(例如,图2中所示的车辆计算系统120)执行。在其他实施方式中,该处理的一个或更多个步骤可以由其他部件例如HD地图系统110的地图创建模块410执行。
[0095] 车辆计算系统接收1005对应于与时间点N对应的特定帧N的一个或更多个图像。在一些实施方式中,帧N包括图像对(例如,第一图像和第二图像)。在一些实施方式中,第一图像和第二图像可以与立体对的左图像和右图像对应。
[0096] 在一些实施方式中,车辆计算系统对接收到与帧N对应的图像对进行修正1010。图像的修正用于在接收到的立体对的图像之间建立极线约束。在一些实施方式中,对图像进行对准,以去除非线性失真并且调整用于捕获图像的摄像装置之间的轻微过渡性未对准,使得该图像对中的每一行将是共面的,从而确保出现在帧N的第一图像的特定行中的特征点也将在帧N的第二图像的同一行中可见。
[0097] 车辆计算系统对帧N的图像执行1015特征检测,以识别每个图像中的特征点。特征点可以对应于图像内相对可区分的任何点例如边缘、拐角或与局部区域内的一个或更多个对象相关联的其他可识别的物理特征。在一些实施方式中,使用一个或更多个特征或角点检测算法,以从帧N提取特征点,例如Harris角点、SIFT特征、KAZE/AKAZE、FAST、Shi/Kanade角点等。
[0098] 车辆计算系统将图像上的每个检测到的特征点与特征描述符关联1020。如本文所使用的,特征描述符可以对应于与特征点相关联的数据的表示,该数据的表示可以用于确定两个特征点之间的相似度。例如,特定特征点的特征描述符可以描述图像中特征点周围的数据。在一些实施方式中,特征描述符可以指示特征点的类型(例如,对应于边缘、拐角等的特征点)。在一些实施方式中,特征描述符可以对应于尺度不变特征变换(SIFT)、加速鲁棒特征(SURF)、应用于宽基线立体影像的密集描述符(DAISY)、快速视网膜关键点(FREAK)、二进制鲁棒独立基本特征(BRIEF)、定向FAST和旋转BRIEF(ORB),和/或其他类型的特征描述符。
[0099] 一旦识别了每个图像中的特征点并且分配了描述符,则车辆计算系统通过对来自第一图像和第二图像的识别出的特征点进行匹配并针对每个识别出的特征确定3-D位置来尝试确定与帧N相关联的特征。在一些实施方式中,车辆计算系统基于第一图像上的第一特征点的位置与第二图像上的一个或更多个特征点中的每一个的位置之间的计算出的距离,针对帧N的第一图像中每个检测到的特征点(下文中称为第一特征点)识别1025帧N的第二图像中的一个或更多个特征点。在一些实施方式中,使用k个最近邻(kNN)算法来识别第二图像中最接近第一特征点的k个特征点。在一些实施方式中,第二图像的一个或更多个特征点可以包括在第一特征点的阈值距离内的第二图像的所有特征点。
[0100] 车辆计算系统基于特征点的各自的特征描述符确定1030第一特征点与第二图像的一个或更多个识别出的特征点中的每一个之间的相似度。例如,如上面所讨论的,可以对不同特征点的特征描述符进行比较,以确定特征点之间的相似度。将第一特征点的特征描述符与一个或更多个识别出的特征点中的每一个的特征描述符进行比较,以确定第一特征点与一个或更多个识别出的特征点中的每一个之间的相似度。在一些实施方式中,两个特征点之间的相似度可以表示为0.0与1.0之间的数字,其中更接近1.0的相似度指示特征点之间的更高的相似量。
[0101] 车辆计算系统基于所确定的相似度将第一特征点与一个或更多个特征点中的第二特征点进行匹配1035,以形成帧N的特征。在一些实施方式中,第二特征点与第二图像的一个或更多个特征点中的最接近第一特征点并且与第一特征点具有满足阈值的相似度的特征点对应。在一些实施方式中,第二特征点与一个或更多个特征点中的具有与第一特征点最高相似度的特征点对应。
[0102] 在一些实施方式中,基于到第一特征点的距离的聚合以及与第一特征点的相似度来针对一个或更多个特征点中的每一个确定合成分数,其中第二特征点对应于具有最高合成分数的特征点。在一些实施方式中,为了使第一特征点与第二特征点进行匹配,第二特征点与第一特征点之间的相似度和/或合成分数必须满足阈值水平。
[0103] 在一些实施方式中,车辆计算系统可以确定1040与第一特征点相关联的特征是否是模糊的。如果第一特征点与第二图像的多于一个特征点具有足够的相似度和/或接近度,则某些特征可能被认为是模糊的。例如,在一些实施方式中,如果第二图像的与第一特征点最接近的两个特征点与第一特征点均具有在阈值范围内(例如,在0.7与0.9之间)的相似度,则特征可能是模糊的。在一些实施方式中,如果第二图像的两个或更多个特征点的合成分数在阈值范围内,则特征可能是模糊的。在一些实施方式中,丢弃任何被确定为模糊的特征。
[0104] 在一些实施方式中,如果特征被确定为违反一个或更多个规则,则也会丢弃所述特征。例如,如果特征的第一特征点和第二特征点不落在特征点的各自的图像内的同一行上,这违反了由图像的修正所施加的极线约束,则会丢弃所述特征。在一些实施方式中,在第一图像上的每个第一特征点可以仅与第二图像上的特征点在同一行上进行匹配(例如,图10的步骤1025至1035)。因此,针对第一特征点确定的k个最近邻特征点将仅包括在第二图像的同一行上的特征点。
[0105] 如果与第一特征点和第二特征点对应的特征被确定为不模糊(并且由于其他原因没有被丢弃),则车辆计算系统确定1045与该特征对应的3-D位置。车辆计算系统可以使用第一特征点和第二特征点在第一图像和第二图像上的相应2-D位置以及第一设备与第二成像装置之间的已知偏移来对第一特征点和第二特征点进行三角测量,以确定特征的3-D位置。
[0106] 如上面关于步骤1025至1045中所描述的,车辆计算系统可以分析第一图像的每个检测到的特征点,以识别第二图像的利用其形成帧N的特征的相应的特征点,并且针对每个成功识别的特征(例如,不模糊或以其他方式没有被丢弃的特征)计算3-D位置。
[0107] 在一些实施方式中,可以根据一个或更多个预定规则丢弃在某些所确定的3-D位置处的帧N的特征。例如,特征的所确定的3-D位置的准确度随着距成像系统的距离而平方地减小。因此,被确定为具有超出距车辆传感器系统的阈值距离(例如,20m)的3-D位置的特征被丢弃。阈值距离可以被选择成与最小可接受的准确度等级对应。
[0108] 确定成对对准中的3-D变换
[0109] 一旦确定了针所接收到的帧的特征,所确定的特征可以与对应于不同时间点的不同帧(例如,先前接收到的帧)的特征进行匹配,使得可以确定不同帧之间车辆姿势的变换。图11是根据一些实施方式的用于基于不同帧之间的变换来确定车辆姿势的示例处理的流程图。用于确定帧之间的变换的处理可以由与每个车辆相关联的车辆计算系统(例如,图2中所示的车辆计算系统120)执行。在其他实施方式中,该处理的一个或更多个步骤可以由其他部件例如HD地图系统110的地图创建模块410执行。
[0110] 车辆计算系统接收1105与不同时间段对应的帧对(例如,分别对应于时间N和N-1的帧N和帧N-1)。每个接收到的帧可以与多个特征相关联,每个特征对应于特定的3-D位置。在一些实施方式中,可以使用以上图10中描述的处理来确定与每个接收到的帧相关联的特征及其各自的3-D位置。帧N可以对应于当前接收到的帧,而帧N-1可以对应于先前接收到的帧。帧N-1可以被称为第一帧,并且帧N被称为第二帧。
[0111] 在一些情况下,由成像系统捕获的车辆周围的局部区域可以包含与在确定车辆在不同帧之间的变换中无用的对象(例如,诸如其他车辆的移动对象)相关联的特征。这些特征可以称为异常值特征。因此,由于车辆姿势的变换相对于异常值特征不同于相对于局部区域的静止特征的变换,因此试图确定与所有识别出的帧的特征最接近对准的帧之间的姿势变换可能导致由于异常值特征的存在而失真的所确定的变换。
[0112] 为了在确定车辆在不同帧之间变换时减少异常值特征的影响,车辆计算系统可以评估多个候选变换并确定与帧N和帧N-1对应的最佳变换。因此,车辆计算系统可以执行多次迭代,每次迭代包括其中基于从帧N和帧N-1中选择的特征样本来确定候选变换的变换确定阶段,以及其中对所确定的变换进行评估的变换评估阶段。在一些实施方式中,变换确定阶段和变换评估阶段可以是RANSAC循环的一部分。
[0113] 在变换确定阶段期间,车辆计算系统从第一帧(例如,帧N-1)中选择1110第一特征集合,并确定与第一集合中的每个特征对应的3-D位置。第一特征集合可以被称为用于执行RANSAC循环的“RANSAC基础”。在一些实施方式中,第一特征集合包括来自第一帧的至少三个不同特征。在一些实施方式中,第一特征集合是从识别出的第一帧的特征中随机选择出的。在其他实施方式中,可以对第一集合中的特征的选择施加一个或更多个约束。例如,第一集合中的每个特征可以需要距该集合中的其余特征为至少阈值距离(例如,2m)。可以对阈值距离进行选择,以降低第一集合中的多个特征与相同移动对象(例如,汽车)上的特征对应的可能性。通过对第一集合的特征进行约束以覆盖相对大的区域来减小与以相同速度移动的移动汽车或汽车对上的点对应的第一集合特征的可能性。
[0114] 车辆计算系统识别1115与第一帧的第一特征集合对应的第二帧(例如,帧N)的第二特征集合。在一些实施方式中,基于第二特征集合的位置之间的几何关系来识别第二特征集合。例如,车辆计算系统确定第一集合中的特征之间的几何关系,并分析第二帧的特征以识别与第一特征集合在几何上一致的第二特征集合。在一些实施方式中,对第二特征集合的识别可选地还基于与第一特征集合和第二特征集合中的每个特征相关联的特征描述符。
[0115] 车辆计算系统确定1120识别出的第一帧的第一特征集合的位置与第二帧的相应的第二特征集合的位置之间的3D变换。3-D变换可以包括具有六个自由度的严密的(rigid)三维变换。在一些实施方式中,可以使用PnP算法来确定变换。
[0116] 在一些实施方式中,所确定的变换经受验收测试。例如,可以确定在与所接收到的帧对应的时间点之间的车辆变换的初始猜测,并将初始猜测与所确定的变换进行比较。可以基于GPS测量、IMU测量、物理测距、使用卡尔曼滤波器的多个源的组合等来生成初始猜测。仅当所确定的变换没有偏离初始猜测至少阈值量时,才可以接受所确定的变换。否则,可以丢弃或重新计算所确定的变换。
[0117] 所确定的变换(一旦被接受)可以被称为“候选变换”。在一些实施方式中,可以确定多个不同的候选变换,每个候选变换与第一帧的不同的第一特征集合及其第二帧的相应的第二特征集合对应。例如,可以执行不同的随机采样,以生成第一帧的一个或更多个第一特征集合,可以根据第一特征集合中的每一个确定候选变换。每个候选变换被评估作为变换评估阶段的一部分,以便确定最准确地描述在与第一帧和第二帧对应的两个时间点之间的车辆运动的“最佳”变换。
[0118] 在针对每个候选变换的变换评估阶段期间,车辆计算系统将候选变换应用1125于第一帧的每个特征的位置,以确定特征的经变换的位置,并且将第二帧的最近特征识别为每个经变换的位置。另外,车辆计算系统针对第一帧的每个特征确定第一帧特征与第二帧的最近特征的经变换的位置之间的距离。
[0119] 在一些实施方式中,第二帧的特征被组织成k维(k-d)树或其他类型的空间索引,以便于最近邻特征查找。因此,可以针对第一帧的每个变换特征快速确定第二帧的最近邻特征。在一些实施方式中,第二帧的最近特征可以与第二帧的最接近第一帧的特征的经变换的位置的特征对应,第二帧的最近特征具有与第一帧的特征具有至少阈值量的相似度的特征描述符。
[0120] 车辆计算系统基于与第二帧的特征“匹配”的第一帧的多个特征来确定1130与候选变换相关联的计数。在一些实施方式中,如果第一特征的经变换的位置与第二特征的位置之间的距离小于阈值量(例如,20cm),则第一帧的第一特征和第二帧的与所确定的与第一特征最近邻特征对应的第二特征被确定为“匹配”。因此,第一帧的每个特征可以与第二帧的特征进行匹配,或者第一帧的每个特征可以在第二帧上没有匹配(例如,如果第二帧上的与第一特征的经变换的位置最近的特征具有超过阈值量的距离)。因此,候选变换的计数与第一帧的与第二帧的特征匹配的特征的总数对应。在一些实施方式中,代替度量,可以基于第一帧和第二帧的匹配特征来计算用于评估候选变换的度量。例如,度量可以基于由第一帧和第二帧的匹配特征的位置覆盖的(例如,通过采用特征位置的凸包来测量的)空间体积。
[0121] 在一些实施方式中,可以基于特征在帧的图像上的2-D投影的位置来确定特征之间的距离。例如,在将候选变换应用于第一帧的特征之后,确定每个经变换的特征在第二图像帧的图像(例如,第二图像帧的第一图像)上的2-D投影,并将该2-D投影与第二图像帧的特征的二维位置进行比较。基于第一图像帧的经变换的特征的2-D投影与第二图像帧的相应特征的2-D位置之间的距离(也称为“再投影误差”)来为候选变换确定度量。在一些实施方式中,当通过三角测量来确定特征的3-D位置时,可以使用经变换的特征的3D至2D转换,因为任何三角测量误差可以通过3D至2D再投影被至少部分地抵消。
[0122] 因此,车辆计算系统能够确定针对每个所确定的候选变换的计数或其他类型的度量,并且选择1135与具有最高计数(或所覆盖的最大体积)的候选变换对应的“最佳”候选变换。在一些实施方式中,车辆计算系统可以确定并评估预定数目的候选变换。在其他实施方式中,车辆计算系统持续确定并评估候选变换直到已经识别出具有超过阈值的计数或其他度量的候选变换为止。
[0123] 一旦已经识别出最佳候选变换,车辆计算系统就基于第一帧和第二帧的匹配特征来重新计算1140第一帧和第二帧的3-D变换。另一方面,在第二帧上不具有匹配特征的第一帧的特征可以被认为是异常值,并且不用于重新计算3-D变换。在一些实施方式中,通过对所确定的候选变换进行迭代地优化来重新计算3-D变换,以将第一帧和第二帧的匹配特征进行最接近地对准。例如,可以基于诸如最小均方误差、最小平方中值等误差度量来对重新计算的3-D变换进行优化,以减小第一帧和第二帧的匹配特征的位置之间的距离。因此,重新计算的3-D变换与第一帧和第二帧的匹配特征最接近地对准的3-D变换对应,同时忽略帧对的异常特征。3-D变换描述了在与第一帧和第二帧对应的两个时间点之间车辆姿势的变化。
[0124] 在一些实施方式中,使用优化器来确定车辆的3-D变换,以找到使再投影误差量最小化的最佳变换,其中使用第一帧和第二帧的第一图像的识别出的特征来计算再投影误差。例如,可以通过将变换应用于第一帧的每个特征的3-D位置,将特征的经变换的位置投影到第二帧的第一图像上以确定每个经变换的特征在第二帧的第一图像上的2-D位置,并确定每个经变换的特征的2-D位置与在第二帧上其相应特征的2-D位置之间的2-D距离来确定针对变换的再投影误差。再投影误差可以与针对每个再投影特征的所确定的2-D距离的聚合(例如,总和)对应。
[0125] 图像区域中的特征提取
[0126] 在一些实施方式中,帧的每个图像可以被划分为一个或更多个不同区域。可以从图像的特定区域提取用于执行成对对准的图像的特征。例如,图像的某些区域可以与车辆周围的局部区域的区域(例如,不太可能包含移动对象的区域)对应,该区域预期包含可用于在不同帧之间执行成对对准的特征。
[0127] 当在车辆移动的同时捕获图像,车辆的向前运动可以使图像中的特征经历相当大的运动,这在捕获的图像中表现为大的透视扭曲。在这些情况下,现有的特征描述符可能表现不佳。例如,用于对图像之间的特征点进行匹配的某些技术例如SIFT或ORB在大的透视失真下可能是不可靠的,当车辆沿着成像系统的向前方向快速移动的同时观察局部区域中车辆附近的点时可能发生这种失真。例如,在不同捕获图像上的相同点可能由于捕获图像之间的透视扭曲而具有不同的特征描述符,这可能在车辆快速顺路而下时发生,使得难以对跨不同帧的特征进行准确地匹配。
[0128] 然而,特征描述符可以在对应于场景中大致相同的深度但是经历了轻微的平移的两个图像之间很好地起作用。例如,通常,当车辆移动伴随着与车辆的移动对应的平移时,道路相对于车辆的位置将保持相对恒定(例如,接近2-D平面)。结合极线约束,因此图像的第一区域可以允许用于确定特征并且计算特征的3-D位置的可靠匹配。然后可以在后续图像特征之间可靠地完成3D RANSAC匹配,以找到与图像对应的帧之间的点的最大一致运动。
[0129] 在用于捕获包括每个帧的图像的成像系统朝向车辆的前方定向的实施方式中,每个图像可以包括与车辆前方的路面对应的第一区域。因为从第一区域提取的特征通常预期对应于局部区域相对于车辆的静止点(例如,道路表面上的点),而非对应于移动对象,所以这些特征可以用于执行成对对准,并用于确定不同时间点之间车辆姿势的变换。在一些实施方式中,为了改善特征匹配,从捕获的图像中提取第一区域,并且将第一区域扭曲以消除由于透视投影引起的失真。
[0130] 图12示出了根据一些实施方式的捕获图像的第一区域。如图12中所示,图像1200包括与车辆前方的道路区段对应的第一区域1205。第一区域1205可以定尺寸为使得该第一区域1205可能包含可用于成对对准的可识别特征(例如,车道线),而可能不包含含有不适合用于成对对准的特征的其他移动对象(例如,道路上的其他车辆)。由于透视投影,第一区域虽然与局部区域上的道路的矩形区段对应,但在图像1200中可以呈现为梯形形状。
[0131] 图13示出了根据一些实施方式的已经被正射修正以对透视投影进行补偿的图像的第一区域。图13中示出的经正射修正的第一区域1305可以与图12中所示的图像1200的第一区域1205对应。在一些实施方式中,对每个图像的经正射修正的第一区域分析以识别特征点(对应于拐角、边缘等)。例如,在一些实施方式中,经正射修正的第一区域1305内的特征点可以与车道线的拐角或边缘、道路上的特征(例如,快速移动体、反光体等)等对应。
[0132] 帧的图像的每个经正射修正的第一区域的识别出的特征点可以用于确定与车辆前方的道路区段上的特征对应的帧的特征。在一些实施方式中,可以使用类似于上面图10中描述的处理的处理来执行对帧的特征确定。
[0133] 在一些实施方式中,可以通过对帧的每个图像内的特征点的位置进行三角测量来确定帧的每个特征的3-D位置。在其他实施方式中,因为假定经正射修正的第一区域对应于地平面,所以在不进行三角测量的情况下确定每个特征的3-D位置,而是基于摄像装置或成像装置相对于车辆、地平面法线的位置以及图像内的特征的位置来确定每个特征的3-D位置。在一些实施方式中,使用LIDAR扫描来离线计算地平面法线。在其他实施方式中,使用车辆当前位置的估计根据现有地图在线查询地平面法线,并且假设地平面法线在几米内没有急剧变化。通过基于地平面而不是使用三角测量来确定第一区域内的特征的位置,每帧仅需要一个图像。因此,在一些实施方式中,车辆的成像系统仅需要包含能够捕获相对于车辆的第一区域的单个摄像装置,或者可以包含不形成立体对的一个或更多个摄像装置。
[0134] 尽管可以使用由单个摄像装置捕获的单个图像来确定地平面上的特征的位置,但是在一些实施方式中,可以使用来自附加摄像装置的图像用于改善或补充特征位置确定。例如,通过形成立体对的两个摄像装置观察地平面上的特征可以用于提高所确定的特征位置的准确性或者提高所确定的特征位置的置信度。在一些实施方式中,可以使用立体对图像之间的立体极约束来提高所确定的地平面特征的位置的准确度。另外,当在多个图像上观察时(例如,使用三角测量),可以确定不在地平面上(例如,在第一区域外)的特征的三维位置。
[0135] 一旦确定了多个帧中的每个帧的特征,就可以对不同帧中的特征集合进行相互关联并且用于确定与不同帧对应的时间点之间的车辆姿势的变换。图14示出了根据一些实施方式的可以在不同帧的特征之间确定的对应关系的集合。例如,在一些实施方式中,车辆计算系统可以将第一帧1405的特征绘制到与不同时间点对应的第二帧1410的特征。如图14中所示,第一帧1405和第二帧1410中的每一个可以与接收到帧的经正射修正的区域对应。
[0136] 一旦已经确定了不同帧的特征之间的对应关系,就可以计算帧之间的车辆变换。在一些实施方式中,因为图像的第一区域通常预期包含较少的移动对象,并且因此应该包含很少——如果有的话——异常值特征,所确定的变换可以对应于与彼此不同的帧的特征最接近地对准的变换。
[0137] 在其他实施方式中,可以使用RANSAC和PnP循环来确定不同帧之间的车辆的变换(例如,类似于上面在图11中描述的处理)。例如,可以基于第一帧的采样特征集合和第二帧的相应的特征集合来生成多个候选变换。当通过候选变换进行变换时,通过确定与第二帧的特征匹配的第一帧的特征的数目来评估每个候选变换。基于第一帧和第二帧的匹配特征来对具有最高计数或其他计算度量的候选变换进行选择和优化。
[0138] 在一些实施方式中,每个图像还可以包括与远离车辆(例如,距车辆超过阈值距离)的局部区域的部分对应的第二区域(未示出)。由于远离车辆,因此图像的第二区域可以类似于平面,并且第二区域内的特征的外观可能基本上不受透视投影的影响。在一些实施方式中,可以针对多个帧中的每个帧的第二区域确定一个或更多个特征(下文中称为“远离特征”)。第二区域内的远离特征可以与第一区域的特征结合使用,以确定不同帧之间的变换。
[0139] 由于远离特征远离车辆,因此如果远离特征与车辆的距离改变了几米,则其在捕获图像上的2D投影位置可以保持基本不变。因此,对远离特征的特征点进行三角测量可能导致大量的三角测量误差。相反,使用帧的图像中的远离特征的2-D投影位置来确定和/或评估变换。
[0140] 例如,在一些实施方式中,一旦确定了第一帧和第二帧的第二区域中的特征之间的对应关系,就将所确定的变换应用于第一帧的远离特征。将经变换的特征再投影到第二帧上,以确定针对每个经变换的特征的2-D投影位置。确定每个经变换的特征的2-D投影位置与第二帧上其相应远离特征的2-D投影位置之间的距离,使用该距离计算再投影误差(例如,针对每个特征的计算出的距离的总和)。通过将经变换的特征再投影到第二帧上,并且基于远离特征的2-D投影位置来计算再投影误差,可以抵消大部分三角测量误差。在一些实施方式中,也可以将3D至2D再投影应用于第一区域内的帧的特征。
[0141] 可以直接使用PnP技术或通过对远离特征的PnP算法3D至2D对应关系进行馈送或者通过使用非线性优化器对变换进行优化来解决该变换。在一些实施方式中,对第二区域中的远离特征的使用可以用于对变换的旋转分量进行优化。例如,第一区域的特征虽然对平移敏感但可能无法用于准确地计算旋转。另一方面,帧的远离特征对车辆的旋转敏感,并且因此可以用于确定车辆变换的旋转分量。
[0142] 在一些实施方式中,捕获图像的大部分可能被移动对象(例如,移动的汽车)占据。如果图像的特征的重要部分来自于移动对象,则帧之间的计算出的变换可以是相对于移动对象的,而不是相对于局部区域的静止部分(例如,如果移动对象上的特征多于其他特征,则局部区域静止部分上的特征被认为是异常值)。为了解决该问题,可以使用IMU测量或诸如GPS、物理测距、卡尔曼滤波器等的其他机制结合车辆运动的估计(下文中称为“初始猜测”)来执行成对对准。
[0143] 例如,在确定候选变换的每个RANSAC迭代期间,将候选变换与通过初始猜测估计出的车辆的运动进行比较。如果候选变换的平移或旋转分量与初始猜测相差至少阈值量,则可以认为候选变换是不正确的并且丢弃该候选变换。因为在大多数情况下,车辆的绝对运动与其相对于诸如其他移动车辆的附近移动对象的运动非常不同,所以候选变换与初始猜测运动的比较有助于确保不同帧之间的所确定的变换与车辆的绝对运动对应而不是与相对于其他移动车辆的运动对应。
[0144] 图15是根据一些实施方式的用于执行成对对准的示例处理的流程图。该处理可以由与每个车辆相关联的车辆计算系统(例如,图2中所示的车辆计算系统120)执行。在其他实施方式中,该处理的一个或更多个步骤可以由其他部件例如HD地图系统110的地图创建模块410执行。
[0145] 车辆计算系统接收1505与特定时间点对应的帧,该帧包括至少第一图像。在一些实施方式中,帧的第一图像由朝向车辆前方定向的摄像装置或成像装置捕获,使得图像捕获车辆前方的局部区域的一部分。
[0146] 车辆计算系统识别1510与车辆前方的局部区域的一部分对应的图像的区域。在一些实施方式中,该区域与车辆前方的道路的区段对应。该区域可以被定尺寸为使得该区域可以预期包括局部区域内的可用于执行成对对准的特征,但不包括大多数移动对象(例如,其他车辆)。
[0147] 在一些实施方式中,图像的识别出的区域可能由于透视投影而失真。例如,该区域可以与车辆前方的道路的矩形区域对应,而在图像上表示为基本上梯形。因此,车辆计算系统可以生成1515所接收到的图像的识别出的区域的经正射修正的视图。
[0148] 车辆计算系统确定1520图像的所识别出的区域内的特征。例如,车辆计算系统可以使用一个或更多个特征或角点检测算法来检测图像的区域的经正射修正的视图内的特征。
[0149] 在其中每个帧包括形成立体对的两个或更多个图像的一些实施方式中,车辆计算系统通过对每个图像的经正射修正的视图的相应特征点进行匹配来确定每个帧内的特征。车辆计算系统使用一个或更多个特征检测算法来识别每个图像中的特征点,并确定所识别出的每个特征点的特征描述符。车辆计算系统可以对帧的第一图像中的每个特征点进行分析,并基于他们各自图像中的特征点的位置之间的距离、基于每个特征点的特征描述符的相似度和/或一个或更多个极线约束来确定特征点是否与帧的第二图像的特征点匹配。例如,极线约束可以指定第一图像和第二图像上的特征点可以进行匹配,以仅在这些特征点与第一图像和第二图像位于同一行上时才形成特征。在一些实施方式中,使用类似于上面图10中所示的处理的处理来识别每个帧内的特征。
[0150] 车辆计算系统确定1525帧的每个识别出的特征的3-D位置。在一些实施方式中,基于摄像装置或成像装置相对于车辆的位置、地平面法线以及图像内的特征的位置来确定每个识别出的特征的位置。因此,能够仅使用单个图像来确定特征的3-D位置。
[0151] 在其中帧至少包括形成立体对的两个图像的实施方式中,可以使用三角测量来确定识别出的特征的位置。在其他实施方式中,使用立体对的图像的特征点之间的立体极线约束来改善基于车辆前方的地平面所确定的特征位置的置信度。
[0152] 车辆计算系统确定1530帧的特征与第二帧(例如,帧N-1)的特征之间的对应关系。可以基于与特征相关联的特征描述符来确定每个帧的特征之间的对应关系。另外,在一些实施方式中,可以基于每个特征集合内的特征的位置之间的几何关系来确定第一帧的特征集合与第二帧的特征集合对应。另外,在其中基于立体对中的匹配特征点来确定帧的特征的实施方式中,可以基于与立体特征点匹配相关联的附加信息来改善两个不同帧的特征之间的对应关系。
[0153] 车辆计算系统基于所确定的对应关系确定1535与不同帧对应的不同时间点之间车辆的运动对应的3-D变换。在一些实施方式中,3-D变换对应于将第一帧的特征的位置与第二帧的其相应特征的位置进行最接近地对准的变换。在一些实施方式中,为了减少异常值特征(例如,与移动对象对应的特征)的影响,执行一个或更多个RANSAC迭代,以识别候选变换并基于第一帧的特征的数目来评估每个候选变换。候选变换能够与第二帧的相应特征进行匹配。在一些实施方式中,可以使用类似于图11中描述的处理的处理来执行相应特征和3-D变换的确定。另外,在一些实施方式中,如上所述,3-D变换的确定还可以基于每个帧的第二区域中的一个或更多个远离特征。
[0154] 在一些实施方式中,还可以将每个候选变换与由IMU或其他类型的车辆传感器生成的运动估计进行比较。如果候选变换与所估计的运动相差至少阈值量,则可以自动丢弃该候选变换。这可以完成以便基于与移动对象、阴影和/或将导致确定不同变换的其他类型特征的对应的特征集合来消除候选变换。
[0155] 可以使用所确定的变换来确定车辆的当前姿势,以便随着时间的推移跟踪车辆的位置和运动。在一些实施方式中,可以使用所确定的变换来从先前已知的时间位置起计算航位推算,来对使用LIDAR、GPS或IMU等确定的位置进行补充。在一些实施方式中,在生成车辆周围的局部区域的HD地图时使用所确定的车辆位置。
[0156] 计算机器结构
[0157] 图16是示出能够从机器可读介质读取指令并在处理器(或控制器)中执行指令的示例机器的部件的框图。具体地,图16示出了计算机系统1600的示例形式的机器的图形表示,在该计算机系统中,可以执行用于使机器执行本文中论述的任何一种或更多种方法的指令1624(例如,软件)。在可替选的实施方式中,机器操作为独立的设备或者可以连接(例如,网络连接)至其他机器。在联网部署中,机器可以在服务器-客户端网络环境中以服务器机器或客户端机器的能力运行,或者在对等(或分布式)网络环境中作为对等机器运行。
[0158] 该机器可以是服务器计算机、客户端计算机、个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、智能手机、web设备、网络路由器、交换机或网桥,或者能够执行用于指定该机器要采取的动作的指令1624(顺序地或以其他方式)的任何机器。此外,虽然仅示出了单个机器,但是术语“机器”还应被视为包括单独或联合执行指令1624以执行本文中论述的任何一种或更多种方法的任何机器集合。
[0159] 示例计算机系统1600包括处理器1602(例如,中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、一个或更多个专用集成电路(ASIC)、一个或更多个射频集成电路(RFIC)或其任何组合)、主存储器1604和静态存储器1606,上述部件被配置成经由总线1608彼此通信。计算机系统1600还可以包括:图形显示单元1610(例如,等离子体显示板(PDP)、液晶显示器(LCD)、投影仪或阴极射线管(CRT))。计算机系统1600还可以包括字母数字输入装置1612(例如,键盘)、光标控制装置1614(例如,鼠标轨迹球、操纵杆、运动传感器或其他指示仪器)、存储单元1616、信号生成装置1618(例如、扬声器)和网络接口装置1620、上述部件也被配置成经由总线1608进行通信。
[0160] 存储单元1616包括机器可读介质1622,在机器可读介质1622上存储有实施本文中描述的方法或功能中的任何一个或更多个的指令1624(例如,软件)。指令1624(例如,软件)还可以在由计算机系统1600执行指令1624期间完全或至少部分地驻留在主存储器1604内或处理器1602内(例如,处理器的高速缓冲存储器内),主存储器1604和处理器1602还构成机器可读介质。可以经由网络接口装置1620通过网络1626发送或接收指令1624(例如,软件)。
[0161] 虽然在示例实施方式中将机器可读介质1622示出为单个介质,但是术语“机器可读介质”应当被视为包括能够存储指令(例如,指令1624)的单个介质或多个介质(例如,集中式或分布式数据库,或者相关联的高速缓存和服务器)。术语“机器可读介质”还应被视为包括能够存储用于由机器执行的指令(例如,指令1624)并且使机器执行本文中公开的任何一种或更多种方法的任何介质。术语“机器可读介质”包括但不限于固态存储器、光学介质和磁介质形式的数据存储库
[0162] 附加配置考虑
[0163] 出于说明的目的呈现了本发明的实施方式的前述描述;该描述并非旨在穷举或者将本发明限制于所公开的精确形式。相关领域的技术人员可以理解,鉴于上述公开内容,许多修改和变化是可能的。
[0164] 例如,尽管本文中描述的技术应用于自主车辆,但是该技术还可以应用于其他应用,例如,用于为车辆和驾驶员显示HD地图,用于在诸如移动电话、膝上型电脑、平板电脑或任何具有显示屏的计算设备的客户端装置的显示器上显示HD地图。本文中显示的技术还可以应用于显示用于计算机模拟的地图,例如,在计算机游戏中等。
[0165] 本说明书的一些部分根据对信息的操作的算法和符号表示来描述本发明的实施方式。数据处理领域的技术人员通常使用这些算法描述和表示来将其工作的实质有效地传达给本领域其他技术人员。尽管在功能上、计算上或逻辑上对这些操作进行描述,但是这些操作被理解为由计算机程序或等效电路、微代码等来实现。此外,已经证明,有时不失一般性地将这些操作布置称为模块是方便的。所描述的操作及其相关联的模块可以在软件、固件硬件或他们的任何组合中实施。
[0166] 本文描述的任何步骤、操作或处理可以单独地或者与其他设备结合地执行或者使用一个或更多个硬件模块或软件模块实现。在一个实施方式中,使用包括计算机可读介质的计算机程序产品来实现软件模块,该计算机可读介质包含计算机程序代码,该计算机程序代码可以由计算机处理器执行以执行所描述的任何或所有步骤、操作或处理。
[0167] 本发明的实施方式还可以涉及用于执行本文的操作的装置。该装置可以是为了所需目的而特别构造的,并且/或者该装置可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算设备。这种计算机程序可以存储在有形计算机可读存储介质或适合于存储电子指令的任何类型的介质中,并且耦合到计算机系统总线。此外,说明书中提到的任何计算系统可以包括单个处理器,或者可以是采用用于提高计算能力的多个处理器设计的架构。
[0168] 本发明的实施方式还可以涉及在载波中包含的计算机数据信号,其中计算机数据信号包括本文所述的计算机程序产品或其他数据组合的任何实施方式。计算机数据信号是在有形介质或载波中呈现的并且在载波中被调制或以其他方式编码的产物,计算机数据信号是有形的并且根据任何合适的传输方法来传输。
[0169] 最后,在说明书中使用的语言主要是为了可读性和指导目的而选择的,并且所使用的语言可以不被选择成描绘或限制本发明的主题。因此,旨在本发明的范围将不受该详细描述的限制,而是受到基于本申请的所附任何权利要求的限制。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈