CN110869981B - 用于自主车辆的高清晰度地图数据的向量数据编码 - Google Patents

用于自主车辆的高清晰度地图数据的向量数据编码 Download PDF

Info

Publication number
CN110869981B
CN110869981B CN201780085909.3A CN201780085909A CN110869981B CN 110869981 B CN110869981 B CN 110869981B CN 201780085909 A CN201780085909 A CN 201780085909A CN 110869981 B CN110869981 B CN 110869981B
Authority
CN
China
Prior art keywords
vehicle
map
value
sensor
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201780085909.3A
Other languages
English (en)
Other versions
CN110869981A (zh
Inventor
马克·达蒙·惠乐
杨林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nvidia Corp
Original Assignee
Nvidia Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of CN110869981A publication Critical patent/CN110869981A/zh
Application granted granted Critical
Publication of CN110869981B publication Critical patent/CN110869981B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • G01C21/30Map- or contour-matching
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3841Data obtained from two or more sources, e.g. probe vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3848Data obtained from both position sensors and additional sensors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/3867Geometry of map features, e.g. shape points, polygons or for simplified maps
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/387Organisation of map data, e.g. version management or database structures
    • G01C21/3874Structures specially adapted for data searching and retrieval
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/86Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • G01S17/90Lidar systems specially adapted for specific applications for mapping or imaging using synthetic aperture techniques
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/20Contour coding, e.g. using detection of edges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G06V20/582Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of traffic signs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G06V20/584Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of vehicle lights or traffic lights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/588Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R11/00Arrangements for holding or mounting articles, not otherwise provided for
    • B60R11/04Mounting of cameras operative during drive; Arrangement of controls thereof relative to the vehicle
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C11/00Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
    • G01C11/02Picture taking arrangements specially adapted for photogrammetry or photographic surveying, e.g. controlling overlapping of pictures
    • G01C11/025Picture taking arrangements specially adapted for photogrammetry or photographic surveying, e.g. controlling overlapping of pictures by scanning the object
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files

Abstract

实施方式涉及用于对由自主车辆捕获的传感器数据进行有效地编码并使用编码的传感器数据创建高清晰度地图的方法。传感器数据可以是表达为多个图像表示的LiDAR数据。包括重要LiDAR数据的图像表示经历无损压缩,而包括更容错的LiDAR数据的图像表示经历有损压缩。因此,压缩的传感器数据可以被传输到在线系统以创建高清晰度地图。在创建高清晰度地图时,构造诸如道路标志和道路标线的实体,使得在编码和压缩时,高清晰度地图消耗较少的存储空间。在高清晰度地图中相对于参考中心线来表达实体的位置。因此,与传统方法相比,实体的每个位置可以用更少的数位来表达。

Description

用于自主车辆的高清晰度地图数据的向量数据编码
相关申请的交叉引用
本申请要求2016年12月30日提交的第62/441,065号临时美国申请的权益,其整体通过引用并入本文。
技术领域
本公开内容总体上涉及用于自主车辆的地图,并且更具体地涉及对用于生成高精度的高清晰度地图的数据进行编码以用于自主车辆的安全导航。
背景技术
自主车辆——也称为自动驾驶车、无人驾驶车、自动或机器人车——从源位置行驶到目的地位置而不需要人类驾驶员来控制车辆和对车辆进行导航。由于若干原因,驾驶自动化很困难。例如,自主车辆使用传感器即时做出驾驶决策,但车辆传感器无法时刻观察到所有事物。车辆传感器可能被拐角、连绵起伏的山丘和其他车辆遮挡。车辆传感器可能没有足够早地观察到某些事情从而做出决定。此外,由于道路上可能缺少车道和标志,或者车道和标志被撞倒或被灌木隐藏,因此传感器无法检测到该车道和标志。此外,用于路权的道路标志可能不容易被看到以确定车辆可能会来自哪里,或者在紧急情况下或者当存在必须通过的停止的障碍物时突然转向或移出车道。
自主车辆可以使用地图数据而不是依赖于传感器数据来确定上述信息中的一些信息。然而,传统地图具有若干缺点,使得它们难以用于自主车辆。例如,地图不提供安全导航所需的精度水平(例如,10厘米或更小)。GPS系统提供大约3-5米的精度,但是具有导致超过100米的距离精度的大误差状况。这使得准确确定车辆的位置变得具有挑战性。
此外,传统地图由勘测团队创建,勘测团队使用如下驾驶员:所述驾驶员具有被特别装备且具有高分辨率传感器的车,车在地理区域到处行驶并进行测量。测量值被带回,并且地图编辑团队根据测量值来汇编地图。该过程昂贵且耗时(例如,可能花费几个月来完成地图)。因此,使用这种技术汇编的地图不具有最新数据。例如,道路以每年大约5-10%的频率被更新/修改。但勘测车昂贵并且数量有限,因此无法捕获这些更新的大部分。例如,勘测车队可能包括一千辆车。对于美国的一个州来说,一千辆车可能无法保持地图定期更新以实现安全的自动驾驶。因此,维护地图的传统技术无法对于自主车辆的安全导航提供足够准确且最新的正确数据。
发明内容
实施方式涉及传感器数据的收集、处理和有效编码。虽然随后的描述具体涉及对可用于为自主车辆生成HD地图的传感器数据的编码,但是本文描述的编码和压缩技术还可以应用于各种其他场景,包括对在室内环境中收集的传感器数据(例如,用于在室内场景中机器人的导航)进行编码和压缩。在各种实施方式中,传感器数据由自主车辆收集和编码,使得经编码的传感器数据可以在车辆与生成HD地图的在线系统(例如,云)之间传输。这里,由自主车辆收集的传感器数据可以是通过光探测和测距(light detection and ranging,LiDAR)方法收集的三维数据。在特定实施方式中,自主车辆通过将LiDAR传感器数据表示为图像来处理传感器数据。图像表示中的每个像素表示自主车辆周围环境的位置。图像表示的每个像素值表示在由像素表示的环境的该位置处的范围值或强度值。
在各种实施方式中,自主车辆将范围值和强度值表示为一个或更多个字节,并为范围值和强度值的每个字节生成图像表示。例如,范围值可以表达为两个字节,强度值可以表达为一个字节。这使得能够以期望的精度来表达范围值和强度值。在各种实施方式中,自主车辆生成三个图像表示;第一图像表示包括表示范围值的最高有效字节的像素值,第二图像表示包括表示范围值的最低有效字节的像素值,第三图像表示包括强度值的字节。自主车辆可以基于能够容忍的误差量对每个图像表示执行不同类型的压缩。例如,假设范围值的最高有效字节中的任何偏差导致显著误差,则包括表示范围值的最高有效字节的像素值的图像表示经历无损压缩。作为另一示例,假设范围值的最低有效字节中的偏差导致较不严重的误差,则包括表示范围值的最低有效字节的像素值的图像表示经历有损压缩。包括强度值的字节的第三图像表示可以根据在该位置处的能够容忍的误差经历无损压缩或有损压缩。
总而言之,在生成HD地图时,使用下文描述的方法对传感器数据(例如LiDAR)传感器数据进行编码和压缩实现了显着改进的压缩比,同时使误差率最小化。在特定示例中,在构造HD地图时使用下文描述的方法对传感器数据进行编码和压缩实现了8%的压缩比,同时引入最小误差(例如,在99百分位数处<2.5cm)。
另外的实施方式涉及使用压缩的传感器数据生成具有低于2cm分辨率的HD地图的方法。因此,自主车辆可以使用HD地图非常精确地了解自主车辆所处的位置以及如何相对于HD地图内的实体来安全地导航。考虑到实现低于2cm分辨率所需的极大量数据,HD地图相对于参考中心线来表达HD地图内的实体,例如道路标志和线路边界。因此,代替使用经度坐标或纬度坐标来表达HD地图中的实体的位置——其需要大量的数字来准确地表示位置——可以相对于参考中心线以明显更少的数字来表达实体的位置。因此,与对使用经度或纬度坐标表达的实体的位置进行编码和压缩相比,在进行编码和压缩时每个实体的位置消耗显著更少的资源(例如,存储空间和存储器)。这对于存储目的和对于传输目的均是有益的,因为可以有效地将包括关于HD地图中的实体的位置的信息的HD地图提供给自动车辆以通知自动车辆的驾驶路径。
附图说明
图1示出了根据实施方式的与多个车辆计算系统交互的HD地图系统的整体系统环境。
图2A描绘了根据实施方式的用于对由车辆计算系统执行的对收集的传感器数据进行编码的总体流程。
图2B是根据实施方式的用于对传感器数据进行编码的过程的示出性描绘。
图2C是根据实施方式的用于对表示由车辆捕获以用于生成高清晰度地图的三维数据的压缩代码进行编码和传输的流程图。
图3描绘了根据实施方式的用于使用HD地图控制车辆的框图流程。
图4示出了根据实施方式的车辆计算系统的HD地图API中的各种指令层。
图5示出了根据实施方式的HD地图系统的系统架构。
图6A示出了根据实施方式的在HD地图中限定的地理区域。
图6B示出了根据实施方式的由车辆所采用的通过地理区域的示例路径。
图7示出了根据实施方式的在HD地图中的实体,例如道路标志和车道。
图8A至图8B示出了根据实施方式的HD地图中的车道元素及车道元素之间的关系。
图9A示出了根据实施方式的用于限定地理区域中的实体的位置的示例坐标。
图9B描绘了根据图9A中示出的实施方式的用于表示地理区域中的实体的示例代码。
图9C是根据实施方式的用于对地理区域中的实体进行编码的流程图。
图10是示出能够从机器可读介质读取指令并在处理器(或控制器)中执行它们的示例机器的部件的框图。
附图仅出于说明的目的描绘了本发明的各种实施方式。本领域技术人员将从以下讨论中容易地认识到,可以在不脱离本文所描述的本发明的原理的情况下采用本文示出的结构和方法的替选实施方式。
具体实施方式
本发明的实施方式维护包含高度精确的最新信息的高清晰度(HD)地图。自主车辆可以使用HD地图来安全地导航到它们的目的地而无需人为输入或需要有限的人为输入。自主车辆(autonomous vehicle)是能够感测其环境并且在没有人为输入的情况下导航的车辆。在本文中自主车辆也可称为“无人驾驶车”、“自动驾驶车”或“机器人车”。HD地图是指以非常高的精度——通常为1-10cm——存储数据的地图。实施方式描述了包含关于自主车辆可在其上行驶的道路的空间几何信息(例如,三维位置数据)的HD地图的生成。因此,所生成的HD地图包括自主车辆在没有人为干预的情况下安全地导航所需的信息。本发明的实施方式当自动驾驶车辆在其环境中行驶时使用来自自动驾驶车辆本身的较低分辨率传感器的数据,而不是使用昂贵且耗时的测绘车队过程来收集HD地图的数据,该过程需要使用配备有高分辨率传感器的多个车辆。车辆可能没有这些路线的先前地图数据,甚至也没有该区域的先前地图数据。本发明的实施方式提供定位即服务(location as a service,LaaS),使得不同制造商的自主车辆均都可以访问经由这些发明的实施方式创建的最新地图信息。
整体系统环境
HD地图存储非常大量的信息,因此在生成和管理HD地图的信息时面临挑战。例如,收集用于生成HD地图的数据的系统在传输大量数据方面可能面临困难。本文描述的实施方式涉及收集并压缩传感器数据的方法,使得可以容易地传输压缩的传感器数据以创建HD地图。
此外,一旦在线系统使用压缩的传感器数据创建了HD地图,则在将HD地图的各部分存储或传输到车辆时,在线系统可能面临困难。鉴于存储在HD地图中的极大量信息,存在需要生成最有效地表示HD地图中的所需信息的HD地图。本文描述的实施方式还涉及表达在HD地图的地理区域内实体(例如道路标志、道路车道、区域等)相对于参考中心线的位置的方法。使用这种方法生成的HD地图消耗的计算存储量减少。
一旦生成HD地图,则大地理区域的HD地图可能不会安装在车辆的本地存储装置上。本文描述的实施方式还涉及向自主车辆提供HD地图的必要部分的方法,其允许车辆确定在HD地图中车辆的当前位置,确定道路上相对于车辆位置的实体,确定基于物理约束和法律约束移动车辆是否是安全的等。物理约束的示例包括物理障碍例如墙壁,并且法律约束的示例包括法律上允许的车道行驶方向、速度限制、让行、停止。
本发明的实施方式通过提供以下来为自主车辆给予安全导航:高延迟,例如10-20毫秒或更短,用于提供对请求的响应;位置方面的高精度,即5厘米以内或更小的精度;数据的新鲜度,通过确保地图更新以反映在合理时间范围内的道路的变化;存储效率,通过最小化HD地图所需的存储。
图1示出了根据实施方式的与多个车辆交互的HD地图系统110的整体系统环境。HD地图系统环境100包括与多个车辆150交互的在线HD地图系统110。车辆150可以是自主车辆,但不是必需的。在线HD地图系统110接收由车辆的传感器所捕获的传感器数据,并且组合从车辆150接收的数据以生成和维护HD地图。在线HD地图系统110将HD地图数据发送至车辆以用于车辆的驾驶。在实施方式中,在线HD地图系统110被实现为分布式计算系统,例如,基于云的服务,其允许诸如车辆计算系统120的客户端对信息和服务进行请求。例如,车辆计算系统120可以请求用于沿着路线行驶的HD地图数据,并且在线HD地图系统110提供所请求的HD地图数据。
图1和其他附图使用相同的附图标记来标识相同的元素。附图标记之后的字母,例如“105A”,表示该文本特指具有该特定附图标记的元素。文本中没有后续字母的附图标记,例如“105”,是指图中带有该附图标记的任何或所有元素(例如,文中的“105”是指图中的附图标记“105A”和/或“105N”)。
在线HD地图系统110包括车辆接口模块160和HD地图存储装置165。在线HD地图系统110使用车辆接口模块160与各种车辆150的车辆计算系统120交互。在线HD地图系统110将各种地理区域的地图信息存储在HD地图存储装置165中。在线HD地图系统110可以包括除图1中示出的模块之外的其他模块,例如,如图5所示并在本文中对其进一步描述的各种其他模块。
在线HD地图系统110接收115由多个车辆150例如数百或数千辆汽车的传感器收集的数据。车辆处理在沿着各种路线行驶时捕获的传感器数据并将传感器数据发送至在线HD地图系统110。在线HD地图系统110使用从车辆150接收的数据来创建和更新描述车辆150正行驶的区域的HD地图。在线HD地图系统110基于从车辆150接收的集体信息来创建高清晰度地图,并将HD地图信息存储在HD地图存储装置165中。
在线HD地图系统110根据车辆150的要求将HD地图发送125至各个车辆150。例如,如果自主车辆需要沿着路线行驶,则自主车辆的车辆计算系统120向在线HD地图系统110提供描述正在行驶的路线的信息。作为响应,在线HD地图系统110提供用于沿着该路线行驶的所需HD地图。
在实施方式中,在线HD地图系统110以压缩格式将部分HD地图数据发送到车辆,使得发送的数据消耗较少的带宽。将在下面结合图9A和图9B进一步详细描述生成压缩格式的HD地图数据。在线HD地图系统110从各种车辆接收描述存储在车辆的本地HD地图存储装置375处的数据的信息。如果在线HD地图系统110确定车辆不具有HD地图的特定部分以本地存储在本地HD地图存储装置375中,则在线HD地图系统110将该部分HD地图发送至车辆。如果在线HD地图系统110确定车辆先前确实接收到HD地图的该特定部分但是自车辆最后接收到数据以后在线HD地图系统110更新了相应的数据,则在线HD地图系统110发送对存储在该车辆处的那部分HD地图的更新。这允许在线HD地图系统110最小化与车辆通信的数据量,并且还保持本地存储在车辆中的HD地图数据被定期地更新。
车辆150包括车辆传感器105、车辆控制装置130和车辆计算系统120。车辆传感器105允许车辆150检测车辆的周围环境以及描述车辆的当前状态的信息例如描述车辆的定位和运动参数的信息。车辆传感器105包括摄像机、光探测和测距传感器(LIDAR)、全球定位系统(GPS)导航系统、惯性测量单元(IMU)等。车辆具有捕获车辆的周围环境的图像的一个或更多个摄像机。LIDAR通过用激光脉冲照射目标并测量反射的脉冲来测量到目标的距离以勘测车辆的周围环境。GPS导航系统基于来自卫星的信号确定车辆的位置。IMU是使用加速度计和陀螺仪的组合或其他测量仪器来测量和报告车辆的运动数据例如速度、加速度、移动方向、速率、角速率等的电子设备。
车辆控制装置130控制车辆的物理移动,例如加速、方向改变、启动、停止等。车辆控制装置130包括用于控制加速器、制动器、方向盘等的机械装置。车辆计算系统120连续地向车辆控制装置130提供控制信号,从而使自主车辆沿着选定的路线行驶。
车辆计算系统120执行各种任务,包括处理由传感器收集的数据以及从在线HD地图系统110接收的地图数据。车辆计算系统120还处理用于发送至在线HD地图系统110的数据。结合图2A和图3示出并进一步描述车辆计算系统的细节。
车辆计算系统120和在线HD地图系统110之间的交互通常经由网络例如经由因特网来执行。网络使车辆计算系统120与在线HD地图系统110之间的通信成为可能。在一个实施方式中,网络使用标准通信技术和/或标准通信协议。可以使用包括超文本标记语言(HTML)、可扩展标记语言(XML)等的技术和/或格式来表示通过网络交换的数据。此外,可以使用诸如安全套接字层(SSL)、传输层安全性(TLS)、虚拟专用网络(VPN)、因特网协议安全性(IPsec)等的传统加密技术来对所有链接或一些链接进行加密。在另一实施方式中,代替上述方式或者除了上述方式,实体还可以使用定制数据通信技术和/或专用数据通信技术。
处理LIDAR扫描数据
图2A描绘了根据实施方式的由车辆计算系统120执行的对传感器数据205进行编码的总体流程。传感器数据205指的是由车辆150的车辆传感器105捕获的数据。在特定实施方式中,传感器数据205由车辆150的光探测和测距(LiDAR)传感器捕获。在一些实施方式中,传感器数据205由车辆150的摄像机例如彩色摄像机捕获。
车辆150的LiDAR车辆传感器105的示例是Velodyne HDL-64E S2。LiDAR车辆传感器105可以配置有不同的规格。例如,LiDAR车辆传感器105的规格指的是:N个激光器、垂直视场/水平视场、角度分辨率、距离精度、距离范围(例如,取决于在周围环境中物体的反射率的距离范围)和数据获取速率(例如,每秒M个数据点)。
在各种实施方式中,LiDAR车辆传感器105的激光器可以具有能够调节的俯仰角。在各种实施方式中,可调节俯仰角在-24.8度与+2度之间。在各种实施方式中,LiDAR车辆传感器105还包括一个或更多个校准校正(例如旋转校正、垂直偏移校正、水平偏移校正、偏航校正、旋转校正、垂直校正、距离校正)。
在各种实施方式中,传感器数据205可以是由变量(x,y,z,强度)表示的三维数据。这里,x,y,z表示由车辆传感器105捕获的点云中的三维坐标。强度表示由车辆传感器105捕获的信号的强度。例如,强度可以是从物体反射的激光的强度。在各种实施方式中,传感器数据205可以是由变量(俯仰,偏航,范围,强度)表示的点云。俯仰和偏航均指的是车辆传感器105的方位。范围指的是在车辆150周围的环境内从车辆传感器105到感兴趣的对象——下文称为实体——的距离。如上所述,强度表示由车辆传感器105捕获的信号的强度。
返回图2A,将传感器数据205提供给传感器数据处理模块210。在各种实施方式中,由LiDAR车辆传感器105收集的传感器数据205由变量(x,y,z,强度)表示并且传感器数据处理模块210将变量(x,y,z,强度)转换为变量(俯仰,偏航,范围,强度)。
通常,将变量(x,y,z,强度)转换为变量(俯仰,偏航,范围,强度)的过程可以取决于LiDAR车辆传感器105的规格。例如。为了执行变量的转换,传感器数据处理模块210通过执行第一LiDAR扫描来确定基于车辆传感器105的规格的校准校正。确定的校准校正可用于将变量(x,y,z)转换为(俯仰,偏航,范围)中的后续扫描。在一些实施方式中,传感器数据处理模块210执行梯度下降、最小二乘回归或简单网格搜索来确定变量(俯仰,偏航,范围,强度)。
传感器数据处理模块210获得从变量(x,y,z)转换的变量(俯仰,偏航,范围)。变量(俯仰,偏航,范围,强度)在下文中称为传感器方位数据。
三维数据的图像表示
表示生成模块215从传感器数据处理模块210接收(俯仰,偏航,范围,强度)形式的传感器方位数据250,并生成传感器方位数据250的图像表示。因此,图像表示当被提供给表示压缩模块220时可以被有效地压缩。参照图2B,图2B是根据实施方式的用于将传感器方位数据250编码成打包的压缩代码225的过程的说明性描绘。
表示生成模块215将传感器方位数据250表示为不同的图像表示,如图2B中的图像通道255A、255B和255C所示。每个图像通道255包括各个像素。在各种实施方式中,每个像素对应于俯仰260的值和偏航265的值。换句话说,每个像素表示车辆150周围的环境中的位置。如图2B所示,图像通道255的每行由俯仰260(例如,扫描线索引)限定,并且图像通道255的每列由偏航265(例如,旋转角度)限定。
每个图像通道255的结构可以取决于捕获三维数据的车辆150的传感器105的规格。例如,图像通道255可以具有N行,每行对应于N个激光器中的一个。作为另一示例,图像通道255可具有取决于视场和/或角分辨率的总列数。例如,给定360度的视场且角分辨率为0.09度,图像通道255可以具有4000列(例如,360度/0.09度角分辨率=4000个偏航值)。
每个图像通道255中的每个像素的值表示传感器方位数据250的范围值或强度值。在各种实施方式中,表示生成模块215以位为单位来表达范围值和强度值。在各种实施方式中,表示生成模块215使用2个字节(16位)来表达范围值并使用1个字节(8位)来表达强度值。用于表达范围值和强度值中的每一个的字节数取决于步进值(step value),所述步进值可以进一步取决于车辆150的传感器105的规格。例如,如果车辆传感器105的最大LiDAR范围为120米,则可以将步进值设置为每个值0.2厘米(例如,'00'表示0厘米,'01'表示0.2厘米,'10'表示0.4厘米等),这使得能够使用16位表达高达128米的范围值。如果期望更高的分辨率(例如每个值超过0.2cm的更高分辨率),则可以相应地增加用于表达范围值的位数。作为另一示例,LiDAR车辆传感器105可以以[0,1]的集合输出强度值。因此,使用1/256的步进值,可以使用8位来表达强度值。
参照第一图像通道255A,第一图像通道255A的像素值是对应于俯仰260(y轴)和偏航265(x轴)的值的第一范围字节270。这里,第一范围字节270可以是范围值的最高有效字节(例如前8位)。参照第二图像通道255B,第二图像通道255B的像素值是对应于俯仰260(y轴)和偏航265(x轴)的值的第二范围字节275。这里,第二范围字节275可以是范围值的最低有效字节(例如最后8位)。参照第三图像通道,第三图像通道255C的像素值是对应于俯仰260(y轴)和偏航265(x轴)的值的强度字节280。
尽管图2B描绘了三个图像通道255,在各种实施方式中,表示生成模块215可以生成三个以上的图像表示。例如,如果需要附加的分辨率,则可以生成两个以上的图像通道255(例如图像通道255A和图像通道255B)以表达范围值的附加字节。作为另一示例,表示生成模块215可以生成第四图像表示,其中第四图像表示的每个像素表示在环境中与俯仰260(y轴)和偏航265(x轴)的值对应的位置处的颜色,例如红、绿、蓝(RGB)色。
在各种实施方式中,表示生成模块215修改所生成的图像通道255以改进其后续压缩。例如,在许多图像通道255中,可能存在像素不具有值的孔。当传感器105没有检测到特定俯仰260值和偏航265值处的返回信号时,可能出现图像通道255中的孔。由于图像通道255中的这些孔可以证明在压缩期间是有问题的,因此表示生成模块215修改图像表示以解决所述孔。在一个实施方式中,表示生成模块215从相邻像素复制像素值以填充孔。在各种实施方式中,表示生成模块215向右或向左移动每行中的像素以填充孔。在其他实施方式中,表示生成模块215移除没有值的像素。这里,通过移除像素,表示生成模块215可以减少图像通道255的行和/或列。因此,修改的图像通道255一旦被压缩就可以实现更高的压缩比。在各种实施方式中,表示生成模块215还生成指示像素值的存在或不存在的位图。例如,可以将包括值的像素编码为“1”,而将没有值的像素(例如,孔)编码为“0”。因此,位图可以用于理解哪些像素被移除。
作为另一示例,表示生成模块215可以裁剪图像通道255以消除不包含任何信息的像素。在一个实施方式中,表示生成模块215基于车辆150的传感器105的规格来裁剪图像通道。例如,如果车辆150的彩色摄像机传感器105具有120度的视野,则图像通道255中仅有三分之一的像素包括颜色信息。因此,表示生成模块215裁剪图像通道的不包含颜色值的像素。
表示生成模块215向表示压缩模块220提供每个图像通道255来为每个图像通道255生成代码285。表示压缩模块220可以对每个图像通道255执行无损压缩或有损压缩。这里,拥有不太能够容忍错误的重要信息的图像通道255经历无损压缩,而包括较能够容忍错误的信息的图像通道255经历有损压缩。
具体地,参照图2B,表示压缩模块220对第一图像通道255A执行无损压缩,所述第一图像通道255A包括表示范围值的第一范围字节270(例如最高有效字节)的像素值。这里,由于压缩而产生的第一范围字节270中的错误会显着影响重建的HD地图的精度,并且因此,第一图像通道255A经历无损压缩。在各种实施方式中,表示压缩模块220对第二图像通道255B执行有损压缩。这里,由于压缩而产生的第二范围字节275中的错误是可以容忍的,因为它不会显着影响重建的HD地图的精度。因此,第二图像通道255B经历有损压缩。包括表示强度字节280的像素值的第三图像通道255C可以经历无损压缩或有损压缩。在一个实施方式中,表示压缩模块220确定表示已经历过有损压缩的第三图像通道255C的重建版本之间的差异的损失。如果确定的损失超过阈值,则表示压缩模块220可以选择对第三图像通道255C执行无损压缩,以确保随后重建的版本足以准确地创建HD地图。
在各种实施方式中,表示压缩模块220使用WebP压缩对图像通道255执行无损压缩和有损压缩的组合。在一些实施方式中,表示压缩模块220通过将压缩算法单独地应用于每个图像通道255来独立地压缩每个图像通道255。在压缩之后,表示压缩模块220获得对应于每个图像通道255的代码285。
表示压缩模块220可以对代码285进行打包以生成打包的压缩代码225。在各种实施方式中,打包的压缩代码225还包括指示图像通道255中像素值的存在或不存在的位图的压缩代码。因此,在线HD地图系统110可以使用位图来理解在编码期间哪些像素被移除。在各种实施方式中,表示压缩模块220可以包括点云的附加元数据。附加元数据的示例包括颜色信息、语义标签(例如地面、树等)、以及对于地图创建和定位有用的其他信息。在各种实施方式中,表示压缩模块220应用协议缓冲器来对代码285进行打包以生成打包的压缩代码225。
车辆计算系统120将打包的压缩代码225发送至在线HD地图系统110,使得在线HD地图系统110可以对打包的压缩代码225进行解码并以高精度生成HD地图。
图2C是根据实施方式的用于对表示由车辆150捕获以生成高清晰度地图的三维数据的压缩代码225进行编码和发送的流程图。车辆计算系统120从安装在车辆150上的车辆传感器105接收290三维数据。车辆计算系统120将三维数据转换292为传感器方位数据集。例如,三维数据可以表示为(x,y,z,强度),而传感器方位数据集可以表示为(俯仰,偏航,范围,强度)。车辆计算系统120使用传感器方位数据集来构建294图像表示。这里,每个图像表示包括表示俯仰值和偏航值的组合的像素。每个像素值表示范围值或强度值的字节。车辆计算系统120压缩296图像表示以生成每个传感器方位数据集的压缩代码。在各种实施方式中,车辆计算系统120对至少一个图像表示执行无损压缩,并且还对至少一个图像表示执行有损压缩。车辆计算系统120将压缩的代码发送298至在线HD地图系统110。压缩的代码可用于生成高清晰度地图,所述高清晰度地图可以被进一步提供给自主车辆以引导自主车辆的驾驶。
使用HD地图的车辆操作
图3描绘了根据实施方式的用于使用HD地图控制车辆150的框图流程。总体上,图3中所示出的框图流程在如下面结合图5至图9所描述的在线HD地图系统110生成HD地图之后发生。因此,当车辆150在地理区域内行驶时,将HD地图的对应于该地理区域的部分提供给车辆150以控制车辆150。
如图3所示,车辆计算系统120包括感知模块310、预测模块315、规划模块320、控制模块325、本地HD地图存储装置375、HD地图系统接口380和HD地图应用程序编程接口(API)305。车辆计算系统120的各种模块处理包括传感器数据330、行为模型335、路线340和物理约束345的各种类型的数据。在其他实施方式中,车辆计算系统120可具有更多的模块或更少的模块。被描述为由特定模块实现的功能可以由其他模块实现。
感知模块310从车辆150的传感器105接收传感器数据330。这包括由车辆150的摄像机、LIDAR、IMU、GPS导航系统等收集的数据。感知模块310使用传感器数据来确定车辆150周围的物体是什么、车辆150正行驶的道路的细节等。感知模块310对传感器数据330进行处理以填充存储传感器数据的数据结构并将信息提供给预测模块315。
预测模块315使用被感知的物体的行为模型来解释由感知模块所提供的数据,以确定物体是正在移动还是可能要移动。例如,预测模块315可以确定表示道路标志的实体不可能移动,而被识别为车辆、人等的实体正在移动或者可能要移动。预测模块315使用各种类型的物体的行为模型335来确定它们是否可能要移动。预测模块315将对各种物体的预测提供给规划模块320,以规划车辆接下来需要采取的后续动作。
规划模块320从预测模块315接收描述车辆周围环境的信息、确定车辆目的地的路线340、以及到达所述目的地车辆150应该采取的路径。规划模块320使用来自预测模块315的信息和路线340来规划车辆在短时间间隔内例如在接下来的几秒内需要采取的一系列动作。在实施方式中,规划模块320将动作序列指定为表示车辆接下来要驾驶经过的附近位置的一个点或更多个点。规划模块320向控制模块325提供包括车辆将采取的动作序列的规划的细节。所述规划可以确定车辆150的后续动作,例如,车辆150是否执行车道变换、转弯、提高速度以加速或减慢速度等。
控制模块325基于从规划模块320接收的规划来确定用于发送到车辆的控制装置130的控制信号。例如,如果车辆当前在点A处并且规划指定车辆应该接下来行驶到附近的点B,则控制模块325确定用于控制装置130的控制信号,所述控制信号将使车辆以安全和平稳的方式从点A到达点B,例如,从A点到B点不进行任何急转弯或锯齿形路径。车辆从A点到B点采用的路径可能取决于车辆的当前速度和方向以及B点相对于A点的定位。例如,如果车辆的当前速度高,则与缓慢行驶的车辆相比,车辆可能进行更大的转弯。
控制模块325还接收物理约束345作为输入。这些包括特定车辆的物理能力。例如,具有特定品牌和型号的汽车可能能够安全地进行某些类型的车辆运动例如加速和转弯,而具有不同品牌和型号的另一辆车可能无法安全地进行前述运动。控制模块325在确定控制信号时结合了这些物理约束。控制模块325将控制信号发送到车辆控制装置130,所述车辆控制装置使车辆执行使车辆按规划移动的指定的动作序列。上述步骤每隔几秒不断重复,使车辆沿着为车辆规划的路线安全地行驶。
包括感知模块310、预测模块315和规划模块320的车辆计算系统120的各种模块接收地图信息以执行它们各自的计算。车辆150将HD地图数据存储在本地HD地图存储装置375中。车辆计算系统120的模块使用HD地图API 305与地图数据交互,所述HD地图API 305提供可以被模块调用以用于访问地图信息的一组应用程序编程接口(API)。
HD地图系统接口380允许车辆计算系统120经由网络(图中未示出)与在线HD地图系统110交互。作为示例,HD地图系统接口380从在线HD地图系统110接收压缩的地图数据,所述压缩的地图数据可以是车辆150正朝向其行驶的HD地图的地理区域。HD地图系统接口380可以处理压缩的地图数据并将地图数据本地存储在本地HD地图存储装置375中。本地HD地图存储装置375以由HD地图系统110指定的格式存储地图数据。
在各种实施方式中,由HD地图系统接口380接收的压缩的地图数据包括HD地图的地理区域内的多个实体的编码位。下面关于图9A和图9B来更详细地描述由在线HD地图系统110进行的对表示地理区域的多个实体的位的生成和编码。这里,HD地图系统接口380对压缩的地图数据进行解压缩,以获得HD地图的地理区域内的实体的位置数据。HD地图系统接口380可以将HD地图的地理区域的实体的位置数据存储在本地HD地图存储装置375中。
在一些实施方式中,HD地图系统接口380对地图数据执行进一步的处理步骤。在各种实施方式中,可以相对于地理区域的参考中心线来表达地图数据中的实体的位置数据。HD地图系统接口380可以将相对于参考中心线的每个实体的位置数据转换为全局坐标,例如经度坐标和纬度坐标。因此,HD地图系统接口380将HD地图的地理区域中的每个实体的全局坐标存储在本地HD地图存储装置375中。如下所述,HD地图中的实体包括但不限于以下任何之一:车道线、车道元素、能够驾驶的表面边界(例如车道边界)、停止线或让行线、区域(例如人行横道区域或“保持畅通”区域)、交通灯或道路标记。
HD地图API 305能够处理由HD地图系统110提供的地图数据格式。HD地图API 305向车辆计算系统120提供用于与HD地图数据交互的接口。HD地图API 305包括若干API,所述API包括定位API 350、地标地图API 355、3D地图API 365、路线API 370th、地图更新API 385等。
定位API 350确定车辆150的当前定位,例如,当车辆150启动时以及当车辆150沿着路线移动时。定位API 350包括确定车辆150在HD地图内的准确定位的定位API。车辆计算系统120可以将该定位用作准确的相对定位,以进行其他查询,例如本文进一步描述的特征查询、可驾驶空间查询和占用地图查询。定位API接收输入,输入包括由GPS提供的定位、由IMU提供的车辆运动数据、LIDAR扫描仪数据和摄像机图像中的一个或更多个。定位API返回车辆的准确定位作为纬度坐标和经度坐标。与用作输入的GPS坐标相比,定位API返回的坐标更准确,例如,定位API的输出可以具有1-10cm的精度范围。在一个实施方式中,车辆计算系统120以例如10Hz的频率调用定位API以基于使用扫描仪数据的LIDAR周期性地确定车辆150的定位。车辆计算系统120可以以更高的速率(例如,60Hz)调用定位API来确定车辆定位,如果以该速率GPS/IMU数据可用的话。车辆计算系统120将定位历史记录存储为内部状态,以提高后续定位调用的准确性。定位历史记录存储自汽车关闭/停止时的时间点起的定位历史。定位API 350包括基于HD地图生成指定车道的准确路线的定位-路线API。定位-路线API经由第三方地图将从源到目的地的路线作为输入,并基于HD地图生成表示为沿着输入路线的可驾驶车道的连通图的高精度路线。
地标地图API 355提供对车辆周围领域的几何描述和语义描述,例如,对车辆当前行驶的车道的各个部分的描述。地标地图API 355包括允许基于地标地图的查询的API,例如,获取车道API(fetch-lanes API)和获取特征API(fetch-features API)。获取车道API提供关于车辆的车道信息和获取特征API。获取车道API接收定位例如使用车辆的纬度和经度指定的车辆的定位作为输入,并返回关于输入定位的车道信息。获取车道API可以指定距离参数,该距离参数指示相对于针对其来检索车道信息的输入定位的距离。获取特征API接收标识一个或更多个车道元素的信息,并返回关于指定的车道元素的地标特征。对于每个地标,地标特征包括特定于地标类型的空间描述。
3D地图API 365提供对存储在本地HD地图存储装置375中的道路以及道路周围的各种物理对象的空间三维(3D)表示的有效访问。3D地图API 365包括获取-可驾驶-表面API和获取-占用-网格API。获取-可驾驶-表面API接收一个或更多个车道元素的标识符作为输入,并返回指定的车道元素的能够驾驶边界。获取-占用-网格API接收定位例如车辆的纬度和经度作为输入,并返回描述道路表面的占用以及该定位附近的HD地图中可用的所有对象的信息。描述占用的信息包括在地图中被认为占用的所有位置的分层体积网格。占用网格包括在可驾驶区域附近例如在路边和凸起处的高分辨率的信息、以及在较不重要的区域例如在路边以外的树木和墙壁中的相对低分辨率的信息。获取-占用-网格API可用于检测障碍物以及用于在必要时改变方向。
3D地图API还包括地图更新API,例如,下载-地图-更新API和上传-地图-更新API。下载-地图-更新API接收计划路线标识符作为输入,并下载与所有规划路线或特定规划路线相关的数据的地图更新。上传-地图-更新API将由车辆计算系统120收集的数据上传至在线HD地图系统110。这允许在线HD地图系统110基于沿着各种路线行驶的车辆的传感器观察到的地图数据的变化使存储在在线HD地图系统110中的HD地图数据保持最新。
路线API 370返回包括源和目的地之间的完整路线以及当车辆沿着路线行进时的这部分路线的路线信息。路线API 370包括添加-规划的-路线API和得到-规划的-路线API。添加-规划的-路线API向在线HD地图系统110提供描述规划路线的信息,使得车辆计算系统120可以下载描述相关HD地图的信息并使所述描述相关HD地图的信息保持最新。添加-规划的-路线API接收使用根据纬度和经度表达的折线指定的路线以及指定之后可以删除路线数据的时间段的留存时间(TTL)参数作为输入。因此,添加-规划的-路线API允许车辆指示车辆正规划为在不久的将来自主旅行所采用的路线。添加-规划的-路线API将路线与HD地图对齐,记录路线及其TTL值,并确保存储在车辆计算系统120中的路线的HD地图数据是最新的。得到-规划的-路线API返回规划的路线的列表,并提供描述路线标识符标识的路线的信息。
地图更新API 385管理与更新本地HD地图存储装置375的地图数据和存储在在线HD地图系统110中的HD地图存储装置165的地图数据有关的操作。因此,车辆计算系统120中的模块调用地图更新API 385,用于将数据从在线HD地图系统110下载到车辆计算系统120,以根据需要存储在本地HD地图存储装置375中。地图更新API 385还允许车辆计算系统120确定由车辆传感器105监测的信息是否指示由在线HD地图系统110提供的地图信息中的偏差并且将数据上传到在线HD地图系统110,这可以致使在线HD地图系统110更新存储在HD地图存储装置165中的被提供给其他车辆150的地图数据。
图4示出了根据实施方式的车辆计算系统的HD地图API中的各种指令层。不同的车辆制造商具有不同指令用于从车辆传感器105接收信息以及用于控制车辆控制装置130。此外,不同的供应商提供具有自主驾驶能力例如车辆传感器数据的收集和分析的不同计算平台。自主车辆的计算平台的示例包括由诸如NVIDIA、QUALCOMM和INTEL的供应商提供的平台。这些平台提供自主车辆制造商在自主车辆制造中使用的功能。车辆制造商可以将任何一个或若干个计算平台用于自主车辆。在线HD地图系统110提供用于处理HD地图的基于特定于车辆制造商的指令和特定于车辆的供应商特定平台的指令的库。所述库提供对HD地图数据的访问,并允许车辆与在线HD地图系统110交互。
如图4所示出的,在实施方式中,将HD地图API实现为包括车辆制造商适配器410、计算平台适配器420和公共HD地图API层430的库。公共HD地图API层430包括可以跨多个车辆计算平台和车辆制造商使用的通用指令。计算平台适配器420包括特定于每个计算机平台的指令。例如,公共HD地图API层430可以调用计算平台适配器420以接收来自由特定计算平台支持的传感器的数据。车辆制造商适配器410包括特定于车辆制造商的指令。例如,公共HD地图API层430可以调用由车辆制造商适配器410提供的功能,以将特定控制指令发送至车辆控制装置130。
在线HD地图系统110存储用于多个计算平台的计算平台适配器420和用于多个车辆制造商的车辆制造商适配器410。在线HD地图系统110确定特定自主车辆的特定车辆制造商和特定计算平台。在线HD地图系统110为特定车辆制造商选择车辆制造商适配器410,并为所述特定车辆的特定计算平台选择计算平台适配器420。在线HD地图系统110将所选择的车辆制造商适配器410和所选择的计算平台适配器420的指令发送到所述特定自主车辆的车辆计算系统120。该特定自主车辆的车辆计算系统120安装所接收的车辆制造商适配器410和计算平台适配器420。车辆计算系统120周期性地检查在线HD地图系统110是否具有对所安装的车辆制造商适配器410以及计算平台适配器420的更新。如果与安装在车辆上的版本相比可获得更新的更新,则车辆计算系统120请求并接收最新的更新并安装所述更新。
在线HD地图系统
HD地图系统架构
图5示出了根据实施方式的HD地图系统的系统架构。在线HD地图系统110包括:数据解码模块505、位置数据处理模块510、地图创建模块515、地图更新模块520、地图数据编码模块530、负载均衡模块540、地图精度管理模块550、车辆接口模块160和HD地图存储装置165。在线HD地图系统110的其他实施方式可以包括比图5中所示出的更多的模块或更少的模块。指示为由特定模块执行的功能可以由其他模块实现。在一个实施方式中,在线HD地图系统110可以是包括多个处理器的分布式系统。
数据解码模块505接收从车辆150生成并发送的打包的压缩代码225(参照图2B)。通常,数据解码模块505执行由上述表示压缩模块220执行的操作的逆操作。数据解码模块505对打包的压缩代码225进行解码以重新生成图像表示,例如图2B中示出的图像通道255。这样的图像表示可以是上面参照图2B所描述的图像通道255。例如,图像通道255中的每个像素可以表示如由俯仰260值和偏航265值限定的特定方向,并且具有像素值,所述像素值是第一范围字节270、第二范围字节275或强度字节280之一。
在各种实施方式中,数据解码模块505使用被作为打包的压缩代码225的一部分而包括的位图来重新生成图像表示。如上所述,位图可以指示在图像表示中先前被移除或填充的孔。因此,数据解码模块505可以在给定位图的情况下在图像表示中重建孔。
给定重新生成的图像表示,数据解码模块505从图像表示中提取像素值以获得变量(俯仰,偏航,范围,强度)。例如,数据解码模块505将第一范围字节270与第二范围字节275组合以获得范围值。数据解码模块505将像素值提供给位置数据处理模块510。
位置数据处理模块510将变量(俯仰,偏航,范围,强度)转换为变量(x,y,z,强度)。位置数据处理模块510可以使用上述关系式(例如,式3、式4和式5)来执行转换。位置处理模块向地图创建模块515提供每个位置的三维位置变量(x,y,z)和强度变量,以生成HD地图。
地图创建模块515使用从沿着各种路线行驶的车辆收集的三维位置数据(例如,x,y,z)和强度数据来创建地图。地图更新模块520通过从最近沿着地图信息改变了的路线行驶的车辆接收更近期的信息来更新先前计算的地图数据。例如,如果由于区域中的建造,某些道路标志已经改变或者车道信息已经改变,则地图更新模块520相应地更新地图。地图数据编码模块530对地图数据进行编码以便能够有效地存储数据以及有效地将所需的地图数据发送至车辆150。在下面结合图6A至图6B对由地图数据编码模块530执行的用于对HD地图的地理区域内的实体进行编码的方法进行描述。
负载平衡模块540在车辆之间平衡负载以确保从车辆接收数据的请求均匀地跨不同车辆分布。即使从各个车辆接收的信息可能不具有高精度,地图精度管理模块550仍使用各种技术保持地图数据的高精度。
HD地图存储装置165保留由地图创建模块515创建、由地图更新模块520更新并由地图精度管理模块550维护的HD地图。在各种实施方式中,HD地图被划分为各种地理区域。地理区域的HD地图包括地标地图和占用地图。地标地图包括描述车道的信息,包括车道的空间定位和关于每个车道的语义信息。车道的空间定位包括纬度、经度和高度的高精度的几何定位,例如精度为10cm或者低于10cm。车道的语义信息可以包括各种驾驶限制,例如驾驶方向、速度限制、车道类型(例如直行车道、左转车道、右转车道、出口车道等)、沿某个方向(例如,向左或向右)横跨的限制、对与其他车道的连通性的限制、道路上的重量限制、强制实施驾驶限制的时间等等。地标地图还可以包括对以下内容进行描述的信息:停止线、让行线、人行横道的空间定位、安全可驾驶空间、减速带的空间定位、路边和道路标志,包括与驾驶限制相关的所有标志的空间定位和类型。在HD地图中描述的道路标志的示例包括停止标志、交通灯、速度限制、单向、不可进入、让行(车辆、行人、动物)等。
占用地图包括道路以及道路周围的所有物理对象的空间三维(3D)表示。存储在占用地图中的数据在本文中也称为占用网格数据。3D表示可以与指示物体存在于该定位处的可能性的置信度分数相关联。可以以许多其他方式来表示占用地图。在一个实施方式中,将占用地图表示为覆盖表面的3D网状几何形状(三角形的集合)。在另一个实施方式中,将占用地图表示为覆盖表面的3D点的集合。在另一个实施方式中,使用处于5cm-10cm分辨率的单元的3D体积网格来表示占用地图。每个单元指示在该单元处是否存在表面,以及如果存在表面,则指示表面所沿着其来定向的方向。
与地标地图相比,占用地图可能需要大量的存储空间。例如,占用地图可以使用1GB/Mile的数据,导致美国地图(包括400万英里的道路)占用4x1015字节或4拍字节。因此,在线HD地图系统110和车辆计算系统120使用数据压缩技术用以能够存储和传输地图数据,从而降低存储成本和传输成本。因此,本文公开的技术使得自主车辆的自动驾驶成为可能。
在一个实施方式中,HD地图不需要或不依赖于通常包括在地图中的诸如地址、道路名称的数据、能够对地址进行地理编码的能力以及计算地名或地址之间的路线的能力。车辆计算系统120或在线HD地图系统110访问其他地图系统例如GOOGLE MAP以获得所述信息。因此,车辆计算系统120或在线HD地图系统110从诸如GOOGLE MAP的工具接收到路线中的导航指令并且基于HD地图信息将所述信息转换为路线。
HD地图中的地理区域
HD地图系统110的地图创建模块515将大的物理区域划分为地理区域并存储每个地理区域的表示。每个地理区域表示通过几何形状例如矩形或正方形界定的连续区域。在一个实施方式中,地图创建模块515将物理区域划分为不依赖于存储每个地理区域的表示所需的数据量的相同大小的地理区域。在另一实施方式中,地图创建模块515将物理区域划分为不同大小的地理区域,其中每个地理区域的大小是基于表示该地理区域所需的信息量来确定的。例如,表示具有大量街道的人口稠密区域的地理区域与表示具有较少街道的人口稀少区域的地理区域相比表示较小的物理区域。因此,在该实施方式中,地图创建模块515基于存储与HD地图相关的物理区域的各种元素所需的信息量的估计来确定地理区域的大小。
在实施方式中,地图创建模块515使用对象或包括各种属性的数据记录来表示地理区域,所述各种属性包括地理区域的唯一标识符、地理区域的唯一名称、诸如使用纬度坐标和经度坐标的边界框对所述地理区域的边界的描述、以及地标特征与占用网格数据的集合。
图6A示出了根据实施方式的在HD地图中限定的地理区域600A。在一些实施方式中,地理区域600A是方形的,但是在其他实施方式中,地理区域是不同的形状。通常,HD地图可以包括彼此相邻的一个或更多个地理区域600。例如,图6B描绘了与地理区域600A相邻的地理区域600B(例如区域003)。因此,当车辆150在行驶时,车辆150可以跨过地理区域边界行驶以进入HD地图的一个或更多个不同的地理区域。
根据实施方式,如图6A所示,每个地理区域具有围绕所述地理区域的具有预定宽度的缓冲区。缓冲区包括围绕地理区域的所有4个边的冗余地图数据(在通过矩形界定地理区域的情况下)。图6A示出了用于围绕地理区域600A的50米缓冲区的边界620和用于围绕地理区域600A的100米缓冲区的边界630。当车辆150使用HD地图时,地理区域周围包括缓冲区是有益的。例如,当车辆越过缓冲区内的阈值距离时,车辆计算系统120将车辆的当前地理区域从一个地理区域切换到相邻地理区域。如图6B所示,车辆在地理区域600A中的定位650A处开始。车辆沿着路线行进以到达定位650B,在定位650B处,它越过地理区域610的边界但是停留在缓冲区的边界620内。因此,车辆计算系统120继续使用地理区域610A作为车辆的当前地理区域。一旦车辆在定位650C处越过缓冲区的边界620,车辆计算系统120就将车辆的当前地理区域从地理区域600A切换到地理区域600B。由于车辆沿着紧密跟踪地理区域的边界的路线行驶,因此缓冲区的使用阻止了车辆的当前地理区域的快速切换。
在HD地图中信息的表示
地图创建模块515表示HD地图内的道路的信息。尽管本文描述的实施方式指的是道路,但是该技术还适用于街道、高速公路、小巷、大道、林荫大道或车辆可以行驶的任何其他路径。地图创建模块515使用道路的车道作为参考框架,以用于路线安排的目的以及用于车辆的定位。在HD地图内表示的车道包括:明确标记的车道例如白色条纹车道和黄色条纹车道;例如没有标线或路边线但是有两个行驶方向的乡村道路上的隐式车道;以及充当车道的隐式路径,例如当转弯车从另一条车道进入一个车道时所形成的路径。
地图创建模块515还生成HD地图,所述HD地图包括与车道相关的信息,例如,地理区域内对于在车道中行驶的车辆150重要的实体。例如,这样的实体包括与车道有关的道路标志和交通信号灯、与用于障碍物检测的车道有关的占用网格、以及与车道有关的可驾驶空间,因此在车辆必须计划外地驶离车道时的紧急情况下,车辆150可以有效地规划/反应。因此,HD地图可以是车道网络,所述车道网络使得车辆150能够规划源与目的地之间的合法路径并且添加用于对车辆150的实时感测和控制的参考框架。
图7示出了根据实施方式的HD地图中的车道表示。在一个实施方式中,图8中描绘的区域是HD地图的地理区域600。这里,地理区域600包括交通路口。在线HD地图系统110向车辆710提供对与地理区域600中的车辆的自主驾驶相关的地图数据的访问。提供给车辆的HD地图的地理区域600包括例如对车辆710很重要的实体720A和实体720B。这里,实体720A和实体720B可以不是最接近车辆710的实体,但是基于车辆当前所在的车道而与所述车辆相关。因此,在线HD地图系统110存储对车道与实体的关系进行表示的数据的车道-中心表示,使得车辆可以在给定车辆正在其内行驶的车道的情况下有效地提取实体。
HD地图将车道的各部分表示为车道元素。车道元素指定车道的边界和各种约束,所述各种约束包括:车辆可在车道元素内行驶的合法方向、车辆可在车道元素内行驶的速度、车道元素是否仅用于左转弯或右转弯等。HD地图系统110将车道元素表示为单个车道的连续几何部分。HD地图包括表示车道元素的对象或数据结构,所述对象或数据结构包括表示以下内容的信息:车道的几何边界;沿着车道的行驶方向;针对在车道中的行驶的车辆限制,例如速度限制、与包括进出车道的连接车道的关系;终止限制,例如车道是否在停止线、让行标记或减速带处结束;以及与自主驾驶相关的道路实体例如交通灯位置、道路标志位置等的关系。
由HD地图表示的车道元素的示例包括:高速公路上的右车道、道路上的车道、左转车道、从左转车道到另一车道的转弯、从入口匝道的合并车道、在出口匝道上的驶出车道、私人车道。HD地图表示使用两个车道元素——每个方向各一个——的单车道道路。HD地图表示与单车道道路相似的共享的中间转弯车道。
图8A至图8B示出了根据一个实施方式的HD地图中的车道元素以及车道元素之间的关系。图8A示出了T型路口的示例,所述T型路口示出了经由转弯车道810B连接至车道元素810C并且经由转弯车道810D连接至车道810E的车道元素810A。图8B示出了Y型路口的示例,所述Y型路口示出了直接连接至车道810H并且经由车道810G连接至车道810I的标签810F。在线HD地图系统110确定从源位置到目的地位置的路线,作为可以被经过以从源位置到达目的地位置的经连接的车道元素的序列。
对地理区域的实体进行编码
地图数据编码模块530对HD地图的地理区域进行编码。每个经编码的地理区域包括地理区域内的可以影响车辆150如何驾驶的实体(例如道路标志、停止灯等)的位置数据。因此,可以更有效地存储经编码的HD地图并将经编码的HD地图发送至车辆150以供使用。在各种实施方式中,地图数据编码模块530可以进一步将每个地理区域600分解为局部区段,所述地理区域600的每个局部区段包括道路的一部分。在各种实施方式中,局部区段是地理区域中的1km×1km区域。尽管随后的描述涉及对地理区域600内的信息进行编码,但是该描述也可以应用于对地理区域600的局部区段内的信息进行编码。
通常,对于每个地理区域600,地图数据编码模块530对描述地理区域600内的实体的信息进行编码,使得车辆150可以使用描述地理区域600内的实体的编码信息来适当地对道路进行导航。地理区域内的实体的示例可以包括道路标志(例如停止灯、停止标志、让行、人行横道等)、障碍物(例如树木、行人、其他汽车等)和道路特征(例如道路中心线、道路车道、如上面在图8A/图8B中所描述的车道元素、道路边界、道路路边、区域等)。
图9A示出了根据实施方式的对在地理区域600中的实体950的位置进行限定的示例坐标960。每个地理区域600包括道路910与一个或更多个实体950。图9A中描绘的道路910是直的;然而,在各种实施方式中,在地理区域600A内,道路910可以具有一条或多条曲线。另外,为简单起见,图9A中示出了一个实体950。然而,在各种实施方式中,地理区域600A中包括许多实体950。
地图数据编码模块530生成地理区域600A的参考中心线920。在各种实施方式中,地理区域600A的参考中心线920取决于道路910。作为示例,参考中心线920沿着道路910的道路标线(例如道路910的实线双黄线)走线。作为另一示例,参考中心线920沿着道路910的几何中心走线。这里,参考中心线920可以独立于道路910的道路标线。例如,如果道路910具有总共三条车道(例如,沿第一方向的两条车道和沿第二方向的一条车道),则可以将参考中心线920定位成距道路910的侧边等距离。在各种实施方式中,地图数据编码模块530还限定了依赖于参考中心线920的原点975。例如,如图9A所示出的,将原点975定位在在当前地理区域600A内参考中心线920开始的地方。地图数据编码模块530对地理区域600A的参考中心线920进行编码。
对于地理区域600A中的每个实体950,地图数据编码模块530确定实体950的坐标960,坐标960限定地理区域600A内的实体950的三维位置。通常,相对于参考中心线920确定每个实体950的坐标960。例如,如图9A所示出的,每个实体950的坐标960与原点975有关,所述原点975取决于参考中心线920。
在各种实施方式中,实体950的坐标960可以包括x坐标962值,y坐标964值和z坐标966值。x坐标962值可以是实体950与参考中心线920之间的横向距离。在各种实施方式中,横向距离是正交线(即,与参考中心线920正交)在参考中心线与实体950之间的距离。y坐标964值可以是沿参考中心线920的距离。在一个实施方式中,y坐标964值是沿着参考中心线920而行的距离。因此,如果参考中心线920是弯曲的,则y坐标964值包括参考中心线920的曲率。在另一实施方式中,y坐标964值是距离地理区域600A的原点975的垂直距离。如图9A所示出的,y坐标964是沿着参考中心线920距原点975的距离。z坐标966可以指地理区域600中的实体950的高度。
在各种实施方式中,可以不同地表达实体950的坐标960。例如,每个坐标960可以包括距原点975的径向距离和相对于原点975表达的角度θ。另外,每个坐标960可以包括描述原点975与实体950的顶点之间的线的斜率的第二角度φ。换句话说,第二角度φ限定实体950的高度。
通常,使用相对于地理区域600的参考中心线920的坐标960来表示每个实体950的三维位置使得与使用实体950的经度位置和纬度位置的传统方法相比,能够更有效地压缩实体950的三维位置。
地图数据编码模块530可以构造包括地理区域600的实体950的三维位置数据的特征向量。在一个实施方式中,特征向量包括地理区域600内的所有实体950的三维位置数据。在一些实施方式中,其三维位置数据被包括在共同特征向量中的地理区域600的实体950与道路910上的特定车道相关。换句话说,每个特征向量都特定于该道路910上的车道。例如,如果车辆150沿着道路910上的车道驾驶,则与该车道相关的实体950可以包括:面向该车道的标志、与该车道相邻的路边、限定该车道的边缘的车道元素等。诸如面向不同车道的停止灯或在道路相对侧的路边的附加实体与道路910上的车道无关,并且因此,车道的特征向量中将不包括这些附加实体的三维位置数据。组织特征向量中的相关实体的位置数据使得接收到HD地图的地理区域的车辆150能够基于车辆当前行驶的道路的车道来快速识别与车辆150相关的实体。
地图数据编码模块530对每个地理区域600A中的每个实体950的三维位置进行编码。在各种实施方式中,地图数据编码模块530对特征向量进行编码,每个特征向量包括与道路中的车道相关的实体950的三维位置。尽管随后的描述与单个实体有关,但是描述也可以应用于特征向量中的多个实体。
参照图9B,描绘了根据图9A中示出的实施方式的用于表示地理区域600A中的实体950的示例实体代码980。实体950的实体代码980可以包括实体950的三维位置(例如坐标960)。可选地,实体代码980还包括描述实体950的方位坐标982和/或语义信息984。此处,可以将表示方位坐标982和语义信息984的代码附加至表示实体950的坐标960的代码。
如图9B所示出的,实体950的坐标960包括x坐标值、y坐标值和z坐标值。此处,假设相对于参考中心线920来表达x坐标和y坐标,则x坐标和y坐标中的每一个的编码与表达为经度坐标或纬度坐标的x坐标和y坐标的编码相比可以消耗更少的位。在一个实施方式中,可以使用11位来表达实体的x坐标和y坐标中的每一个,而可以以10位来表达z坐标。这使得在地理地图内能够以2cm或接近2cm的精度来表示距离。在这些实施方式中,可以以总共32位来表示实体950的坐标960。相比之下,使用经度坐标和纬度坐标来描述实体950的三维位置通常需要超过64位。
在一些实施方式中,地图数据编码模块530确定地理区域内的局部区段(例如地理区域内的多个局部区段)内的每个实体的三维位置。在这些实施方式中,可以以甚至更少的位(例如16位)来表达局部区段内的实体950的坐标960,因为实体950的坐标960是相对于局部区段的参考中心线描述的。换句话说,与相对于地理区域的参考中心线确定的实体的x坐标和y坐标的值相比,可以使用更少的位来表示相对于局部区段的参考中心线的实体的x坐标和y坐标的值。
返回至图9B,实体950的方位坐标982描述实体950的方位。方位坐标982的示例包括指示实体950所面向的位置的3D法向量或指示实体950的向上方向的3D向量。方位坐标982有益于描述诸如道路标志的实体950的方位。因此,接收到方位坐标982的车辆150可以适当地对面向车辆150的道路标志进行响应。对于一些实体950例如道路标线或道路区域,实体950的实体代码980不需要包括方位坐标982。
在各种实施方式中,描述实体950的语义信息984的代码可以包括在实体代码980中。语义信息984提供关于实体950的信息。例如,如果实体950是道路标志,则语义信息984可以描述道路标志的类型(例如,停止标志、让行标志、行人标志)。作为另一示例,语义信息984可以描述道路标志的形状或尺寸。如果实体950是道路标线例如车道元素,则语义信息984可以描述车道关系或车道限制。车道关系可以是实体(例如车道元素、边界和标志)之间的关系信息。例如,车道关系描述了车道元素和附加实体之间的关系。车道元素的车道关系包括:左侧或右侧车道元素,进和出车道元素、与车道元素相关联的标志(速度限制)或车道终止(停止)。车道限制可以指示车道的方向、车道的速度、车道的类型(例如直行车道、左转车道、右转车道、出口车道等)、限制横穿至左侧、到其他车道、边缘或道路的连通性。
对于每个地理区域600,地图数据编码模块530对表示实体950的代码和表示地理区域600的参考中心线920的代码进行编译,并生成地理区域600的压缩代码。在各种实施方式中,地图数据编码模块530在公共特征向量内对表示实体950的代码进行编译,并进一步跨特征向量对表示参考中心线920的代码进行编译,以生成地理区域600的压缩代码。地图数据编码模块530可以通过采用标准压缩方法来生成压缩代码。标准压缩方法的示例包括PKZIP、Gzip和PNG。可以将地理区域600的压缩代码中的每个存储为HD地图的分区。因此,当车辆150进入特定地理区域时,在线HD地图系统110可以检索该地理区域的压缩代码并向该车辆150提供该地理区域的压缩代码。
图9C是根据实施方式的用于对地理区域600中的实体950进行编码的流程图。在线HD地图系统110使用由安装在自主车辆150上的车辆传感器105捕获的三维数据生成930HD地图。在各种实施方式中,HD地图包括多个地理区域600。对于每个地理区域600,在线HD地图系统110生成限定原点的参考线。对于地理区域600中的每个实体,在线HD地图系统110确定934实体950相对于原点975的坐标960。在线HD地图系统110将实体950的坐标960编码936为一个或更多个字节。作为示例,在线HD地图系统110使用11位对实体950的x坐标进行编码,使用11位对实体950的y坐标进行编码,并使用10位对实体950的z坐标进行编码。这使得HD地图内的精度达到2厘米。在线HD地图系统110使用表示实体950的坐标的至少一个或更多个字节生成938针对地理区域600的压缩代码。在线HD地图系统110存储940针对所述地理区域的压缩代码。
自主车辆150可以行驶通过对应于HD地图的地理区域的区域。在线HD地图系统110从自主车辆接收942对HD地图的地理区域的请求。响应于该请求,在线HD地图系统110提供944针对HD地图的地理区域的压缩代码。因此,自主车辆可以使用地理区域的压缩代码来引导自主车辆的驾驶。
计算机器架构
图10是示出能够从机器可读介质读取指令并在处理器(或控制器)中执行所述指令的示例机器的部件的框图。具体地,图10以计算机系统1000的示例形式示出了机器的图形表示,在计算机系统1000内,可以执行用于使机器执行本文所讨论的任何一种或多种方法的指令1024(例如,软件)。在替选实施方式中,机器作为独立设备操作或者可以连接(例如联网)至其他机器。在联网部署中,机器可以以服务器-客户端网络环境中服务器机器或客户端机器的资格运行,或者作为对等(或分布式)网络环境中的对等机器运行。
机器可以是服务器计算机、客户端计算机、个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、智能手机、网络装置、网络路由器、交换机或网桥、或能够对指定该机器要采取的动作的指令1024(顺序或其他方式)进行执行的任何机器。此外,虽然仅示出了单个机器,但术语“机器”还应被视为包括单独执行或联合执行指令1024以执行本文所讨论的任何一种或更多种方法的机器的任何集合。
示例计算机系统1000包括:处理器1002(例如中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、一个或更多个专用集成电路(ASIC)、一个或更多个射频集成电路(RFIC)或这些的任何组合)、主存储器1004以及静态存储器1006,这些被配置为经由总线1008彼此通信。计算机系统1000还可以包括图形显示单元1010(例如等离子体显示板(PDP)、液晶显示器(LCD)、投影仪或阴极射线管(CRT))。计算机系统1000还可以包括:字母数字输入设备1012(例如键盘)、光标控制设备1014(例如鼠标、轨迹球、操纵杆、运动传感器或其他指向工具)、存储单元1016、信号发生设备1018(例如扬声器)和网络接口设备1020,这些也被配置为经由总线1008进行通信。
存储单元1016包括机器可读介质1022,所述机器可读介质1022上存储有体现本文所描述的方法或功能中的任何一个或更多个方法或功能的指令1024(例如软件)。在由也构成机器可读介质的计算机系统1000、主存储器1004和处理器1002执行期间,指令1024(例如软件)也可以完全地或至少部分地驻留在主存储器1004内或处理器1002内(例如在处理器的高速缓冲存储器内)。可以经由网络接口设备1020在网络1026上发送或接收指令1024(例如软件)。
虽然在示例实施方式中将机器可读介质1022示出为单个介质,但是术语“机器可读介质”应当被视为包括能够存储指令(例如指令1024)的单个介质或多个介质(例如,集中式数据库或分布式数据库,或者相关高速缓存和服务器)。术语“机器可读介质”还应被视为包括能够存储用于由机器执行的指令(例如指令1024)并且使机器执行本文公开的任何一种或更多种方法的任何介质。术语“机器可读介质”包括但不限于固态存储器形式、光学介质形式和磁介质形式的数据存储库。
附加配置考虑事项
已经出于说明的目的呈现了本发明的实施方式的前述描述;本发明的实施方式的前述描述并非旨在对本发明进行穷举或将本发明限制于所公开的精确形式。相关领域的技术人员可以理解,鉴于以上公开内容,许多修改和变化是可能的。
例如,尽管本文所描述的技术被应用于自主车辆,但是该技术也可以被应用于其他应用,例如,用于向具有驾驶员的车辆显示HD地图,用于在客户端设备的显示器上显示HD地图,所述客户端设备例如移动电话、笔记本电脑、平板电脑或任何具有显示屏的计算设备。还可以将本文显示的技术应用于显示用于例如在计算机游戏中进行计算机模拟的地图等。
本说明书的一些部分在对信息的操作的算法和符号表示方面描述了本发明的实施方式。数据处理领域的技术人员通常使用这些算法描述和表示来有效地将其工作的实质传达给本领域其他技术人员。虽然在功能上、计算上或逻辑上对这些操作进行了描述,但应理解为由计算机程序或等效电路、微代码等实现这些操作。此外,在不失一般性的情况下,为了方便起见,还将这些操作安排称为模块。所描述的操作及其相关联模块可以体现为软件、固件、硬件或其任何组合。
本文描述的任何步骤、操作或过程可以单独地或与其他设备组合地用一个或更多个硬件或软件模块来执行或实现。在一个实施方式中,软件模块用计算机程序产品实现,所述计算机程序产品包括包含计算机程序代码的计算机可读介质,该计算机程序代码可以由计算机处理器执行以进行所描述的任何或所有步骤、操作或过程。
本发明的实施方式还可以涉及用于执行本文操作的装置。所述装置可以为所需目的而专门构造,和/或可以包括由存储在计算机中的计算机程序选择性地激活的或重新配置的通用计算设备。可以将这样的计算机程序存储在有形计算机可读存储介质或适合于存储电子指令并且耦接至计算机系统总线的任何类型的介质中。此外,说明书中提到的任何计算系统可以包括单个处理器,或者可以是采用多个处理器设计以提高计算能力的架构。
本发明的实施方式还可以涉及体现在载波中的计算机数据信号,其中计算机数据信号包括计算机程序产品的任何实施方式或本文所描述的其他数据组合。计算机数据信号是以有形介质或载波呈现并在载波中调制或以其他方式编码的产品,其是有形的,并且根据任何合适的传输方法传输。
最后,说明书中使用的语言主要是出于可读性和指导目的而选择的,并且所述语言并不是被选择来界定或限制本发明的主题的。因此,本发明的范围旨在不受本详细描述的限制,而是受基于本详细说明的应用发布的任何权利要求的限制。
示例
示例1:使用3D数据的图像表示的改进的压缩比
将来自KITTI Vision Benchmark Suite的20分钟追踪用于测试。将追踪的第一次扫描用于计算校准参数,并且使用从扫描0确定的参数对扫描100、1000和5000进行编码。先前以10Hz对KITTI数据集进行收集,因此后续扫描100、1000和5000离扫描0分别是10秒、100秒和500秒。
使用图2A中所示出的处理流程对每个位置数据(x,y,z)和与每个位置数据相关联的数据(强度)进行编码,并且随后根据其编码的形式重建所述位置数据。这里,重建的位置数据被称为(x',y',z')。将位置数据的重建误差限定为:
类似地,重建的强度被称为(强度')。将强度的重建误差限定为:
(强度-强度’)
(7)
下表报告了跨不同扫描的平均值误差、中位数误差和99百分位误差。
表1:通过(俯仰,偏航,范围)和全局校准参数对(x,y,z)进行编码引入的误差。
扫描Id 0(训练) 100(测试) 1000(测试) 5000(测试)
平均值误差 0.24902cm 0.218433cm 0.187907cm 0.27288cm
中位数误差 0.18878cm 0.164285cm 0.118222cm 0.178444cm
99百分位误差 1.28408cm 0.783367cm 1.07856cm 1.96824cm
表2:使用WebP进行有损图像压缩的XYZ压缩误差。针对扫描5000报告数字。压缩像素以获得更好的压缩质量。三个通道(两个用于范围,一个用于强度)被分别压缩。用无损压缩对范围的最高有效字节进行编码。用有损压缩对范围的最低有效字节进行编码。此通道的基线大小(使用WebP无损压缩)为118KB。本表报告范围的大小和误差。关于强度的报告参见表3。
表3:与表2类似,但测量强度通道的压缩尺寸和误差。强度通道的基线大小(使用WebP无损压缩)为71KB。通过原始强度与解码强度之间的绝对差来测量强度误差。请记住,强度值的范围为[0,1](例如,如果原始强度为0.42且解码强度为0.418,则误差为0.002)。
压缩质量 平均值误差 中位数误差 99百分位误差 压缩的大小
100(最优损耗) 0.00205966 0.00125 0.00890625 90KB(127%)
90 0.00646633 0.00484374 0.02375 57KB(80%)
80 0.0118004 0.00921875 0.0432813 43KB(61%)
70 0.0158456 0.0121875 0.0590625 36KB(51%)
60 0.018197 0.014375 0.06875 33KB(46%)
50 0.0208268 0.01625 0.0782813 30KB(42%)
40 0.0239308 0.0189063 0.0915625 26KB(37%)
30 0.029052 0.0225 0.114844 22KB(31%)
20 0.0353781 0.0265625 0.143438 17KB(24%)
10 0.0437468 0.031875 0.183281 12KB(17%)
表4:关于范围(最低有效字节)和强度的总数据大小(KB)和使用不同压缩级别的压缩比。针对扫描5000报告数字。通过将范围的最高有效字节的无损压缩大小(19KB)、范围的最低有效字节的有损压缩大小(来自表2)、强度的有损压缩大小(来自表3)以及用于映射经压缩的像素位置的位图(32KB)相加来计算总数据大小。第一行中的数字示出范围(最低有效字节)的压缩级别,第一列中的数字示出强度的压缩级别。每个单元格中的数字示出总数据大小(以KB为单位)和括号中的压缩比。该表应与表2和表3一起使用,以找出压缩比和误差之间的最佳折衷。
常规编码方法:字节编码
可以使用总共16字节(例如每个变量4字节)的基线来表达变量(x,y,z,强度)。常规字节编码包括用每项2字节对(x,y,z)进行编码,用1个字节对强度进行编码。三维位置变量(x,y,z)每个在[-120,120]范围内。使用0.4cm的步进值来表达每个使用2字节(16位)的每个三维位置变量。另外,强度范围在[0,1]内。因此,使用1/256的步进值,可以使用1个字节表达强度。因此,每个点用7个字节来编码。这提供了7/16=44%的压缩比。
传统编码方法:ZLIB压缩
这里,仍然可以使用总共16字节的基线来表达变量(x,y,z,强度)。这里,如上所述,将字节编码的组合与列压缩序列(x,y,z)和强度值组合。Zlib压缩是无损的,因此不会引入超出字节编码的更多错误,并且列压缩充分利用X/Y/Z/I轴中的连续的值。在表5中示出了使用Zlib压缩技术实现的压缩。
表5:使用Zlib压缩技术的每个变量的压缩比。
X Y Z I
大小减少 26% 30% 48% 41%
如上面关于字节编码方法所描述的,变量x、y和z每个可以由2个字节表达,而强度可以用1个字节来表达。可以使用ZLib压缩按表5中示出的量进一步压缩每个变量。因此,x、y和z的变量可以分别由1.48字节、1.4字节和1.04字节表达。强度可以用0.59字节表达。平均而言,这导致4.51个字节的总和,表示28%的压缩比(例如,4.51个字节除以16个总字节的基线)。
常规编码方法:八叉树压缩
点云库(PCL)提供基于八叉树的压缩。基于八叉树的压缩用于压缩(x,y,z),因此可以单独对强度进行压缩(例如使用上面的字节编码或Zlib)。对于(x,y,z),八叉树以低于厘米的精度实现86-89%(取决于八分圆大小)的减少。
表6:使用八叉树压缩方法的压缩比和相应的误差。
压缩比:75%×11%(XYZ)+25%×25%×59%(I)=12%
八叉树压缩具有两个缺点:(1)它丢失了与在地图创建和定位中有用的每个点相关联的行/列(或俯仰/偏航)信息,并且(2)它仅处理(x,y,z)而所有其他元数据需要用特别差的压缩率单独压缩。当需要将大量元数据(例如颜色、法线、语义标签等)与位置数据一起压缩时,压缩编码的大小显着地更大。
示例2:用于表示相对于参考中心线的实体的存储空间
估计用于表示一英里长的道路中的实体的存储空间。为所述道路生成参考道路中心线。这里,参考道路中心线可以使用每英里2400字节来表示。一英里长的道路内的所有其他实体都相对于中心线来表达。通过相对于道路的中心线来限制数据,数据存储需求大幅减少,同时保持高定位精度。
为了存储满足2cm的精度要求的x坐标和y坐标,需要30,000个值,或者对于单个坐标小于16位(对于x和y两者,为32位)。由于通常观察到较小的垂直范围(例如,在2cm的精度要求下20m需要10位),因此z坐标可以表示得更紧凑。因此,在该示例中,可以用32位表示单个三维位置以实现2cm精度要求。参考道路边界的特定实体(例如边界线),假设在一英里的长度上有400个样本,则需要总共1600个字节/英里来对所述英里的道路上的道路边界进行编码。
车道关系可以是实体(例如车道元素、边界和标志)之间的关系信息。车道关系包括左侧车道或右侧车道、进出车道、与车道相关的标志(速度限制)或车道终止(停止)。假设50米的车道元素,车道元素通常具有:2个符号关系、2个输入关系、2个输出关系、2个边界关系和2个车道相邻关系。因此,总共10个关系的估计提供了每50米的车道元素大约40个字节。总而言之,这导致每车道英里大约1280字节来表示车道关系。
车道也具有限制。假设车道元素为50米,则通常能够以4字节对车道元素的限制进行编码。这导致每车道英里大约160个字节。
道路标志是沿着一英里长度的道路的实体的示例。可以将标志表示为道路参考坐标中的3D矩形(其中矩形与标志的表面对齐并且紧密地界定标志边界)。可以使用以下位/字节对符号的细节进行编码:
·3D坐标中心点(32位=4字节,使用道路参考坐标)
·3D法向量(72位=6字节,表示为3个带符号的16位整数)
·表示符号向上方向的3D向量(72位=6字节)
·高度和宽度(每个1字节,总共2字节,假设最大高度为2米,宽度/高度精度为1厘米)
·符号类型,如停止符号类型或让行符号类型(16位=2字节)
基本上提供精确的3D定位的每个标志总共需要20字节。假设每车道英里有10个标志,那么对于标志,每车道英里大约为200字节。
总而言之,下表7中描述了表示实体、参考中心车道和1英里长的道路的相关信息所需的字节的总估计。
表7:表达参考中心车道、实体和相关联的信息的每车道英里的总估计字节。
在正常压缩之前这些估计建立4.5KB每通道英里。使用常规方法,典型估计在正常压缩之前产生大约10KB每通道英里或甚至更高。因为大多数车道以低曲率移动通过空间,因此应用压缩——压缩示例可以是Zlib或其他标准数据压缩方法——可以进一步将估计减少到显著小于4.5KB每车道英里。

Claims (19)

1.一种用于生成高清晰度地图的方法,包括:
从安装在车辆上的传感器接收由所述传感器捕获的描述所述车辆周围环境内的位置的传感器数据;
基于接收到的所述传感器数据确定多个传感器方位数据集,每个传感器方位数据集包括俯仰值、偏航值、范围值和强度值;
根据所述多个传感器方位数据集构造一个或更多个图像表示,其包括针对每个图像表示重复多个像素:
在所述图像表示中识别与传感器方位数据集的俯仰值和偏航值的组合相对应的像素位置;
根据所述传感器方位数据集的所述范围值或所述强度值中之一确定识别的像素的值;以及
在识别的所述像素位置处设定确定的所述像素的值;
压缩所述一个或更多个图像表示中的每个图像表示以生成表示所述多个传感器方位数据集的压缩代码;以及
发送用于生成所述车辆周围环境的高清晰度地图的所述压缩代码,所述高清晰度地图用于供一个或更多个自主车辆的驾驶使用。
2.根据权利要求1所述的方法,其中,所述一个或更多个图像表示中的每个图像表示的行数取决于所述车辆的传感器的激光器的数量。
3.根据权利要求1所述的方法,其中,所述一个或更多个图像表示中的每个图像表示的列数取决于所述车辆的传感器的最小角分辨率。
4.根据权利要求1所述的方法,其中,构造所述一个或更多个图像表示包括:
生成第一图像表示,其中,所述第一图像表示的像素的值是所述数据集的所述范围值的最高有效字节;
生成第二图像表示,其中,所述第二图像表示的像素的值是所述数据集的所述范围值的最低有效字节;以及
生成第三图像表示,其中,所述第三图像表示的像素的值是所述数据集的所述强度值的字节。
5.根据权利要求4所述的方法,其中,所述范围值的所述最高有效字节和所述最低有效字节的步进值取决于所述车辆的传感器能够检测的最大范围。
6.根据权利要求4所述的方法,其中,构造所述一个或更多个图像表示还包括:
生成第四图像表示,其中,所述第四图像表示的像素的值是颜色值。
7.根据权利要求4所述的方法,其中,对所述一个或更多个图像表示中的每个图像表示进行编码包括使用无损编码处理对所述第一图像表示进行编码。
8.根据权利要求4所述的方法,其中,对所述一个或更多个图像表示中的每个图像表示进行编码包括使用有损编码处理对所述第二图像表示和所述第三图像表示进行编码。
9. 根据权利要求1所述的方法,其中,构造所述一个或更多个图像表示还包括:
对于所述一个或更多个图像表示中的每个图像表示,识别所述图像表示的具有指示丢失数据的值的一个或更多个像素;以及
对于具有不存在值的所述一个或更多个像素中的每个像素,将具有指示丢失数据的所述值的所述像素修改为基于所述图像表示的其他像素来存储值。
10.根据权利要求9所述的方法,还包括:
生成位图,所述位图指示所述一个或更多个图像表示中的具有指示丢失数据的所述值的一个或更多个像素的存在;
对生成的位图进行编码;以及
发送经编码的位图,所述经编码的位图还用于生成所述车辆周围环境的高清晰度地图。
11.一种非暂态计算机可读存储介质,包括在由处理器执行时使所述处理器执行以下操作的计算机指令:
从安装在车辆上的传感器接收由所述传感器捕获的描述所述车辆周围环境内的位置的传感器数据,
基于接收到的所述传感器数据确定多个传感器方位数据集,每个传感器方位数据集包括俯仰值、偏航值、范围值和强度值;
根据所述多个传感器方位数据集构造一个或更多个图像表示,其包括针对每个图像表示重复多个像素:
在所述图像表示中识别与传感器方位数据集的俯仰值和偏航值的组合相对应的像素位置;
根据所述传感器方位数据集的所述范围值或所述强度值中之一确定识别的像素的值;以及
在识别的所述像素位置处设定确定的所述像素的值;
压缩所述一个或更多个图像表示中的每个图像表示以生成表示所述多个传感器方位数据集的压缩代码;以及
发送用于生成所述车辆周围环境的高清晰度地图的所述压缩代码,所述高清晰度地图用于供一个或更多个自主车辆的驾驶使用。
12.根据权利要求11所述的非暂态计算机可读存储介质,其中,所述一个或更多个图像表示中的每个图像表示的行数取决于所述车辆的传感器的激光器的数量。
13.根据权利要求11所述的非暂态计算机可读存储介质,其中,所述一个或更多个图像表示中的每个图像表示的列数取决于所述车辆的传感器的最小角分辨率。
14.根据权利要求11所述的非暂态计算机可读存储介质,其中,使所述处理器构造一个或更多个图像表示的所述计算机指令还包括在由所述处理器执行指令时使所述处理器执行以下操作的指令:
生成第一图像表示,其中,所述第一图像表示的像素的值是所述数据集的所述范围值的最高有效字节;
生成第二图像表示,其中,所述第二图像表示的像素的值是所述数据集的所述范围值的最低有效字节;以及
生成第三图像表示,其中,所述第三图像表示的像素的值是所述数据集的所述强度值的字节。
15.根据权利要求14所述的非暂态计算机可读存储介质,其中,所述范围值的所述最高有效字节和所述最低有效字节的步进值取决于所述车辆的传感器能够检测的最大范围。
16.根据权利要求14所述的非暂态计算机可读存储介质,其中,使所述处理器对所述一个或更多个图像表示中的每个图像表示进行编码的所述计算机指令还包括在由所述处理器执行时使所述处理器使用无损编码处理对所述第一图像表示进行编码的计算机指令。
17.根据权利要求14所述的非暂态计算机可读存储介质,其中,使所述处理器对所述一个或更多个图像表示中的每个图像表示进行编码的所述计算机指令还包括在由所述处理器执行时使所述处理器使用有损编码处理对所述第二图像表示和所述第三图像表示进行编码的计算机指令。
18. 根据权利要求11所述的非暂态计算机可读存储介质,其中,使所述处理器构造一个或更多个图像表示的所述计算机指令还包括在由所述处理器执行时使所述处理器执行以下操作的指令:
对于所述一个或更多个图像表示中的每个图像表示,识别所述图像表示的具有指示丢失数据的值的一个或更多个像素;以及
对于具有不存在值的所述一个或更多个像素中的每个像素,将具有指示丢失数据的所述值的所述像素修改为基于所述图像表示的其他像素来存储值。
19.根据权利要求18所述的非暂态计算机可读存储介质,还包括在由所述处理器执行时使所述处理器执行以下操作的计算机指令:
生成位图,所述位图指示所述一个或更多个图像表示中的具有指示丢失数据的所述的一个或更多个像素的存在;
对生成的位图进行编码;以及
发送经编码的位图,所述经编码的位图还用于生成所述车辆周围环境的高清晰度地图。
CN201780085909.3A 2016-12-30 2017-12-28 用于自主车辆的高清晰度地图数据的向量数据编码 Active CN110869981B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662441065P 2016-12-30 2016-12-30
US62/441,065 2016-12-30
PCT/US2017/068809 WO2018126067A1 (en) 2016-12-30 2017-12-28 Vector data encoding of high definition map data for autonomous vehicles

Publications (2)

Publication Number Publication Date
CN110869981A CN110869981A (zh) 2020-03-06
CN110869981B true CN110869981B (zh) 2023-12-01

Family

ID=62708459

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780085909.3A Active CN110869981B (zh) 2016-12-30 2017-12-28 用于自主车辆的高清晰度地图数据的向量数据编码

Country Status (3)

Country Link
US (5) US10401500B2 (zh)
CN (1) CN110869981B (zh)
WO (1) WO2018126067A1 (zh)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2892885C (en) 2015-02-20 2020-07-28 Tetra Tech, Inc. 3d track assessment system and method
US11199850B2 (en) * 2015-10-05 2021-12-14 Pioneer Corporation Estimation device, control method, program and storage medium
JP7329298B2 (ja) * 2016-10-11 2023-08-18 モービルアイ ビジョン テクノロジーズ リミテッド 検出された障壁に基づく車両のナビゲーション
US10401500B2 (en) 2016-12-30 2019-09-03 DeepMap Inc. Encoding LiDAR scanned data for generating high definition maps for autonomous vehicles
CN110914641B (zh) * 2017-06-14 2024-01-30 御眼视觉技术有限公司 自主导航的导航信息的融合构架和分批对齐
JP6843712B2 (ja) * 2017-07-27 2021-03-17 フォルシアクラリオン・エレクトロニクス株式会社 車載処理装置
US10612929B2 (en) * 2017-10-17 2020-04-07 AI Incorporated Discovering and plotting the boundary of an enclosure
US10436885B2 (en) * 2017-10-19 2019-10-08 DeepMap Inc. Calibrating sensors mounted on an autonomous vehicle
CN109840448A (zh) * 2017-11-24 2019-06-04 百度在线网络技术(北京)有限公司 用于无人驾驶车辆的信息输出方法和装置
JP6932205B2 (ja) * 2017-11-30 2021-09-08 三菱電機株式会社 三次元地図生成システム、三次元地図生成方法および三次元地図生成プログラム
US10994418B2 (en) * 2017-12-13 2021-05-04 X Development Llc Dynamically adjusting roadmaps for robots based on sensed environmental data
US10713510B2 (en) * 2017-12-29 2020-07-14 Waymo Llc Autonomous vehicle system configured to respond to temporary speed limit signs
US10891497B2 (en) * 2018-03-23 2021-01-12 NetraDyne, Inc. Traffic boundary mapping
US10652302B1 (en) * 2018-04-06 2020-05-12 Twitter, Inc. Fast loading and display of image previews
US11520335B2 (en) * 2018-04-12 2022-12-06 Baidu Usa Llc Determining driving paths for autonomous driving vehicles based on map data
US11297203B2 (en) * 2018-05-09 2022-04-05 Panamorph, Inc. Image processing system and method
US10807623B2 (en) 2018-06-01 2020-10-20 Tetra Tech, Inc. Apparatus and method for gathering data from sensors oriented at an oblique angle relative to a railway track
DE102018214697A1 (de) * 2018-08-30 2020-03-05 Continental Automotive Gmbh Fahrbahnkartierungsvorrichtung
US11282225B2 (en) 2018-09-10 2022-03-22 Mapbox, Inc. Calibration for vision in navigation systems
US20200153926A1 (en) * 2018-11-09 2020-05-14 Toyota Motor North America, Inc. Scalable vehicle data compression systems and methods
US11032370B2 (en) * 2018-11-14 2021-06-08 Toyota Jidosha Kabushiki Kaisha Wireless communications in a vehicular macro cloud
DK201970148A1 (en) * 2018-12-10 2020-07-06 Aptiv Tech Ltd Motion graph construction and lane level route planning
US11214268B2 (en) * 2018-12-28 2022-01-04 Intel Corporation Methods and apparatus for unsupervised multimodal anomaly detection for autonomous vehicles
US20200249332A1 (en) * 2019-02-06 2020-08-06 Ford Global Technologies, Llc Online Extrinsic Miscalibration Detection Between Sensors
CN109725329B (zh) * 2019-02-20 2021-12-07 苏州风图智能科技有限公司 一种无人车定位方法及装置
US11402220B2 (en) 2019-03-13 2022-08-02 Here Global B.V. Maplets for maintaining and updating a self-healing high definition map
US11096026B2 (en) 2019-03-13 2021-08-17 Here Global B.V. Road network change detection and local propagation of detected change
US11287267B2 (en) 2019-03-13 2022-03-29 Here Global B.V. Maplets for maintaining and updating a self-healing high definition map
US11255680B2 (en) 2019-03-13 2022-02-22 Here Global B.V. Maplets for maintaining and updating a self-healing high definition map
US11280622B2 (en) 2019-03-13 2022-03-22 Here Global B.V. Maplets for maintaining and updating a self-healing high definition map
US11287266B2 (en) 2019-03-13 2022-03-29 Here Global B.V. Maplets for maintaining and updating a self-healing high definition map
JP7060157B2 (ja) * 2019-03-14 2022-04-26 日本電信電話株式会社 データ圧縮装置、データ圧縮方法、及びプログラム
US11010641B2 (en) 2019-03-14 2021-05-18 Mapbox, Inc. Low power consumption deep neural network for simultaneous object detection and semantic segmentation in images on a mobile computing device
CN112204975A (zh) * 2019-04-29 2021-01-08 百度时代网络技术(北京)有限公司 自动驾驶车辆中视频压缩的时间戳和元数据处理
US11338823B2 (en) * 2019-04-29 2022-05-24 Baidu Usa Llc Multiple sensor data storage with compressed video stream in autonomous driving vehicles
US10908291B2 (en) 2019-05-16 2021-02-02 Tetra Tech, Inc. System and method for generating and interpreting point clouds of a rail corridor along a survey path
DE102019208504A1 (de) * 2019-06-12 2020-12-17 Robert Bosch Gmbh Positionsbestimmung auf der Basis von Umgebungsbeobachtungen
US11619724B2 (en) * 2019-06-26 2023-04-04 Nvidia Corporation Calibration of multiple lidars mounted on a vehicle using localization based on a high definition map
US11556000B1 (en) 2019-08-22 2023-01-17 Red Creamery Llc Distally-actuated scanning mirror
CN113063427A (zh) * 2020-01-02 2021-07-02 广东博智林机器人有限公司 一种室内高精地图生产方法、装置、设备及存储介质
GB2592683A (en) * 2020-03-06 2021-09-08 Sony Corp A device, computer program and method
US11620775B2 (en) 2020-03-30 2023-04-04 Panamorph, Inc. Method of displaying a composite image on an image display
CN111144388B (zh) * 2020-04-03 2020-07-14 速度时空信息科技股份有限公司 一种基于单目影像的道路标志标线的更新方法
US11753006B2 (en) * 2020-06-08 2023-09-12 Robert Bosch Gmbh Representing objects in a surrounding environment of a vehicle using a frenet coordinate system
CN112100307B (zh) * 2020-09-25 2023-07-07 北京奇艺世纪科技有限公司 数据处理方法、寻路处理方法、装置及电子设备
WO2022061880A1 (zh) * 2020-09-28 2022-03-31 深圳市大疆创新科技有限公司 可移动平台及其在线数据的处理方法、装置、存储介质
US20220116052A1 (en) * 2020-10-12 2022-04-14 Uatc, Llc Systems and Methods for Compressing and Storing Sensor Data Collected by an Autonomous Vehicle
US20220137641A1 (en) * 2020-11-04 2022-05-05 Here Global B.V. Method, apparatus, and computer program product for generating an autonomous driving profile map index
CN112527633B (zh) * 2020-11-20 2021-10-01 北京赛目科技有限公司 一种场景库的自动驾驶仿真测试方法及装置
CN112484740B (zh) * 2021-02-02 2021-04-23 奥特酷智能科技(南京)有限公司 用于港口无人物流车的自动建图与自动地图更新系统
CN113074735B (zh) * 2021-03-24 2023-01-31 同济大学 一种地图数据结构的处理方法
EP4336456A1 (en) * 2021-06-04 2024-03-13 Huawei Technologies Co., Ltd. Decoding apparatus and method for 3d map, and encoded code stream of 3d map
CN115602041B (zh) * 2021-07-09 2024-04-09 华为技术有限公司 信息生成方法和装置、信息使用方法和装置
CN113741420B (zh) * 2021-07-28 2023-12-19 浙江工业大学 一种由数据驱动的采样搜索方法和系统
US20230063809A1 (en) * 2021-08-25 2023-03-02 GM Global Technology Operations LLC Method for improving road topology through sequence estimation and anchor point detetection
US20230177730A1 (en) * 2021-12-07 2023-06-08 International Business Machines Corporation Stochastic compression of raster data
CN114252082B (zh) * 2022-03-01 2022-05-17 苏州挚途科技有限公司 车辆定位方法、装置和电子设备
WO2023196163A1 (en) * 2022-04-04 2023-10-12 Onxmaps, Inc. Methods and systems for compressing digital elevation model data

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2595817A1 (fr) * 1986-03-17 1987-09-18 Geospectra Corp Procede de determination de l'orientation d'une plate-forme de capteur imageur ou instrument analogue
US5104217A (en) * 1986-03-17 1992-04-14 Geospectra Corporation System for determining and controlling the attitude of a moving airborne or spaceborne platform or the like
US6868421B1 (en) * 1999-11-27 2005-03-15 Ching-Fang Lin Method of converting geospatial database into compressive database for multiple dimensional data storage
WO2005038402A1 (ja) * 2003-10-21 2005-04-28 Waro Iwane ナビゲーション装置
TWI236803B (en) * 2000-11-27 2005-07-21 Ching-Fang Lin Method of converting geospatial database into compressive database for multiple dimensional data storage
WO2006112125A1 (ja) * 2005-04-08 2006-10-26 Matsushita Electric Industrial Co., Ltd. 撮像装置、印刷システム、印刷装置および画像印刷方法とその方法の制御プログラムが記録された記録媒体
EP1939837A2 (en) * 2006-12-20 2008-07-02 AT&T Corp. Lossless real-time compression of geographic data
CN101290228A (zh) * 2007-04-17 2008-10-22 北京协进科技发展有限公司 一种基于移动终端的地图数据处理方法、系统及移动终端
WO2009045096A1 (en) * 2007-10-02 2009-04-09 Tele Atlas B.V. Method of capturing linear features along a reference-line across a surface for use in a map database
CN102168983A (zh) * 2010-02-12 2011-08-31 三星电子株式会社 用于发送和接收地图数据的方法和装置
US8527199B1 (en) * 2012-05-17 2013-09-03 Google Inc. Automatic collection of quality control statistics for maps used in autonomous driving
CN103366006A (zh) * 2013-07-19 2013-10-23 武汉睿数信息技术有限公司 一种基于三维激光点云建立地理空间索引的方法
CN103854270A (zh) * 2012-11-28 2014-06-11 广州医学院第一附属医院 一种ct和mr异机三维图像融合的配准方法及系统
CN104210439A (zh) * 2013-06-03 2014-12-17 现代自动车株式会社 使用车辆位置传感器数据生成道路地图的方法和系统
EP2927875A2 (en) * 2014-03-31 2015-10-07 University of Maribor Method for progressive lossless light detection and ranging (LiDAR) data compression
CN105551284A (zh) * 2016-01-29 2016-05-04 武汉光庭科技有限公司 一种开放式自动驾驶系统
CN105783936A (zh) * 2016-03-08 2016-07-20 武汉光庭信息技术股份有限公司 用于自动驾驶中的道路标识制图及车辆定位方法及系统

Family Cites Families (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5968109A (en) * 1996-10-25 1999-10-19 Navigation Technologies Corporation System and method for use and storage of geographic data on physical media
US6141454A (en) * 1996-11-01 2000-10-31 Motorola Methods for data compression and decompression using digitized topology data
US6393149B2 (en) * 1998-09-17 2002-05-21 Navigation Technologies Corp. Method and system for compressing data and a geographic database formed therewith and methods for use thereof in a navigation application program
EP1072987A1 (en) * 1999-07-29 2001-01-31 International Business Machines Corporation Geographic web browser and iconic hyperlink cartography
US6363320B1 (en) 2000-08-18 2002-03-26 Geospatial Technologies Inc. Thin-client real-time interpretive object tracking system
US6898445B2 (en) 2000-09-07 2005-05-24 Telefonaktiebolaget Lm Ericsson (Publ) Politeness zones for wireless communication devices
US7042470B2 (en) * 2001-03-05 2006-05-09 Digimarc Corporation Using embedded steganographic identifiers in segmented areas of geographic images and characteristics corresponding to imagery data derived from aerial platforms
US7197160B2 (en) * 2001-03-05 2007-03-27 Digimarc Corporation Geographic information systems using digital watermarks
US6985903B2 (en) * 2002-01-25 2006-01-10 Qualcomm, Incorporated Method and system for storage and fast retrieval of digital terrain model elevations for use in positioning systems
GB2387059A (en) * 2002-03-28 2003-10-01 Sony Uk Ltd Data compression using trial quantisations to determine final quantiser
US7254271B2 (en) * 2003-03-05 2007-08-07 Seadragon Software, Inc. Method for encoding and serving geospatial or other vector data as images
US7343232B2 (en) * 2003-06-20 2008-03-11 Geneva Aerospace Vehicle control system including related methods and components
US8323106B2 (en) * 2008-05-30 2012-12-04 Sony Computer Entertainment America Llc Determination of controller three-dimensional location using image analysis and ultrasonic communication
US7184888B2 (en) * 2003-12-23 2007-02-27 Honda Motor Co., Ltd. System and method for transferring navigation information using different coordinate systems
WO2005089397A2 (en) * 2004-03-16 2005-09-29 Advanced Tracking Technologies, Inc. Geographic information data base engine
US7668386B2 (en) 2005-03-25 2010-02-23 Microsoft Corporation Lossless compression algorithms for spatial data
US7873240B2 (en) * 2005-07-01 2011-01-18 The Boeing Company Method for analyzing geographic location and elevation data and geocoding an image with the data
US7580591B2 (en) * 2005-07-01 2009-08-25 The Boeing Company Method for generating a synthetic perspective image
US8731585B2 (en) * 2006-02-10 2014-05-20 Telecommunications Systems, Inc. Intelligent reverse geocoding
US7769239B2 (en) * 2006-01-12 2010-08-03 Gary Demos Efficient bit-exact lossless image coding residual system
EP1840523B1 (en) * 2006-03-31 2011-03-09 Research In Motion Limited Methods and apparatus for associating mapping functionality and information in contact lists of mobile communication devices
US9646415B2 (en) * 2006-05-16 2017-05-09 Underground Imaging Technologies, Inc. System and method for visualizing multiple-sensor subsurface imaging data
WO2007146967A2 (en) * 2006-06-12 2007-12-21 Google Inc. Markup language for interactive geographic information system
US8884763B2 (en) * 2006-10-02 2014-11-11 iRobert Corporation Threat detection sensor suite
WO2008044911A1 (en) * 2006-10-09 2008-04-17 Tele Atlas B.V. Method and apparatus for generating an orthorectified tile
JP5467651B2 (ja) * 2007-06-14 2014-04-09 トムソン ライセンシング 符号化ビット・ストリームの修正
US8229163B2 (en) * 2007-08-22 2012-07-24 American Gnc Corporation 4D GIS based virtual reality for moving target prediction
CA2701900A1 (en) * 2007-09-11 2009-03-19 Rgb Light Limited Byte representation for enhanced image compression
RU2010136929A (ru) * 2008-02-04 2012-03-20 Теле Атлас Норт Америка Инк. (Us) Способ для согласования карты с обнаруженными датчиком объектами
US8442766B2 (en) * 2008-10-02 2013-05-14 Certusview Technologies, Llc Marking apparatus having enhanced features for underground facility marking operations, and associated methods and systems
US20100157280A1 (en) * 2008-12-19 2010-06-24 Ambercore Software Inc. Method and system for aligning a line scan camera with a lidar scanner for real time data fusion in three dimensions
US8912978B2 (en) * 2009-04-02 2014-12-16 GM Global Technology Operations LLC Dynamic vehicle system information on full windshield head-up display
WO2010124339A1 (en) 2009-05-01 2010-11-04 The University Of Sydney Integrated automation system with picture compilation system
US8977489B2 (en) * 2009-05-18 2015-03-10 GM Global Technology Operations LLC Turn by turn graphical navigation on full windshield head-up display
US9020038B2 (en) * 2009-06-14 2015-04-28 Rafael Advanced Defense Systems Ltd. Systems and methods for streaming and archiving video with geographic anchoring of frame contents
KR101640964B1 (ko) * 2009-07-17 2016-07-19 텔레폰악티에볼라겟엘엠에릭슨(펍) 디지털 지도의 표시
US8405485B2 (en) * 2009-10-21 2013-03-26 Musco Corporation Apparatus, method, and system for identification of multiple points located throughout an area
US20110099507A1 (en) * 2009-10-28 2011-04-28 Google Inc. Displaying a collection of interactive elements that trigger actions directed to an item
JP2013529291A (ja) 2010-04-09 2013-07-18 トムトム ノース アメリカ インコーポレイテッド 場所を表すデータからその場所を解決する方法
US20130272587A1 (en) * 2010-08-25 2013-10-17 Siemens Corporation System and method for interactive segmentation on mobile devices in a cloud computing environment
US9300321B2 (en) * 2010-11-05 2016-03-29 University of Maribor Light detection and ranging (LiDAR)data compression and decompression methods and apparatus
GB201100403D0 (en) 2011-01-11 2011-02-23 Totom Dev Germany Gmbh An efficient location referencing method
US9019358B2 (en) * 2011-02-08 2015-04-28 Xerox Corporation Method for classifying a pixel of a hyperspectral image in a remote sensing application
KR101177365B1 (ko) * 2011-06-29 2012-08-27 올제텍 주식회사 합성 적외선 영상 주입장치
US8692739B2 (en) * 2011-09-22 2014-04-08 GM Global Technology Operations LLC Dynamic information presentation on full windshield head-up display
US8781735B2 (en) * 2012-06-25 2014-07-15 Google Inc. Adaptive clustering of locations
US9569059B2 (en) 2012-11-01 2017-02-14 Blackberry Limited Reference-point-based static-scale mapping application
US9185289B2 (en) 2013-06-10 2015-11-10 International Business Machines Corporation Generating a composite field of view using a plurality of oblique panoramic images of a geographic area
GB201321357D0 (en) 2013-12-04 2014-01-15 Tomtom Int Bv A method of resolving a point location from encoded data representative thereof
US20150219767A1 (en) * 2014-02-03 2015-08-06 Board Of Regents, The University Of Texas System System and method for using global navigation satellite system (gnss) navigation and visual navigation to recover absolute position and attitude without any prior association of visual features with known coordinates
US20160122038A1 (en) * 2014-02-25 2016-05-05 Singularity University Optically assisted landing of autonomous unmanned aircraft
EP3120300A4 (en) * 2014-03-19 2017-11-22 Neurala Inc. Methods and apparatus for autonomous robotic control
CN105698794B (zh) * 2014-11-27 2019-02-05 英业达科技有限公司 地图捕获方法
KR102623680B1 (ko) * 2015-02-10 2024-01-12 모빌아이 비젼 테크놀로지스 엘티디. 자율 주행을 위한 약도
US9936214B2 (en) * 2015-02-14 2018-04-03 Remote Geosystems, Inc. Geospatial media recording system
US20180014452A1 (en) 2015-03-25 2018-01-18 360 Yield Center, Llc Agronomic systems, methods and apparatuses
FR3034553B1 (fr) * 2015-03-30 2018-04-13 Thales Procede de determination d'une direction d'un objet a partir d'une image de l'objet
CN107850445B (zh) * 2015-08-03 2021-08-27 通腾全球信息公司 用于生成及使用定位参考数据的方法及系统
US10013610B2 (en) * 2015-10-23 2018-07-03 Nokia Technologies Oy Integration of positional data and overhead images for lane identification
US9612123B1 (en) * 2015-11-04 2017-04-04 Zoox, Inc. Adaptive mapping to navigate autonomous vehicles responsive to physical environment changes
US10602118B2 (en) * 2015-12-02 2020-03-24 Purdue Research Foundation Method and system for multi-wavelength depth encoding for three dimensional range geometry compression
WO2017161054A1 (en) * 2016-03-15 2017-09-21 Solfice Research, Inc. Systems and methods for providing vehicle cognition
US20180121576A1 (en) * 2016-10-28 2018-05-03 Google Inc. Network planning using mobile data collection devices and machine learning
US10401500B2 (en) * 2016-12-30 2019-09-03 DeepMap Inc. Encoding LiDAR scanned data for generating high definition maps for autonomous vehicles
WO2018125848A1 (en) 2016-12-30 2018-07-05 DeepMap Inc. Route generation using high definition maps for autonomous vehicles
US20180224284A1 (en) * 2017-02-06 2018-08-09 Robert Bosch Gmbh Distributed autonomous mapping
US10757485B2 (en) * 2017-08-25 2020-08-25 Honda Motor Co., Ltd. System and method for synchronized vehicle sensor data acquisition processing using vehicular communication

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2595817A1 (fr) * 1986-03-17 1987-09-18 Geospectra Corp Procede de determination de l'orientation d'une plate-forme de capteur imageur ou instrument analogue
US5104217A (en) * 1986-03-17 1992-04-14 Geospectra Corporation System for determining and controlling the attitude of a moving airborne or spaceborne platform or the like
US6868421B1 (en) * 1999-11-27 2005-03-15 Ching-Fang Lin Method of converting geospatial database into compressive database for multiple dimensional data storage
TWI236803B (en) * 2000-11-27 2005-07-21 Ching-Fang Lin Method of converting geospatial database into compressive database for multiple dimensional data storage
WO2005038402A1 (ja) * 2003-10-21 2005-04-28 Waro Iwane ナビゲーション装置
WO2006112125A1 (ja) * 2005-04-08 2006-10-26 Matsushita Electric Industrial Co., Ltd. 撮像装置、印刷システム、印刷装置および画像印刷方法とその方法の制御プログラムが記録された記録媒体
EP1939837A2 (en) * 2006-12-20 2008-07-02 AT&T Corp. Lossless real-time compression of geographic data
CN101290228A (zh) * 2007-04-17 2008-10-22 北京协进科技发展有限公司 一种基于移动终端的地图数据处理方法、系统及移动终端
WO2009045096A1 (en) * 2007-10-02 2009-04-09 Tele Atlas B.V. Method of capturing linear features along a reference-line across a surface for use in a map database
CN102168983A (zh) * 2010-02-12 2011-08-31 三星电子株式会社 用于发送和接收地图数据的方法和装置
US8527199B1 (en) * 2012-05-17 2013-09-03 Google Inc. Automatic collection of quality control statistics for maps used in autonomous driving
CN103854270A (zh) * 2012-11-28 2014-06-11 广州医学院第一附属医院 一种ct和mr异机三维图像融合的配准方法及系统
CN104210439A (zh) * 2013-06-03 2014-12-17 现代自动车株式会社 使用车辆位置传感器数据生成道路地图的方法和系统
CN103366006A (zh) * 2013-07-19 2013-10-23 武汉睿数信息技术有限公司 一种基于三维激光点云建立地理空间索引的方法
EP2927875A2 (en) * 2014-03-31 2015-10-07 University of Maribor Method for progressive lossless light detection and ranging (LiDAR) data compression
CN105551284A (zh) * 2016-01-29 2016-05-04 武汉光庭科技有限公司 一种开放式自动驾驶系统
CN105783936A (zh) * 2016-03-08 2016-07-20 武汉光庭信息技术股份有限公司 用于自动驾驶中的道路标识制图及车辆定位方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Heiko G. Seif a,*, Xiaolong Hu b.Autonomous Driving in the iCity—HD Maps as a Key Challenge of the Automotive Industry.Engineering.2016,(2016(2)),159-162. *
Marius Dupuis e.a..OpenDRIVE Formate Specification Rev.1.4.VIRES Simulationstechnologie GmbH,2015,(第Rev. 1.4版),13-65. *

Also Published As

Publication number Publication date
US10401500B2 (en) 2019-09-03
US20200116865A1 (en) 2020-04-16
US20180188372A1 (en) 2018-07-05
US20230393276A1 (en) 2023-12-07
US10359518B2 (en) 2019-07-23
US20180192059A1 (en) 2018-07-05
US20220373687A1 (en) 2022-11-24
WO2018126067A1 (en) 2018-07-05
US11754716B2 (en) 2023-09-12
CN110869981A (zh) 2020-03-06
US11209548B2 (en) 2021-12-28

Similar Documents

Publication Publication Date Title
CN110869981B (zh) 用于自主车辆的高清晰度地图数据的向量数据编码
US11353589B2 (en) Iterative closest point process based on lidar with integrated motion estimation for high definition maps
US11835357B2 (en) Camera based localization for autonomous vehicles
US10837773B2 (en) Detection of vertical structures based on LiDAR scanner data for high-definition maps for autonomous vehicles
US11068516B2 (en) High definition map and route storage management system for autonomous vehicles
CN110832417B (zh) 使用高清地图为自主车辆生成路线
US11727272B2 (en) LIDAR-based detection of traffic signs for navigation of autonomous vehicles
US11598876B2 (en) Segmenting ground points from non-ground points to assist with localization of autonomous vehicles
CN111656135A (zh) 基于高清地图的定位优化
US20200401817A1 (en) Determining weights of points of a point cloud based on geometric features
US11675083B2 (en) Removal of ephemeral points from point cloud of a high-definition map for navigating autonomous vehicles

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20221129

Address after: California, USA

Applicant after: NVIDIA Corp.

Address before: California, USA

Applicant before: Dipup Ltd.

GR01 Patent grant
GR01 Patent grant