一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

从车辆传感器和相机阵列生成结构化地图数据的制作方法

2021-11-20 05:40:00 来源:中国专利 TAG:

从车辆传感器和相机阵列生成结构化地图数据
1.相关应用的交叉引用本技术要求2019年1月22日提交的u.s.s.n. 16/254,508的优先权,u.s.s.n. 16/254,508通过引用以其整体并入本文。
技术领域
2.本公开总体上涉及将来自传感器和其他输入的结构化地图数据生成为可用于各种机器和人类映射任务的形式。本公开更特别地涉及用于从车辆传感器和相机阵列生成运动和视频数据并处理这样的数据以产生高准确度结构化地图数据的装置和技术,这样的数据如可以用于精确定位其环境中的移动车辆。


背景技术:

3.随着用于自主和半自主车辆的技术进步,需要编码在地图数据结构中的机器可读地图,其使能以足够的准确度和精确度在其环境中定位车辆,以允许例如车辆停留在其车道上或避免撞到路缘或道路障碍物。这样的精确度可能在厘米以内。商业全球定位系统(gps)不提供这样的准确度,并且在需要的时刻中经常不可用,并且意在供人类使用的地图不提供车辆导航将需要的地形数据类型(例如路缘的位置)。意在供车辆导航的地图数据结构——与用于人类导航的地图相反——提供了关于静止对象的丰富数据,以允许车辆避免撞到对象,并允许车辆从静止对象获得其位置。
4.生成这样的地图数据的一种方法是为车辆配备商业lidar阵列,但此类系统可能昂贵。道路附近和道路上的特征可以例如由于道路施工而改变。因为lidar系统昂贵,所以可能除了对于交通最繁忙的道路之外,让地图数据频繁更新通常是不经济的,从而使得地图数据通常已经过时。
5.需要不太昂贵的车辆地图数据源。随着更多地图数据产生,这创建了对于处理地图数据的自动化方法的需要。


技术实现要素:

