CN111771229A - 用于自动驾驶车辆的点云重影效果检测*** - Google Patents
用于自动驾驶车辆的点云重影效果检测*** Download PDFInfo
- Publication number
- CN111771229A CN111771229A CN201980002332.4A CN201980002332A CN111771229A CN 111771229 A CN111771229 A CN 111771229A CN 201980002332 A CN201980002332 A CN 201980002332A CN 111771229 A CN111771229 A CN 111771229A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- frame
- voxel
- occupancy
- grid 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.)
- Granted
Links
- 230000000694 effects Effects 0.000 title claims abstract description 36
- 238000001514 detection method Methods 0.000 title description 15
- 230000002547 anomalous effect Effects 0.000 claims abstract description 38
- 230000004044 response Effects 0.000 claims abstract description 11
- 238000000034 method Methods 0.000 claims description 118
- 238000004422 calculation algorithm Methods 0.000 claims description 99
- 238000012545 processing Methods 0.000 claims description 74
- 230000015654 memory Effects 0.000 claims description 23
- 230000002159 abnormal effect Effects 0.000 claims description 20
- 230000008859 change Effects 0.000 claims description 16
- 230000008569 process Effects 0.000 description 81
- 238000005192 partition Methods 0.000 description 62
- 238000010586 diagram Methods 0.000 description 47
- 230000000875 corresponding effect Effects 0.000 description 33
- 238000000605 extraction Methods 0.000 description 33
- 230000008447 perception Effects 0.000 description 30
- 238000003860 storage Methods 0.000 description 30
- 238000013507 mapping Methods 0.000 description 26
- 230000009466 transformation Effects 0.000 description 21
- 239000000284 extract Substances 0.000 description 20
- 238000005457 optimization Methods 0.000 description 20
- 238000000638 solvent extraction Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 13
- 239000010410 layer Substances 0.000 description 13
- 239000012634 fragment Substances 0.000 description 12
- 238000010801 machine learning Methods 0.000 description 12
- 239000013598 vector Substances 0.000 description 10
- 241000283070 Equus zebra Species 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 230000033001 locomotion Effects 0.000 description 8
- 238000000513 principal component analysis Methods 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 7
- 230000002085 persistent effect Effects 0.000 description 7
- 230000003068 static effect Effects 0.000 description 7
- 230000001360 synchronised effect Effects 0.000 description 7
- 238000007405 data analysis Methods 0.000 description 6
- 238000003709 image segmentation Methods 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 210000002569 neuron Anatomy 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 5
- 238000009826 distribution Methods 0.000 description 5
- 239000004576 sand Substances 0.000 description 5
- 238000005266 casting Methods 0.000 description 4
- 238000003708 edge detection Methods 0.000 description 4
- 239000003550 marker Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 230000002596 correlated effect Effects 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 230000004807 localization Effects 0.000 description 3
- 238000000844 transformation Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000014616 translation Effects 0.000 description 3
- 238000002379 ultrasonic velocimetry Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000003064 k means clustering Methods 0.000 description 2
- 230000005291 magnetic effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 235000002566 Capsicum Nutrition 0.000 description 1
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 description 1
- 239000006002 Pepper Substances 0.000 description 1
- 235000016761 Piper aduncum Nutrition 0.000 description 1
- 235000017804 Piper guineense Nutrition 0.000 description 1
- 244000203593 Piper nigrum Species 0.000 description 1
- 235000008184 Piper nigrum Nutrition 0.000 description 1
- 238000012896 Statistical algorithm Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000000205 computational method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000009429 electrical wiring Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 229910000078 germane Inorganic materials 0.000 description 1
- 230000012010 growth Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 238000011946 reduction process Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 150000003839 salts Chemical class 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/89—Lidar systems specially adapted for specific applications for mapping or imaging
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/93—Lidar systems specially adapted for specific applications for anti-collision purposes
- G01S17/931—Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/48—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
- G01S7/4802—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/48—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
- G01S7/4808—Evaluating distance, position or velocity data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/08—Volume rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30168—Image quality inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/56—Particle system, point based geometry or rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2004—Aligning objects, relative positioning of parts
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Remote Sensing (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Radar, Positioning & Navigation (AREA)
- Geometry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Electromagnetism (AREA)
- Architecture (AREA)
- Quality & Reliability (AREA)
- Traffic Control Systems (AREA)
- Navigation (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
- Image Generation (AREA)
- Image Analysis (AREA)
Abstract
在一个实施方式中,***基于点云的初始帧生成占用网格地图。***接收点云的一个或多个后续帧。针对后续帧中的每个,***基于后续帧来更新占用网格地图。***基于所述更新来识别一个或多个异常体素,***确定异常体素是否属于壁对象,并且响应于确定出异常体素属于壁对象,***将异常体素标示为后续帧的重影效果体素。
Description
技术领域
本公开的实施方式总体涉及操作自动驾驶车辆。更具体地,本公开的实施方式涉及用于自动驾驶车辆(ADV)的点云重影效果检测***。
背景技术
以自动驾驶模式运行(例如,无人驾驶)的车辆可以将乘客(尤其是驾驶员)从一些驾驶相关的职责中解放出来。当以自动驾驶模式运行时,车辆可以使用车载传感器导航到各个位置,从而允许车辆在最少人机交互的情况下或在没有任何乘客的一些情况下行使。
运动规划和控制是自动驾驶中的关键操作。然而,传统的运动规划操作主要根据其曲率和速度来估计完成给定路径的难度,而不考虑不同类型车辆的特征差异。相同的运动规划和控制应用于所有类型的车辆,这在某些情况下可能不准确且不平滑。
高清(HD)三维(3D)点云地图对于自动驾驶车辆是重要的,并且点云登记(pointcloud registration)***是根据点云数据构建HD3D点云地图的重点。具有高精度的HD 3D点云地图是自动驾驶车辆(ADV)的运动规划的关键。
然而,存在影响地图结构的性能和精确度的若干问题。首先,当前的点云登记算法高度依赖于用于定位的GPS信号来进行地图构建,其在例如由高楼林立的城市街道或茂密的森林中,可能具有米级的误差范围,或者记录下具有GPS弹跳的信号。或者例如,在隧道或车库中,GPS可能无法完全地记录信号。其次,点云的登记可能是计算复杂的,例如,这对于大的地图区域而言是具有挑战性且耗时的。
此外,经登记的HD 3D点云地图的精确度可取决于点云的质量或点云的拼接。如果点云地图具有由例如点云的拼接而导致的重影图像,则HD 3D点云地图的精确度可能受损。为了确保高精确度,期望针对重影效果来评估点云地图。
发明内容
在第一方面,本公开的实施方式提供了一种用于自动驾驶车辆(ADV)的在点云中识别重影效果的计算机实施方法。所述方法包括:基于点云的初始帧生成占用网格地图;接收所述点云的一个或多个后续帧;以及针对所述后续帧中的每个,基于所述后续帧来更新占用网格地图,基于所述更新来识别一个或多个异常体素,确定所述异常体素是否属于壁对象,以及响应于确定出所述异常体素属于壁对象,将所述异常体素标示为所述后续帧的重影效果体素。
在第二方面,本公开的实施方式提供了一种存储有指令的非暂时性机器可读介质。所述指令在由处理器运行时使得所述处理器执行以下操作,所述操作包括:基于点云的初始帧生成占用网格地图;接收所述点云的一个或多个后续帧;以及针对所述后续帧中的每个,基于所述后续帧来更新占用网格地图,基于所述更新来识别一个或多个异常体素,确定所述异常体素是否属于壁对象,以及响应于确定出所述异常体素属于壁对象,将所述异常体素标示为所述后续帧的重影效果体素。
在第三方面,本发明实施方式提供了一种数据处理***。所述***包括:处理器;以及存储器,所述存储器联接至所述处理器以存储指令,所述指令在由所述处理器运行时使得所述处理器执行以下操作,所述操作包括:基于点云的初始帧生成占用网格地图;接收所述点云的一个或多个后续帧;以及针对所述后续帧中的每个,基于所述后续帧来更新占用网格地图,基于所述更新来识别一个或多个异常体素,确定所述异常体素是否属于壁对象,以及响应于确定出所述异常体素属于壁对象,将所述异常体素标示为所述后续帧的重影效果体素。
附图说明
本公开的实施方式在附图的各图中以示例而非限制的方式示出,附图中相似的附图标记指示相似的元件。
图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)等式如下:
以上等式(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/点云特征来登记点云。在另一实施方式中,登记子模块1605可以使用优化算法来登记点云,所述优化算法具有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)网格(或块)。示例转换可以如下所示:
参考图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),以获得点的协方差矩阵的特征值(λ1,λ2,λ3)。然后,可以通过以下公式计算特征(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:“占用”→“空闲”。如果体素的占用概率的变化大于预定阈值,例如,如果占用概率的差异(例如,增大或减小)大于预定阈值,则可以识别出异常的状态变化。
此外,可以识别出属于壁型对象的体素。例如,可以对点云帧应用对象检测算法(例如,图像分割、边缘检测、机器学***坦的对象,该平坦的对象具有与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)的在点云中识别重影效果的计算机实施方法,所述方法包括:
基于点云的初始帧生成占用网格地图;
接收所述点云的一个或多个后续帧;以及
针对所述后续帧中的每个,
基于所述后续帧来更新占用网格地图,
基于所述更新来识别一个或多个异常体素,
确定所述异常体素是否属于壁对象,以及
响应于确定出所述异常体素属于壁对象,将所述异常体素标示为所述后续帧的重影效果体素。
2.根据权利要求1所述的方法,还包括使用光线追踪算法将所述初始帧或所述后续帧投影到所述占用网格地图上。
3.根据权利要求2所述的方法,其中,将所述初始帧或所述后续帧投影到所述占用网格地图上包括:确定所述占用网格地图中的每个体素的占用状态,其中,所述占用状态是空闲、占用或未知中的一种。
4.根据权利要求3所述的方法,其中,基于所述更新识别一个或多个异常体素包括:
针对所述占用网格地图中的每个体素,检测所述体素的占用状态的变化;以及
如果所述占用状态从空闲变化成占用或从占用变化成空闲,则将所述体素识别为异常。
5.根据权利要求1所述的方法,其中,通过应用贝叶斯算法基于后续帧来更新所述占用网格地图,其中,所述占用网格地图包括指示占用概率的体素。
6.根据权利要求1所述的方法,其中,确定所述异常体素是否属于壁对象包括:识别所述异常体素是否属于具有平坦表面且所述平坦表面的法线与竖直的z轴垂直的属性的对象。
7.根据权利要求1所述的方法,还包括:如果帧的重影效果体素的数量大于阈值,则从点云地图去除所述帧。
8.一种存储有指令的非暂时性机器可读介质,所述指令在由处理器运行时使得所述处理器执行以下操作,所述操作包括:
基于点云的初始帧生成占用网格地图;
接收所述点云的一个或多个后续帧;以及
针对所述后续帧中的每个,
基于所述后续帧来更新占用网格地图,
基于所述更新来识别一个或多个异常体素,
确定所述异常体素是否属于壁对象,以及
响应于确定出所述异常体素属于壁对象,将所述异常体素标示为所述后续帧的重影效果体素。
9.根据权利要求8所述的非暂时性机器可读介质,还包括使用光线追踪算法将所述初始帧或所述后续帧投影到所述占用网格地图上。
10.根据权利要求9所述的非暂时性机器可读介质,其中,将所述初始帧或所述后续帧投影到所述占用网格地图上包括:确定所述占用网格地图中的每个体素的占用状态,其中,所述占用状态是空闲、占用或未知中的一种。
11.根据权利要求10所述的非暂时性机器可读介质,其中,基于所述更新识别一个或多个异常体素包括:
针对所述占用网格地图中的每个体素,检测所述体素的占用状态的变化;以及
如果所述占用状态从空闲变化成占用或从占用变化成空闲,则将所述体素识别为异常。
12.根据权利要求8所述的非暂时性机器可读介质,其中,通过应用贝叶斯算法基于后续帧来更新所述占用网格地图,其中,所述占用网格地图包括指示占用概率的体素。
13.根据权利要求8所述的非暂时性机器可读介质,其中,确定所述异常体素是否属于壁对象包括:识别所述异常体素是否属于具有平坦表面且所述平坦表面的法线与竖直的z轴垂直的属性的对象。
14.根据权利要求8所述的非暂时性机器可读介质,还包括:如果帧的重影效果体素的数量大于阈值,则从点云地图去除所述帧。
15.一种数据处理***,包括:
处理器;以及
存储器,所述存储器联接至所述处理器以存储指令,所述指令在由所述处理器运行时使得所述处理器执行以下操作,所述操作包括:
基于点云的初始帧生成占用网格地图;
接收所述点云的一个或多个后续帧;以及
针对所述后续帧中的每个,
基于所述后续帧来更新占用网格地图,
基于所述更新来识别一个或多个异常体素,
确定所述异常体素是否属于壁对象,以及
响应于确定出所述异常体素属于壁对象,将所述异常体素标示为所述后续帧的重影效果体素。
16.根据权利要求15所述的***,还包括使用光线追踪算法将所述初始帧或所述后续帧投影到所述占用网格地图上。
17.根据权利要求16所述的***,其中,将所述初始帧或所述后续帧投影到所述占用网格地图上包括:确定所述占用网格地图中的每个体素的占用状态,其中,所述占用状态是空闲、占用或未知中的一种。
18.根据权利要求17所述的***,其中,基于所述更新识别一个或多个异常体素包括:
针对所述占用网格地图中的每个体素,检测所述体素的占用状态的变化;以及
如果所述占用状态从空闲变化成占用或从占用变化成空闲,则将所述体素识别为异常。
19.根据权利要求15所述的***,其中,通过应用贝叶斯算法基于后续帧来更新所述占用网格地图,其中,所述占用网格地图包括指示占用概率的体素。
20.根据权利要求15所述的***,其中,确定所述异常体素是否属于壁对象包括:识别所述异常体素是否属于具有平坦表面且所述平坦表面的法线与竖直的z轴垂直的属性的对象。
21.根据权利要求15所述的***,还包括:如果帧的重影效果体素的数量大于阈值,则从点云地图去除所述帧。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/073972 WO2020154968A1 (en) | 2019-01-30 | 2019-01-30 | A point clouds ghosting effects detection system for autonomous driving vehicles |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111771229A true CN111771229A (zh) | 2020-10-13 |
CN111771229B CN111771229B (zh) | 2023-11-21 |
Family
ID=71840757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980002332.4A Active CN111771229B (zh) | 2019-01-30 | 2019-01-30 | 用于自动驾驶车辆的点云重影效果检测*** |
Country Status (6)
Country | Link |
---|---|
US (1) | US11315317B2 (zh) |
EP (1) | EP3711030A4 (zh) |
JP (1) | JP7029479B2 (zh) |
KR (1) | KR102319036B1 (zh) |
CN (1) | CN111771229B (zh) |
WO (1) | WO2020154968A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112329749A (zh) * | 2021-01-05 | 2021-02-05 | 新石器慧通(北京)科技有限公司 | 点云的标注方法及标注设备 |
CN112559654A (zh) * | 2020-11-27 | 2021-03-26 | 广州极飞科技有限公司 | 电子地图的生成方法、装置和通信*** |
CN112669373A (zh) * | 2020-12-24 | 2021-04-16 | 北京亮道智能汽车技术有限公司 | 一种自动化标注方法、装置、电子设备及存储介质 |
CN113781652A (zh) * | 2021-08-16 | 2021-12-10 | 西北大学 | 一种基于能量密度区域收缩的多层次概率重建方法 |
CN113989451A (zh) * | 2021-10-28 | 2022-01-28 | 北京百度网讯科技有限公司 | 高精地图构建方法、装置及电子设备 |
CN115469292A (zh) * | 2022-11-01 | 2022-12-13 | 天津卡尔狗科技有限公司 | 环境感知方法、装置、电子设备和存储介质 |
CN117292140A (zh) * | 2023-10-17 | 2023-12-26 | 小米汽车科技有限公司 | 点云数据的处理方法、装置、车辆及存储介质 |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111797650B (zh) * | 2019-04-09 | 2024-02-27 | 广州文远知行科技有限公司 | 障碍物的识别方法、装置、计算机设备和存储介质 |
US11703577B2 (en) * | 2020-08-14 | 2023-07-18 | Baidu Usa Llc | Recalibration determination system for autonomous driving vehicles with multiple LiDAR sensors |
CN112543938B (zh) * | 2020-09-29 | 2022-02-08 | 华为技术有限公司 | 占据栅格地图的生成方法和装置 |
CN112711034B (zh) * | 2020-12-22 | 2022-10-14 | 中国第一汽车股份有限公司 | 物体检测方法、装置及设备 |
US20240077329A1 (en) * | 2021-01-12 | 2024-03-07 | Sandvik Mining And Construction Oy | Underground worksite model generation |
CN113592891B (zh) * | 2021-07-30 | 2024-03-22 | 华东理工大学 | 无人车可通行域分析方法及导航栅格地图制作方法 |
US11954914B2 (en) * | 2021-08-02 | 2024-04-09 | Nvidia Corporation | Belief propagation for range image mapping in autonomous machine applications |
US11989891B2 (en) * | 2021-08-06 | 2024-05-21 | Beijing Qingzhouzhihang Technology Co., LTD. | System and method for 3D multi-object tracking in LiDAR point clouds |
US11915436B1 (en) * | 2021-08-30 | 2024-02-27 | Zoox, Inc. | System for aligning sensor data with maps comprising covariances |
CN116012540A (zh) * | 2021-10-22 | 2023-04-25 | 中光电智能机器人股份有限公司 | 空间静态地图建构方法及*** |
TWI833122B (zh) * | 2021-10-22 | 2024-02-21 | 中光電智能機器人股份有限公司 | 空間靜態地圖建構方法及系統 |
WO2023134873A1 (en) * | 2022-01-17 | 2023-07-20 | Telefonaktiebolaget Lm Ericsson (Publ) | Three-dimensional scanning of an environment having reflective surfaces |
CN114384491B (zh) * | 2022-03-24 | 2022-07-12 | 北京一径科技有限公司 | 用于激光雷达的点云处理方法及装置、存储介质 |
CN114384492B (zh) * | 2022-03-24 | 2022-06-24 | 北京一径科技有限公司 | 用于激光雷达的点云处理方法及装置、存储介质 |
JP2023149113A (ja) * | 2022-03-30 | 2023-10-13 | 株式会社神戸製鋼所 | 異常判定方法、異常時の処理方法、情報処理装置、溶接システム、およびプログラム |
CN117409161A (zh) * | 2022-07-06 | 2024-01-16 | 戴尔产品有限公司 | 点云处理方法和电子设备 |
CN115033586B (zh) * | 2022-08-11 | 2022-11-04 | 上海伯镭智能科技有限公司 | 一种矿场路边界的感知及众包地图更新方法 |
CN115719354B (zh) * | 2022-11-17 | 2024-03-22 | 同济大学 | 基于激光点云提取立杆的方法与装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105260988A (zh) * | 2015-09-09 | 2016-01-20 | 百度在线网络技术(北京)有限公司 | 一种高精地图数据的处理方法和装置 |
CN105446338A (zh) * | 2015-12-21 | 2016-03-30 | 福州华鹰重工机械有限公司 | 云辅助自动驾驶方法及*** |
WO2018060313A1 (en) * | 2016-09-28 | 2018-04-05 | Tomtom Global Content B.V. | Methods and systems for generating and using localisation reference data |
US20180158197A1 (en) * | 2016-12-01 | 2018-06-07 | Skydio, Inc. | Object tracking by an unmanned aerial vehicle using visual sensors |
WO2018115963A2 (en) * | 2016-12-23 | 2018-06-28 | Mobileye Vision Technologies Ltd. | Navigational system with imposed liability constraints |
CN108320329A (zh) * | 2018-02-02 | 2018-07-24 | 维坤智能科技(上海)有限公司 | 一种基于3d激光的3d地图创建方法 |
US20180232947A1 (en) * | 2017-02-11 | 2018-08-16 | Vayavision, Ltd. | Method and system for generating multidimensional maps of a scene using a plurality of sensors of various types |
US20180255290A1 (en) * | 2015-09-22 | 2018-09-06 | Fyusion, Inc. | System and method for generating combined embedded multi-view interactive digital media representations |
CN109117709A (zh) * | 2017-06-23 | 2019-01-01 | 优步技术公司 | 用于自动驾驶车辆的碰撞避免*** |
CN109215067A (zh) * | 2017-07-03 | 2019-01-15 | 百度(美国)有限责任公司 | 基于cnn和crf模型生成高分辨率3-d点云 |
CN109214248A (zh) * | 2017-07-04 | 2019-01-15 | 百度在线网络技术(北京)有限公司 | 用于识别无人驾驶车辆的激光点云数据的方法和装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4344869B2 (ja) | 2007-02-16 | 2009-10-14 | 三菱電機株式会社 | 計測装置 |
KR101319471B1 (ko) * | 2008-08-29 | 2013-10-17 | 미쓰비시덴키 가부시키가이샤 | 부감 화상 생성장치, 부감 화상 생성방법 및 기록매체 |
KR102238693B1 (ko) * | 2014-06-20 | 2021-04-09 | 삼성전자주식회사 | 포인트 클라우드에서 특징 영역을 추출하는 방법 및 장치 |
US9369689B1 (en) * | 2015-02-24 | 2016-06-14 | HypeVR | Lidar stereo fusion live action 3D model video reconstruction for six degrees of freedom 360° volumetric virtual reality video |
JP6599143B2 (ja) | 2015-06-30 | 2019-10-30 | セコム株式会社 | 自律移動ロボット |
EP4180893A1 (en) | 2015-11-04 | 2023-05-17 | Zoox, Inc. | Teleoperation system and method for trajectory modification of autonomous vehicles |
JP2017129375A (ja) * | 2016-01-18 | 2017-07-27 | 株式会社Ihi | 画像処理装置、画像処理方法、および画像処理プログラム |
US10162362B2 (en) * | 2016-08-29 | 2018-12-25 | PerceptIn, Inc. | Fault tolerance to provide robust tracking for autonomous positional awareness |
CN113008263B (zh) * | 2016-11-01 | 2024-04-30 | 松下电器(美国)知识产权公司 | 数据生成方法及数据生成装置 |
EP3324209A1 (en) * | 2016-11-18 | 2018-05-23 | Dibotics | Methods and systems for vehicle environment map generation and updating |
US10304256B2 (en) * | 2016-12-13 | 2019-05-28 | Indoor Reality Inc. | Point cloud cleaning method |
CN108460791A (zh) * | 2017-12-29 | 2018-08-28 | 百度在线网络技术(北京)有限公司 | 用于处理点云数据的方法和装置 |
CN108986061B (zh) * | 2018-06-28 | 2019-09-20 | 百度在线网络技术(北京)有限公司 | 三维点云道路数据融合方法、装置及存储介质 |
-
2019
- 2019-01-30 WO PCT/CN2019/073972 patent/WO2020154968A1/en unknown
- 2019-01-30 US US16/336,888 patent/US11315317B2/en active Active
- 2019-01-30 EP EP19794864.9A patent/EP3711030A4/en active Pending
- 2019-01-30 KR KR1020197036973A patent/KR102319036B1/ko active IP Right Grant
- 2019-01-30 CN CN201980002332.4A patent/CN111771229B/zh active Active
- 2019-01-30 JP JP2019568679A patent/JP7029479B2/ja active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105260988A (zh) * | 2015-09-09 | 2016-01-20 | 百度在线网络技术(北京)有限公司 | 一种高精地图数据的处理方法和装置 |
US20180255290A1 (en) * | 2015-09-22 | 2018-09-06 | Fyusion, Inc. | System and method for generating combined embedded multi-view interactive digital media representations |
CN105446338A (zh) * | 2015-12-21 | 2016-03-30 | 福州华鹰重工机械有限公司 | 云辅助自动驾驶方法及*** |
WO2018060313A1 (en) * | 2016-09-28 | 2018-04-05 | Tomtom Global Content B.V. | Methods and systems for generating and using localisation reference data |
US20180158197A1 (en) * | 2016-12-01 | 2018-06-07 | Skydio, Inc. | Object tracking by an unmanned aerial vehicle using visual sensors |
WO2018115963A2 (en) * | 2016-12-23 | 2018-06-28 | Mobileye Vision Technologies Ltd. | Navigational system with imposed liability constraints |
US20180232947A1 (en) * | 2017-02-11 | 2018-08-16 | Vayavision, Ltd. | Method and system for generating multidimensional maps of a scene using a plurality of sensors of various types |
CN109117709A (zh) * | 2017-06-23 | 2019-01-01 | 优步技术公司 | 用于自动驾驶车辆的碰撞避免*** |
CN109215067A (zh) * | 2017-07-03 | 2019-01-15 | 百度(美国)有限责任公司 | 基于cnn和crf模型生成高分辨率3-d点云 |
CN109214248A (zh) * | 2017-07-04 | 2019-01-15 | 百度在线网络技术(北京)有限公司 | 用于识别无人驾驶车辆的激光点云数据的方法和装置 |
CN108320329A (zh) * | 2018-02-02 | 2018-07-24 | 维坤智能科技(上海)有限公司 | 一种基于3d激光的3d地图创建方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559654A (zh) * | 2020-11-27 | 2021-03-26 | 广州极飞科技有限公司 | 电子地图的生成方法、装置和通信*** |
CN112669373A (zh) * | 2020-12-24 | 2021-04-16 | 北京亮道智能汽车技术有限公司 | 一种自动化标注方法、装置、电子设备及存储介质 |
CN112669373B (zh) * | 2020-12-24 | 2023-12-05 | 北京亮道智能汽车技术有限公司 | 一种自动化标注方法、装置、电子设备及存储介质 |
CN112329749A (zh) * | 2021-01-05 | 2021-02-05 | 新石器慧通(北京)科技有限公司 | 点云的标注方法及标注设备 |
CN112329749B (zh) * | 2021-01-05 | 2021-04-27 | 新石器慧通(北京)科技有限公司 | 点云的标注方法及标注设备 |
CN113781652A (zh) * | 2021-08-16 | 2021-12-10 | 西北大学 | 一种基于能量密度区域收缩的多层次概率重建方法 |
CN113781652B (zh) * | 2021-08-16 | 2024-04-12 | 西北大学 | 一种基于能量密度区域收缩的多层次概率重建方法 |
CN113989451A (zh) * | 2021-10-28 | 2022-01-28 | 北京百度网讯科技有限公司 | 高精地图构建方法、装置及电子设备 |
CN113989451B (zh) * | 2021-10-28 | 2024-04-09 | 北京百度网讯科技有限公司 | 高精地图构建方法、装置及电子设备 |
CN115469292A (zh) * | 2022-11-01 | 2022-12-13 | 天津卡尔狗科技有限公司 | 环境感知方法、装置、电子设备和存储介质 |
CN117292140A (zh) * | 2023-10-17 | 2023-12-26 | 小米汽车科技有限公司 | 点云数据的处理方法、装置、车辆及存储介质 |
CN117292140B (zh) * | 2023-10-17 | 2024-04-02 | 小米汽车科技有限公司 | 点云数据的处理方法、装置、车辆及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20210327128A1 (en) | 2021-10-21 |
KR102319036B1 (ko) | 2021-10-28 |
US11315317B2 (en) | 2022-04-26 |
CN111771229B (zh) | 2023-11-21 |
EP3711030A4 (en) | 2020-09-30 |
KR20200096409A (ko) | 2020-08-12 |
EP3711030A1 (en) | 2020-09-23 |
JP2021516183A (ja) | 2021-07-01 |
WO2020154968A1 (en) | 2020-08-06 |
JP7029479B2 (ja) | 2022-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111771206B (zh) | 用于自动驾驶车辆的地图分区*** | |
CN112105893B (zh) | 用于自动驾驶车辆的实时地图生成*** | |
CN112105890B (zh) | 用于自动驾驶车辆的基于rgb点云的地图生成*** | |
CN111771229B (zh) | 用于自动驾驶车辆的点云重影效果检测*** | |
US11608078B2 (en) | Point clouds registration system for 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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |