CN112105890B - 用于自动驾驶车辆的基于rgb点云的地图生成系统 - Google Patents

用于自动驾驶车辆的基于rgb点云的地图生成系统 Download PDF

Info

Publication number
CN112105890B
CN112105890B CN201980002329.2A CN201980002329A CN112105890B CN 112105890 B CN112105890 B CN 112105890B CN 201980002329 A CN201980002329 A CN 201980002329A CN 112105890 B CN112105890 B CN 112105890B
Authority
CN
China
Prior art keywords
point cloud
rgb
point
features
map
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
CN201980002329.2A
Other languages
English (en)
Other versions
CN112105890A (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.)
Baidu com Times Technology Beijing Co Ltd
Baidu USA LLC
Original Assignee
Baidu com Times Technology Beijing Co Ltd
Baidu USA LLC
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 Baidu com Times Technology Beijing Co Ltd, Baidu USA LLC filed Critical Baidu com Times Technology Beijing Co Ltd
Publication of CN112105890A publication Critical patent/CN112105890A/zh
Application granted granted Critical
Publication of CN112105890B publication Critical patent/CN112105890B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • 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/02Systems using the reflection of electromagnetic waves other than radio waves
    • G01S17/06Systems determining position data of a target
    • G01S17/42Simultaneous measurement of distance and other co-ordinates
    • 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
    • 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
    • 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
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/4808Evaluating distance, position or velocity data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • G06F18/2193Validation; Performance evaluation; Active pattern learning techniques based on specific statistical tests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/253Fusion techniques of extracted features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/579Depth or shape recovery from multiple images from motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10032Satellite or aerial image; Remote sensing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Theoretical Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Electromagnetism (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Multimedia (AREA)
  • Traffic Control Systems (AREA)
  • Navigation (AREA)
  • Image Analysis (AREA)
  • Instructional Devices (AREA)

Abstract

在一个实施方式中,系统接收由ADV的一个或多个LIDAR传感器捕获的多个点云和相应的位姿(1801)。系统从ADV的一个或多个图像捕获传感器接收多个RGB图像(1802)。系统使RGB图像与点云同步以获得RGB点云(1803)。系统从RGB点云提取特征,所述特征包括RGB点云的情境信息和空间信息(1804)。系统基于所提取的特征来登记RGB点云(1805),并基于RGB点云的登记生成点云地图(1806)。

Description

用于自动驾驶车辆的基于RGB点云的地图生成系统
技术领域
本公开的实施方式总体涉及操作自动驾驶车辆。更具体地,本公开的实施方式涉及用于自动驾驶车辆(ADV)的基于RGB(红、绿、蓝)点云的地图生成系统。
背景技术
以自动驾驶模式运行(例如,无人驾驶)的车辆可以将乘客(尤其是驾驶员)从一些驾驶相关的职责中解放出来。当以自动驾驶模式运行时,车辆可以使用车载传感器导航到各个位置,从而允许车辆在最少人机交互的情况下或在没有任何乘客的一些情况下行使。
运动规划和控制是自动驾驶中的关键操作。然而,传统的运动规划操作主要根据其曲率和速度来估计完成给定路径的难度,而不考虑不同类型车辆的特征差异。相同的运动规划和控制应用于所有类型的车辆,这在某些情况下可能不准确且不平滑。
高清(HD)三维(3D)点云地图对于自动驾驶车辆是重要的,并且点云登记(pointcloud registration)系统是根据点云数据构建HD3D点云地图的重点。具有高精度的HD 3D点云地图是自动驾驶车辆(ADV)的运动规划的关键。
然而,存在影响地图结构的性能和精确度的若干问题。首先,当前的点云登记算法高度依赖于用于定位的GPS信号来进行地图构建,其在例如由高楼林立的城市街道或茂密的森林中,可能具有米级的误差范围,或者记录下具有GPS弹跳的信号。或者例如,在隧道或车库中,GPS可能无法完全地记录信号。其次,点云的登记可能是计算复杂的,例如,这对于大的地图区域而言是具有挑战性且耗时的。
此外,经登记的HD 3D点云地图的精确度可取决于点云的质量或点云的拼接。如果点云地图具有由例如点云的拼接而导致的重影图像,则HD 3D点云地图的精确度可能受损。为了确保高精确度,期望针对重影效果来评估点云地图。
发明内容
在第一方面,本公开的实施方式提供了一种用于自动驾驶车辆(ADV)的将点云登记到三维(3D)点云地图的计算机实施方法,所述方法包括:接收由ADV的一个或多个LIDAR传感器捕获的多个点云和相应的位姿;从所述ADV的一个或多个图像捕获传感器接收多个RGB图像;使所述RGB图像与所述点云同步以获得RGB点云;从所述RGB点云提取特征,所述特征包括所述RGB点云的情境信息和空间信息;基于所提取的特征来登记所述RGB点云;以及基于所述RGB点云的登记生成点云地图。
在第二方面,本公开的实施方式提供了一种其中存储有指令的非暂时性机器可读介质,所述指令在由处理器运行时使得所述处理器执行以下操作,所述操作包括:接收由ADV的一个或多个LIDAR传感器捕获的多个点云和相应的位姿;从所述ADV的一个或多个图像捕获传感器接收多个RGB图像;使所述RGB图像与所述点云同步以获得RGB点云;从所述RGB点云提取特征,所述特征包括所述RGB点云的情境信息和空间信息;基于所提取的特征来登记所述RGB点云;以及基于所述RGB点云的登记生成点云地图。
在第三方面,本发明实施方式提供了一种数据处理系统,包括:处理器;以及存储器,所述存储器联接至所述处理器以存储指令,所述指令在由所述处理器运行时使得所述处理器执行以下操作,所述操作包括:接收由ADV的一个或多个LIDAR传感器捕获的多个点云和相应的位姿;从所述ADV的一个或多个图像捕获传感器接收多个RGB图像;使所述RGB图像与所述点云同步以获得RGB点云;从所述RGB点云提取特征,所述特征包括所述RGB点云的情境信息和空间信息;基于所提取的特征来登记所述RGB点云;以及基于所述RGB点云的登记生成点云地图。
附图说明
本公开的实施方式在附图的各图中以示例而非限制的方式示出,附图中相似的附图标记指示相似的元件。
图1是示出根据一个实施方式的网络化系统的框图。
图2是示出根据一个实施方式的自动驾驶车辆的示例的框图。
图3A至图3B是示出根据一个实施方式的与自动驾驶车辆一起使用的感知与规划系统的示例的框图。
图4是示出根据一个实施方式的HD地图生成引擎的示例的框图。
图5是示出根据一个实施方式的HD地图生成系统的示例的框图。
图6是示出根据一个实施方式的用于HD地图生成系统的流水线的示例的框图。
图7A是示出根据一个实施方式的具有闭合环路的地图区域的图。
图7B是示出根据一个实施方式的LIDAR图像的二维俯视图的图像。
图8是示出根据一个实施方式的方法的示例的流程图。
图9是示出根据一个实施方式的与自动驾驶车辆一起使用的感知与规划系统的示例的框图。
图10是示出根据一个实施方式的实时HD地图生成模块的示例的框图。
图11A是示出根据一个实施方式的实时HD地图生成流水线的示例的流程图。
图11B是示出根据一个实施方式的闭合环路定位的示例的流程图。
图12示出根据一个实施方式的多层感知器的示例。
图13示出根据一个实施方式的目标地图的示例。
图14是示出根据一个实施方式的方法的示例的流程图。
图15是示出根据一个实施方式的与自动驾驶车辆一起使用的感知与规划系统的示例的框图。
图16是示出根据一个实施方式的RGB点云模块的示例的框图。
图17是示出根据一些实施方式的RGB点云同步方法的示例的框图。
图18是示出根据一个实施方式的方法的示例的流程图。
图19是示出根据一个实施方式的与自动驾驶车辆一起使用的感知与规划系统的示例的框图。
图20是示出根据一个实施方式的地图分区模块的示例的框图。
图21是示出根据一个实施方式的道路标记提取的示例的流程图。
图22示出根据一个实施方式的提取道路标记点的搜索的示例。
图23是示出根据一个实施方式的道路路缘提取的示例的流程图。
图24示出根据一个实施方式的道路路缘提取的示例。
图25示出根据一个实施方式的地图分区的示例。
图26A和图26B是示出根据一些实施方式的方法的示例的流程图。
图27是示出根据一个实施方式的与自动驾驶车辆一起使用的感知与规划系统的示例的框图。
图28是示出根据一个实施方式的重影效果引擎的示例的框图。
图29是示出根据一个实施方式的重影效果检测的示例的流程图。
图30是示出根据一个实施方式的方法的示例的流程图。
图31是示出根据一个实施方式的数据处理系统的框图。
具体实施方式
将参考以下所讨论的细节来描述本公开的各种实施方式和方面,附图将示出所述各种实施方式。下列描述和附图是对本公开的说明,而不应当解释为限制本公开。描述了许多特定细节以提供对本公开各种实施方式的全面理解。然而,在某些情况下,并未描述众所周知的或常规的细节以提供对本公开的实施方式的简洁讨论。
本说明书中对“一个实施方式”或“实施方式”的引述意味着结合该实施方式所描述的特定特征、结构或特性可包括在本公开的至少一个实施方式中。短语“在一个实施方式中”在本说明书中各处的记载不必全部指同一实施方式。
本说明书中对“HD”或“高清”的引用,诸如HD地图或HD位姿,是指具有非常高精确度水平的地图或位姿。例如,HD地图可以具有厘米或数十厘米的精确度水平。
为了解决针对大地图区域的在微弱GPS信号或无GPS信号时出现的问题以及计算复杂性问题,使用地图区域的拓扑信息(例如,闭合环路)将所述大地图区域划分成更小的分区。然后,可以在计算群集(例如,Hadoop群集)的每个节点中单独地计算(例如,并行地计算)每个分区的计算,从而利用每个节点的计算负载来降低总体计算复杂性。此外,拓扑信息改善了在微弱GPS信号或没有GPS信号的情况下的点云登记。
根据第一方面,公开了一种用于自动驾驶车辆(ADV)的对点云进行登记的系统。系统从配备有LIDAR传感器的ADV接收多个点云和相应的位姿,所述LIDAR传感器捕获待绘制成地图的可行驶区域的点云,其中,这些点云对应于第一坐标系(例如,相对于ADV的位置的相对坐标系)。系统基于通过点云捕获的可行驶环路信息将点云和相应位姿划分成一个或多个环路分区。针对每个环路分区,系统对与环路分区对应的点云应用优化模型以登记点云,包括将点云从第一坐标系变换到第二坐标(例如,诸如UTM坐标系的全局坐标系或绝对坐标系)。系统使用位姿图算法将一个或多个环路分区合并在一起,其中利用合并后的点云分区来感知ADV周围的驾驶环境。
根据第二方面,系统从ADV的一个或多个LIDAR传感器实时地接收点云帧流,并实时地接收相应的位姿。系统基于帧流的每个帧中的点的几何形状或空间属性提取用于帧流的每个帧的片段信息,其中片段信息包括与第一位姿对应的至少第一帧的一个或多个片段。系统基于片段信息来登记帧流。系统基于帧登记来生成用于帧流的第一点云地图。
根据第三方面,系统接收通过ADV的一个或多个LIDAR传感器捕获的多个点云,并接收相应的位姿。系统从ADV的一个或多个图像捕获传感器接收多个RGB(红、蓝和绿)图像。系统使RGB图像与点云同步以获得RGB点云。系统从RGB点云提取特征,所述特征包括RGB点云的情境信息和空间信息。系统基于提取的特征来登记RGB点云,并基于RGB点云的登记生成点云地图。
根据第四方面,系统识别到通过ADV导航出的道路,所述道路通过来自一个或多个LIDAR传感器的一个或多个点云捕获到。该系统从点云提取所识别道路的道路标记信息,所述道路标记信息描述所识别道路的一个或多个道路标记。系统基于道路标记将道路划分成一个或多个道路分区。系统基于道路分区生成点云地图,其中,使用点云地图来感知ADV周围的驾驶环境。
根据第五方面,系统基于点云的初始帧生成占用网格地图。系统接收点云的一个或多个后续帧。针对后续帧中的每个,系统基于后续帧更新占用网格地图。系统基于所述更新识别一个或多个异常体素,系统确定出异常体素是否属于壁对象,并且响应于确定出异常体素属于壁对象,所述系统将异常体素标示为后续帧的重影效果体素。
图1是示出根据本公开的一个实施方式的自动驾驶车辆网络配置的框图。参照图1,网络配置100包括可以通过网络102通信地联接到一个或多个服务器103至104的自动驾驶车辆101。尽管示出一个自动驾驶车辆,但多个自动驾驶车辆可以通过网络102联接到彼此和/或联接到服务器103至104。网络102可以是任何类型的网络,例如,有线或无线的局域网(LAN)、诸如互联网的广域网(WAN)、蜂窝网络、卫星网络或其组合。服务器103至104可以是任何类型的服务器或服务器群集,诸如,网络或云服务器、应用服务器、后端服务器或其组合。服务器103至104可以是数据分析服务器、内容服务器、交通信息服务器、地图和兴趣点(MPOI)服务器或者位置服务器等。
自动驾驶车辆是指可以被配置成处于自动驾驶模式下的车辆,在所述自动驾驶模式下车辆在极少或没有来自驾驶员的输入的情况下导航通过环境。这种自动驾驶车辆可包括传感器系统,所述传感器系统具有被配置成检测与车辆运行环境有关的信息的一个或多个传感器。所述车辆和其相关联的控制器使用所检测的信息来导航通过所述环境。自动驾驶车辆101可以在手动模式下、在全自动驾驶模式下或者在部分自动驾驶模式下运行。
在一个实施方式中,自动驾驶车辆101包括,但不限于,感知与规划系统110、车辆控制系统111、无线通信系统112、用户接口系统113、信息娱乐系统114和传感器系统115。自动驾驶车辆101还可包括普通车辆中包括的某些常用部件,诸如:发动机、车轮、方向盘、变速器等,所述部件可以由车辆控制系统111和/或感知与规划系统110使用多种通信信号和/或命令进行控制,该多种通信信号和/或命令例如,加速信号或命令、减速信号或命令、转向信号或命令、制动信号或命令等。
部件110至115可以经由互连件、总线、网络或其组合通信地联接到彼此。例如,部件110至115可以经由控制器局域网(CAN)总线通信地联接到彼此。CAN总线是被设计成允许微控制器和装置在没有主机的应用中与彼此通信的车辆总线标准。它是最初是为汽车内的复用电气布线设计的基于消息的协议,但也用于许多其它环境。
现在参照图2,在一个实施方式中,传感器系统115包括但不限于一个或多个相机211、全球定位系统(GPS)单元212、惯性测量单元(IMU)213、雷达单元214以及光探测和测距(LIDAR)单元215。GPS系统212可包括收发器,所述收发器可操作以提供关于自动驾驶车辆的位置的信息。IMU单元213可以基于惯性加速度来感测自动驾驶车辆的位置和定向变化。雷达单元214可以表示利用无线电信号来感测自动驾驶车辆的本地环境内的对象的系统。在一些实施方式中,除感测对象之外,雷达单元214可以另外感测对象的速度和/或前进方向。LIDAR单元215可以使用激光来感测自动驾驶车辆所处环境中的对象。除其它系统部件之外,LIDAR单元215还可包括一个或多个激光源、激光扫描器以及一个或多个检测器。相机211可包括用来采集自动驾驶车辆周围环境的图像的一个或多个装置。相机211可以是静物相机和/或视频相机。相机可以是可机械地移动的,例如,通过将相机安装在旋转和/或倾斜平台上。
传感器系统115还可包括其它传感器,诸如:声纳传感器、红外传感器、转向传感器、油门传感器、制动传感器以及音频传感器(例如,麦克风)。音频传感器可以被配置成从自动驾驶车辆周围的环境中采集声音。转向传感器可以被配置成感测方向盘、车辆的车轮或其组合的转向角度。油门传感器和制动传感器分别感测车辆的油门位置和制动位置。在一些情形下,油门传感器和制动传感器可以集成为集成式油门/制动传感器。
在一个实施方式中,车辆控制系统111包括但不限于转向单元201、油门单元202(也被称为加速单元)和制动单元203。转向单元201用来调整车辆的方向或前进方向。油门单元202用来控制电动机或发动机的速度,电动机或发动机的速度进而控制车辆的速度和加速度。制动单元203通过提供摩擦使车辆的车轮或轮胎减速而使车辆减速。应注意,如图2所示的部件可以以硬件、软件或其组合实施。
回到图1,无线通信系统112允许自动驾驶车辆101与诸如装置、传感器、其它车辆等外部系统之间的通信。例如,无线通信系统112可以与一个或多个装置直接无线通信,或者经由通信网络进行无线通信,诸如,通过网络102与服务器103至104通信。无线通信系统112可以使用任何蜂窝通信网络或无线局域网(WLAN),例如,使用WiFi,以与另一部件或系统通信。无线通信系统112可以例如使用红外链路、蓝牙等与装置(例如,乘客的移动装置、显示装置、车辆101内的扬声器)直接通信。用户接口系统113可以是在车辆101内实施的外围装置的部分,包括例如键盘、触摸屏显示装置、麦克风和扬声器等。
自动驾驶车辆101的功能中的一些或全部可以由感知与规划系统110控制或管理,尤其当在自动驾驶模式下操作时。感知与规划系统110包括必要的硬件(例如,处理器、存储器、存储设备)和软件(例如,操作系统、规划和路线安排程序),以从传感器系统115、控制系统111、无线通信系统112和/或用户接口系统113接收信息,处理所接收的信息,规划从起始点到目的地点的路线或路径,随后基于规划和控制信息来驾驶车辆101。替代地,感知与规划系统110可以与车辆控制系统111集成在一起。
例如,作为乘客的用户可以例如经由用户接口来指定行程的起始位置和目的地。感知与规划系统110获得行程相关数据。例如,感知与规划系统110可以从MPOI服务器中获得位置和路线信息,所述MPOI服务器可以是服务器103至104的一部分。位置服务器提供位置服务,并且MPOI服务器提供地图服务和某些位置的POI。替代地,此类位置和MPOI信息可以本地高速缓存在感知与规划系统110的永久性存储装置中。
当自动驾驶车辆101沿着路线移动时,感知与规划系统110也可以从交通信息系统或服务器(TIS)获得实时交通信息。应注意,服务器103至104可以由第三方实体进行操作。替代地,服务器103至104的功能可以与感知与规划系统110集成在一起。基于实时交通信息、MPOI信息和位置信息以及由传感器系统115检测或感测的实时本地环境数据(例如,障碍物、对象、附近车辆),感知与规划系统110可以规划最佳路线并且根据所规划的路线例如经由控制系统111来驾驶车辆101,以安全且高效到达指定目的地。
服务器103可以是为各种客户端执行数据分析服务的数据分析系统。在一个实施方式中,数据分析系统103包括数据收集器121和机器学习引擎122。数据收集器121从各种车辆(自动驾驶车辆或由人类驾驶员所驾驶的常规车辆)收集驾驶统计数据123。驾驶统计数据123包括表示在不同的时间点处发出的驾驶命令(例如,油门命令、制动命令、转向命令)以及车辆的传感器所捕获的车辆的响应(例如速度、加速、减速、方向)的信息。驾驶统计数据123还可包括描述在不同的时间点处的驾驶环境的信息,诸如,例如路线(包括起始位置和目的地位置)、MPOI、道路状况、天气状况等。驾驶统计数据123可以进一步包括点云信息,诸如由安装在车辆上的LIDAR传感器捕获的用于描述驾驶环境的点云图像,以及由IMU和GPS传感器捕获的用于描述车辆的位置和取向的相应位姿。
基于驾驶统计数据123,机器学习引擎122生成或训练规则、算法和/或预测模型124的集合,以用于各种目的。在一个实施方式中,算法124可以包括集束调整(bundleadjustment)算法、交替方向乘子(ADMM)算法、图像分割算法(例如,边缘检测、运动检测等)、同步定位与建图(SLAM)算法、深度学习神经网络模型。
算法124可以上传到ADV上以在自动驾驶期间实时使用,或者可以由服务器103的其他模块(诸如,HD地图生成引擎125)使用。在一个实施方式中,HD地图生成引擎125可以登记由ADV收集的点云,并基于所登记的点云生成HD地图。虽然HD地图生成引擎125示出为服务器103的一部分,但是在一些实施方式中,引擎125可以是服务器104的一部分。
图3A和图3B是示出根据一个实施方式的与自动驾驶车辆一起使用的感知与规划系统的示例的框图。系统300可以被实施为图1的自动驾驶车辆101的一部分,包括但不限于感知与规划系统110、控制系统111和传感器系统115。参照图3A至图3B,感知与规划系统110包括但不限于定位模块301、感知模块302、预测模块303、决策模块304、规划模块305、控制模块306和路线安排模块307。
模块301至307中的一些或全部可以以软件、硬件或其组合实施。例如,这些模块可以安装在永久性存储装置352中、加载到存储器351中,并且由一个或多个处理器(未示出)执行。应注意,这些模块中的一些或全部可以通信地联接到图2的车辆控制系统111的一些或全部模块或者与它们集成在一起。模块301至307中的一些可以一起集成为集成模块。
定位模块301(例如,利用GPS单元212)确定自动驾驶车辆300的当前位置,并管理与用户的行程或路线相关的任何数据。定位模块301(也被称为地图与路线模块)管理与用户的行程或路线相关的任何数据。用户可以例如经由用户接口登录并且指定行程的起始位置和目的地。定位模块301与自动驾驶车辆300的诸如地图和路线信息311的其它部件通信,以获得行程相关数据。例如,定位模块301可以从位置服务器和地图与POI(MPOI)服务器获得位置和路线信息。位置服务器提供位置服务,并且MPOI服务器提供地图服务和某些位置的POI,从而可以作为地图和路线信息311的一部分高速缓存。当自动驾驶车辆300沿着路线移动时,定位模块301也可以从交通信息系统或服务器获得实时交通信息。
基于由传感器系统115提供的传感器数据和由定位模块301获得的定位信息,感知模块302确定对周围环境的感知。感知信息可以表示普通驾驶员在驾驶员正驾驶的车辆周围将感知到的东西。感知可包括例如采用对象形式的车道配置、交通灯信号、另一车辆的相对位置、行人、建筑物、人行横道或其它交通相关标志(例如,停止标志、让行标志)等。车道配置包括描述一条车道或多条车道的信息,例如,车道的形状(例如,直线或曲率)、车道的宽度、道路中的车道数目、单向车道或双向车道、合流车道或分流车道、出口车道等。
感知模块302可包括计算机视觉系统或计算机视觉系统的功能,以处理并分析由一个或多个相机采集的图像,从而识别自动驾驶车辆环境中的对象和/或特征。所述对象可包括交通信号、道路边界、其它车辆、行人和/或障碍物等。计算机视觉系统可以使用对象识别算法、视频追踪以及其它计算机视觉技术。在一些实施方式中,计算机视觉系统可以绘制环境地图,追踪对象,以及估算对象的速度等。感知模块302也可以基于由诸如雷达和/或LIDAR的其它传感器提供的其它传感器数据来检测对象。
针对每个对象,预测模块303预测所述对象在所述情况下将作出什么行为。基于在某时间点感知的驾驶环境的感知数据根据地图/路线信息311与交通规则312的集合来执行所述预测。例如,如果对象是相反方向处的车辆且当前驾驶环境包括十字路口,预测模块303则将预测该车辆是可能向前直行还是可能转弯。如果感知数据表明十字路口没有交通灯,则预测模块303可预测该车辆可能在进入十字路口之前必须完全停下。如果感知数据表明该车辆当前处于左转专用车道或右转专用车道,则预测模块303可分别预测该车辆更可能进行左转或右转。
针对每个对象,决策模块304作出关于如何处置对象的决定。例如,针对特定对象(例如,交叉路线中的另一车辆)以及描述对象的元数据(例如,速度、方向、转弯角度),决策模块304决定如何与所述对象相遇(例如,超车、让行、停止、超过)。决策模块304可以根据诸如交通规则或驾驶规则312的规则集来作出此类决定,所述规则集可以存储在永久性存储装置352中。
路线安排模块307配置成提供从起始点到终点的一个或多个路线或路径。对于例如从用户处接收到的从起始位置到目的地位置的给定行程,路线安排模块307获取地图和路线信息311,并确定从起始位置到达目的地位置的所有可能的路线或路径。对于确定了从起始位置到达目的地位置的路线中的每一个,路线安排模块307可以以地形图的形式生成参考线路。参考线路表示没有诸如其它车辆、障碍物或交通状况的其它干扰的理想路线或理想路径。即,如果道路上没有其它车辆、行人或障碍物,则ADV应精确地或严密地遵循参考线路。随后可向决策模块304和/或规划模块305提供地形图。根据由其它模块提供的其它数据(诸如,来自定位模块301的交通状况、感知模块302感知的驾驶环境和预测模块303预测的交通状况),决策模块304和/或规划模块305检验所有可能的路线,以选择并修正最佳路线中的一个。取决于在某时间点处的特定的驾驶环境,用于控制ADV的实际路径或路线可接近于或不同于由路线安排模块307提供的参考线路。
基于针对所感知到的对象中的每个的决定,规划模块305使用由路线安排模块307提供的参考线路作为基础,为自动驾驶车辆规划路径或路线以及驾驶参数(例如,距离、速度和/或转弯角度)。即,针对给定的对象,决策模块304决定对该对象做什么,而规划模块305确定如何去做。例如,针对给定的对象,决策模块304可以决定超过所述对象,而规划模块305可以确定在所述对象的左侧还是右侧超过。规划和控制数据由规划模块305生成,包括描述车辆300在下一移动周期(例如,下一路线/路径段)中将如何移动的信息。例如,规划和控制数据可以指示车辆300以30英里每小时(mph)的速度移动10米,随后以25mph的速度变到右侧车道。
基于规划和控制数据,控制模块306根据由规划和控制数据限定的路线或路径通过将适当的命令或信号发送到车辆控制系统111来控制并驾驶自动驾驶车辆。所述规划和控制数据包括足够的信息,以沿着路径或路线在不同的时间点使用适当的车辆设置或驾驶参数(例如,油门、制动和转向命令)将车辆从路线或路径的第一点驾驶到第二点。
在一个实施方式中,规划阶段在多个规划周期(也称为驾驶周期)中执行,诸如,以例如每100毫秒(ms)的时间间隔执行。针对每个规划周期或驾驶周期,将基于规划和控制数据发出一个或多个控制命令。即,对于每100ms,规划模块305规划下一路线段或路径段,例如,包括目标位置和ADV到达该目标位置所需的时间。替代地,规划模块305还可指定具体速度、方向和/或转向角度等。在一个实施方式中,规划模块305为下一预定的时间段(诸如5秒)规划路线段或路径段。对于每个规划周期,规划模块305基于先前周期中所规划的目标位置为当前周期(例如,下个5秒)规划目标位置。控制模块306随后基于当前周期的规划和控制数据生成一个或多个控制命令(例如,油门控制命令、制动控制命令、转向控制命令)。
应注意,决策模块304和规划模块305可以集成为集成模块。决策模块304/规划模块305可包括导航系统或导航系统的功能,以确定自动驾驶车辆的驾驶路径。例如,导航系统可以确定用于实现自动驾驶车辆沿着以下路径移动的一系列速度和前进方向:所述路径在使自动驾驶车辆沿着通往最终目的地的基于车行道的路径前进的同时,基本上避免感知到的障碍物。目的地可以根据经由用户接口系统113进行的用户输入来设定。导航系统可以在自动驾驶车辆正在运行的同时动态地更新驾驶路径。导航系统可以将来自GPS系统和一个或多个地图的数据合并,以确定用于自动驾驶车辆的驾驶路径。
图4是示出根据一个实施方式的HD地图生成引擎的示例的框图。HD地图生成引擎可以登记点云并基于点云登记生成HD地图。参考图4,HD地图生成引擎125可以包括多个模块,诸如点云接收器模块401、点云下采样模块403、环路(loop)信息确定器模块405、分区模块407、优化求解器模块409、合并器模块411。应注意的是,这些模块中的部分或全部可以集成到更少的模块中,或者可以划分成更多的模块。
点云接收器模块401可以接收点云(例如,由ADV的LIDAR传感器捕获的LIDAR图像)和相应的位姿(例如,位置和取向)。在该示例中,点云指的是由LIDAR装置在特定时间点处捕获的一组数据点。每个数据点均与数据点的位置信息(例如,x、y和z坐标)相关联。点云下采样模块403(其可以是可选的)可以在空间上或时间上对点云进行下采样。环路信息确定器模块405可以针对与形成地理环路的可行驶区域对应的一组点云确定出是否存在闭合环路(loop closure)。分区模块407可以基于闭合信息或块分区信息将一个或多个可行驶区域划分成一个或多个分区。优化求解器模块409可以将优化算法(诸如,集束调整或ADMM算法,其为图4的算法415或者图1的算法124的部分)应用于与分区对应的点云和位姿,以生成精确的HD LIDAR位姿。合并器模块411可以将多个分区合并在一起以生成HD地图。应注意,登记是指用于被绘制成地图的区域的点云数据的配准。
图5是示出根据一个实施方式的HD地图生成系统的示例的框图。HD地图生成系统500示出了HD地图生成的概况。HD地图生成系统500可以是图1的HD地图生成引擎125的一部分。参考图5,在一个实施方式中,HD地图生成系统500包括点云登记子系统501和HD地图生成子系统502。点云登记子系统501可以(例如,分别从IMU 213、GPS单元212和LIDAR单元215)接收IMU信号、GPS信号和LIDAR图像503作为输入,并且基于所接收的输入生成HD位姿504(或者针对LIDAR图像503配准位姿)。然后,HD地图生成子系统502可以接收LIDAR图像503和HD位姿504作为输入,并基于这些输入生成HD地图505。
图6是示出根据一个实施方式的用于HD地图生成系统的流水线的示例的框图。流水线600可以是用于HD地图生成系统(诸如,图5的系统500)或HD地图生成引擎(诸如,图4的引擎125)的流水线。参考图6,在一个实施方式中,流水线600包括但不限于下采样过程601、划分过程602、Hadoop和消息传递接口(MPI)并行登记过程603、位姿图配准过程604以及位姿调整过程605。这些操作601至605中的一些可以由不同的处理节点串行、并行或以流水线的方式执行,这可以由地图生成系统进行分配。不同的过程描述如下:
流水线的输入可以是原始点云,并且它们的位姿是从安装在一个或多个ADV上的LIDAR传感器从任务场景中收集到的。通常,输入包含数万或数十万个待优化或待配准的LIDAR位姿。为了使用于流水线600的输入点的数量最小化,下采样过程601以连续的方式在空间和/或时间上对位姿进行向下采样。
在一个实施方式中,过程601可以在空间上对点云进行下采样。例如,过程601可以确定空间滑动窗口。滑动窗口可以是具有预定半径的圆形窗口。然后,过程601针对空间窗口内的所有点云识别出一个LIDAR点云和相应的位姿,以进行进一步处理。在另一实施方式中,过程601可以对未被识别出用于进一步处理的其他LIDAR点云及其相应的位姿进行处理。在一个实施方式中,可以基于感兴趣的空间区域(例如,滑动窗口的中心区域)来识别一个LIDAR点云。
在另一实施方式中,过程601可以在时间上对点云进行下采样。例如,过程601可以确定出时间滑动窗口,以针对每个空间滑动窗口(例如,使用时间戳)追踪一个时间序列的LIDAR点云。然后,过程601可以基于每个时间序列识别出一个LIDAR点云及其相应位姿以进行进一步处理。例如,如果存在两个时间序列(即,两个时间群集(cluster)),则过程601针对两个时间序列中的每个保持点云和相应位姿。对于ADV停在红灯处的场景,在时间上对点云进行下采样是特别有用的。在这种情况下,停下来的ADV可以捕获一个时间序列的基本上相同的LIDAR帧,但是仅一个LIDAR点云是有用的。因此,下采样针对该时间序列识别出一个LIDAR点云以进行进一步处理,而不是识别出针对该红灯捕获到类似点云的所述时间序列中的多个LIDAR点云以进行进一步处理。因此,下采样将减少重复或类似的点云数据的数量,并优化流水线的输入数据。然后,通过过程602对经过下采样的点云进行划分。
在一个实施方式中,划分过程602基于一个或多个计算机视觉算法(诸如,边缘检测和/或图像分割算法)来确定闭合环路信息。例如,过程602可以使用角点检测(cornerdetection)算法来检测特征或图像边缘。角点检测算法(诸如,Harris角点检测器)可以从LIDAR图像(例如,点云)提取和推理出特征。然后,过程602可以基于相应位姿、检测到的特征和/或车辆的时间和速度信息的集合(其可以预测车辆的位置)的组合来检测并追踪一个或多个环路。在另一实施方式中,基于道路轮廓或道路轮廓的特征来识别道路闭合环路。然后,过程602基于闭合环路信息将点云划分成一组或多组点云,使得一组点云与环路对应。
在一个实施方式中,如果检测到的环路跨越大于预定阈值的区域,则划分过程602可以将空间划分应用于环路分区,并进一步将环路分区划分成两个或更多个块分区。这样,每个分区的计算负荷不会超过预定阈值。在一个实施方式中,环路被划分成很多块预定空间区域。然后,经划分的点云可以通过Hadoop和消息传递接口(MPI)过程603中的节点群集并行登记。
点云登记是指将各种点云与参考位姿或参考点云配准。对于每个环路分区或块分区,为了对分区中的点云进行配准,对与该分区对应的点云应用优化算法以生成针对这些点云的HD LIDAR位姿。例如,过程603可以将迭代最近点(ICP)算法应用于一组点云。应注意,ICP是用于使两个点云之间的差异最小化的算法。ICP通常用于根据不同的扫描重建2D或3D表面。对于ICP,使一个点云(例如,参考)保持固定,而使其他点云变换成与该参考进行最佳匹配。该算法迭代地修改使误差度量(例如,匹配对的坐标之间的平方差的总和,或者从其他点云到参考点云的距离)最小化所需的变换(例如,平移和旋转)。
例如,对于具有相应LIDAR位姿的点云i,与变换矩阵(例如,其中,ti是平移,且Ri是旋转变换)对应的LIDAR位姿(x,y,z,(偏转、俯仰和翻滚))可用于将点云i从相对坐标系(相对于车辆)投影到通用横轴墨卡托投影(UTM)坐标系。然后,投影方程为其中,xk是一组点云i中的任何点,ti是平移,且Ri是旋转变换。
对于每个分区,过程603可以基于点云的位姿将相关点云对(或帧对)识别为其中,对/>表示点云i和点云j的对。然后两个点云对之间的点可以限定为:其中,xk是LIDAR点云索引i中的点,xl是LIDAR点云索引j中的点,其中,表示然后,基于以上的待优化的集束调整(BA)等式如下:
其中,是点xk处的范数向量。
以上等式(P)可以通过优化算法(诸如,Levenberg Marquardt(LM)算法)来求解,然而,其复杂性约为O(m^3),其中m是帧对的数量。LM算法用于通过找到局部最小值来求解非线性最小二乘曲线拟合问题。在一个实施方式中,等式(P)可以被细分成一个或多个子问题,并且可以对这些子问题应用优化算法(诸如,ADMM算法)来单独求解。在一个实施方式中,使用节点群集并行地解决这些子问题。例如,对于给定的帧对第m个帧对的第i个点云的位姿变换矩阵是/>其中,上标表示帧对m的子集的索引,且下标表示一组点云P中的点云i的索引。然后,基于并行流水线的待被优化的集束调整等式如下:
其中,且/>
在该示例中,可以通过节点群集的一个或多个节点来执行优化算法,例如,每个节点处理一个帧对。在一个实施方式中,可以基于与这些帧对对应的时间戳来确定帧对是否相关,例如,具有连续时间戳或者处于时间阈值内的帧对可以是相关的帧对。在另一实施方式中,可以基于闭合环路信息来确定相关的帧对。例如,具有单独时间戳但与相同或相似位置一致的两个帧可以是相关帧(例如,闭合环路)。在这种情况下,两个帧的点云应基本相似或匹配。一旦针对每个分区对位姿进行配准或登记,则可以通过过程604将这些分区合并在一起。
在一个实施方式中,位姿图配准过程604可以基于位姿图配准算法(诸如,同步定位与建图(SLAM)算法)将各个分区合并到更大的地图分区中。在一个实施方式中,将用于并排分区的重叠区域联接在一起,使得重叠区域仅需要一组输出,例如,如果重叠区域是两个区域共同的路线,则仅需要一组重叠路线。
在一个实施方式中,位姿调整过程605还可以将这些位姿改善或调整到UTM坐标系。例如先前那样,将一个位姿假设为用于配准其它位姿和点云的参考位姿。过程605可以应用最终的位姿调整来减少用于映射到UTM坐标系的整体误差。例如,过程605通过比较应用优化算法之前和之后的相应位姿来针对GPS置信水平分析所输入的LIDAR位姿。以最大置信度识别的(多个)位姿(例如,所接收的位姿与所计算的HD位姿之间的差异低于阈值)被保持用于位姿调整。然后,基于所识别的位姿对所有位姿应用刚体变换(rigid bodytransformation)。刚体变换是保持待变换的对象的形状和大小的变换。这里,旋转变换或反射变换是刚体变换,而缩放不是刚体变换。最后,使用具有经调整的位姿的点云来生成高清(HD)3D点云地图。在一个实施方式中,可以将3D点云地图变换成具有俯视图的2D定位地图。
图7A是示出根据一个实施方式的具有闭合环路的地图区域的图。参照图7A,闭合环路701可以是由单条道路(例如,圆形)或两条或更多条道路的组合形成的环路。如图7A所示,闭合环路701是由高速公路和道路的组合形成的环路,高速公路和道路二者都是可行驶的道路。在一个实施方式中,闭合环路是最小的可行驶环路。这里,闭合环路701包括在长度上延伸穿过闭合环路701的许多其他路段。然而,闭合环路701可以包括或者可以不包括闭合环路内的其他道路。换言之,可以基于对用于闭合环路中的点云的位姿进行配准所需的计算负荷的阈值来识别闭合环路701(待获取的道路分支)。在一个实施方式中,基于包围闭合环路的空间区域的阈值来识别闭合环路。
图7B是示出了根据一个实施方式的LIDAR图像的二维俯视图的图像。参考图7B,2D俯视图可以是从HD 3D点云地图生成的定位地图的部分。这里,图7B的2D俯视LIDAR图可以对应于图7A的位置703的视图。
图8是示出根据一个实施方式的方法的示例的流程图。过程800可以由处理逻辑执行,所述处理逻辑可以包括软件、硬件或其组合。例如,过程800可以由自动驾驶车辆的地图生成引擎(例如,服务器103的HD地图生成引擎125)执行。参考图8,在框801处,处理逻辑从配备有LIDAR传感器的ADV接收多个点云和相应的位姿,所述LIDAR传感器捕获待绘制成地图的可行驶区域的点云,其中,这些点云对应于第一坐标系。在框802处,处理逻辑基于通过点云捕获的可行驶环路信息将这些点云和相应位姿划分成一个或多个环路分区。在框803处,对于环路分区中的每个,处理逻辑对与环路分区对应的点云应用优化模型以登记点云,包括将点云从第一坐标系变换到第二坐标系。在框804处,处理逻辑使用位姿图算法将一个或多个环路分区合并在一起,其中利用合并后的点云分区来感知ADV周围的驾驶环境。
在一个实施方式中,根据时间滑动窗口在时间上对接收的点云进行下采样,并且根据具有预定空间半径的空间窗口在空间上对所接收的点云进行下采样。在另一实施方式中,可行驶环路信息包括闭合环路点,所述闭合环路点基于道路轮廓来识别可行驶道路闭合环路。
在一个实施方式中,如果用于环路分区的多个点云和相应位姿跨越大于预定空间区域的空间区域,则处理逻辑将环路分区划分成小于或等于预定的空间区域的多个块分区。在一个实施方式中,应用优化模型包括:求解迭代最近点问题,以基于集束调整优化模型来登记用于环路分区的点云,其包括将环路分区的点云以及相应位姿中的每个从相对坐标系投影到UTM坐标系上,针对环路分区配对相关联的帧,以及针对位姿对求解优化问题,从而针对环路分区登记所投影的点云。
在一个实施方式中,通过交替方向乘子(ADMM)优化框架来并行地解决针对每个环路分区的优化问题。在另一实施方式中,将分区合并在一起包括通过识别用于两个或更多个环路分区的重叠路线并将用于两个或更多个环路分区的重叠路线合并在一起,而将两个或更多个环路分区合并在一起。
在一个实施方式中,处理逻辑还将位姿调整算法应用于合并后的分区的位姿,以使合并后的分区的特征之间的差异最小化。在另一实施方式中,应用位姿调整算法包括将刚体变换应用于合并后的分区的位姿,其中所述刚体变换是基于具有高于阈值的置信度的位姿而确定的。
图9是示出根据一个实施方式的与自动驾驶车辆一起使用的感知与规划系统的示例的框图。系统900可以实施为图1的自动驾驶车辆101的一部分,包括但不限于感知与规划系统110、控制系统111和传感器系统115。类似于图3A的系统300,系统900的感知与规划系统110包括但不限于定位模块301、感知模块302、预测模块303、决策模块304、规划模块305、控制模块306和路线安排模块307。此外,系统900包括实时地图生成模块308。
模块301至308中的一些或全部可以以软件、硬件或其组合实施。例如,这些模块可以安装在永久性存储装置352中、加载到存储器351中,并且由一个或多个处理器(未示出)执行。应注意,这些模块中的一些或全部可以通信地联接到图2的车辆控制系统111的一些或全部模块或者与它们集成在一起。模块301至308中的一些可以一起集成为集成模块。
目前,通过ADV在来自安装于ADV上的高清LIDAR传感器的大量点中接收点云。存在这样的技术问题:大量的点导致大量计算和存储器成本。此外,高清LIDAR传感器可能因有限的视野而观测到局部对象,或者在不同LIDAR帧中,视野中的对象可能被其他对象阻挡。此外,诸如SLAM的技术可能导致SLAM在估计的HD位姿中随时间漂移。一些实施方式的技术解决方案减少了计算和存储器成本并减少了SLAM漂移。
图10是示出根据一个实施方式的实时HD地图生成模块的示例的框图。实时HD地图生成模块可以登记点云,并基于点云登记来实时地生成HD地图。参考图10,在一个实施方式中,实时HD地图生成模块308可以包括多个子模块,例如接收器子模块1001、片段信息提取子模块1003、帧登记/定位子模块1005、地图生成子模块1007、特征信息提取子模块1009和闭合环路检测子模块1011。接收器子模块1001可以从ADV的一个或多个LIDAR传感器接收LIDAR图像帧流(例如,点云帧流)。子模块1001还可以从由ADV配备的IMU和GPS单元接收位姿信息。片段信息提取子模块1003可以从每个LIDAR图像帧提取一个或多个片段。帧登记/定位子模块1005可以基于片段信息来登记或定位帧。地图生成子模块1007可以基于帧登记生成HD 3D点云地图。特征信息提取子模块1009可以从所提取的每个片段中提取特征。闭合环路检测子模块1011可以基于所提取的特征来检测闭合环路。应注意的是,这些模块中的一些或全部可以根据所需要的特定配置集成到更少的模块中或者划分成更多的模块。
图11A是示出根据一个实施方式的实时HD地图生成流水线的示例的流程图。流水线1100可以是由实时地图生成模块(诸如图10的模块308)执行的流水线。参考图11A,在一个实施方式中,流水线1100包括但不限于片段提取过程1102、基于片段的登记过程1103、特征提取过程1104、环路检测过程1105和基于点的登记过程1107。
参考图11A,在一个实施方式中,流水线1100从ADV的LIDAR传感器接收初始帧1101(例如,第一LIDAR点云帧)。然后,片段提取过程1102从接收的帧中提取片段。应注意的是,片段指的是点云、超点或显著图像区域(或体素)的群集,即,与各个表面、对象、轮廓或对象的自然部分对应的区域。可以使用在帧中检测到的对象的结构信息来提取这些片段或超点对象。在一个实施方式中,片段被分类为片段类型。示例性片段类型或对象类型可以是圆柱形对象、平坦的块对象(patch object),或者是可以具有特殊几何形状和空间属性的任何几何形状的可识别对象。点云特征可用于片段提取,例如由点云表示的对象的强度、纹理或接近度。片段提取过程可以将多个算法(其为图9的算法/模型313的一部分)应用于点云以提取片段。例如,片段提取过程可以应用图像分割算法(诸如,边缘检测、双聚类、区域增长或分水岭变换算法等)来从LIDAR帧提取片段。
基于所提取的片段,基于片段的登记过程1103利用来自每个片段类型的帧的有限点集并应用诸如ICP的优化算法(其为图9的算法/模型313的一部分),从缓冲中的先前最接近的帧从相同片段类型寻找匹配。如果初始帧是唯一的帧(例如,第一帧),则可以将初始帧建立为参考帧,并且用于初始帧的相应位姿可以是参考位姿。
在一个实施方式中,特征提取过程1104从当前帧的每个片段提取特征或特征表示,并且环路检测过程1105将提取的特征与先前帧的特征进行比较。特征提取是降维的过程,其中,初始设置的片段被简化为一组特征以用于处理,同时仍然准确且完整地描述原始片段。特征的示例包括片段(例如,图案)的平滑度、线性度和点的连续性。如果该比较提供高于预定阈值(例如,数量或百分比)的多个匹配特征,则检测到闭合环路。这里,由于与先前的视野不同,对象在当前视野中可能被阻挡或部分可见,因而对特征进行比较而不是对片段进行比较。在一个实施方式中,特征包括基于本征值的特征。基于本征值的特征可以包括线性、平坦度、散射、全方差(例如,体积点分布的特征)等特征。
在一个实施方式中,所提取的片段可以存储在目标地图中,片段或片段信息可以用于提取片段的特征。在另一实施方式中,过程1105可以应用诸如最近邻搜索、无监督机器学习算法的机器学习算法(其为图9的算法/模型313的一部分),来确定两个片段是否匹配。如果是匹配的,则片段是候选片段对。基于这些候选片段对,可以应用几何一致性估计算法来确定这些片段之间的变换(例如,变换矩阵)。
然后可以使用变换矩阵来验证检测到的闭合环路的确定性。在另一实施方式中,可以使用机器学习模型(例如,深度学习神经网络)来确定当前帧与任意先前接收到的帧之间是否存在特征匹配。示例性深度学习神经网络可以是图12的多层感知器(MLP)1200,其包括三层。输入层从当前帧和先前帧接收所提取的特征,隐藏层将输入中的每个均连接到输出层,并且输出层具有指示片段匹配的概率的概率输出指示符。虽然图12的MLP 1200仅分别示出了输入层和隐藏层中的4个输入节点和4个隐藏节点,但是可以实施成任意数量的节点。
应注意,机器学习模型可以包括但不限于神经网络(完全连接、局部连接或其组合)、支持向量机(SVM)、线性回归、k近邻、朴素贝叶斯、k均值和随机森林模型。神经网络是机器学习模型,其可以在不利用任何特定于任务的规则进行编程的情况下通过考虑示例(例如,利用输入/输出场景进行训练)来学习执行任务。神经网络是基于一系列隐藏层或内层中的大的神经单元或神经元集合的计算方法。每个隐藏层由一组神经元组成,其中每个神经元连接到先前层中的一个或多个神经元,并且单个层中的神经元可以完全独立地起作用,并且可以不与该层的其他神经元共享任何连接。神经网络是自学习和训练的,而非明确编程的。
参考图11A,过程1106确定是否存在用于所述流的进行处理的另外的帧,如果存在,则过程1106分支到过程1102,否则过程1106进入过程1107。过程1107基于该流中的连续帧的点云来应用传统ICP算法,从而执行帧流的点云登记。此处,初始阶段,可以在帧到帧的基础上将过程1102至过程1105迭代地应用于该流的帧。
图11B是示出根据一个实施方式的闭合环路定位的示例的流程图。可以通过图11A的环路检测过程1105来执行操作1110。参考图11B,当检测到闭合环路时1111,目标地图或片段地图生成过程1112可以基于先前针对环路的帧提取的片段来生成目标地图。片段地图或目标地图可以是存储帧的片段列表的数据库、结构或类对象。可以将这些片段存储为与片段对应的多个点。图13示出了根据一个实施方式的目标地图的示例。返回参考图11B,基于目标地图和由图11A的过程1104执行的先前的登记结果,过程1113通过针对初始位姿搜索最佳候选位姿来更新初始位姿。在一个实施方式中,基于更新的初始位姿,过程1113将迭代方法应用于初始位姿和登记结果,以确定出待进一步应用于登记结果的变换,从而减少由SLAM引起的漂移。在这种情况下,由于闭合环路针对初始位姿的位置和方向提供了第二指示,因而可以减少SLAM漂移。示例迭代方法可以是随机采样一致算法(RANSAC)。RANSAC是一种迭代方法,其用于根据包含异常数据点的一组观测数据来对模型进行拟合,这种情况下应赋予不影响待拟合的模型的异常数据点。一旦登记了点云,就可以使用登记结果生成HD点云地图。
图14是示出根据一个实施方式的方法的示例的流程图。过程1400可以由处理逻辑执行,所述处理逻辑可以包括软件、硬件或其组合。例如,过程1400可以由自动驾驶车辆的地图生成模块(诸如,图9的实时地图生成模块308)执行。参考图14,在框1401处,处理逻辑实时从ADV的一个或多个LIDAR传感器接收点云的帧流,并实时接收相应的位姿。在框1402处,处理逻辑基于帧流的每个帧中的点的几何形状或空间属性来提取所述帧的片段信息,其中片段信息包括与第一位姿对应的至少第一帧的一个或多个片段。在框1403处,处理逻辑基于片段信息来登记帧流。在框1404处,处理逻辑基于帧登记根据帧流生成第一点云地图。
在一个实施方式中,处理逻辑还从每个帧的每个片段提取一个或多个特征,包括来自第一帧和第二帧的特征。处理逻辑基于所提取的第一帧和第二帧的特征来检测第一帧和第二帧之间的闭合环路。响应于检测到第一帧与第二帧之间的闭合环路,处理逻辑基于帧登记来定位第二帧,并基于定位和帧登记来更新第一位姿以生成第二点云地图。
在另一实施方式中,检测第一帧与第二帧之间的闭合环路包括将无监督机器学习算法应用于第一帧和第二帧的片段的特征来确定两个片段是否匹配。在另一实施方式中,检测第一帧与第二帧之间的闭合环路还包括将RANSAC算法应用于第一帧和第二帧来确定两个片段是否匹配。在另一实施方式中,无监督机器学习算法包括最近邻搜索。
在另一实施方式中,在帧到帧的基础上,实时地从每个帧的每个片段提取特征,并且第二帧包括当前帧。在另一实施方式中,在逐个帧的基础上实时登记帧流。
在一个实施方式中,提取帧的片段信息包括将图像分割算法应用于帧来提取用于帧的一个或多个片段,并且生成片段地图以存储用于帧的一个或多个片段。在一个实施方式中,片段信息包括圆柱体对象、一个或多个平坦的块对象(patch object)或一个或多个光滑表面对象的一个或多个片段。
一个实施方式中,基于片段信息登记帧流包括:基于片段信息识别先前帧和后续帧的多个片段、识别与多个片段对应的多个点以及向多个点应用迭代最近点(ICP)算法来将用于帧登记的多个点中最接近的点之间的距离最小化。
在一个实施方式中,处理逻辑还将迭代最近点(ICP)算法应用于所述流中的每个帧的点来登记帧流。在一个实施方式中,特征包括用于片段的线性、平坦度、散射和/或全方差的信息。在一个实施方式中,特征包括一个或多个基于本征值的特征。
图15是示出根据一个实施方式的与自动驾驶车辆一起使用的感知与规划系统的示例的框图。系统1500可以实施为图1的自动驾驶车辆101的一部分,包括但不限于感知与规划系统110、控制系统111和传感器系统115。类似于图3A的系统300,系统1500的感知与规划系统110包括但不限于定位模块301、感知模块302、预测模块303、决策模块304、规划模块305、控制模块306和路线安排模块307。此外,系统1500包括RGB点云模块309。
模块301至309中的一些或全部可以以软件、硬件或其组合实施。例如,这些模块可以安装在永久性存储装置352中、加载到存储器351中,并且由一个或多个处理器(未示出)执行。应注意,这些模块中的一些或全部可以通信地联接到图2的车辆控制系统111的一些或全部模块或者与它们集成在一起。模块301至309中的一些可以一起集成为集成模块。
使用点云和由ADV的图像装置捕获的RGB图像的方法将附加信息(例如,颜色)添加到点云。例如,RGB图像可以观测LIDAR传感器可能无法捕获的环境的情境信息和颜色信息。因此,将RGB图像与点云图像集成在一起可以提高地图生成精确度,特别是对于难以仅基于LIDAR点云图像(例如,具有灌木的道路(例如,可能无法利用LIDAR图像区分开的空间特征))而被区分开的环境。
图16是示出根据一个实施方式的RGB点云模块的示例的框图。RGB点云模块可以将RGB图像与点云图像集成/同步,以生成用于基于特征的HD地图生成的RGB/点云特征。参考图16,在一个实施方式中,RGB点云模块309可以包括多个子模块,例如接收器子模块1601、同步子模块1603、特征提取子模块1605、登记子模块1607和地图生成子模块1607。接收器子模块1601可以从ADV的一个或多个LIDAR传感器接收多个LIDAR点云图像或帧。接收器子模块还可以从安装在ADV上的图像捕获装置接收许多RGB图像或帧。同步子模块1603可以基于这些图像被捕获时的时间戳来使点云与RGB图像同步。
特征提取子模块1605可以从RGB云点提取特征向量。特征向量可以包括用于帧的点云和RGB图像二者的特征。登记模块可以根据RGB/点云特征来登记点云。在另一实施方式中,登记子模块1607可以使用优化算法来登记点云,所述优化算法具有RGB信息,所述RGB信息与点云一起集成到优化算法的成本函数中。地图生成子模块1607可以基于这些登记来生成地图。虽然RGB点云模块309示出为ADV的感知与规划系统110的一部分,但RGB点云模块309可以是图1的服务器103的HD地图生成引擎125的一部分和/或与其集成在一起。应注意的是,这些模块中的一些或全部可以根据特定的应用集成到更少的模块中,或者划分成更多的模块。
由于由图像捕获装置(例如,相机)捕获的图像可以处于与LIDAR传感器捕获频率的频率不同的频率,因此第一操作是使RGB图像与适当的点云同步。同步可以包括物理同步。物理同步可以包括:将相机传感器设置在一物理位置处,从而使得相机传感器捕获与待同步的LIDAR传感器单元的立体视图相同或基本上相似的视图,例如,全景相机设置(例如,由多个相机组成)可以安装在旋转的LIDAR传感器单元上,使得相机可以捕获具有与LIDAR传感器单元对应的视图的RGB图像。
类似地,对于闪光灯LIDAR传感器,立体视图相机可以安装在闪光灯LIDAR单元附近来捕获RGB图像,其具有与闪光灯LIDAR传感器单元的视图对应的立体视图。在另一实施方式中,LIDAR传感器单元和相机设置被离线校准。在另一实施方式中,同步可以包括使用时间戳进行时间同步,例如,将RGB帧与正确的点云匹配。例如,时间信息提供器提供的时间戳可以在LIDAR单元捕获图像帧时与图像帧相关联。在一个实施方式中,时间戳具有毫秒精确度的阈值。
类似地,相机单元可以捕获图像帧,并且时间信息提供器可以利用捕获时间对图像帧加时间戳。时间信息提供器可以在LIDAR与图像捕获装置之间进行共享。在一个实施方式中,时间信息提供器是由计算系统的CPU提供的本地实时时钟(RTC)。在另一实施方式中,时间信息提供器经由网络与外部源(例如,来自时间服务器的原子钟)周期性地同步。在另一实施方式中,时间信息提供器与GPS信号同步。
由于点云和RGB均与时间戳相关联,因而可以使以不同频率接收的点云和RGB图像对准。例如,如果以5赫兹至20赫兹捕获点云,并且以约60赫兹捕获RGB图像,则每个点云帧可以基于其时间戳与RGB图像相关联。在该示例中,可以通过识别具有与点云图像的时间戳最接近的时间戳的RGB图像,来使每个点云与至少一个RGB图像相关联。没有关联的RGB图像将不被考虑用于与点云的集成/同步,并且可以被丢弃。在一个实施方式中,只要RGB图像时间戳处于相应的点云图像的时间阈值内,任何RGB图像便可以与该点云相关联。在另一实施方式中,如果RGB图像捕获频率低于相应的点云捕获频率,则所接收的点云帧中的几个点云帧可能不与RGB图像同步。在这种情况下,RGB点云应该是后向兼容的,即,不会影响到特征提取,而是只有RGB信息才会被考虑用于特征提取。在另一实施方式中,可以调整图像捕获装置的RGB图像捕获频率,从而以与LIDAR传感器单元类似的频率来捕获图像。
一旦RGB图像帧和点云帧同步,LIDAR帧的相应点与来自RGB图像的一个或多个像素同步。图17是示出根据一些实施方式的RGB点云同步的示例的框图。参考图17,图标1700示出了叠加在具有多个像素的RGB图像上的多个点云(1701至1709)。取决于与LIDAR图像相比的RGB图像的分辨率(或像素密度),可以基于空间接近度将点云的点映射到单个RGB像素或RGB像素的群集。例如,取决于RGB颜色特征,点1701可以被映射到像素1711(星形形状),或者点1703可以被映射到像素1713(梅花形状)。在另一示例中,根据点云与RGB之间的分辨率差异,可以将点1705映射到单个像素1715,或者可以将点1707映射到像素1717(方形形状)或映射到任何形状的像素1719。
在一个实施方式中,对于可以与点云的点相关联的RGB像素,特征提取子模块(诸如,图16的特征提取子模块1605)可以从RGB像素提取表示情境和位置信息的特征,同时可以从底层点云中提取描绘空间分布和几何特征的信息。与上文类似,可以通过许多算法提取特征,例如a。空间分布的示例包括针对3D特征中的每个的概率分布。然后,这两种类型的特征可以被串联以生成用于RGB点云的特征向量情境特征的示例包括至少颜色模式和这些颜色模式的复杂性,使得来自一个LIDAR帧到下一LIDAR帧的、具有相同情境的两个对象具有指示这些对象具有相关性的高概率(例如,它们是来自两个不同帧的相同对象)。位置信息的示例包括至少相邻点的邻近信息。例如,如果一个特征(例如,边缘)与另一所提取的特征(例如,另一边缘)间隔开大的距离,则认为他们是不同的。
在一个实施方式中,可以使用所生成的特征向量对点云执行基于特征的登记。例如,具有RGB成本分量的ICP算法被应用于RGB点云的子集(例如,特征向量的子集)来优化用于候选点匹配的RGB点云,从而生成用于点云的HD位姿。可以使用基于特征的登记结果来生成点云地图。在另一实施方式中,诸如RANSAC算法的启发式算法(其为图15的算法/模型313的一部分)可以应用于特征以基于特征进行登记。这里,即使存在大量异常值特征(例如,其不具有用于登记的匹配对的特征),RANSAC算法也可以登记点云。
在另一实施方式中,可以对RGB点云执行基于RGB点的第二登记。这里,将具有RGB成本分量的ICP算法应用于所有RGB点云,以优化用于候选点匹配的点云,从而生成HD位姿。例如,成本分量可以合并像素的RGB颜色信息的平均值以进行最小化。在另一实施方式中,可以对具有四个信道(R、G、B和深度)信息(例如,三个信道是RGB分量)的RGB点云执行优化。然后,可以使用基于RGB点的登记结果来生成点云地图。
图18是示出根据一个实施方式的方法的示例的流程图。过程1800可以由处理逻辑执行,所述处理逻辑可以包括软件、硬件或其组合。例如,过程1800可以由RGB点云模块执行,诸如由图16的RGB点云模块309执行。参考图18,在框1801处,处理逻辑接收由ADV的一个或多个LIDAR传感器捕获的多个点云以及相应的位姿。在框1802处,处理逻辑从ADV的一个或多个图像捕获传感器接收多个RGB图像。在框1803处,处理逻辑使RGB图像与点云同步以获得RGB点云。在框1804处,处理逻辑从RGB点云提取特征,所述特征包括RGB点云的情境信息和空间信息。在框1805处,处理逻辑基于所提取的特征来登记RGB点云。在框1806处,处理逻辑基于RGB点云的登记来生成点云地图。
在一个实施方式中,使RGB图像与点云同步以获得RGB点云包括:针对每个点云,确定出点云的时间戳;从多个RGB图像定位到具有处于点云的时间戳的时间阈值内的时间戳的RGB图像;以及通过将一个或多个像素与点云的一个或多个点相关联来将RGB图像与点云相关联。在另一实施方式中,从RGB点云提取特征包括基于来自RGB图像和相关联的点云二者的情境信息和空间信息来提取特征。
在一个实施方式中,情境信息包括特征的色彩模式和色彩模式的复杂性,且空间信息包括与这些特征的点的位置有关的信息。在一个实施方式中,基于所提取的特征来登记点云包括将优化算法应用于多个云点。在一个实施方式中,优化算法包括迭代最近点(ICP)算法。
在一个实施方式中,处理逻辑还将RANSAC算法应用于提取的特征,用于异常值特征。在一个实施方式中,处理逻辑还基于RGB点云来登记点云以基于点进行登记。在一个实施方式中,基于点的登记包括将基于RGB的ICP算法应用于所登记的点云,其中RGB信息被集成到ICP算法的成本函数中。
图19是示出根据本公开的一些实施方式的自动驾驶车辆网络配置的框图。参考图19,网络配置1900包括可以通过网络102通信地联接至一个或多个服务器103至104的自动驾驶车辆101。类似于图1,服务器103至104可以是任何类型的服务器或服务器群集,诸如,网络或云服务器、应用服务器、后端服务器或其组合。服务器103至104可以是数据分析服务器、内容服务器、交通信息服务器、地图和兴趣点(MPOI)服务器或位置服务器等。在一个实施方式中,服务器103包括地图分区引擎126。此外,算法/模型124可以包括多个算法/模型以提取道路标记和路缘点。当在由地图服务器104提供的地图(或由HD地图生成引擎125生成的地图)上使用时,引擎126基于提取到的道路标记和路缘点将该地图划分成一个或多个部分。
此后,可以将地图逐个部分地上载到ADV上,以在自动驾驶期间由ADV实时地使用。虽然引擎126被示出为服务器103的一部分,但是在一些实施方式中,引擎126可以是服务器104的一部分。在另一实施方式中,引擎126可以是ADV 101的一部分,诸如图3A的感知与规划系统110的一部分。例如,地图可以由ADV 101实时地生成,并且地图分区引擎(诸如,引擎126)可以将地图划分成待从ADV 101逐个部分地上传到服务器103/104上的部分。
图20是示出根据一个实施方式的地图分区引擎的示例的框图。地图分区引擎126可以提取地图的道路和路缘,并基于所述提取来划分地图。参考图20,在一个实施方式中,地图分区引擎126可以包括多个模块,诸如道路识别器模块2001、道路标记提取模块2003、路缘特征提取模块2005、贴标机模块2007、曲线生成模块2009和分区模块2011。
道路识别器模块2001可以识别点云地图内的道路。道路标记提取模块2003可以从所识别的道路提取道路标记。路缘特征提取模块2005可以针对所识别的道路提取路缘特征。贴标机模块2007可以标记出与路缘特征相关的路缘点。曲线生成模块2009可以生成表示路缘点的曲线。分区模块2011可以基于所识别的道路标记和路缘曲线来划分地图。
图21是示出根据一个实施方式的道路标记提取的示例的流程图。流程图2100可以由图20的道路识别器模块2001和/或道路标记提取模块2003执行。在一个实施方式中,在可以识别出道路点云之前,通过地图全球静态点云地图(GSPCM)生成过程对点云进行处理。生成过程为地图的生成去除掉任意动态对象,例如,仅保留静态对象以用于地图生成。可以通过在不同时间时捕获地理地点至少两次来检测动态对象。然后可以使用图像分割算法识别出静态对象和动态对象。具有在两次重访中发生改变的特征的图像片段可以被标记为动态对象,因此被去除以用于地图生成。然后,地图生成过程可以生成全局真实世界地图,例如,与GPS装置使用的地图类似的地图。在一个实施方式中,地图生成对静态帧点应用变换来获得GSPCM。然后,在可以提取路面点和道路标记之前,将GSPCM划分为点云的二维(2D)网格(或块)。示例转换可以如下所示:
其中,Ti表示第i帧变换矩阵,表示第i帧的第j点,且M表示用于第i帧的点的数量,且N是点云帧的总数量。
参考图21,在一个实施方式中,流程图2100接收点云2101。点云2101可以是来自GSPCM的2D网格的点云块。然后,过程2103从点云2101提取地面点。在一个实施方式中,可以基于来自点云2101的点的高度信息来执行地面点提取。例如,过程2103可以从点云识别出具有最低高度的单个点。此后,将具有在所识别的最低高度的预定阈值内的高度的点识别为地面点。在另一实施方式中,确定出车辆附近的地面像素的平均高度。然后地面点被确定为在该平均高度的预定阈值内。
在一些实施方式中,基于所识别的地面点将诸如RANSAC的拟合算法应用于点云以识别出平坦的对象或平面(例如,路面)。RANSAC有助于去除异常点。可以迭代地应用诸如RANSAC的拟合算法,并且在每次拟合之后,将异常点丢弃并且对其余点再次应用拟合算法来获取一个或多个平面作为可能的地平面。然后可以采用下面这样的点作为路面点:这些点表示具有与Z轴(捕获点云的LIDAR传感器单元的竖直轴线)平行的法线方向并且具有最大面积的单个平面。
基于路面点,在一个实施方式中,过程2105根据路面点计算强度梯度强度梯度是图像的强度值(例如,图像中的任意两个最接近的点)的方向变化。在一个实施方式中,计算强度梯度包括将诸如中值滤波器的滤波器应用于路面点。中值滤波器或中值强度滤波器是用于从点云图像去除噪声以更好地突出图像的梯度的滤波器。可以将中值滤波器应用于路面点以从路面点去除盐强度噪声和胡椒强度噪声。示例性中值滤波器可以应用以下算法:1)针对每个点,识别该点周围的处于预定邻域大小内的相邻点。所述相邻点可以使用2D或3D或者任意维度的KD树来进行识别。2)通过它们的强度值对所识别的相邻点进行排序。3)此后,根据所述通过强度值的排序对该点分配中值强度值。
在一个实施方式中,计算强度梯度包括基于每个点及其相邻点的强度值来确定强度方向。可以针对每个点计算强度方向或在x方向和y方向上的强度的方向导数。然后可以基于方向导数计算梯度的幅值和方向。在另一实施方式中,可以通过对每个点的相邻点应用最小二乘法来估计梯度。然后,可以基于方向导数和所估计的梯度来估计强度梯度。
接下来,基于强度梯度(例如,幅值),可以使用聚类(cluster)算法(诸如,k均值聚类算法)将梯度点聚类成两个类别,其中,第一聚类是针对具有高于预定阈值的幅值的路面点而进行聚类,并且第二聚类是针对具有低于预定阈值或第二预定阈值的幅值的所有其他点而进行的聚类。这里,第一聚类中的点是路面点。
对于过程2107,第一聚类中的每个点可以用作种子点以推导出或提取道路标记点。根据一个实施方式,通过图22可以示出用于提取道路标记点的搜索的示例。参考图21和图22,在一个实施方式中,点P可以是第一聚类中的种子点的示例。基于点P,过程2107确定出距离P预定阈值距离内的点P0,其具有与P相同(或相反)的强度梯度方向。此后,过程2107将沿着P到P0的所有点识别并分类为道路标记点。参考图22中的示例,点P1位于P与P0之间,其中在该示例中P和P0具有相反的方向强度梯度。由于P1位于P与P0之间,因此将P1识别并标记为道路标记点。过程2107可以使用第一聚类中的点迭代地执行,直到用尽第一聚类中的所有点为止。因此,基于第一聚类的种子点有效地生长道路标记点。然后,过程2109捕获道路标记点作为道路标记提取结果。
图23是示出根据一个实施方式的道路路缘提取的示例的流程图。流程图2300可以由图20的路缘特征提取模块2005执行,以从属于路缘(例如,道路的左边界和右边界)的点云提取点。参考图23,流程图2300接收点云2301。针对操作2303,可以从点云的每个点提取多个特征。这些特征可以包括高度相关特征、强度特征和多尺度方向差异特征等。根据一个实施方式,在图24中示出了多尺度方向差异特征提取的示例。
参考图23至图24,可以通过以下方式提取多尺度方向性差异特征:1)针对每个点(例如,P),设置小的邻域半径r、大的邻域半径R,并且分别在相应的半径邻域内识别出点集Nsmall或Ns以及Nlarge或Nl。这里,Nl中的点可以包括Ns中的点。2)接下来,可以将诸如主成分分析(PCA)算法的统计学算法应用于两个点集,以分别获得两个法向量NVsmall和NVlarge(未示出),其中法向量可以是平面的任意点,其中所述平面通过相应的点集进行估计,并且法向量具有与所述平面的表面正交(例如,垂直)的方向。3)
然后,在NVsmall与NVlarge之间计算角度θ(未示出),其中角度θ可以是针对点P的多尺度方向差异特征。应注意的是,主成分分析(PCA)是统计过程,其使用正交变换来将一组观测结果转换成一组线性不相关变量(称为主成分)的值。法向量可以计算为具有与主成分垂直的方向的向量。在另一实施方式中,通过对点云应用受监督的机器学习算法,可以提取特征并且可以在点云图像内识别出道路路缘。
在一个实施方式中,可以基于所确定的地面的高度来确定针对点云的高度相关特征或高度值。此外,可以计算高度分布方差(例如,Vs和Vl),以及每个相应点集Ns和Nl的最高点和最低点(例如,Ds和Dl)之间的高度差。这里,方差是对于相应点集的高度与其平均高度的平方偏差的期望。
在一个实施方式中,操作2305可以使用朴素贝叶斯分类器算法从点云提取初始路缘点。例如,针对每个点,朴素贝叶斯分类器算法可以使用包括θ、Vs、Vl、Ds和Dl的5维特征集来将所述点分类成路缘点类别和非路缘点类别。路缘点类别可用作初始路缘点。
在一个实施方式中,可以基于初始路缘点的相邻点来计算每个初始路缘点的方向特性或方向特征。例如,可以以如下方法计算方向特性。1)生成包含所有初始路缘点的KD树。2)使用KD树搜索每个初始路缘点的k个邻域点。3)对每个初始路缘点的邻域点执行主成分分析(PCA)来获得邻域点的主方向,其中主方向是所述点的方向特征。
在一个实施方式中,可以基于针对路缘标记生成而计算的方向特征对初始路缘点执行点的聚类或分组。例如,根据一个实施方式,可以通过以下操作1至5来执行初始路缘点的聚类。1)将聚类的半径r'、方向角阈值at和高度差阈值et初始化;将所有路缘点初始化为“未进行聚类”;初始化空的种子点队列Qseed和空的聚类容器Vcurb;并使用所有初始路缘点构造KD树。2)从“未进行聚类”的初始路缘点随机选择点作为待生长的初始种子点Pg,并将种子点Pg的标签初始化为Lg(例如,路缘点),将种子点Pg插入(或推入)至聚类容器Vcurb,并将其设置为“正在聚类”。3)针对邻域中的每个点Pn,使用KD树获得处于种子点Pg的半径r′内的邻域点集。
如果Pn与Pg之间的角度小于at并且它们之间的高度差小于et,则Pn可以插入(或推入)至种子点队列Qseed和聚类容器Vcurb,Pn的标签可以设置为与Pg相同的标签,并且Pn可以设置为“正在聚类”。4)如果队列Qseed不为空,则可以从队列的头部弹出一个点,并将该点作为新的种子点,并且从操作2)重新开始操作。如果队列为空,则使路缘点聚类生长结束,并且从操作1)重新开始操作。5)可以重复操作1至4,直到所有点均被设置为“正在聚类”。然后可以将路缘点的群集用于对道路块进行划分。
在一个实施方式中,可以通过计算每个群集的聚类特征来改善路缘点的群集。然后,经改善的路缘点的群集可用于对道路块进行划分。待计算的聚类特征的示例可以包括(a1,a2,a3),长度Lc(例如,通过聚类形成线的点的距离)和/或用于每个群集的多个点Nc。然后,可以去除不满足针对聚类特征设定的预定规则的群集,来改善这些群集。规则的示例可以是:其中/>l、n分别是预定的维度阈值、预定的群集最小点长度以及预定的最小数量。
在一个实施方式中,可以通过将主成分分析(PCA)算法应用于群集中的点来计算特征(a1,a2,a3),以获得点的协方差矩阵的特征值(λ123)。然后,可以通过以下公式计算特征(a1,a2,a3):
在一个实施方式中,针对操作2307,可以基于所提取的路缘点(通过图20的曲线生成模块2009)生成一个或多个Cubic Bezier曲线来表示一个或多个路缘线,其公式如下:
其中,P0、P1、P2和P3是常数。
基于所生成的一个或多个路缘曲线,可以识别出道路的路缘边界。可以(通过图20的分区模块2011)基于所识别的道路路缘边界来划分道路。在一个实施方式中,然后可以基于路缘边界和/或道路标记点来划分道路,其中,路缘边界是道路边界,例如是与车辆在道路上行驶的方向平行的边界。
图25示出了根据一个实施方式的地图分区的示例。如上所述,可以基于所提取的道路标记点和所提取的路缘点/曲线来划分道路。例如,基于所提取的道路标记点,可以对道路标记点应用Euclidean聚类算法,来基于点的预定距离和/或边界阈值将道路标记点聚类在一起。此后,可以将一个或多个群集分组在一起并且将其分类为道路标记类型。可以基于预定的一组类型对群集进行分类。道路标记的类型可包括斑马道路标记、人行横道标记、道路交叉口道路标记等。
在一个实施方式中,可以基于每个群集之间的距离阈值以及通过每个群集中的点形成的线的长度阈值来将所述群集分类为一种类型。例如,对于斑马线类型,如果群集的边界大小小于第一预定阈值(例如,短虚线可以是一个群集,由如图25中所示的斑马线标记中的虚线所示),则确定出群集的中心点。然后可以使用Euclidean聚类算法对其他周围群集的中心点进行分组,以生成横跨斑马线标记的中心线。可以基于斑马线(和/或其他道路标记)的中心线识别出斑马线块(例如图25的道路块2)。
然后,可以基于斑马线块来划分其他道路块(例如,道路块1和道路块3)。例如,参考图25,可以基于道路块2在道路块2的斑马线的中心线处对道路块1进行划分。可以基于道路块2在道路块2的其它斑马线的另一中心线处对道路块3进行划分。因此,可以基于道路标记点和路缘点/曲线将地图划分成块分区。此后,当需要服务器对车辆进行地图升级或从车辆下载地图时,可以基于经划分的逐个块地执行升级/下载处理。
图26A和图26B是示出根据一些实施方式的方法的示例的流程图。过程2600和过程2650可以由处理逻辑执行,所述处理逻辑可以包括软件、硬件或其组合。例如,过程2600和过程2650可以由图20的地图分区引擎126执行。参考图26A,在框2601处,处理逻辑识别到通过ADV导航出的道路,所述道路通过来自一个或多个LIDAR传感器的一个或多个点云捕获到。在框2602处,处理逻辑从点云提取所识别道路的道路标记信息,道路标记信息描述所识别道路的一个或多个道路标记。在框2603处,处理逻辑基于道路标记将道路划分成一个或多个道路分区。在框2604处,处理逻辑基于道路分区生成点云地图,其中点云地图用于感测ADV周围的驾驶环境。
在一个实施方式中,点云地图包括静态点云地图,其中,所述静态点云地图通过去除点云地图中的一个或多个动态对象而生成,其中所述动态对象通过在同一位置的不同时间点收集两个或多个点云观测结果并检测两个或多个点云观测结果之间的差异而被去除。在一个实施方式中,识别道路包括:将高度阈值应用于点云来提取多个可能的地面点,应用拟合算法来将一个或多个平坦的对象拟合到可能的地面点作为道路对象,以及选择具有最大表面面积的平坦对象作为道路对象,其具有与LIDAR传感器的竖直轴线的方向近似的法线方向。
在另一实施方式中,处理逻辑还将与道路对象对应的点云识别为路面点。在另一实施方式中,提取道路标记包括:应用滤波器来去除用于路面点的噪声,确定出路面点云的方向梯度,以及基于方向梯度的预定阈值来对路面点云应用k均值聚类算法,以将路面点云划分成道路标记点和其他路面点。在另一实施方式中,道路标记包括用于至少人行横道的标记,并且基于用于人行横道的标记来对道路进行划分。
参考图26B,在框2651处,处理逻辑从表示道路路缘的点云提取路缘特征。在框2652处,处理逻辑基于路缘特征识别出道路的路缘边界。在框2653处,处理逻辑标记出点云中的与路缘边界对应的点。在框2654处,处理逻辑基于道路标记和被标记出的道路路缘点来将道路划分成一个或多个道路分区。
在一个实施方式中,提取用于点云的路缘特征包括:针对点云中的每个点,提取一个或多个多尺度方向差异特征以识别出道路路缘。在另一实施方式中,基于路缘特征识别出道路的路缘边界包括:针对点云中的每个点,对所提取的特征应用机器学习算法来将所述点识别为初始路缘点;以及针对每个初始路缘点,确定出初始路缘点的一个或多个方向特征,基于初始路缘点生成点群集,确定出点群集的一个或多个特性,并且如果一个或多个特性满足预定条件,则将点群集识别为路缘边界的一部分。在另一实施方式中,处理逻辑还生成用于表示每个点群集的曲线,其中曲线包括Cubic Bezier曲线,以及其中,基于道路标记和所生成的Cubic Bezier曲线来将道路划分成一个或多个道路分区。
图27是示出根据一个实施方式的与自动驾驶车辆一起使用的感知与规划系统的示例的框图。参考图27,网络配置2700包括可以通过网络102通信地联接至一个或多个服务器103至104的自动驾驶车辆101。类似于图19,服务器103至104可以是任何类型的服务器或服务器群集,诸如,网络或云服务器、应用服务器、后端服务器或其组合。服务器103至104可以是数据分析服务器、内容服务器、交通信息服务器、地图和兴趣点(MPOI)服务器或位置服务器等。在一个实施方式中,服务器103包括重影效果引擎127。重影效果引擎127可以检测点云帧中的重影图像。
如果任何两个连续帧中的对象突然出现或突然消失,则可以在该连续点云帧中识别到点云的重影效果(或鬼影效果、阴影)。对象可能突然出现或突然消失的原因在于,将点云的部分融合在一起时出现错误,或者在捕获快速移动的对象或反射对象时具有低精度。例如,在连续帧中突然出现或突然消失的对象应被视为重影对象。应该从点云地图去除这样的重影对象。由于确保HD地图的高精确度至关重要,因此识别到点云中的重影对象以评估用于HD地图生成和/或HD地图验证的点云的精确度是至关重要的。
图28是示出根据一个实施方式的重影效果引擎的示例的框图。重影效果引擎127可以接收点云中的多个帧,以标示出哪些帧具有重影图像。可以根据生成的地图来去除所标示的帧,和/或使用所标示的帧来进行地图验证。参考图28,在一个实施方式中,引擎127包括多个模块,诸如,帧接收器模块2801、占用网格地图生成模块2803、异常体素识别器模块2805、壁体素识别器模块2807、状态变化识别器模块2809以及标示/丢弃模块2811。这些模块中的一些或全部可以集成到更少的模块中。
帧接收器模块2801可以从地图服务器(诸如,图27的服务器104)接收点云中的多个帧。占用网格地图生成模块2803可以生成三维(3D)占用网格地图,其中点云帧可以投影到该3D占用网格地图上。这里,占用网格地图包括多个体素,并且每个体素均包括占用概率,例如,体素被对象占据的概率。异常体素识别器模块2805可以识别出3D占用网格地图中的异常体素。异常体素是指具有突然状态转换(诸如,从占用状态到空闲状态的转换或者从空闲状态到占用状态的转换)的体素。壁体素识别器模块2807可以识别出具有大于预定阈值的概率的用于表示壁对象的体素。状态变化识别器模块2809可以识别出体素的状态变化。标示/丢弃模块2811可以标示出异常体素和/或对相应的点云,用于之后考虑到其而进行地图生成和/或地图验证。
图29是示出根据一个实施方式的重影效果检测的示例的流程图。流程图2900可以由重影效果引擎(诸如,图28的引擎127)执行。参考图29,对于操作2901,引擎127初始化3D占用网格地图。3D占用网格包括体素或3D单元,其中每个体素包括体素被占据的概率值。在初始化之后,基于初始点云帧对3D占用网格地图应用光线投射操作,来初始化3D占用网格地图中的每个体素的占用状态。应注意的是,这里初始点云帧和/或后续帧是预先登记过的,例如,是先前使用SLAM类型算法配准的。
在一个实施方式中,如果点云具有立体视图,则可以从车辆的位置投射光线。在另一实施方式中,如果点云具有鸟瞰视图,则可以从顶部投射光线。光线投射操作使光线穿过与LIDAR传感器的视图类似的视图。光线可以穿过一些体素,并且可以在一些体素中结束。如果光线穿过体素,则该体素具有“空闲”状态。如果光线在体素处停止,则该体素具有“占用”状态。如果光线没有穿过体素并且光线没有在该体素处结束,则该体素具有“未知”状态。“被占用的”体素中的每个均可以包括概率值,其指示体素被“占用”的概率。
针对操作2902,在接收到后续帧时,引擎127基于后续帧来更新3D占用网格地图。类似于初始帧,可以向后续帧应用光线投射操作(例如,光线追踪算法)以将后续帧投射到3D占用网格地图上。然后,可以使用以下贝叶斯公式基于后续的光线投射来更新每个体素的概率值:
其中,P(n|zt)表示根据在时间t处的观测结果的体素在时间t处的占用概率,P(n|z1:t)表示在考虑到所有先前观测结果的情况下根据在时间t处的观测结果的体素在时间t处的占用概率,且P(n|z1:t-1)表示在考虑到其所有先前观测结果的情况下体素在时间t-1处的占用概率。
针对操作2903,引擎127确定网格地图中的每个体素的状态变化。网格地图的每个体素可以包括以下状态变化中的一项:
A:“空闲”→“空闲”
B:“占用”→“占用”
C:“未知”→“未知”
D:“未知”→“空闲”
E:“未知”→“占用”
F:“空闲”→“占用”
G:“占用”→“空闲”。
针对操作2904,引擎127识别出具有异常的状态变化的体素。例如,异常的状态变化包括状态变化F:“空闲”→“占用”和状态变化G:“占用”→“空闲”。如果体素的占用概率的变化大于预定阈值,例如,如果占用概率的差异(例如,增大或减小)大于预定阈值,则可以识别出异常的状态变化。
此外,可以识别出属于壁型对象的体素。例如,可以对点云帧应用对象检测算法(例如,图像分割、边缘检测、机器学习神经网络等)来提取壁体素或与壁型对象对应的体素。在Cartesian坐标系中,壁对象可以包括平坦的对象,该平坦的对象具有与z轴垂直的平面的法线方向或与x-y平面平行的平面的法线方向。虽然仅对平坦的壁型对象进行了描述,但是壁对象可以具有任意形状或大小。基于所识别的壁对象,可以识别出相应的壁体素。
此后,可以将具有重影效果的体素识别为具有壁体素的异常体素。然后,标示出重影效果体素,并且然后可以在后续地图生成和/或地图验证中考虑将标示出的体素和/或帧去除。例如,在一个实施方式中,如果帧的重影效果体素的计数大于预定阈值,则从点云地图生成中移去除该帧。
针对操作2905,引擎127确定出是否存在待处理的附加帧。如果存在,则在操作2902处重新开始操作,否则,在操作2906处结束操作。
图30是示出根据一个实施方式的方法的示例的流程图。过程3000可以由处理逻辑执行,所述处理逻辑可以包括软件、硬件或其组合。例如,过程3000可以由重影效果引擎(例如,图28的引擎127)执行。参考图30,在框3001处,处理逻辑基于点云的初始帧生成占用网格地图。在框3002处,处理逻辑接收点云的一个或多个后续帧。在框3003处,针对后续帧中的每个,处理逻辑基于后续帧更新占用网格地图。在框3004处,处理逻辑基于所述更新识别一个或多个异常体素。在框3005处,处理逻辑确定异常体素是否属于壁对象。在框3006处,响应于确定出异常体素属于壁对象,处理逻辑将异常体素标示为后续帧的重影效果体素。
在一个实施方式中,处理逻辑还使用光线追踪算法将初始帧或后续帧投影到占用网格地图上。在另一实施方式中,将初始帧或后续帧投影到占用网格地图上包括:确定占用网格地图中的每个体素的占用状态,其中占用状态是空闲、占用或未知中的一种。在另一实施方式中,基于更新识别一个或多个异常体素包括:针对占用网格地图中的每个体素,检测体素的占用状态的变化,并且如果占用状态从空闲变化成占用或者从占用变化成空闲,则将该体素识别为异常。
在一个实施方式中,通过应用贝叶斯算法基于后续帧来更新占用网格地图,其中占用网格地图包括指示占用概率的体素。在一个实施方式中,确定异常体素是否属于壁对象包括:识别异常体素是否属于具有平坦表面的属性的对象,并且所述平坦表面具有与竖直的z轴垂直的法线。在一个实施方式中,处理逻辑还在帧的重影效果体素的数量大于阈值的情况下,从点云地图去除该帧。
应注意,如上文示出和描述的部件中的一些或全部可以在软件、硬件或其组合中实施。例如,此类部件可以实施为安装并存储在永久性存储装置中的软件,所述软件可以通过处理器(未示出)加载在存储器中并在存储器中执行以实施本申请全文中所述的过程或操作。替代地,此类部件可以实施为编程或嵌入到专用硬件(诸如,集成电路(例如,专用集成电路或ASIC)、数字信号处理器(DSP)或现场可编程门阵列(FPGA))中的可执行代码,所述可执行代码可以经由来自应用的相应驱动程序和/或操作系统来访问。此外,此类部件可以实施为处理器或处理器内核中的特定硬件逻辑,作为可由软件部件通过一个或多个特定指令访问的指令集的一部分。
图31是示出可以与本公开的一个实施方式一起使用的数据处理系统的示例的框图。例如,系统1500可以表示执行上述任意过程或方法的上述任意数据处理系统,诸如,例如图4的HD地图生成引擎125、图5的HD地图生成系统500、图6的管线600、图10的实时地图生成模块308、图15的RGB点云模块309、图19的地图分区引擎126、图27的重影效果引擎127、图3A的感知与规划系统110或者图1的服务器103至104中的任何一个。系统1500可包括许多不同的部件。这些部件可以实施为集成电路(IC)、集成电路的部分、分立电子装置或适用于电路板(诸如,计算机系统的主板或插入卡)的其它模块或者实施为以其它方式并入计算机系统的机架内的部件。
还应注意,系统1500旨在示出计算机系统的许多部件的高阶视图。然而,应当理解的是,某些实施方式中可以具有附加的部件,此外,其它实施方式中可以具有所示部件的不同布置。系统1500可以表示台式计算机、膝上型计算机、平板计算机、服务器、移动电话、媒体播放器、个人数字助理(PDA)、智能手表、个人通信器、游戏装置、网络路由器或集线器、无线接入点(AP)或中继器、机顶盒或其组合。此外,虽然仅示出单个机器或系统,但是术语“机器”或“系统”还应当被理解为包括单独地或共同地执行一个(或多个)指令集以执行本文所讨论的任何一种或多种方法的机器或系统的任何集合。
在一个实施方式中,系统1500包括通过总线或互连件1510连接的处理器1501、存储器1503以及装置1505至1508。处理器1501可以表示其中包括单个处理器内核或多个处理器内核的单个处理器或多个处理器。处理器1501可以表示一个或多个通用处理器,诸如,微处理器、中央处理单元(CPU)等。更具体地,处理器1501可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、或实施其它指令集的处理器、或实施指令集组合的处理器。处理器1501还可以是一个或多个专用处理器,诸如,专用集成电路(ASIC)、蜂窝或基带处理器、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器、图形处理器、通信处理器、加密处理器、协处理器、嵌入式处理器、或者能够处理指令的任何其它类型的逻辑。
处理器1501(其可以是低功率多核处理器套接口,诸如超低电压处理器)可以用作用于与所述系统的各种部件通信的主处理单元和中央集线器。这种处理器可以实施为片上系统(SoC)。处理器1501被配置成执行用于执行本文所讨论的操作和步骤的指令。系统1500还可包括与可选的图形子系统1504通信的图形接口,图形子系统1504可包括显示控制器、图形处理器和/或显示装置。
处理器1501可以与存储器1503通信,存储器1503在一个实施方式中可以经由多个存储器装置实施以提供给定量的系统存储。存储器1503可包括一个或多个易失性存储(或存储器)装置,诸如,随机存取存储器(RAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)或者其它类型的存储装置。存储器1503可以存储包括由处理器1501或任何其它装置执行的指令序列的信息。例如,各种操作系统、装置驱动程序、固件(例如,输入输出基本系统或BIOS)和/或应用的可执行代码和/或数据可以加载到存储器1503中并由处理器1501执行。操作系统可以是任何类型的操作系统,例如,机器人操作系统(ROS)、来自公司的/>操作系统、来自苹果公司的Mac/>来自/>公司的LINUX、UNIX,或者其它实时或嵌入式操作系统。
系统1500还可包括IO装置,诸如装置1505至1508,包括网络接口装置1505、可选的输入装置1506,以及其它可选的IO装置1507。网络接口装置1505可包括无线收发器和/或网络接口卡(NIC)。所述无线收发器可以是WiFi收发器、红外收发器、蓝牙收发器、WiMax收发器、无线蜂窝电话收发器、卫星收发器(例如,全球定位系统(GPS)收发器)或其它射频(RF)收发器或者它们的组合。NIC可以是以太网卡。
输入装置1506可包括鼠标、触摸板、触敏屏幕(其可以与显示装置1504集成在一起)、指针装置(诸如,手写笔)和/或键盘(例如,物理键盘或作为触敏屏幕的一部分显示的虚拟键盘)。例如,输入装置1506可包括联接到触摸屏的触摸屏控制器。触摸屏和触摸屏控制器例如可以使用多种触敏技术(包括但不限于电容、电阻、红外和表面声波技术)中的任一种,以及其它接近传感器阵列或用于确定与触摸屏接触的一个或多个点的其它元件来检测其接触和移动或间断。
IO装置1507可包括音频装置。音频装置可包括扬声器和/或麦克风,以促进支持语音的功能,诸如语音识别、语音复制、数字记录和/或电话功能。其它IO装置1507还可包括通用串行总线(USB)端口、并行端口、串行端口、打印机、网络接口、总线桥(例如,PCI-PCI桥)、传感器(例如,诸如加速度计运动传感器、陀螺仪、磁强计、光传感器、罗盘、接近传感器等)或者它们的组合。装置1507还可包括成像处理子系统(例如,相机),所述成像处理子系统可包括用于促进相机功能(诸如,记录照片和视频片段)的光学传感器,诸如电荷耦合装置(CCD)或互补金属氧化物半导体(CMOS)光学传感器。某些传感器可以经由传感器集线器(未示出)联接到互连件1510,而诸如键盘或热传感器的其它装置可以根据系统1500的具体配置或设计由嵌入式控制器(未示出)控制。
为了提供对诸如数据、应用、一个或多个操作系统等信息的永久性存储,大容量存储设备(未示出)也可以联接到处理器1501。在各种实施方式中,为了实现更薄且更轻的系统设计并且改进系统响应性,这种大容量存储设备可以经由固态装置(SSD)来实施。然而,在其它实施方式中,大容量存储设备可以主要使用硬盘驱动器(HDD)来实施,其中较小量的SSD存储设备充当SSD高速缓存以在断电事件期间实现上下文状态以及其它此类信息的非易失性存储,从而使得在系统活动重新启动时能够实现快速通电。另外,闪存装置可以例如经由串行外围接口(SPI)联接到处理器1501。这种闪存装置可以提供系统软件的非易失性存储,所述系统软件包括所述系统的BIOS以及其它固件。
存储装置1508可包括计算机可访问的存储介质1509(也被称为机器可读存储介质或计算机可读介质),其上存储有体现本文所述的任何一种或多种方法或功能的一个或多个指令集或软件(例如,模块、单元和/或逻辑1528)。处理模块/单元/逻辑1528可表示上述任意部件,诸如,例如图4的HD地图生成引擎125、图5的HD地图生成系统500、图6的管线600、图10的实时地图生成模块308、图15的RGB点云模块309、图19的地图分区引擎126、图27的重影效果引擎127、图3A的感知与规划系统110或者图1的服务器103至104中的任何一个。处理模块/单元/逻辑1528还可以在其由数据处理系统1500、存储器1503和处理器1501执行期间完全地或至少部分地驻留在存储器1503内和/或处理器1501内,数据处理系统1500、存储器1503和处理器1501也构成机器可访问的存储介质。处理模块/单元/逻辑1528还可以通过网络经由网络接口装置1505进行传输或接收。
计算机可读存储介质1509也可以用来永久性地存储以上描述的一些软件功能。虽然计算机可读存储介质1509在示例性实施方式中被示为单个介质,但是术语“计算机可读存储介质”应当被认为包括存储所述一个或多个指令集的单个介质或多个介质(例如,集中式或分布式数据库和/或相关联的高速缓存和服务器)。术语“计算机可读存储介质”还应当被认为包括能够存储或编码指令集的任何介质,所述指令集用于由机器执行并且使得所述机器执行本公开的任何一种或多种方法。因此,术语“计算机可读存储介质”应当被认为包括但不限于固态存储器以及光学介质和磁性介质,或者任何其它非暂时性机器可读介质。
本文所述的处理模块/单元/逻辑1528、部件以及其它特征可以实施为分立硬件部件或集成在硬件部件(诸如,ASICS、FPGA、DSP或相似装置)的功能中。此外,处理模块/单元/逻辑1528可以实施为硬件装置内的固件或功能电路。此外,处理模块/单元/逻辑1528可以以硬件装置和软件部件的任何组合来实施。
应注意,虽然系统1500被示出为具有数据处理系统的各种部件,但是并不旨在表示使部件互连的任何特定架构或方式;因为此类细节和本公开的实施方式没有密切关系。还应当认识到,具有更少部件或可能具有更多部件的网络计算机、手持计算机、移动电话、服务器和/或其它数据处理系统也可以与本公开的实施方式一起使用。
前述详细描述中的一些部分已经根据在计算机存储器内对数据位的运算的算法和符号表示而呈现。这些算法描述和表示是数据处理领域中的技术人员所使用的方式,以将他们的工作实质最有效地传达给本领域中的其他技术人员。本文中,算法通常被认为是导致所期望结果的自洽操作序列。这些操作是指需要对物理量进行物理操控的操作。
然而,应当牢记,所有这些和相似的术语均旨在与适当的物理量关联,并且仅仅是应用于这些量的方便标记。除非在以上讨论中以其它方式明确地指出,否则应当了解,在整个说明书中,利用术语(诸如所附权利要求书中所阐述的术语)进行的讨论是指计算机系统或相似电子计算装置的动作和处理,所述计算机系统或电子计算装置操控计算机系统的寄存器和存储器内的表示为物理(电子)量的数据,并将所述数据变换成计算机系统存储器或寄存器或者其它此类信息存储设备、传输或显示装置内相似地表示为物理量的其它数据。
本公开的实施方式还涉及用于执行本文中的操作的设备。这种计算机程序被存储在非暂时性计算机可读介质中。机器可读介质包括用于以机器(例如,计算机)可读的形式存储信息的任何机构。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质(例如,只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光存储介质、闪存存储器装置)。
前述附图中所描绘的过程或方法可以由处理逻辑来执行,所述处理逻辑包括硬件(例如,电路、专用逻辑等)、软件(例如,体现在非暂时性计算机可读介质上)或两者的组合。尽管所述过程或方法在上文是依据一些顺序操作来描述的,但是应当了解,所述操作中的一些可以按不同的顺序执行。此外,一些操作可以并行地执行而不是顺序地执行。
本公开的实施方式并未参考任何特定的编程语言进行描述。应认识到,可以使用多种编程语言来实施如本文描述的本公开的实施方式的教导。
在以上的说明书中,已经参考本公开的具体示例性实施方式对本发明的实施方式进行了描述。将显而易见的是,在不脱离所附权利要求书中阐述的本发明的更宽泛精神和范围的情况下,可以对本公开作出各种修改。因此,应当在说明性意义而不是限制性意义上来理解本说明书和附图。