6.提供了用于收集传感器数据、处理这样的数据以产生高准确度结构化地图数据的装置和方法。该处理可以发生在操作在车辆中或车辆上的传感器设备上、耦合到传感器设备的计算设备上、远程服务器处或这些的某种组合。可以用最少的人类交互以及根据来自廉价传感器的传感器数据来生成高准确度结构化地图数据。高准确度结构化地图数据可以以可用于自主驾驶系统和需要与环境相关的数据的其他系统的形式生成,所述环境诸如是城市街道的室外区域或其他环境。
7.一种生成结构化地图数据的方法可以包括:从安装在车辆上的至少一个传感器接收带时间戳的传感器数据;接收包括至少两个视频流的带时间戳的视频数据,每个视频流由安装在车辆上的至少两个相机的相机产生;以及从带时间戳的传感器数据计算多个空间读取值,每个空间读取值包括位置和相关联的时间戳,使得该位置指示在由相关联的时间
戳指示的时间期间至少一个传感器被认为处于的位置。多个空间读取值可以包括包含位置p0和时间t0的第一空间读取值,以及包含位置p1和时间t1的第二空间读取值。根据带时间戳的视频数据,该系统可以使用处理器为至少两个视频流中的每一个计算多个图像记录,每个图像记录包括图像和相关联的时间戳,使得图像被认为已经在相关联的时间戳被记录。该系统可以进一步使用处理器标识两个t0图像记录,每个t0图像记录从用于至少两个视频流中的每一个的多个图像记录之一中选择,使得至少两个t0图像记录的每个图像记录具有大约等于t0的相关联时间戳。该系统可以使用处理器进一步标识至少两个t1图像记录,每个t1图像记录从用于至少两个视频流中的每一个的多个图像记录之一中选择,使得至少两个t1图像记录的每个图像记录具有大约等于t1的相关联时间戳。然后,该系统可以使用处理器标识存在于至少两个t0图像记录的每一个中和至少两个t1图像记录中的固定特征,并基于至少两个t0图像记录之间的视差差来计算固定特征在时间t0的t0相对特征位置。该系统可以进一步基于至少两个t1图像记录之间的视差差来计算固定特征在时间t1的t1相对特征位置,并且基于t0相对特征位置和t1相对特征位置之间的差来确定对p1的调整。
8.该方法还可以包括使用处理器来标识图像记录中的多个固定特征。对于多个固定特征中的每一个,系统可以基于至少两个图像记录计算固定特征的至少一个相对特征位置,以产生多个相对特征位置。该系统可以通过基于多个相对特征位置确定对多个空间读取值的每个空间读取值的位置的调整来产生多个调整,并且将多个调整应用于多个空间读取值的每个空间读取值的位置,以产生多个经调整的空间读取值。该系统可以检测多个经调整的空间读取值的后一位置是否在多个经调整的空间读取值的前一位置的最大循环闭合距离内,后一位置和前一位置被最小循环时间和最小循环距离之一分离,后一位置与后一时间戳相关联,并且前一位置与前一时间戳相关联。该系统然后可以从多个图像记录中的第一图像记录和第二图像记录中计算循环闭合误差,第一图像记录具有大约等于前一时间戳的相关联时间戳,第二图像记录具有大约等于后一时间戳的相关联时间戳。
9.该方法还可以包括使用循环闭合误差来计算对多个经调整的空间读取值的另外调整。带时间戳的传感器数据可以包括来自安装在车辆中的加速度计的数据,并且使用来自全球定位系统的定时信号将时间戳应用于传感器数据。在该方法的一些实施例中,至少两个相机可以安装在安装在车辆上的相机阵列中。
10.在另一个实施例中,生成结构化地图数据的方法可以包括从安装在车辆上的至少一个传感器接收带时间戳的传感器数据,接收包括至少两个视频流的带时间戳的视频数据,每个视频流由安装在车辆上的至少两个相机的相机产生,以及从带时间戳的传感器数据计算多个空间读取值。每个空间读取值可以包括位置和相关联的时间戳,使得该位置指示在由相关联的时间戳指示的时间期间至少一个传感器被认为处于的位置。根据带时间戳的视频数据,系统可以用处理器为至少两个视频流中的每一个计算多个图像记录,每个图像记录包括图像和相关联的时间戳,使得该图像被认为已经在相关联的时间戳被记录。该系统可以使用处理器来标识与特征相关联的多个特征图像记录,特征图像记录是多个图像记录的子集,使得每个图像记录中的每个图像包含该特征。可以通过从特征图像记录中的每个图像计算相对特征位置来计算多个相对特征位置。该系统可以基于多个相对特征位置产生包括特征的多个位置的点云。
11.该方法还可以从点云计算特征的概率性位置,随着收集到包含特征的更多带时间戳的视频数据,概率性位置的准确度改进。可以将特征的概率性位置与历史地图数据进行比较,以确定特征是否是静止的,并且然后用于更新历史地图数据。
12.该方法还可以使用处理器来标识至少两个t0图像记录,每个t0图像记录从用于至少两个视频流中的每一个的多个图像记录之一中选择,使得至少两个t0图像记录的每个图像记录具有大约等于t0的相关联时间戳。然后,处理器可以用于标识至少两个t1图像记录,每个t1图像记录从用于至少两个视频流中的每一个的多个图像记录之一中选择,使得至少两个t1图像记录的每个图像记录具有大约等于t1的相关联时间戳。可以标识存在于至少两个t0图像记录的每一个中和至少两个t1图像记录中的固定特征。可以基于至少两个t0图像记录之间的视差差来计算固定特征在时间t0的t0相对特征位置。还可以基于至少两个t1图像记录之间的视差差来计算固定特征在时间t1的t1相对特征位置,并且基于t0相对特征位置和t1相对特征位置之间的差,可以确定对p1的调整。
13.该方法还可以包括通过确定对多个空间读取值中的每个空间读取值的位置的调整来产生多个调整,多个调整基于使用处理器在图像记录中标识的多个固定特征的多个相对特征位置。多个调整可以应用于多个空间读取值中的每个空间读取值的位置,以产生多个经调整的空间读取值。多个经调整的空间读取值的后一位置可以被检测为在多个经调整的空间读取值的前一位置的最大循环闭合距离内,后一位置和前一位置被最小循环时间和最小循环距离之一分离。可以基于后一位置、与后一位置相关联的时间戳、前一位置和前一位置的时间戳,从带时间戳的视频数据中计算循环闭合误差。
14.循环闭合误差可以用于计算点云中至少一个位置的调整。带时间戳的传感器数据可以包括来自安装在车辆中的惯性测量单元的数据和来自安装在车辆中的全球定位系统的时间戳。
15.一种用于生成结构化地图数据的系统可以包括具有时间源、收集传感器数据的传感器和至少两个相机的阵列的车辆,每个相机产生视频流,其中来自时间源的时间戳被应用于传感器数据以产生带时间戳的传感器数据,并且应用于每个视频流以产生带时间戳的视频数据。传感器数据处理系统可以接收带时间戳的传感器数据和带时间戳的视频数据,并执行以下一系列步骤。根据带时间戳的传感器数据,该系统可以计算多个空间读取值,每个空间读取值包括位置和相关联的时间戳,使得该位置指示在由相关联的时间戳指示的时间期间至少一个传感器被认为处于的位置,多个空间读取值包括第一空间读取值和第二空间读取值,第一空间读取值包括位置p0和时间t0,第二空间读取值包括位置p1和时间t1。根据带时间戳的视频数据,该系统可以为至少两个视频流中的每一个计算多个图像记录,每个图像记录包括图像和相关联的时间戳,使得图像被认为已经在相关联的时间戳被记录。该系统可以使用处理器来标识至少两个t0图像记录,每个t0图像记录从用于至少两个视频流的每一个的多个图像记录之一中选择,使得至少两个t0图像记录的每个图像记录具有大约等于t0的相关联时间戳。该系统然后可以使用处理器来标识至少两个t1图像记录,每个t1图像记录从用于至少两个视频流中的每一个的多个图像记录之一中选择,使得至少两个t1图像记录的每个图像记录具有大约等于t1的相关联时间戳。该系统可以使用处理器来标识存在于至少两个t0图像记录的每一个中和至少两个t1图像记录中的固定特征。该系统然后可以基于至少两个t0图像记录之间的视差差计算固定特征在时间t0的t0相对特征位置,
并且然后基于至少两个t1图像记录之间的视差差计算固定特征在时间t1的t1相对特征位置。基于t0相对特征位置和t1相对特征位置之间的差,该系统可以确定对p1的调整。
16.该系统的传感器数据处理可以进一步通过确定对多个空间读取值中的每个空间读取值的位置的调整来产生多个调整,多个调整基于使用处理器在图像记录中标识的多个固定特征的多个相对特征位置。传感器数据处理可以进一步将多个调整应用于多个空间读取值中的每个空间读取值的位置,以产生多个经调整的空间读取值。传感器数据处理可以进一步检测多个经调整的空间读取值的后一位置是否在多个经调整的空间读取值的前一位置的最大循环闭合距离内,后一位置和前一位置被最小循环时间和最小循环距离之一分离。传感器数据处理可以基于后一位置、与后一位置相关联的时间戳、前一位置和前一位置的时间戳,从带时间戳的视频数据计算循环闭合误差。
17.该系统使用循环闭合误差来计算对多个经调整的空间读取值的另外调整。
18.该系统的传感器数据处理可以进一步使用处理器来标识与特征相关联的多个特征图像记录,特征图像记录是多个图像记录的子集,使得对于特征图像记录中的每个时间戳,与时间戳相关联的至少一个图像包含特征。传感器数据处理可以进一步通过从特征图像记录中的每个图像计算相对特征位置来计算多个相对特征位置,并基于多个相对特征位置产生包括特征的多个位置的点云。
19.该系统可以从点云计算特征的概率性位置,随着收集到包含特征的更多带时间戳的视频数据,概率性位置的准确度改进。可以将特征的概率性位置与历史地图数据进行比较,以确定该特征是否是静止的。
20.收集传感器数据的传感器可以包括加速度计和陀螺仪,并且时间源是全球定位系统。
21.下面的详细描述连同附图将提供对本发明的性质和优点的更好理解。
附图说明
22.将参考附图描述根据本公开的各种实施例,其中:图1示出了根据一个实施例的方法。
23.图2示出了用于相机阵列的底座。
24.图3示出了示例性计算系统。
具体实施方式
25.在以下详细描述中,将描述各种实施例。出于解释的目的,阐述了具体的配置和细节,以便提供对实施例的透彻理解。然而,对于本领域技术人员而言还将清楚的是,实施例可以在没有具体细节的情况下被实践。此外,可以省略或简化公知的特征,以免模糊所描述的实施例。
26.本文描述和建议的一些方法和装置提供了(1)生成原始车辆传感器数据,(2)处理车辆传感器数据以产生结构化地图数据,以及(3)将新的结构化地图数据与历史地图数据进行比较。这些过程可以用于产生结构化地图数据。在产生结构化地图数据之后,可以对其进行翻译或以其他方式进行处理,以适合地图数据的特定用例或客户。在一个实施例中,这些过程被顺序执行,其中原始车辆传感器数据被收集并存储在车辆上,但是方法不限于此。
同时收集和传输(例如,蜂窝数据传输)是可能的,车辆上的自动化处理也是可能的。
27.尽管本公开是针对诸如汽车的车辆进行的,但是本领域技术人员将认识到,这些方法不局限于此,并且可以用于例如构造用于飞行器或潜水器的结构化地图数据。本公开还涉及使用视频相机的收集,作为示例,该视频相机可以适于使用声纳(声音导航和测距)。尽管一个实施例使用视频相机来避免lidar的费用,并且出于其他原因,一些方法和技术适用于处理与使用lidar、雷达或其他传感器收集的数据等同的传感器数据。
28.如本文使用的,“传感器数据”是指可以以电子方式和/或以对应于传感器检测到的信号的计算机可读形式表示的数据。示例包括相机、静态相机、光传感器、距离传感器、陀螺仪、加速度计、罗盘检测器、水平检测器、电压传感器、电流传感器等。典型地,来自这些传感器的信号被数字化,并且然后可以被存储在计算机存储器中,或者通过数字数据传送信道被传输,该数字数据传送信道如可以存在于安装在车辆中或车辆上的设备与位于附近的智能电话或其他计算设备之间,或者如可以存在于设备和/或计算设备与远程服务器或设备之间,如例如由蜂窝电话信道提供。
29.相机通常能够捕获照射到相机传感器上的光的电子表示,以便捕获通常在相机前面(在定向相机的情况下)或在相机视野内(对于全向相机)的场景的图像。如果图像是在单个时间点拍摄的,则该图像可以是静止图像,并且如果图像是随时间按序列捕获的,则这可以由视频序列(为简洁起见,通常仅称为“视频”)来表示,该视频序列可以作为存储的视频来存储,或者作为视频流来传输或流传送,等等。
30.因此,相机捕获其中相机指向或定位的场景的图像(静止图像、视频等)。捕获的场景可以是其中相机正在操作的环境的一部分。在一个示例中,相机安装在车辆上,并且当车辆在城市或其他地理位置周围行驶时面向前方,并且相机捕获在车辆前方(并且在360度相机的情况下,可能是侧面和甚至后面)场景的图像。典型地,简单的相机具有用于捕获场景的二维(2d)视图的单个相机传感器,并且多个此类相机可以被使用并且间隔开以添加深度感知组件。
31.一些传感器感测车辆运动。这些传感器可能包括陀螺仪、加速度计、罗盘等。这些车辆运动传感器的输出产生车辆运动数据,并且可以连同从车辆控制和管理计算机系统获得的数据(例如,速度计或发动机参数)一起在处理和/或记录中使用,所述数据通常从车载诊断系统可获得。
32.车辆位置传感器可以包括传感器,诸如gps设备、差分gps设备、蜂窝位置数据传感器、伽利略设备、glonass设备、其他基于卫星的定位系统和专有的基于无线电的系统。这些传感器生成车辆位置数据,但是通常对于产生用于车辆导航的结构化地图数据具有不够高的准确度。车辆传感器数据统称为车辆运动数据、车辆位置数据、车辆图像数据以及可能的其他数据。
33.其中车辆行驶的城市或其他地理位置将是从中拍摄场景的环境。场景可能包括显著的特征,诸如其他汽车、车道标记、其他街道标记、标志、路缘、行人、动物、天空、雨以及该环境中存在的其他元素。那些元素中的一些元素可能相对于道路移动,而其他元素是静止的。有些可能在视频捕获时段期间看起来是静止的,但实际上在其他时间是可移动和移动的。
34.由于例如相对于背景的边缘或突出,路径特征或仅仅被传感器检测为适合检测的
特征。固定特征是基于大小、形状或位置具有是固定的高概率。例如,交通车道上的汽车形状特征在其移动时具有成为固定特征的低概率。远离交通车道的树或街道标志形状的特征具有成为固定特征的更高概率。地标特征是已经被映射并且具有是静止的高概率的特征。示例是街道标志(例如停车标志)、灯柱、树干和建筑物。对于地标特征的不良选择的示例是停放的汽车,它可能移动。
35.结构化地图数据优选地具有通常在道路上或附近的静止对象的高准确度位置数据,通常供自主或半自主车辆使用以导航和确定其位置。
36.在一个实施例中,生成原始传感器数据的过程利用包括已经使用已知场景校准的至少两个相机的相机阵列来执行。例如,相机可能已经被安装在将被附接到车辆的外壳中,一旦相机被安装,它们就具有相对于彼此相对固定的位置和取向。相机阵列可以安装在刚性支撑相机的阵列底座中。阵列底座可以安装在车辆中的不同位置中,例如后视镜上方、车辆前方(例如保险杠上)。阵列也可以面向后或面向侧。阵列可以安装在车辆的顶部、乘客舱的外部。
37.如果外壳被放置在相机视野内的已知场景中,诸如具有基准点、标记、参考和/或类似物的场景被放置在项目之间具有预定距离的特定位置,则可以发生校准。通过处理来自相机的图像,校准处理器可以确定来自不同相机的视图如何不同,并且该信息可以作为校准数据存储在计算机存储器中,以便稍后用于解释相机输出。
38.安装在车辆上的相机可以使用内部校准、外部校准和/或自动校准进行校准。内部校准校准了一个相机或一种型号的相机。内部校准可以通过拍摄已知场景的图像或视频并且根据结果得到的图像或视频计算相机的参数来完成。外部校准是指相机阵列的校准。相机可以安装在刚性底座上,从而提供相机相对于彼此的固定位置。如上所述,可以拍摄已知场景的图像或视频来相对于彼此校准相机。自动校准是指当接收和处理来自安装在车辆中的相机阵列的图像数据时发生的连续校准。来自每个相机的图像或视频可以彼此进行比较,并与来自相同相机阵列或其他相机阵列的先前图像进行比较,以校准相机,从而计及阵列中的移动和阵列在车辆内的安装。
39.来自每个相机的视频数据可以通过例如gps脉冲来同步。来自每个相机的视频也可以用来自gps数据或另一个时间源的时间戳来标记。为了使能处理数据并确保路径中的特征被充分覆盖,车辆可以行驶多次覆盖相同路径的路线,从而允许拍摄相同场景的多个图像。这解决了其他车辆的遮挡或诸如镜头眩光的光学问题。它还允许评估循环闭合误差,这将在下面更详细地描述。车辆位置数据和车辆运动数据被保存在车辆上或被传输以进行处理。
40.在车辆行驶或以其他方式操纵路线之前,生成路线。可以生成路线,以例如通过让路线多次覆盖路线内的相同路径来促进具有相同场景的多个视图。这些路径可能彼此交叉,从而形成循环。可以将该路线提供给被分配沿着路线捕获传感器数据的驾驶员。
41.车辆路线是给车辆操作员的路线,用于驾驶或以其他方式引导车辆通过。路线可能包括一个或多个较小的区段或路径。作为示例,驾驶员可能被分配包括四个路径的路线,每个路径包括绕城市街区的相同圈。然后,计算系统可以比较四个路径,以填充在绕街区一圈期间由于例如送货卡车的遮挡而错过的任何部分中。
42.在路线行驶期间,原始传感器数据可以存储在例如硬盘驱动器(例如,固态或闪存
驱动器)上。当wi