Claims (21)

1.一种用于自动驾驶车辆ADV的将点云登记到三维3D点云地图的计算机实施方法,所述方法包括:
接收由ADV的一个或多个LIDAR传感器捕获的多个点云和相应的位姿;
从所述ADV的一个或多个图像捕获传感器接收多个RGB图像,其中,所述多个RGB图像与所述LIDAR传感器捕获的视图相同或相似;
使所述RGB图像与所述点云同步以获得RGB点云;
从所述RGB点云提取特征,所述特征包括所述RGB点云的情境信息和空间信息,其中,所述情境信息包括所述特征的色彩模式和色彩模式的复杂性;
基于所提取的特征来登记所述RGB点云;以及
基于所述RGB点云的登记生成点云地图。
2.根据权利要求1所述的方法,其中,使所述RGB图像与所述点云同步以获得RGB点云包括:
针对每个点云,确定出所述点云的时间戳;
从多个RGB图像中定位出具有处于所述点云的时间戳的时间阈值内的时间戳的RGB图像;以及
通过将一个或多个像素与所述点云的一个或多个点相关联,将所述RGB图像与所述点云相关联。
3.根据权利要求2所述的方法,其中,从所述RGB点云提取特征包括:基于来自所述RGB图像和相关联的点云二者的情境信息和空间信息来提取特征。
4.根据权利要求1所述的方法,其中,所述空间信息包括与所述特征的点的位置相关的信息。
5.根据权利要求1所述的方法,其中,基于所提取的特征来登记所述RGB点云包括:将优化算法应用于所述多个点云。
6.根据权利要求5所述的方法,其中,所述优化算法包括迭代最近点ICP算法。
7.根据权利要求5所述的方法,还包括将RANSAC算法应用于所提取的特征以用于异常值特征。
8.根据权利要求1所述的方法,还包括基于RGB点云来登记所述点云以基于点进行登记。
9.根据权利要求8所述的方法,其中,所述基于点进行登记包括:将基于RGB的ICP算法应用于所登记的点云,其中,RGB信息被集成到ICP算法的成本函数中。
10.一种存储有指令的非暂时性机器可读介质,所述指令在由处理器运行时使得所述处理器执行以下操作,所述操作包括:
接收由ADV的一个或多个LIDAR传感器捕获的多个点云和相应的位姿;
从所述ADV的一个或多个图像捕获传感器接收多个RGB图像,其中,所述多个RGB图像与所述LIDAR传感器捕获的视图相同或相似;
使所述RGB图像与所述点云同步以获得RGB点云;
从所述RGB点云提取特征,所述特征包括所述RGB点云的情境信息和空间信息,其中,所述情境信息包括所述特征的色彩模式和色彩模式的复杂性;
基于所提取的特征来登记所述RGB点云;以及
基于所述RGB点云的登记生成点云地图。
11.根据权利要求10所述的非暂时性机器可读介质,其中,使所述RGB图像与所述点云同步以获得RGB点云包括:
针对每个点云,确定出所述点云的时间戳;
从多个RGB图像中定位出具有处于所述点云的时间戳的时间阈值内的时间戳的RGB图像;以及
通过将一个或多个像素与所述点云的一个或多个点相关联,来将所述RGB图像与所述点云相关联。
12.根据权利要求11所述的非暂时性机器可读介质,其中,从所述RGB点云提取特征包括:基于来自所述RGB图像和相关联的点云二者的情境信息和空间信息来提取特征。
13.根据权利要求10所述的非暂时性机器可读介质,其中,所述空间信息包括与所述特征的点的位置相关的信息。
14.根据权利要求10所述的非暂时性机器可读介质,其中,基于所提取的特征来登记所述RGB点云包括:将优化算法应用于所述多个点云。
15.根据权利要求14所述的非暂时性机器可读介质,还包括将RANSAC算法应用于所提取的特征以用于异常值特征。
16.一种数据处理系统,包括:
处理器;以及
存储器,所述存储器联接至所述处理器以存储指令,所述指令在由所述处理器运行时使得所述处理器执行以下操作,所述操作包括:
接收由ADV的一个或多个LIDAR传感器捕获的多个点云和相应的位姿;
从所述ADV的一个或多个图像捕获传感器接收多个RGB图像,其中,所述多个RGB图像与所述LIDAR传感器捕获的视图相同或相似;
使所述RGB图像与所述点云同步以获得RGB点云;
从所述RGB点云提取特征,所述特征包括所述RGB点云的情境信息和空间信息,其中,所述情境信息包括所述特征的色彩模式和色彩模式的复杂性;
基于所提取的特征来登记所述RGB点云;以及
基于所述RGB点云的登记生成点云地图。
17.根据权利要求16所述的系统,其中,使所述RGB图像与所述点云同步以获得RGB点云包括:
针对每个点云,确定出所述点云的时间戳;
从多个RGB图像中定位出具有处于所述点云的时间戳的时间阈值内的时间戳的RGB图像;以及
通过将一个或多个像素与所述点云的一个或多个点相关联,来将所述RGB图像与所述点云相关联。
18.根据权利要求17所述的系统,其中,从所述RGB点云提取特征包括:基于来自所述RGB图像和相关联的点云二者的情境信息和空间信息来提取特征。
19.根据权利要求16所述的系统,其中,所述空间信息包括与所述特征的点的位置相关的信息。
20.根据权利要求16所述的系统,其中,基于所提取的特征来登记所述RGB点云包括:将优化算法应用于所述多个点云。
21.根据权利要求20所述的系统,其中,还包括将RANSAC算法应用于所提取的特征以用于异常值特征。
CN201980002329.2A 2019-01-30 2019-01-30 用于自动驾驶车辆的基于rgb点云的地图生成系统 Active CN112105890B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/073970 WO2020154966A1 (en) 2019-01-30 2019-01-30 A rgb point clouds based map generation system for autonomous vehicles

Publications (2)

Publication Number Publication Date
CN112105890A CN112105890A (zh) 2020-12-18
CN112105890B true CN112105890B (zh) 2023-11-17

Family

ID=71840745

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980002329.2A Active CN112105890B (zh) 2019-01-30 2019-01-30 用于自动驾驶车辆的基于rgb点云的地图生成系统

Country Status (6)

Country Link
US (1) US11227398B2 (zh)
EP (1) EP3707467A4 (zh)
JP (1) JP7019731B2 (zh)
KR (1) KR102379295B1 (zh)
CN (1) CN112105890B (zh)
WO (1) WO2020154966A1 (zh)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016161104A1 (en) 2015-04-01 2016-10-06 Vayavision, Ltd. Generating 3-dimensional maps of a scene using passive and active measurements
EP3710984A1 (en) * 2019-01-30 2020-09-23 Baidu.com Times Technology (Beijing) Co., Ltd. Map partition system for autonomous vehicles
US20220214186A1 (en) * 2019-05-06 2022-07-07 Zenuity Ab Automated map making and positioning
US20200408533A1 (en) * 2019-06-28 2020-12-31 DeepMap Inc. Deep learning-based detection of ground features using a high definition map
GB2591332B (en) * 2019-12-19 2024-02-14 Motional Ad Llc Foreground extraction using surface fitting
CN111179427A (zh) * 2019-12-24 2020-05-19 深圳市优必选科技股份有限公司 自主移动设备及其控制方法、计算机可读存储介质
TWI766218B (zh) * 2019-12-27 2022-06-01 財團法人工業技術研究院 三維平面重建方法、三維平面重建系統與計算裝置
CN113066042A (zh) * 2019-12-31 2021-07-02 英特尔公司 用于评估3d点云的质量的装置和方法
CN111968229A (zh) * 2020-06-28 2020-11-20 北京百度网讯科技有限公司 高精度地图制图方法及装置
US20210404814A1 (en) * 2020-06-30 2021-12-30 Lyft, Inc. Map Generation Using Two Sources of Sensor Data
KR102460825B1 (ko) * 2020-08-31 2022-10-31 네이버랩스 주식회사 위치 추정 방법 및 시스템
TWI768548B (zh) * 2020-11-19 2022-06-21 財團法人資訊工業策進會 定位用基礎資訊產生系統與方法以及自身定位判斷裝置
CN112465948B (zh) * 2020-11-24 2023-04-18 山东科技大学 一种保留空间特征的车载激光路面点云抽稀方法
KR102633705B1 (ko) 2020-12-03 2024-02-06 재단법인대구경북과학기술원 자율주행을 위한 차량의 위치추정 장치 및 방법
CN112528892B (zh) * 2020-12-17 2022-12-13 武汉中海庭数据技术有限公司 一种无人机点云车道线提取方法及系统
CN112541971A (zh) * 2020-12-25 2021-03-23 深圳市慧鲤科技有限公司 点云地图构建方法及装置、电子设备和存储介质
CN112802097A (zh) * 2020-12-30 2021-05-14 深圳市慧鲤科技有限公司 一种定位方法、装置、电子设备及存储介质
CN114842156A (zh) * 2021-02-01 2022-08-02 华为技术有限公司 一种三维地图的构建方法及装置
US20220269281A1 (en) * 2021-02-23 2022-08-25 Ran Cheng Method and system for generating a topological graph map
WO2022186777A1 (en) * 2021-03-03 2022-09-09 Agency For Science, Technology And Research Method and system for localizing a mobile robot
US20220281459A1 (en) * 2021-03-05 2022-09-08 Black Sesame International Holding Limited Autonomous driving collaborative sensing
CN113110180A (zh) * 2021-04-18 2021-07-13 深圳市骅鼎鹏智能科技有限公司 基于隧道远程驾驶方法、装置、计算机设备及存储介质
KR102336523B1 (ko) * 2021-04-27 2021-12-08 주식회사 모빌테크 점군 데이터를 이용하여 맵 정보를 향상 시키는 지도 제작 시스템
CN113409459B (zh) * 2021-06-08 2022-06-24 北京百度网讯科技有限公司 高精地图的生产方法、装置、设备和计算机存储介质
CN113625288A (zh) * 2021-06-15 2021-11-09 中国科学院自动化研究所 基于点云配准的相机与激光雷达位姿标定方法和装置
CN113379915B (zh) * 2021-07-05 2022-12-23 广东工业大学 一种基于点云融合的行车场景构建方法
US20230043061A1 (en) * 2021-08-06 2023-02-09 Beijing Qingzhouzhihang Technology Co., LTD. System and method for 3d multi-object tracking in lidar point clouds
CN113379873B (zh) * 2021-08-11 2021-11-09 北京赛目科技有限公司 一种道路曲线确定方法、装置、电子设备
US11915436B1 (en) * 2021-08-30 2024-02-27 Zoox, Inc. System for aligning sensor data with maps comprising covariances
US20230094695A1 (en) * 2021-09-24 2023-03-30 Argo AI, LLC Visual localization against a prior map
EP4198870A1 (en) * 2021-12-17 2023-06-21 dSPACE GmbH A method for generating a bird s eye view image
CN114372914B (zh) * 2022-01-12 2022-09-13 吉林大学 应用于矿用电铲上的机械式激光雷达点云预处理方法
TWI807771B (zh) * 2022-04-11 2023-07-01 勤崴國際科技股份有限公司 適應性導航方法及利用其之雲端導航路徑暨地圖發布平台
CN115063465B (zh) * 2022-06-15 2023-07-18 华南理工大学 一种基于激光雷达的无人车行驶路况建模方法
WO2024081118A1 (en) * 2022-10-14 2024-04-18 Motional Ad Llc Color map layer for annotation
CN116416586B (zh) * 2022-12-19 2024-04-02 香港中文大学(深圳) 基于rgb点云的地图元素感知方法、终端及存储介质
CN117095033A (zh) * 2023-07-25 2023-11-21 重庆邮电大学 一种基于图像与几何信息引导的多模态点云配准方法
CN117351167A (zh) * 2023-12-05 2024-01-05 深圳市其域创新科技有限公司 一种基于gpu的三维地图构建方法、装置、设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107301654A (zh) * 2017-06-12 2017-10-27 西北工业大学 一种多传感器的高精度即时定位与建图方法
WO2018110568A1 (ja) * 2016-12-12 2018-06-21 日本電産シンポ株式会社 障害物の回避動作を行う移動体およびそのコンピュータプログラム

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6664529B2 (en) * 2000-07-19 2003-12-16 Utah State University 3D multispectral lidar
US7015473B2 (en) * 2003-09-30 2006-03-21 General Electric Company Method and apparatus for internal feature reconstruction
US7363157B1 (en) * 2005-02-10 2008-04-22 Sarnoff Corporation Method and apparatus for performing wide area terrain mapping
US20080112610A1 (en) * 2006-11-14 2008-05-15 S2, Inc. System and method for 3d model generation
US20110115812A1 (en) * 2009-11-13 2011-05-19 Harris Corporation Method for colorization of point cloud data based on radiometric imagery
US8711206B2 (en) * 2011-01-31 2014-04-29 Microsoft Corporation Mobile camera localization using depth maps
WO2013049597A1 (en) * 2011-09-29 2013-04-04 Allpoint Systems, Llc Method and system for three dimensional mapping of an environment
US8363930B1 (en) * 2012-07-23 2013-01-29 Google Inc. Use of materials and appearances to merge scanned images
US9488492B2 (en) * 2014-03-18 2016-11-08 Sri International Real-time system for multi-modal 3D geospatial mapping, object recognition, scene annotation and analytics
KR101679741B1 (ko) * 2015-05-06 2016-11-28 고려대학교 산학협력단 외곽 공간 특징 정보 추출 방법
US9710714B2 (en) * 2015-08-03 2017-07-18 Nokia Technologies Oy Fusion of RGB images and LiDAR data for lane classification
JP6962926B2 (ja) * 2015-11-04 2021-11-05 ズークス インコーポレイテッド 自律車両の軌道修正のための遠隔操作システムおよび方法
US9972067B2 (en) * 2016-10-11 2018-05-15 The Boeing Company System and method for upsampling of sparse point cloud for 3D registration
KR102506264B1 (ko) * 2016-11-26 2023-03-06 팅크웨어(주) 이미지 처리 장치, 이미지 처리 방법, 컴퓨터 프로그램 및 컴퓨터 판독 가능한 기록 매체
SG10201700299QA (en) * 2017-01-13 2018-08-30 Otsaw Digital Pte Ltd Three-dimensional mapping of an environment
US10436595B2 (en) * 2017-02-02 2019-10-08 Baidu Usa Llc Method and system for updating localization maps of autonomous driving vehicles
US10445928B2 (en) * 2017-02-11 2019-10-15 Vayavision Ltd. Method and system for generating multidimensional maps of a scene using a plurality of sensors of various types
CN110325818B (zh) * 2017-03-17 2021-11-26 本田技研工业株式会社 经由多模融合的联合3d对象检测和取向估计
US9869754B1 (en) * 2017-03-22 2018-01-16 Luminar Technologies, Inc. Scan patterns for lidar systems
US10489663B2 (en) * 2017-04-24 2019-11-26 Toyota Research Institute, Inc. Systems and methods for identifying changes within a mapped environment
CN110832349B (zh) * 2017-05-15 2023-10-10 奥斯特公司 全景彩色lidar系统和用于lidar系统的方法
CN108961385B (zh) * 2017-05-22 2023-05-02 中国人民解放军信息工程大学 一种slam构图方法及装置
KR102399130B1 (ko) * 2017-06-28 2022-05-18 현대모비스 주식회사 차량의 주행 환경 인식 장치, 방법 및 시스템
US10474160B2 (en) * 2017-07-03 2019-11-12 Baidu Usa Llc High resolution 3D point clouds generation from downsampled low resolution LIDAR 3D point clouds and camera images
US10671082B2 (en) * 2017-07-03 2020-06-02 Baidu Usa Llc High resolution 3D point clouds generation based on CNN and CRF models
EP3451291B1 (en) * 2017-09-01 2020-08-26 Tata Consultancy Services Limited System and method for shape constrained 3d point cloud registration
CN107576960B (zh) * 2017-09-04 2021-03-16 赵建辉 视觉雷达时空信息融合的目标检测方法及系统
US10809064B2 (en) * 2018-02-08 2020-10-20 Raytheon Company Image geo-registration for absolute navigation aiding using uncertainy information from the on-board navigation system
WO2019161558A1 (en) * 2018-02-26 2019-08-29 Intel Corporation Method and system of point cloud registration for image processing
US10657388B2 (en) * 2018-03-13 2020-05-19 Honda Motor Co., Ltd. Robust simultaneous localization and mapping via removal of dynamic traffic participants
US11294060B2 (en) * 2018-04-18 2022-04-05 Faraday & Future Inc. System and method for lidar-based vehicular localization relating to autonomous navigation
EP3610225B1 (en) * 2018-06-22 2022-03-02 Beijing Didi Infinity Technology and Development Co., Ltd. Systems and methods for updating highly automated driving maps
US10983526B2 (en) * 2018-09-17 2021-04-20 Huawei Technologies Co., Ltd. Method and system for generating a semantic point cloud map
US10769846B2 (en) * 2018-10-11 2020-09-08 GM Global Technology Operations LLC Point cloud data compression in an autonomous vehicle
US10915793B2 (en) * 2018-11-08 2021-02-09 Huawei Technologies Co., Ltd. Method and system for converting point cloud data for use with 2D convolutional neural networks
US10846818B2 (en) * 2018-11-15 2020-11-24 Toyota Research Institute, Inc. Systems and methods for registering 3D data with 2D image data
US10682955B1 (en) * 2018-12-03 2020-06-16 Beijing Voyager Technology Co., Ltd. Multicamera system for autonomous driving vehicles
US10955257B2 (en) * 2018-12-28 2021-03-23 Beijing Didi Infinity Technology And Development Co., Ltd. Interactive 3D point cloud matching
US20200209848A1 (en) * 2018-12-31 2020-07-02 Mentor Graphics Development (Deutschland) Gmbh Service degradation in an autonomous driving system
US10713841B1 (en) * 2019-01-18 2020-07-14 Unkie Oy System for generating point cloud map and method therefor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018110568A1 (ja) * 2016-12-12 2018-06-21 日本電産シンポ株式会社 障害物の回避動作を行う移動体およびそのコンピュータプログラム
CN107301654A (zh) * 2017-06-12 2017-10-27 西北工业大学 一种多传感器的高精度即时定位与建图方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
3D Object Tracking using RGB and LIDAR Data;Alireza Asvadi,et al.;2016 IEEE 19th International Conference on Intelligent Transportation Systems (ITSC);全文 *
RGB-Depth SLAM Review;Redhwan Jamiruddin,et al.;JOURNAL OF LATEX CLASS FILES;第第14卷卷(第第8期期);全文 *
基于数据融合的SLAM系统研究与路径规划实现;赖秋玲;禹素萍;丁绅一;;电脑知识与技术(33);全文 *
车载移动测量系统装备研制与应用;明镜;向泽君;龙川;吕楠;;测绘通报(09);全文 *

Also Published As

Publication number Publication date
EP3707467A1 (en) 2020-09-16
EP3707467A4 (en) 2020-09-16
JP7019731B2 (ja) 2022-02-15
US20210334988A1 (en) 2021-10-28
WO2020154966A1 (en) 2020-08-06
KR102379295B1 (ko) 2022-03-25
JP2021515254A (ja) 2021-06-17
US11227398B2 (en) 2022-01-18
CN112105890A (zh) 2020-12-18
KR20200096725A (ko) 2020-08-13

Similar Documents

Publication Publication Date Title
CN112105890B (zh) 用于自动驾驶车辆的基于rgb点云的地图生成系统
CN112105893B (zh) 用于自动驾驶车辆的实时地图生成系统
CN111771229B (zh) 用于自动驾驶车辆的点云重影效果检测系统
JP7127071B2 (ja) 自動運転車のための地図区画システム
JP7248208B2 (ja) 自動運転車のためのポイントクラウド登録システム
CN111771206B (zh) 用于自动驾驶车辆的地图分区系统

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
GR01 Patent grant
GR01 Patent grant