fi或物理lan连接可用时,数据可以在路线行驶期间通过蜂窝传输被上传,或者在路线行驶之后被传送。数据还可以被传送到硬盘驱动器、闪存或其他便携式存储介质,然后可以被递送到具有传感器数据处理系统的设施进行处理。
43.一旦接收到数据,传感器数据处理系统就对数据执行类似于同时定位和映射(slam)的过程,以产生结构化地图数据。传感器数据处理系统可以在车辆上实时处理数据,或者在车辆已经完成行驶路线之后处理存储的数据。
44.在接近路线起点时,车辆的初始位置在三维坐标系中被标识,诸如(纬度、经度、高度)或(x,y,z)。也可以标识初始取向(滚转、俯仰、偏航)。例如,可以通过将来自当前视频数据的视频与历史地图数据、来自蜂窝位置数据或来自另一位置源的视频进行比较,从gps数据中确定初始位置。可以通过将来自当前视频的视频与历史数据或来自另一个源的视频进行比较,从加速度计和陀螺仪数据确定初始取向。从起始点,车辆运动传感器数据可以用于航位推算(dead reckon)车辆移动到的推断位置。相机数据然后被用于标识特征,并且根据相机相对于特征的位置改变,来自运动传感器的航位推算位置被更新。重复该过程以生成沿着车辆路径的一系列校正位置。航位推算的过程有时被称为测程法(odometry)。
45.有利的是,车辆路线可以被设计成穿过相同的位置,因此路径将近似重叠自身,并且从而形成循环闭合。在这点上,可以计算循环闭合误差。
46.虽然车辆运动传感器可以生成车辆运动数据,但这些传感器不直接提供位置。然而,数据可以被处理以确定位置。例如,速度读数可以积分以提供位置,并且来自加速度计的惯性数据可以积分两次以提供位置。这样的处理可加重测量中的误差。
47.当观察到两个点彼此之间的距离小于最大循环闭合距离时,可以观察到路径与其自身的交叉。为了避免在形成循环时检测在时间上接近的点,诸如连续的观察,在检测循环闭合之前,可能需要所覆盖的最小量时间(最小循环时间)或距离(最小循环距离)。根据循环闭合误差,可以计算原始运动传感器中的误差,并贯穿路径应用校正。如果路线包括通过相同路径的多个行程,则可以合并来自通过路径的多个行程的数据,以相对于彼此校正路径。可以标识在重复访问相同路径之间未改变的地标特征。道路特征(例如,路缘、道路标志、其他静止对象)可以被标识和注释以产生结构化地图数据。
48.一旦产生来自路线的结构化地图数据,就可以将其与历史数据进行比较,以消除不静止的特征(例如,在行驶路线期间静止但可能移动的停放的汽车)并更新历史地图。例如,可以添加或移除街道标志,并且施工可以永久地修改道路。
49.然后,更新的历史地图数据可以以规范的形式存储,然后可以将其转化成适用于专有地图系统的数据格式。
实施例
50.在一个实施例中,内部校准的相机安装在相机阵列中,所述相机在阵列内被外部校准。当车辆沿着路线行进时,安装在阵列上的相机捕获视频。
51.可以使用gps信号同步相机。尽管gps信号本身通常不够准确,不能为车辆导航提供足够高的准确度,但是gps时间信号足够准确,以允许不同的图像或视频数据同步,例如用时间戳标记视频数据,以允许处理不同的视频馈送,使得可以照此处理大体上同时拍摄的图像。
52.车辆运动传感器同时记录运动数据。车辆运动传感器可以安装在包含该相机阵列的底座中,或者可以在单独的设备中。传感器数据也可以从诸如蜂窝电话的另一个设备导出。在一个实施例中,包括加速度计、陀螺仪和gps的惯性测量单元(imu)安装在相机阵列底座中,并且该单元的gps信号用于同步相机以及给所有车辆传感器数据打上时间戳。所有传感器和视频数据的gps时间戳帮助传感器数据处理系统在处理期间关联视频数据和传感器数据,从而将视频数据与传感器数据融合以形成融合数据。
53.在一个实施例中,可以存在由个体的gps信号或由共享的gps信号触发的多个安装。
54.在一个实施例中,车辆在其上行进的路线可以被选择为多次重复一个或多个路径,从而形成至少一个循环闭合,所述至少一个循环闭合可以被重复驱动。
55.数据可以在收集期间被上传到数据存储(例如,通过蜂窝数据),或者可以被存储在车辆上并且稍后当lan连接或wi

fi连接可用时上传。替代地,当车辆停放在收集设施处时,或者通过将硬盘驱动器或闪存驱动器运送到收集设施,数据可以被物理地递送。
56.一旦接收到数据,传感器数据就被处理以“航位推算”车辆的位置。可以通过使用gps信号、将视频与历史地图数据进行比较或通过其他方式来导出初始位置p0(在时间t0)。从该初始位置,可以使用车辆移动数据导出车辆的新位置p1(在时间t1)。例如,距离可以通过对加速度积分两次来计算。可以通过如下各项来计算车辆的初始速度:选择当车辆停止时的初始位置、通过使用gps数据计算车辆的初始速度、通过使用视频数据计算车辆的初始速度或者通过使用车辆的车载诊断确定车辆的速度。可以通过将陀螺仪数据与加速度计数据组合来确定方向的改变。也可以使用来自磁罗盘的数据。将该数据组合产生了车辆的新位置p1,带有一些误差因子。然后可以使用视频数据来检查和校正该新位置p1。在视频数据中标识出在p0处看起来静止的特征。在时间t
1 ,那些特征的对齐可以用来确定车辆的新位置是什么。因为存在至少两个相机,所以相同特征的相机视图之间的视差差可以用来确定其距离,并且相同特征的两个不同视图允许确定车辆的位置的改变,并与基于车辆运动数据计算的位置进行比较。这样,传感器数据处理系统基于视频数据中特征的相对移动来更新从融合数据计算的位置,其中融合数据从传感器数据导出,以创建车辆和特征的准确位置数据。当传感器数据处理系统校正位置数据时,它检测传感器数据中的偏差,并使用更新的位置数据来校正它们。当视频数据被处理时,可能的特征可以通过边缘检测或其他计算机视觉技术来检测。
57.在一个实施例中,包括惯性数据的车辆运动数据用于产生原始位置数据,诸如p1的原始位置。在计算原始位置p1之后,使用视频数据对其进行校正(更新)。惯性数据可能主要依赖于陀螺仪和加速度计产生的数据。该数据可能来自imu。
58.注意,位置数据可以包括轨迹数据,诸如滚转、俯仰和偏航或者x、y、z或其他坐标系中的速度,以及x、y、z坐标系或其他坐标系中的空间中的位置。
59.沿着路径重复根据传感器数据计算位置并根据视频数据对其进行校正的过程,对于每一秒的视频数据可能进行重复多次,例如以视频相机的每秒帧数(fps)为单位的帧速率(例如,24 fps)。
60.有利的是,路线被确定为包括闭合路径。当传感器数据处理系统确定车辆已经穿过车辆的路径(已经到达相同位置两次)时,传感器数据处理系统可以例如通过将gps坐标
与先前的gps坐标匹配、通过匹配视频场景、通过将取向与已知特征匹配或者通过另一种地图匹配技术来确定循环闭合误差。一旦检测到循环闭合,计算位置中的累积误差就是已知的,并且可以通过更新先前的位置来被校正,使得在循环闭合时,在路径端部计算的位置基本上与在路径开始计算的位置相同。这允许减少轨迹漂移。可以计算轨迹漂移校正,并将传感器中的任何偏差应用于未来的传感器数据。在一个实施例中,基于从视频数据计算的位置中的差来计算循环闭合误差。这可以通过使用特征和视差将来自第一次通过循环的图像与来自第二次通过循环的图像进行比较来完成。
61.有利的是,路线可以被给予驾驶员,以对路径的相同部分进行多次循环闭合和多次重新访问。形成不同循环的不同路径可以共享每个路径的重叠区段。
62.在一个实施例中,相机阵列中的两个相机之间的距离大约为50 cm,这在定位比大约20 m近的对象中提供了一些准确度。车辆的移动增强了定位对象,使得当在远处检测到特征时,其距离和精确位置存在很大的不确定性,但是随着在连续的视频帧中重复检测到该特征,其距离和位置变得越来越确定,特别是当车辆变得越来越接近对象时。也就是说,当从不同位置重复检测特征时,并且特别是当车辆变得越来越接近并经过对象时,与特征相对应的对象的可能位置的点云缩小。注意,即使更快移动的车辆可能具有更少的拍摄特征的图像帧,结果得到的点云也可以与对对象位置的估计一样准确,因为对象位置准确度的主要决定因素是位置的改变。在极端情况下,静止的车辆不提供关于图像中特征的很大改进的位置信息。为此,在一个实施例中,视频流可以当检测到车辆静止时停止,并且然后一旦车辆移动就重新开始。地图合并一旦从路线创建了地图,地图合并系统就可以将地图与历史地图合并。该地图可以存储在由服务器维护的地图数据库中或在车辆上。历史地图可以存储在服务器上。
63.在一个实施例中,地图合并系统编辑新创建的地图以移除错误的特征,诸如在新地图中看起来静止但基于历史数据实际上是瞬时的那些特征。在另一个实施例中,地图合并系统将新创建的地图与历史地图合并,以创建更新的历史地图。在任一情况下,分析的第一步骤是在新地图(从行驶路线的最新输出)和历史地图之间的改变检测。地图合并系统可以向改变的特征分配作为静态的改变相对于作为瞬时的改变的概率。在任一地图中的洞都可以被填充。例如,停放的卡车可以具有新地图的遮挡部分。停放的卡车被检测为具有是应当被移除的瞬时特征的高概率。在移除特征之后,来自其他地图的历史数据填充在从新地图中移除停放的卡车所创建的洞中。为了将新创建的地图与历史地图合并,地图合并系统可以精确地对齐地图,使得对齐误差不被视为特征的改变。例如,地图未能正确对齐可能导致街道标志出现移动或增长。
64.图1图示了根据一个实施例的方法。在步骤100,该方法开始。在步骤101中,当车辆行驶路线时,收集车辆传感器数据。数据存储在车辆上的硬盘驱动器或其他存储设备上。在步骤102,数据被上传到数据处理系统。在步骤103,传感器数据处理系统从车辆传感器数据生成结构化地图数据。在步骤104,数据以规范形式存储。在步骤105,该方法结束。
65.图2图示了根据一个实施例的相机阵列底座200。相机阵列底座包括安装在相机阵列底座内部的四个相机202、204、206和208。相机安装阵列安装在车辆(诸如汽车)中接近前挡风玻璃的乘客舱中,并围绕后视镜210。
示例性系统根据一个实施例,本文描述的技术由一个或多个通用计算系统来实现,所述一个或多个通用计算系统被编程为依据固件、存储器、其他存储装置或其组合中的程序指令来执行技术。可以使用专用计算设备,诸如台式计算机系统、便携式计算机系统、手持设备、联网设备或者并入硬连线和/或程序逻辑来实现技术的任何其他设备。
66.例如,图3是图示可以在其上实现本发明实施例的计算机系统300的框图。计算机系统300包括用于传送信息的总线302或其他通信机制,以及与总线302耦合用于处理信息的处理器304。处理器304可以是例如通用微处理器。
67.计算机系统300还包括耦合到总线302的主存储器306,诸如随机存取存储器(ram)或其他动态存储设备,用于存储信息和将由处理器304执行的指令。主存储器306还可以用于在处理器304执行指令期间存储临时变量或其他中间信息。此类指令当被存储在对处理器304可访问的非暂时性存储介质中时,将计算机系统300呈现为专用机器,该专用机器被定制为执行指令中指定的操作。
68.计算机系统300进一步包括耦合到总线302的只读存储器(rom)308或其他静态存储设备,用于为处理器304存储静态信息和指令。诸如磁盘或光盘的存储设备310被提供并耦合到总线302,用于存储信息和指令。
69.计算机系统300可以经由总线302耦合到显示器312、诸如计算机监视器,用于向计算机用户显示信息。包括字母数字键和其他键的输入设备314耦合到总线302,用于向处理器304传送信息和命令选择。另一种类型的用户输入设备是诸如鼠标、轨迹球或光标方向键之类的光标控制部316,用于向处理器304传送方向信息和命令选择,并用于控制显示器312上的光标移动。该输入设备通常在两个轴上具有两个自由度,第一轴(例如,x)和第二轴(例如,y),这允许设备指定平面中的位置。
70.计算机系统300可以使用定制的硬连线逻辑、一个或多个asic或fpga、固件和/或程序逻辑来实现本文描述的技术,所述逻辑与计算机系统相组合使得或编程计算机系统300成为专用机器。根据一个实施例,响应于处理器304执行包含在主存储器306中的一个或多个指令的一个或多个序列,计算机系统300执行本文的技术。此类指令可以从诸如存储设备310的另一存储介质读入主存储器306。主存储器306中包含的指令序列的执行使得处理器304执行本文描述的处理步骤。在替代实施例中,可以使用硬连线电路来代替软件指令或者与软件指令相组合。
71.如本文使用的术语“存储介质”是指存储数据和/或指令的任何非暂时性介质,所述数据和/或指令使得机器以特定方式操作。这样的存储介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘,诸如存储设备310。易失性介质包括动态存储器,诸如主存储器306。存储介质的常见形式包括例如软盘、软磁盘、硬盘、固态驱动器、磁带或任何其他磁性数据存储介质、cd

rom、任何其他光学数据存储介质、具有孔图案的任何物理介质、ram、prom、eprom、flash

eprom、nvram、任何其他存储器芯片或盒。
72.存储介质不同于传输介质,但可以与传输介质组合使用。传输介质参与存储介质之间的信息传输。例如,传输介质包括同轴线缆、铜线和光纤,包括构成总线302的导线。传输介质也可以采用声波或光波的形式,诸如在无线电波和红外数据通信期间生成的声波或光波。
73.在将一个或多个指令的一个或多个序列运送到处理器304以供执行中,可以涉及各种形式的介质。例如,最初可以将指令运送到远程计算机的磁盘或固态驱动器上。远程计算机可以将指令加载到其动态内存中,并通过网络连接发送指令。在计算机系统300本地的调制解调器或网络接口可以接收数据。总线302将数据运送到主存储器306,处理器304从主存储器306检索并执行指令。由主存储器306接收的指令可以可选地在由处理器304执行之前或之后存储在存储设备310上。
74.计算机系统300还包括耦合到总线302的通信接口318。通信接口318提供耦合到网络链路320的双向数据通信,网络链路320连接到本地网络322。例如,通信接口318可以是综合业务数字网(isdn)卡、线缆调制解调器、卫星调制解调器或调制解调器,以提供到对应类型电话线的数据通信连接。也可以实现无线链路。在任何这样的实现中,通信接口318发送和接收携带表示各种类型信息的数字数据流的电、电磁或光信号。
75.网络链路320通常通过一个或多个网络向其他数据设备提供数据通信。例如,网络链路320可以通过本地网络322提供到主机324或由互联网服务提供商(isp)326操作的数据装备的连接。isp 326进而通过现在通常称为“因特网”328的全球分组数据通信网络提供数据通信服务。局域网322和因特网328都使用携带数字数据流的电、电磁或光信号。通过各种网络的信号和网络链路320上的信号以及通过通信接口318的信号是传输介质的示例形式,所述信号携带去往和来自计算机系统300的数字数据。
76.计算机系统300可以通过(一个或多个)网络、网络链路320和通信接口318发送消息和接收数据,包括程序代码。在因特网示例中,服务器330可以通过因特网328、isp 326、本地网络322和通信接口318传输应用程序的请求代码。接收到的代码可以在它被接收时由处理器304执行,和/或存储在存储设备310或其他非易失性存储装置中以供以后执行。
77.本文描述的过程的操作可以以任何合适的次序执行,除非本文另有指示或者以其他方式与上下文明显矛盾。本文描述的过程(或其变型和/或组合)可以在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可以通过硬件或其组合实现为在一个或多个处理器上共同执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)。该代码可以例如以包括由一个或多个处理器可执行的多个指令的计算机程序的形式存储在计算机可读存储介质上。计算机可读存储介质可以是非暂时性的。
78.诸如“a、b和c中的至少一个”或“a、b和c中的至少一项”形式的短语之类的连接语言除非特别另有声明或者以其他方式与上下文明显矛盾,否则与通常用于表示该项目、术语等的上下文一起理解,可以是a或b或c或者a和b和c的集合的任意非空子集。例如,在具有三个成员的集合的说明性示例中,连接短语“a、b和c中的至少一个”和“a、b和c中的至少一项”是指以下集合中的任何集合:。因此,这样的连接语言通常不意图暗示某些实施例要求至少一个a、至少一个b和至少一个c均存在。
79.本文提供的任何和所有示例或示例性语言(例如,“诸如”)的使用仅仅意图更好地说明本发明的实施例,并且不对本发明的范围提出限制,除非另有声明。说明书中的任何语言都不应被解释为指示任何未要求保护的元素对于本发明的实践是必要的。
80.在前述说明书中,已经参考许多具体细节描述了本发明的实施例,所述具体细节可能因实现方式而异。因此,说明书和附图被认为在说明性的意义上,而不是在限制性的意
义上。本发明范围的唯一和排他的指示符以及申请人意图的本发明范围的内容是从本技术发出的权利要求集的字面和等同范围,以此类权利要求发出的特定形式,包括任何后续的校正。
81.在阅读了本公开之后,本领域普通技术人员可以设想另外的实施例。在其他实施例中,可以有利地进行以上公开的发明的组合或子组合。出于说明的目的示出了组件的示例布置,并且应当理解,在本发明的替代实施例中设想组合、添加、重新布置等。因此,虽然已经参考示例性实施例描述了本发明,但是本领域的技术人员将认识到许多修改是可能的。
82.例如,本文描述的过程可以使用硬件组件、软件组件和/或其任何组合来实现。因此,说明书和附图被认为在说明性的意义上,而不是在限制性的意义上。然而,将清楚的是,在不脱离如权利要求书中阐述的本发明的更宽的精神和范围的情况下,可以对其进行各种修改和改变,并且本发明旨在覆盖在以下权利要求书的范围内的所有修改和等同物。
83.包括出版物、专利申请和专利的本文引用的所有参考文献特此通过引用并入,以好似与每个参考文献都被单独和具体地指示为通过引用并入并且以其整体在本文中阐述相同的程度。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献