CN115131509A - 处理点云数据的方法和装置 - Google Patents
处理点云数据的方法和装置 Download PDFInfo
- Publication number
- CN115131509A CN115131509A CN202110324559.XA CN202110324559A CN115131509A CN 115131509 A CN115131509 A CN 115131509A CN 202110324559 A CN202110324559 A CN 202110324559A CN 115131509 A CN115131509 A CN 115131509A
- Authority
- CN
- China
- Prior art keywords
- normal vector
- image
- point cloud
- space
- point
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 148
- 238000012545 processing Methods 0.000 title claims abstract description 105
- 239000013598 vector Substances 0.000 claims abstract description 286
- 230000015654 memory Effects 0.000 claims description 37
- 238000005070 sampling Methods 0.000 claims description 21
- 238000012847 principal component analysis method Methods 0.000 claims description 4
- 238000012163 sequencing technique Methods 0.000 claims 2
- 230000000875 corresponding effect Effects 0.000 description 50
- 238000007906 compression Methods 0.000 description 30
- 238000010586 diagram Methods 0.000 description 29
- 238000004891 communication Methods 0.000 description 27
- 230000006835 compression Effects 0.000 description 27
- 230000008569 process Effects 0.000 description 26
- 238000004422 calculation algorithm Methods 0.000 description 18
- 230000002829 reductive effect Effects 0.000 description 17
- 230000033001 locomotion Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 8
- 230000006399 behavior Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 241001465754 Metazoa Species 0.000 description 5
- 230000001276 controlling effect Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 230000010267 cellular communication Effects 0.000 description 3
- 238000002485 combustion reaction Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 239000000446 fuel Substances 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000000059 patterning Methods 0.000 description 3
- 238000000513 principal component analysis Methods 0.000 description 3
- LFQSCWFLJHTTHZ-UHFFFAOYSA-N Ethanol Chemical compound CCO LFQSCWFLJHTTHZ-UHFFFAOYSA-N 0.000 description 2
- ATUOYWHBWRKTHZ-UHFFFAOYSA-N Propane Chemical compound CCC ATUOYWHBWRKTHZ-UHFFFAOYSA-N 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 239000002253 acid Substances 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 229910001416 lithium ion Inorganic materials 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 239000003208 petroleum Substances 0.000 description 1
- 239000001294 propane Substances 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000000979 retarding effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012795 verification 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
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- 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/10—Image acquisition modality
- G06T2207/10032—Satellite or aerial image; Remote sensing
- G06T2207/10044—Radar image
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Remote Sensing (AREA)
- Computing Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供了一种处理点云数据的方法和装置,可以应用在智能汽车、网联汽车、自动驾驶汽车上。其中,该方法包括:获取三维3D点云地图,该3D点云地图包括n个3D空间点,该n个3D空间点中的每个3D空间点包括位置信息和法向量信息,n为正整数;将每个3D空间点的主刻度存储在第一图像中,该主刻度是对位置信息进行栅格化处理得到的,主刻度对应第一图像中的像素坐标值;将每个3D空间点的目标法向量信息存储在第二图像中,该目标法向量信息是对法向量信息进行栅格化处理得到的。本申请的方案能够使得3D点云地图以轻量化的形式实现加载、传输、存储和数据处理。
Description
技术领域
本申请涉及数据处理领域,并且更具体地,涉及一种处理点云数据的方法和装置。
背景技术
随着激光雷达(light detection and ranging,LiDAR)数据采集和显示技术的进步,激光雷达传感器可以应用于越来越多的领域。例如,智能机器人导航、自动驾驶、体感游戏等领域。
然而LiDAR的每帧点云数据中含有数以万计的点,大容量数据的存储和传输非常昂贵、耗时。例如,LiDAR三维3D点云地图在网络上的通信需要大量的时间和网络带宽资源,造成3D点云地图数据的云端使用方式受到限制。此外,3D点云地图的归档存储也会占用大量存储空间,同样会限制激光数据的商业化应用范围。
发明内容
本申请提供一种处理点云数据的方法和装置,使得3D点云地图可以以轻量化的形式实现加载、传输、存储和数据处理。
第一方面,提供了一种处理点云数据的方法,包括:获取三维3D点云地图,该3D点云地图包括n个3D空间点,该n个3D空间点中的每个3D空间点包括位置信息和法向量信息,n为正整数;将该每个3D空间点的主刻度存储在第一图像中,该主刻度是对该位置信息进行栅格化处理得到的,该主刻度对应该第一图像中的像素坐标值;将该每个3D空间点的目标法向量信息存储在第二图像中,该目标法向量信息是对该法向量信息进行栅格化处理得到的。
在本申请实施例中,在获取3D点云地图之后,将3D点云地图中n个3D空间点中每个3D空间点的位置信息进行栅格化处理得到主刻度,并将每个3D空间点的主刻度存储于第一图像中;将每个3D空间点的法向量信息进行栅格化处理得到目标法向量,并将每个3D空间点的目标法向量信息存储于第二图像中。从而使得3D点云地图可以以轻量化的形式实现加载、传输、存储和数据处理。
应理解,其中,主刻度对应第一图像中的像素坐标值,也可以描述为,主刻度用来表示第一图像中的像素坐标值;或描述为,主刻度即为第一图像中的像素坐标值。
应理解,在得到第一图像与第二图像后,还可以根据第一图像与第二图像生成定位图层。
结合第一方面,在第一方面的某些实现方式中,该目标法向量信息是对该法向量信息在第一方向上的分量和第二方向上的分量分别进行栅格化处理得到的。
应理解,由于法向量模为1,因而对于法向量而言,存储三个方向中的两个方向的法向量就能够得到另一个方向的法向量。
因此,在本申请实施例中,可以仅对法向量信息在第一方向上的分量和第二方向上的分量分别进行栅格化处理得到目标法向量信息。其中,第一方向与第二方向可以为三个方向中的两个方向。从而能够进一步降低法向量信息的存储空间,从而使得3D点云地图可以以轻量化的形式实现加载、传输、存储和数据处理。
结合第一方面,在第一方面的某些实现方式中,该将该每个3D空间点的目标法向量信息存储在第二图像中包括:将该每个3D空间点的副刻度和目标法向量信息存储在第二图像中,该副刻度是对该位置信息进行栅格化处理得到的。
应理解,位置信息通常在栅格化为主刻度时会存在精度损失,从而引入误差。例如,栅格化过程中对于0.5m分辨率的情况这一误差最大可达0.25m,较大的误差势必会降低定位模块的定位性能。
因此,在本申请实施例中,可以通过副刻度方式对上述主刻度进行更加精细的刻画。具体地,对位置信息进行栅格化得到的副刻度,并将副刻度存储于第二图像中。使得位置信息在栅格化过程中引入的误差在可接受的范围内,从而能够提高定位模块的定位性能。
应理解,对位置信息进行栅格化得到的副刻度,也可以描述为,根据位置信息计算得到的副刻度。
结合第一方面,在第一方面的某些实现方式中,该第一图像为多层单通道图像,该多层中的每层包括8个比特位,该8个比特位中的每个比特位对应高程方向上的一个分辨率,该主刻度包括层、行、列和比特位。
应理解,主刻度所包括的层、行、列和比特位即对应第一图像的像素坐标位置。
结合第一方面,在第一方面的某些实现方式中,该第二图像为单通道图像,该每个3D空间点的副刻度和目标法向量信息占用该第二图像的两个像素位。
结合第一方面,在第一方面的某些实现方式中,该每个3D空间点的副刻度占用该两个像素位中的6个比特位,该每个3D空间点的目标法向量信息占用该两个像素位中的10个比特位。
应理解,在本申请实施例中,在第二图像中存储副刻度时,每个3D空间点的副刻度和目标法向量信息占用第二图像的两个像素位即可,其中,每个3D空间点的副刻度仅占用两个像素位中的6个比特位,从而在占用较低存储空间的情况下,降低了位置信息栅格化的误差,提高了定位模块的定位性能。
应理解,每个3D空间点的副刻度占用6个比特位时,每个方向上的位置信息所对应的副刻度则占用2个比特位。
结合第一方面,在第一方面的某些实现方式中,该主刻度的分辨率为该副刻度的分辨率的整数倍。
示例性地,在为每个方向上的位置信息所对应的副刻度分配2个比特位时,主刻度分辨率为副刻度分辨率的4倍。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:计算高程偏移量,该高程偏移量能够使得该n个3D空间点中高度最小的3D空间点的高度偏移为0。
换句话来讲,高程偏移量即为n个3D空间点中高度最小的3D空间点的高度值,n个3D空间点中高度最小的3D空间点的高度能够按照该高程偏移量偏移为0,同时使得n个3D空间点中的其他点的高度都按照该高程偏移量进行偏移。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:将属性信息存储在属性文件中,该属性信息包括:该第一图像的层数、该高程偏移量和n的值。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:根据该第一图像、该第二图像和该属性文件生成定位图层。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:构建该每个3D空间点的位置信息与法向量信息的关联关系。
由于点云地图中的每个3D空间点包含位置信息和法向量信息,而在栅格化过程中位置信息和法向量信息保存在不同的图像中,因此必须为二者建立关联规则以备恢复点云地图时使用。
结合第一方面,在第一方面的某些实现方式中,该构建该每个3D空间点的位置信息与法向量信息的关联关系包括:根据该每个3D空间点的主刻度和该第一图像的尺寸得到键;根据该每个3D空间点的目标法向量信息得到键值;根据该每个3D空间点的键和键值生成键值对。
结合第一方面,在第一方面的某些实现方式中,在该构建所述每个3D空间点的位置信息与法向量信息的关联关系之后,该方法还包括:依次从层、行、列、比特位的维度从小到大对该键进行排序。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:根据该定位图层和该关联关系恢复该3D点云地图。
结合第一方面,在第一方面的某些实现方式中,该根据该定位图层和该关联关系恢复该3D点云地图包括:从该属性文件中获取该属性信息;根据该第一图像依次从层、行、列、比特位的维度从小到大恢复n个3D空间点;根据该关联关系和该第二图像中所存储的目标法向量信息及副刻度一一恢复该n个3D空间点对应的位置信息和法向量信息;根据该n个3D空间点的位置信息和法向量信息恢复该3D点云地图。
结合第一方面,在第一方面的某些实现方式中,该获取三维3D点云地图包括:获取初始3D点云地图,该初始3D点云地图包括m个3D空间点,该m个3D空间点中的每个3D空间点包括位置信息和法向量信息,m为正整数;计算该m个3D空间点的法向量;提取协方差小于或等于第一阈值的法向量对应的3D空间点;根据所提取的3D空间点生成该3D点云地图。
在本申请实施例中,获取三维3D点云地图具体包括:获取初始3D点云地图,计算初始3D点云地图中m个3D空间点的法向量,并提取协方差小于或等于第一阈值的法向量对应的3D空间点,根据所提取的3D空间点生成3D点云地图。应理解,协方差小于或等于第一阈值的法向量能够代表更可靠的面特征。本申请方案使得在保留重要特征3D空间点的同时,显著降低点云地图中应该存储数据的大小。
应理解,在本申请实施例中,可以将提取协方差小于或等于第一阈值的法向量的操作记为提取面特征或提取特征点。
结合第一方面,在第一方面的某些实现方式中,该计算该m个3D空间点的法向量包括:通过主成分分析法分别计算该m个3D空间点的法向量。
结合第一方面,在第一方面的某些实现方式中,该根据所提取的3D空间点生成该3D点云地图包括:根据所提取的3D空间点生成中间3D点云地图;将该中间3D点云地图分割为瓦片地图;将层叠区域处的瓦片地图进行合并;将合并后的瓦片地图进行降采样生成该3D点云地图。
在本实施例中,还可以根据所提取的3D空间点先生成中间3D点云地图;将中间3D点云地图分割为瓦片地图;将层叠区域处的瓦片地图进行合并;将合并后的瓦片地图进行降采样生成该3D点云地图。从而能够进一步降低点云地图中的应该存储的3D空间点。
第二方面,提供了一种处理点云数据的装置,该装置包括:获取单元,用于获取三维3D点云地图,该3D点云地图包括n个3D空间点,该n个3D空间点中的每个3D空间点包括位置信息和法向量信息,n为正整数;处理单元,用于将该每个3D空间点的主刻度存储在第一图像中,该主刻度是对该位置信息进行栅格化处理得到的,该主刻度对应该第一图像中的像素坐标值;该处理单元还用于将该每个3D空间点的目标法向量信息存储在第二图像中,该目标法向量信息是对该法向量信息进行栅格化处理得到的。
结合第二方面,在第二方面的某些实现方式中,该目标法向量信息是对该法向量信息在第一方向上的分量和第二方向上的分量分别进行栅格化处理得到的。
结合第二方面,在第二方面的某些实现方式中,该处理单元还用于:将每个3D空间点的副刻度和目标法向量信息存储在第二图像中,该副刻度是对该位置信息进行栅格化处理得到的。
结合第二方面,在第二方面的某些实现方式中,该第一图像为多层单通道图像,该多层中的每层包括8个比特位,该8个比特位中的每个比特位对应高程方向上的一个分辨率,该主刻度包括层、行、列和比特位。
结合第二方面,在第二方面的某些实现方式中,该第二图像为单通道图像,该每个3D空间点的副刻度和目标法向量信息占用该第二图像的两个像素位。
结合第二方面,在第二方面的某些实现方式中,该每个3D空间点的副刻度占用该两个像素位中的6个比特位,该每个3D空间点的目标法向量信息占用该两个像素位中的10个比特位。
结合第二方面,在第二方面的某些实现方式中,该主刻度的分辨率为该副刻度的分辨率的整数倍。
结合第二方面,在第二方面的某些实现方式中,该处理单元还用于:计算高程偏移量,该高程偏移量能够使得该n个3D空间点中高度最小的3D空间点的高度偏移为0。
结合第二方面,在第二方面的某些实现方式中,该处理单元还用于:将属性信息存储在属性文件中,该属性信息包括:该第一图像的层数、该高程偏移量和n的值。
结合第二方面,在第二方面的某些实现方式中,该处理单元还用于:根据该第一图像、该第二图像和该属性文件生成定位图层。
结合第二方面,在第二方面的某些实现方式中,该处理单元还用于:构建该每个3D空间点的位置信息与法向量信息的关联关系。
结合第二方面,在第二方面的某些实现方式中,该处理单元还用于:根据该每个3D空间点的主刻度和该第一图像的尺寸得到键;根据该每个3D空间点的目标法向量信息得到键值;根据该每个3D空间点的键和键值生成键值对。
结合第二方面,在第二方面的某些实现方式中,该处理单元还用于:依次从层、行、列、比特位的维度从小到大对该键进行排序。
结合第二方面,在第二方面的某些实现方式中,该处理单元还用于:根据该定位图层和该关联关系恢复该3D点云地图。
结合第二方面,在第二方面的某些实现方式中,该处理单元还用于:从该属性文件中获取该属性信息;根据该第一图像依次从层、行、列、比特位的维度从小到大恢复该n个3D空间点;根据该关联关系和该第二图像中所存储的目标法向量信息及副刻度一一恢复该n个3D空间点对应的位置信息和法向量信息;根据该n个3D空间点的位置信息和法向量信息恢复该3D点云地图。
结合第二方面,在第二方面的某些实现方式中,该获取单元还用于:获取初始3D点云地图,该初始3D点云地图包括m个3D空间点,该m个3D空间点中的每个3D空间点包括位置信息和法向量信息,m为正整数;该处理单元还用于:计算该m个3D空间点的法向量;提取协方差小于或等于第一阈值的该对应的3D空间点;根据所提取的3D空间点生成所述3D点云地图。
结合第二方面,在第二方面的某些实现方式中,该处理单元还用于:通过主成分分析法分别计算该m个3D空间点的法向量。
结合第二方面,在第二方面的某些实现方式中,该处理单元还用于:根据所提取的3D空间点生成中间3D点云地图;将该中间3D点云地图分割为瓦片地图;将层叠区域处的瓦片地图进行合并;将合并后的瓦片地图进行降采样生成该3D点云地图。
第三方面,提供了一种恢复3D点云地图的方法,其特征在于,3D点云地图包括n个3D空间点,n个3D空间点中的每个3D空间点包括位置信息和法向量信息,n为正整数;该方法包括:
获取定位图层,其中,定位图层是根据第一图像、第二图像和属性文件生成的,第一图像用于存储每个3D空间点的主刻度,主刻度是对位置信息进行栅格化处理得到的,主刻度对应第一图像中的像素坐标值;第二图像用于存储每个3D空间点的的目标法向量信息,目标法向量信息是对法向量信息进行栅格化处理得到的;属性文件用于存储属性信息,属性信息包括:第一图像的层数、高程偏移量和n的值;
获取每个3D空间点的位置信息与法向量信息的关联关系;
根据定位图层和关联关系恢复3D点云地图。
在本申请实施例中,通过获取定位图层和每个3D空间点的位置信息与法向量信息的关联关系,并根据定位图层和关联关系恢复3D点云地图。从而能够更简便的恢复出3D点云地图中n个3D空间点的位置信息和法向量信息。
应理解,定位图层的生成以及关联关系的构建可以由云端服务器来完成,恢复3D点云地图的过程可以由车端进行实现。具体地,车端可以先从云端获取定位图层以及关联关系,并根据定位图层和关联关系对3D点云地图进行恢复。
应理解,在车端具有相关计算能力的情况下,上述操作也可以均在车端完成;或者,云端也可以对3D点云地图进行恢复,再发给车端,本申请对此不做限定,具体应结合实际情况进行确定。
结合第三方面,在第三方面的某些实现方式中,第一图像为多层单通道图像,多层中的每层包括8个比特位,8个比特位中的每个比特位对应高程方向上的一个分辨率,主刻度包括层、行、列和比特位。
结合第三方面,在第三方面的某些实现方式中,根据定位图层和关联关系恢复3D点云地图包括:从属性文件中获取属性信息;根据第一图像依次从层、行、列、比特位的维度从小到大恢复n个3D空间点;根据关联关系和第二图像中所存储的目标法向量信息一一恢复n个3D空间点对应的位置信息和法向量信息;根据n个3D空间点的位置信息和法向量信息恢复3D点云地图。
结合第三方面,在第三方面的某些实现方式中,第二图像还用于存储每个3D空间点的副刻度,副刻度是对位置信息进行栅格化处理得到的;所述根据关联关系和第二图像中所存储的目标法向量信息一一恢复n个3D空间点对应的位置信息和法向量信息包括:根据关联关系和第二图像中所存储的目标法向量信息及副刻度一一恢复n个3D空间点对应的位置信息和法向量信息。
在本申请实施例中,第二图像还用于存储每个3D空间点的副刻度,使得在恢复过程中可以根据关联关系和第二图像中所存储的目标法向量信息及副刻度一一恢复n个3D空间点对应的位置信息和法向量信息。从而能够更为简便以及更精准的恢复出3D点云地图。
结合第三方面,在第三方面的某些实现方式中,获取每个3D空间点的位置信息与法向量信息的关联关系包括:获取每个3D空间点对应的键值对,其中,每个3D空间点对应的键值对由每个3D空间点对应的键和键值生成,每个3D空间点的键是根据每个3D空间点的主刻度和第一图像的尺寸得到的,每个3D空间点的键值是根据每个3D空间点的目标法向量信息得到的。
结合第三方面,在第三方面的某些实现方式中,n个3D空间点的键依次从层、行、列、比特位的维度从小到大进行排序。
结合第三方面,在第三方面的某些实现方式中,主刻度的分辨率为副刻度的分辨率的整数倍。
结合第三方面,在第三方面的某些实现方式中,高程偏移量能够使得n个3D空间点中高度最小的3D空间点的高度偏移为0。
结合第三方面,在第三方面的某些实现方式中,目标法向量信息是对法向量信息在第一方向上的分量和第二方向上的分量分别进行栅格化处理得到的。
结合第三方面,在第三方面的某些实现方式中,第二图像为单通道图像,每个3D空间点的副刻度和目标法向量信息占用第二图像的两个像素位。
结合第三方面,在第三方面的某些实现方式中,每个3D空间点的副刻度占用两个像素位中的6个比特位,每个3D空间点的目标法向量信息占用两个像素位中的10个比特位。
第四方面,提供了一种恢复3D点云地图的装置,其特征在于,3D点云地图包括n个3D空间点,n个3D空间点中的每个3D空间点包括位置信息和法向量信息,n为正整数;该装置包括:
获取单元,用于获取定位图层,其中,定位图层是根据第一图像、第二图像和属性文件生成的,第一图像用于存储每个3D空间点的主刻度,主刻度是对位置信息进行栅格化处理得到的,主刻度对应第一图像中的像素坐标值;第二图像用于存储每个3D空间点的的目标法向量信息,目标法向量信息是对法向量信息进行栅格化处理得到的;属性文件用于存储属性信息,属性信息包括:第一图像的层数、高程偏移量和n的值;
获取单元还用于,获取每个3D空间点的位置信息与法向量信息的关联关系;
处理单元,用于根据定位图层和关联关系恢复3D点云地图。
结合第四方面,在第四方面的某些实现方式中,第一图像为多层单通道图像,多层中的每层包括8个比特位,8个比特位中的每个比特位对应高程方向上的一个分辨率,主刻度包括层、行、列和比特位。
结合第四方面,在第四方面的某些实现方式中,处理单元还用于:从属性文件中获取属性信息;根据第一图像依次从层、行、列、比特位的维度从小到大恢复n个3D空间点;根据关联关系和第二图像中所存储的目标法向量信息一一恢复n个3D空间点对应的位置信息和法向量信息;根据n个3D空间点的位置信息和法向量信息恢复3D点云地图。
结合第四方面,在第四方面的某些实现方式中,第二图像还用于存储每个3D空间点的副刻度,副刻度是对位置信息进行栅格化处理得到的;处理单元还用于:根据关联关系和第二图像中所存储的目标法向量信息及副刻度一一恢复n个3D空间点对应的位置信息和法向量信息。
结合第四方面,在第四方面的某些实现方式中,获取单元还用于:获取每个3D空间点对应的键值对,其中,每个3D空间点对应的键值对由每个3D空间点对应的键和键值生成,每个3D空间点的键是根据每个3D空间点的主刻度和第一图像的尺寸得到的,每个3D空间点的键值是根据每个3D空间点的目标法向量信息得到的。
结合第四方面,在第四方面的某些实现方式中,n个3D空间点的键依次从层、行、列、比特位的维度从小到大进行排序。
结合第四方面,在第四方面的某些实现方式中,主刻度的分辨率为副刻度的分辨率的整数倍。
结合第四方面,在第四方面的某些实现方式中,高程偏移量能够使得n个3D空间点中高度最小的3D空间点的高度偏移为0。
结合第四方面,在第四方面的某些实现方式中,目标法向量信息是对法向量信息在第一方向上的分量和第二方向上的分量分别进行栅格化处理得到的。
结合第四方面,在第四方面的某些实现方式中,第二图像为单通道图像,每个3D空间点的副刻度和目标法向量信息占用第二图像的两个像素位。
结合第四方面,在第四方面的某些实现方式中,每个3D空间点的副刻度占用两个像素位中的6个比特位,每个3D空间点的目标法向量信息占用两个像素位中的10个比特位。
第五方面,提供了一种计算设备,包括:至少一个处理器和存储器,所述至少一个处理器与所述存储器耦合,用于读取并执行所述存储器中的指令,以执行如第一方面或者第一方面的任一可能的实现方式中的处理点云数据的方法;或者,
以执行如第三方面或者第三方面的任一可能的实现方式中的恢复3D点云地图的方法。
可选地,可以结合实际情况,将上述计算设备部署在云端,或部署在车端,或者将上述计算设备中的某些模块部署在云端,某些模块部署在车端。具体如何部署需结合实际情况确定,本申请对此不做限定。
第六方面,提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面或者第一方面的任一可能的实现方式中的处理点云数据的方法;或者,
执行上述第三方面或者第三方面的任一可能的实现方式中的恢复3D点云地图的方法。
第七方面,提供一种计算机可读存储介质,所述计算机可读介质存储用于设备执行的程序代码,所述程序代码包括用于执行第一方面或者第一方面的任一可能的实现方式中的处理点云数据的方法的指令;或者,
包括用于执行第三方面或者第三方面的任一可能的实现方式中的恢复3D点云地图的方法的指令。
第八方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行第一方面或者第一方面的任一可能的实现方式中的处理点云数据的方法;或者,
用于执行第三方面或者第三方面的任一可能的实现方式中的恢复3D点云地图的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面或者第一方面的任一可能的实现方式中的处理点云数据的方法;或者,
用于执行第三方面或者第三方面的任一可能的实现方式中的恢复3D点云地图的方法。
第九方面,提供一种车辆,包括用于执行如第三方面或者第三方面的任一可能的实现方式中的恢复3D点云地图的方法的各个模块。
附图说明
图1是本申请实施例提供的一种可能的应用场景的示例图;
图2是本申请实施例提供的一种***架构示例图;
图3是本申请实施例提供的一种处理点云数据的方法示例图;
图4是本申请实施例提供的一种处理点云数据的示例性流程图;
图5是本申请实施例提供的另一种处理点云数据的示例性流程图;
图6是本申请实施例提供的一种目标区域的示例图;
图7是本申请实施例提供的一种生成包含法向量信息的点云瓦片地图的方法示例图;
图8是本申请实施例提供的一种位置信息栅格化的示例图;
图9是本申请实施例提供的一种主副刻度示例图;
图10是本申请实施例提供的一种基于点云压缩图层的定位误差分布图;
图11是本申请实施例提供的一种基于经过初始降采样后的点云地图的定位误差分布图;
图12是本申请实施例提供的一种处理点云数据的装置示例图;
图13是本申请实施例提供的一种恢复3D点云地图的方法示例图;
图14是本申请实施例提供的一种恢复3D点云地图的装置示例图;
图15是本申请实施例提供的一种装置的硬件结构示例性框图;
图16是本申请实施例适用的一种车辆的功能框图;
图17是本申请实施例适用的一种自动驾驶***的示例图;
图18是本申请实施例的一种云侧指令自动驾驶车辆的应用示例图。
具体实施方式
为了便于理解,下文首先介绍几个本申请涉及到的概念和术语。
三维(3-dimension,3D)点云:也称为激光点云(point cloud,PCD)或点云,是利用激光在同一空间参考系下获取物体表面每个采样点的3D空间坐标,所得到的一系列表达目标空间分布和目标表面特性的海量点的集合。相比于图像,3D点云虽然缺乏详细的纹理信息,但是包含了丰富的3D空间信息。
点云数据:是指在一个3D坐标系中的一组向量的集合。这些向量通常以x,y,z3D坐标的形式表示,一般主要代表一个物体的外表面几何形状,除此之外点云数据还可以附带RGB信息,即每个坐标点的颜色信息,或者是其他的信息。
激光雷达(Light Detection and Ranging,LiDAR):是以发射激光束探测目标的位置、速度等特征量的雷达***。其工作原理是向目标发射探测信号(激光束),然后将接收到的从目标反射回来的信号(目标回波)与发射信号进行比较,作适当处理后,就可获得目标的有关信息,如目标距离、方位、高度、速度、姿态、甚至形状等参数,从而对飞机、导弹等目标进行探测、跟踪和识别。
六自由度(degree of freedom,DOF):是指可以沿6个方向***。具体是指,沿三个方向(向前/向后、向上/向下、向左/向右)的平动***以及绕三个轴的转动(纵摇、横摇、垂摇)***。
栅格化:栅格即像素,栅格化即将矢量图形转化为位图(栅格图像)。最基础的栅格化算法将多边形表示的3D场景渲染到二维(2-dimension,2D)表面。
点云法向量:点云数据采样于物体表面,物体表面的法向量即点云法向量。点云法向量是3D点云的一个重要特征,能够提供丰富的3D空间信息,可以广泛应用于3D点云的目标检测。
主成分分析:是一种统计分析、简化数据集的方法。它利用正交变换来对一系列可能相关的变量的观测值进行线性变换,从而投影为一系列线性不相关变量的值,这些不相关变量称为主成分(principal components)。具体地,主成分可以看做一个线性方程,其包含一系列线性系数来指示投影方向。
降采样:又可以称为下采样或缩小图像。即减少采样点数。对于一幅N*M的图像来说,如果降采样系数为a,即指在原图中每行每列每隔a个点取一个点组成一幅图像。例如栅格采样,就是将一个栅格空间中的点采样成一个点,来达到降采样的目的,其中,N、M、a均为大于等于1的整数。
瓦片:指将一定范围内的地图按照一定的尺寸和格式,按缩放级别或者比例尺,切成若干行和列的正方形栅格图片,对切片后的正方形栅格图片被形象的称为瓦片。
瓦片地图:则是由一张一张的正方形小图片拼接成的地图。
便携式网络图形(portable network graphics,PNG):是一种采用无损压缩算法的位图格式,其设计目的是试图替代图形交换格式(graphics interchange format,GIF)和标签图像文件格式(tag image file format,TIFF),同时增加一些GIF文件格式所不具备的特性。PNG使用从LZ77无损压缩算法派生的无损数据压缩算法,一般应用于JAVA程序、网页或S60(Series 60)程序中,原因是它压缩比高,生成文件体积小。
同步定位与地图构建(simultaneous localization and mapping,SLAM):是一种概念:希望机器人从未知环境的未知地点出发,在运动过程中通过重复观测到的地图特征(比如,墙角,柱子等)定位自身位置和姿态,再根据自身位置增量式的构建地图,从而达到同时定位和地图构建的目的。
最近点迭代算法(iterative closest point,ICP):是最为经典的数据配准算法。其特征在于,通过求取源点云和目标点云之间的对应点对,基于对应点对构造旋转平移矩阵,并利用所求矩阵,将源点云变换到目标点云的坐标系下,估计变换后源点云与目标点云的误差函数,若误差函数值大于阀值,则迭代进行上述运算直到满足给定的误差要求。
为便于理解,下面首先对本申请涉及的背景技术进行简单的介绍。
随着LiDAR数据采集和显示技术越来越先进,售价越来越低廉,LiDAR传感器应用于越来越多的领域成为趋势。然而LiDAR的每帧点云数据中含有数以万计的点,大容量数据的存储和传输非常昂贵、耗时。例如,点云地图在网络上的通信需要大量的时间和网络带宽资源,造成LiDAR点云地图数据的云端使用方式受到限制。此外,LiDAR点云地图的归档存储也会占用大量存储空间,同样会限制激光数据的商业化应用范围。
激光点云定位地图是自动驾驶领域的核心基础数据,较小范围的高精激光定位地图可能就会包含数以百万计的点,因此整个城市乃至全国范围内的激光定位地图所需的存储空间是难以想象的。基于大规模LiDAR预制点云地图的激光定位技术凭借其较高的可靠性及可用性已经广泛应用于自动驾驶领域,然而由于自动驾驶车辆搭载的计算和存储资源限制,基于原始点云数据的激光定位地图对实时车端LiDAR数据处理和离线地图归档都构成了极大挑战。
基于此,本申请提供了一种处理点云数据的方法,主要通过将3D点云地图中每个3D空间点的主刻度存储在第一图像中,将每个3D空间点的目标法向量信息存储在第二图像中,以根据第一图像和第二图像得到定位图层。从而使得3D点云地图可以以轻量化的形式实现加载、传输、存储和数据处理。
应理解,该处理点云数据的方法在本申请中主要通过云端服务器来实现。但在车端具有足够计算能力的情况下,上述方法也可以由车端完成,不做限定。但为便于描述,在下文中均认为生成定位图层的过程由云端服务器来执行。
同时本申请还提供了一种恢复3D点云地图的方法,主要通过获取定位图层,并根据定位图层对3D点云地图进行恢复,从而能够较为简便的恢复出3D点云地图。
应理解,该恢复3D点云地图的方法在本申请中主要通过车端计算设备来实现。但实际操作中,云端服务器也可以用于对3D点云地图进行恢复,同时从车端获取采集的3D点云数据并与其进行匹配,生成控制指令,发送给车端,本申请对此不做限定。但为便于描述,在下文中均认为生成恢复3D点云地图的过程由车端计算设备来执行。
下面将结合附图,对本申请中的技术方案进行描述。
图1是本申请实施例提供的一种可能的应用场景的示例图。该场景例如可以应用于自动驾驶场景车辆的定位。如图1所示,在车辆10中可以安装传感器11和计算设备12。传感器11用于检测和扫描目标场景中的3D点云数据。作为示例,上述传感器11可以包括激光雷达、接触式扫描仪、深度相机等,本申请不作限定。计算设备12与传感器11相连,用于从传感器11获取其扫描的3D点云数据。车辆10还需要从其他设备,例如云端服务器,获取激光点云定位地图,并通过车辆10采集的3D点云数据与获取的激光点云定位地图匹配实现定位,进一步实现6DOF位姿估计。
应理解,图1的场景仅仅作为例示,本申请的方法还可以应用于其它类型的场景。例如,还可以应用于智能机器人导航,体感游戏等场景。
图2是本申请实施例提供的一种***架构示例图。如图2所示,该***架构200包括:激光地图(即3D点云地图)生成模块210、定位图层生成模块220以及3D LiDAR定位模块230。下面分别对这三个模块进行介绍。
激光地图生成模块210,包括离线构图子模块和在线构图子模块。激光地图生成模块210用于通过SLAM算法完成在线或离线构图工作,对目标场景生成高质量的激光点云地图,并提供给定位图层生成模块220使用。
定位图层生成模块220,用于根据3D LiDAR定位模块230的需求从激光地图生成模块210输出的原始激光点云地图中获取3D空间点的信息,然后结合本申请所涉及的处理点云数据的方法生成具有高效压缩比的定位图层并分发部署在自动驾驶车端,以较小的存储空间、通信带宽和计算复杂度即可满足自动驾驶车端3D LiDAR定位模块230的需求。
3D LiDAR定位模块230,用于通过本申请提供的解压缩算法(即恢复3D点云地图的方法)完成定位图层到3D点云地图的恢复。具体地,自动驾驶车端采集的3D点云数据通过与恢复出来的3D点云地图匹配(比如粒子滤波、最近点迭代算法(iterative closest point,ICP)等方式)实现6DOF位姿估计。
图3是本申请实施例提供的一种处理点云数据的方法示例图。图3所示的方法可以应用于***架构200中。如图3所示,方法300包括步骤S310至S330,下面对这些步骤进行详细的描述。
S310,获取三维3D点云地图。
其中,3D点云地图包括n个3D空间点,n个3D空间点中的每个3D空间点包括位置信息和法向量信息,n为正整数。
可选地,上述3D点云地图可以是LiDAR获取的初始3D点云地图。
可选地,上述3D点云地图也可以是对LiDAR获取的初始3D点云地图进行处理后得到的3D点云地图。且为便于描述,在下文均认为上述3D点云地图是对LiDAR获取的初始3D点云地图进行处理后得到的3D点云地图,但应理解,这并不构成对本申请的限定。
可选地,可以经过如下处理得到3D点云地图:获取初始3D点云地图,该初始3D点云地图包括m个3D空间点,该m个3D空间点中的每个3D空间点包括位置信息和法向量信息,m为正整数;计算该m个3D空间点的法向量;提取协方差小于或等于第一阈值的法向量对应的3D空间点;根据所提取的3D空间点生成该3D点云地图。
应理解,协方差小于或等于第一阈值的法向量能够代表更可靠的面特征。本申请方案使得在保留重要特征3D空间点的同时,显著降低点云地图中应该存储数据的大小。应理解,在本申请实施例中,可以将提取协方差小于或等于第一阈值的法向量的操作记为提取面特征或提取特征点。
可选地,可以通过主成分分析法分别计算m个3D空间点的法向量。应理解,也可以通过现有其他方法,本申请对此不作限定。
可选地,在提取特征点之前,还可以先对初始3D点云地图进行初步降采样。例如,可以选择对初始3D点云地图进行0.1m×0.1m×0.1m降采样。
可选地,根据所提取的3D空间点生成该3D点云地图包括:根据所提取的3D空间点生成中间3D点云地图;将该中间3D点云地图分割为瓦片地图;将层叠区域处的瓦片地图进行合并;将合并后的瓦片地图进行降采样生成该3D点云地图。
示例性地,将合并后的瓦片地图进行0.5m×0.5m×0.5m降采样得到3D点云地图。
也就是说,本申请中的3D点云地图可以是经过降采样、提取特征点、瓦片化等处理后得到的。应理解,下文中,也可以将经过瓦片化处理的3D点云地图记为点云瓦片地图或直接记为点云地图,本申请对此不作区分。
应理解,在下文具体实现方式中,均以最终得到的点云瓦片地图为例进行描述。且关于将初始3D点云地图处理得到点云瓦片地图的过程可参见下文方法400以及方法500的描述。
S320,将每个3D空间点的主刻度存储在第一图像中。
其中,主刻度是对该位置信息进行栅格化处理得到的,主刻度对应第一图像中的像素坐标值。
换句话来讲,本申请需要先对位置信息进行栅格化处理得到主刻度,然后将主刻度存储在第一图像中。其中,主刻度对应第一图像中的像素坐标值;也可以描述为,主刻度用来表示第一图像中的像素坐标值;或描述为,主刻度即为第一图像中的像素坐标值。
可选地,第一图像为多层单通道图像,多层中的每层包括8个比特位,该8个比特位中的每个比特位对应高程方向上的一个分辨率,该主刻度包括层、行、列和比特位。
应理解,主刻度所包括的层、行、列和比特位即对应第一图像的像素坐标位置。
应理解,关于主刻度的计算方式可参见下文图8部分的相关描述。
S330,将每个3D空间点的目标法向量信息存储在第二图像中。
其中,目标法向量信息是对法向量信息进行栅格化处理得到的。
换句话来讲,本申请需要先对法向量信息进行栅格化处理目标法向量信息,再将目标法向量信息存储在第二图像中。
应理解,在得到第一图像和第二图像后,便可以根据上述第一图像和第二图像生成定位图层。
在本申请实施例中,在获取3D点云地图之后,将3D点云地图中n个3D空间点中每个3D空间点的位置信息进行栅格化处理得到主刻度,并将每个3D空间点的主刻度存储于第一图像中;将每个3D空间点的法向量信息进行栅格化处理得到目标法向量,并将每个3D空间点的目标法向量信息存储于第二图像中;然后根据第一图像和第二图像生成定位图层。从而使得3D点云地图可以以轻量化的形式实现加载、传输、存储和数据处理。
应理解,由于法向量模为1,因而对于法向量而言,存储三个方向中的两个方向的法向量就能够得到另一个方向的法向量。
因而,可选地,目标法向量信息可以是对法向量信息在第一方向上的分量和第二方向上的分量分别进行栅格化处理得到的。其中,第一方向与第二方向可以为三个方向中的两个方向。从而能够进一步降低法向量信息的存储空间,使得3D点云地图可以以轻量化的形式实现加载、传输、存储和数据处理。
可选地,将每个3D空间点的目标法向量信息存储在第二图像中包括:将每个3D空间点的副刻度和目标法向量信息存储在第二图像中。其中,副刻度是对位置信息进行栅格化处理得到的。
应理解,位置信息通常在栅格化为主刻度时会存在精度损失,从而引入误差。例如,栅格化过程中对于0.5m分辨率的情况这一误差最大可达0.25m,较大的误差势必会降低定位模块的定位性能。因此,在本申请实施例中,可以通过副刻度方式对上述主刻度进行更加精细的刻画。具体地,对位置信息进行栅格化得到的副刻度,并将副刻度存储于第二图像中。使得位置信息在栅格化过程中引入的误差在可接受的范围内,从而能够提高定位模块的定位性能。
应理解,对位置信息进行栅格化得到的副刻度,也可以描述为,根据位置信息计算得到的副刻度。
可选地,第二图像为单通道图像,每个3D空间点的副刻度和目标法向量信息占用第二图像的两个像素位。
可选地,每个3D空间点的副刻度占用两个像素位中的6个比特位,每个3D空间点的目标法向量信息占用两个像素位中的10个比特位。
应理解,在本申请实施例中,在第二图像中存储副刻度时,每个3D空间点的副刻度和目标法向量信息占用第二图像的两个像素位即可,其中,每个3D空间点的副刻度仅占用两个像素位中的6个比特位,从而在占用较低存储空间的情况下,降低了位置信息栅格化的误差,提高了定位模块的定位性能。
应理解,每个3D空间点的副刻度占用6个比特位时,每个方向上的位置信息所对应的副刻度则占用2个比特位。
可选地,主刻度的分辨率为副刻度的分辨率的整数倍。示例性地,若主刻度的分辨率为0.5m,在为每个方向上的位置信息所对应的副刻度分配2个比特位时,副刻度的分辨率为0.125m,则主刻度分辨率为副刻度分辨率的4倍,具体可参见图9部分的描述。
可选地,方法300还可以包括:计算高程偏移量。应理解,高程偏移量能够使得n个3D空间点中高度最小的3D空间点的高度偏移为0。
换句话来讲,高程偏移量即为n个3D空间点中高度最小的3D空间点的高度值,n个3D空间点中高度最小的3D空间点的高度能够按照该高程偏移量偏移为0,同时使得n个3D空间点中的其他点的高度都按照该高程偏移量进行偏移。
可选地,方法300还可以包括:将属性信息存储在属性文件中,属性信息包括:第一图像的层数、高程偏移量和n的值。
可选地,方法300还可以包括:根据该一图像、第二图像和属性文件生成定位图层。
应理解,由于点云地图中的每个3D空间点包含位置信息和法向量信息,而在栅格化过程中位置信息和法向量信息保存在不同的图像中,因此必须为二者建立关联规则以备恢复点云地图时使用。
因而,方法300还可以包括:构建每个3D空间点的位置信息与法向量信息的关联关系。
可选地,构建每个3D空间点的位置信息与法向量信息的关联关系包括:根据每个3D空间点的主刻度和第一图像的尺寸得到键;根据每个3D空间点的目标法向量信息得到键值;根据每个3D空间点的键和键值生成键值对。
可选地,在构建所述每个3D空间点的位置信息与法向量信息的关联关系之后,方法300还可以包括:依次从层、行、列、比特位的维度从小到大对键进行排序。
可选地,方法300还可以包括:根据定位图层和关联关系恢复3D点云地图。
应理解,该恢复3D点云地图的过程可以由上述***架构200中的3D LiDAR定位模块230完成。
可选地,根据定位图层和该关联关系恢复3D点云地图包括:从属性文件中获取属性信息;根据第一图像依次从层、行、列、比特位的维度从小到大恢复n个3D空间点;根据关联关系和第二图像中所存储的目标法向量信息及副刻度一一恢复n个3D空间点对应的位置信息和法向量信息;根据n个3D空间点的位置信息和法向量信息恢复3D点云地图。
应理解,关于恢复3D点云地图的过程也可参见下文具体实现方式中的描述。
下面将结合图4至图11对本申请处理点云数据的具体实现方式进行详细描述。
图4是本申请实施例提供的一种处理点云数据的示例性流程图。图5是本申请实施例提供的另一种处理点云数据的示例性流程图。如图4所示,该方法400包括步骤S410至S460。应理解,本申请实施例对以上步骤的先后顺序不做限定,凡是能够通过以上各个步骤的任意顺序实现本申请的方案,均落在本申请的保护范围内。下面对这些步骤进行详细描述。
S410,生成包含法向量信息的点云瓦片地图。
首先需要获取目标区域的原始激光点云地图(即初始3D点云地图)。示例性地,该目标区域可以如图6所示(图6中的目标区域为某园区及其地下停车场的激光点云地图),该目标区域的实际尺寸为500m×800m。
在本实施例中,可以先对该目标区域的原始激光点云地图进行0.1m×0.1m×0.1m初步降采样处理。且图6所示的原始激光点云地图经过初步降采样后的大小约为140MB。
在经过初步降采样之后,便可以根据图7所示方法对该地图中的点云数据进行处理,得到包含法向量信息的点云瓦片地图。
下面结合附图7对生成包含法向量信息的点云瓦片地图的方法进行描述。
图7是本申请实施例提供的一种生成包含法向量信息的点云瓦片地图的方法示例图。如图7所示,该方法700包括步骤S710至S750,下面对这些步骤进行详细描述。
S710,估计法向量。
可选地,在本实施例中,可以通过主成分分析法估计经过初步降采样后的点云地图中3D空间点的法向量。应理解,也可以通过现有技术中的其他方式估计法向量,本申请对此不作限定。
S720,提取面特征(即,提取特征点)。
在估计得到点云地图中3D空间点的法向量后,可以仅保留协方差较小且模接近于1的法向量。
在本实施例中,可以将保留协方差较小且模接近于1的法向量的操作记为提取面特征或提取特征点,这是因为符合这种条件的法向量能够代表更可靠的面特征。
在该实施例中,经过特征提取使得初步降采样后的点云地图的大小由140MB进一步降为26MB。
在本实施例中,对于500m×800m规模的园区,通过面特征提取保证了点云地图的稀疏性(即,使得点云地图中点云数据的量大大降低),显著降低点云地图存储空间大小,且保留了重要的特征点。
S730,分割地图块。
示例性地,在本实施例中,定位图层可以以尺寸为80m×80m瓦片地图形式组织,将原始包含面特征的点云地图分割为规定尺寸的瓦片地图。
S740,重叠空间合并。
由于点云地图分割为瓦片地图过程中存在空间层叠情况,因而需要将同一位置处的多个瓦片地图进行合并。
S750,降采样。
通过三维体素网格,保证每个体素内仅保留一个离重心最近的点作为采样点实现降采样。示例性地,三维体素格网尺寸为0.5m×0.5m×0.5m。
通过以上步骤S710至S750,得到包含法向量特征信息的3D点云瓦片地图。
生成包含法向量信息的点云瓦片地图之后,便可以结合步骤S420至S440,生成具有高效压缩比的定位图层,下面对步骤S420至S440进行介绍。应理解,为便于描述,在下文中,将包含法向量信息的点云瓦片地图直接记为点云地图。
S420,特征点位置信息压缩。
在本实施例中,特征点位置信息的压缩过程大致如下:通过栅格化将每个特征点的位置信息映射为整数向量,使得每个特征点的位置信息都对应于单通道图像中某一位置像素灰度信息的某一比特位(即,将位置信息栅格化为主刻度);然后使用已有的PNG图像压缩算法实现位置信息的高效压缩,存储在文件【tag_layer.png】中(即,将主刻度存储于第一图像中)。
图8是本申请实施例提供的一种位置信息栅格化的示例图。图8中的(a)表示点云地图中的n个无序点云(即特征点),其中,pi表示n个点云中的第i个特征点。且应理解,在下文中,将以pi为例对特征点位置信息的栅格化做以介绍。还应理解,在该实施例中,栅格化的格网分辨率为0.5m,但应理解,该分辨率仅作为示例,不能构成对本申请的限定。
图8中的(b)表示多层8比特单通道PNG图像,即每层都包含8个比特。图8中的(c)表示(b)中标注为灰色的层所包含的8个比特。可以看出,每个比特对应Z方向的一个分辨率z_major_resolution用于表征高程信息。且在本实施例中,Z方向的主刻度精度z_major_resolution可以为0.5m。
那么,特征点pi所对应的图像层数信息layer(即目标图像层)为:
layer=Round(piz/(8×z_major_resolution))
其中,Round表示四舍五入,piz表示特征点pi在Z方向上的高度。
在得到图像层序号后就确定了该特征点pi所属的目标图像层。设如图8中的(b)所示,该图像层为标注为灰色的图层。因为每层图像的通道又包含了8个比特,如图8中的(c)所示,则接下来需要继续确定该特征点pi在目标图像层中的比特序号major_z,具体计算方式如下所示:
major_z=Round((piz-layer×8×z_major_resolution)/z_major_resolution))
同样的,计算该特征点pi在目标图像层的像素坐标,即行和列:
major_r=Round(piy/y_major_resolution)
major_c=Round(pix/x_major_resolution)
应理解,在该示例中,x_major_resolution与y_major_resolution也为0.5m。
通过以上计算就可以确定该特征点pi属于第layer层图像的第major_r行、第major_c列的第major_z个比特位bit,如图8中的(d)所示。
应理解,上述layer、major_r、major_c和major_z为位置信息栅格化处理得到的主刻度。
并通过上述方法,遍历所有的特征点,将所有的特征点都通过栅格化对应在多层8比特单通道PNG图像中,然后使用已有的PNG图像压缩算法实现位置信息的高效压缩,并存储在文件【tag_layer.png】中。
且可选地,在本实施例中,为了保证z值从接近于零的数值开始求,那么piz需要经过start_z的偏移,即所有特征点的z值(高度值)需要经过start_z的偏移。其中,start_z由该点云地图中点云的最小Z值minz求得:
start_z=Floor(minz/z_min_resolution)×z_min_resolution
其中,Floor表示向下取整。
应理解,通常栅格化为上述主刻度时会存在精度损失,比如将特征点pi的位置信息由浮点值栅格化为图像坐标系下像素索引的过程中会引入误差,对于0.5m分辨率的情况这一误差最大可达0.25m,较大的误差势必会降低定位模块的定位性能。通常可以通过提高分辨率(比如0.2m分辨率)来降低栅格化时引入的误差,但提高分辨率的同时会造成图像尺寸指数级增长(图像尺寸为之前的6.25倍)。
因此,为了降低栅格化引入的误差,在本实施例中,提出一种通过副刻度方式对上述主刻度进行更加精细的刻画,且这种副刻度的方式通常只需要额外1比特即可使栅格分辨率提升2倍。下面结合图9对副刻度表征的思路进行详细的说明。
图9是本申请实施例提供的一种主副刻度示例图。如图9所示,对于一个0.5m×0.5m×0.5m的体素格网,设黑色实心点为特征点,灰色实心点为体素格网的中心,直接栅格化特征点则会使用图中的灰色实心点表示特征点位置。此时,若为副刻度分配1比特(是指XYZ的每个方向上各分配1比特),则可将每个方向上的主刻度进一步一分为二,体素格网的尺寸降为0.25m×0.25m×0.25m,如图9所示,此时特征点栅格化时会使用最近的黑色空心点表示。显见,相比于灰色实心点,黑色空心点可以更加精确的表示特征点位置,最大误差也由之前的0.25m降为0.125m。
在本实施例中,推荐为副刻度分配2比特(即在XYZ的每个方向上各分配2比特),这样每个方向上的主刻度会进一步被分为4份,由栅格化过程引入的误差则最大不超过0.06m。此时,副刻度的计算公式如下,其中符号%表示求余操作:
minor_c=Round(pix/x_min_resolution)%4
minor_r=Round(piy/y_min_resolution)%4
minor_z=Round(piz/z_min_resolution)%4
并且,每个特征点的副刻度(minor_c、minor_r和minor_z)共需要占用6个比特。
应理解,在本实施例中,特征点位置信息中的副刻度信息将不保存到上述文件【tag_layer.png】中,而是和法向量信息共同保存在文件【tag_n.png】中(即第二图像中)。具体地,可参见下文步骤S440的描述。
S430,特征点法向量信息压缩。
在本实施例中,特征点法向量信息在压缩时主要基于以下两方面考虑:
一方面:由于法向量模为1,因此仅需存储法向量分量中的两个分量即可恢复出第三个分量。
本实施例中将以存储x′,y′分量为例进行介绍,那么在恢复过程中借由模为1的条件即可恢复出来分量的值。另外,需要注意的是恢复z′时是无法获取其正负号信息的,因此需要保证z′的符号总为正来解决这个问题,因此首先需要对法向量执行如下运算:
x′=-x′,y′=-y′,z′=-z′;z′<0
另一方面:由于法向量信息也需要保存到图像中,并借由已有的图像压缩算法实现高效压缩,因此也必须将浮点值的法向量信息栅格化为整数值。
对于法向量的x′或y′分量变化范围在[-1,1],经过评估法向量精度对激光定位性能的影响。可选地,在本实施例中,可以选择5个比特来存储一个法向量分量,此时栅格化引入的最大误差为0.03。那么对于一个特征点的法向量信息需要10个比特加以表征。
关于法向量信息和位置信息中的副刻度的存储可参见步骤S440。
S440,保存为定位图层。
基于上文阐述的位置信息压缩算法和法向量信息压缩算法遍历点云数据中的n个特征点,并分别保存在以下三个文件中。
第一:文件【tag_layer.png】。
位置信息(不包括副刻度)压缩后得到多层单通道PNG图像(图8所示),命名格式为【tag_layer.png】。并且,将位置信息保存到【tag_layer.png】的过程中会记录下来该点云地图的层信息到layer_bit:
layer_bit|=(1<<layer)
其中,符号“|”表示位与操作,“<<”表示移位操作。
第二:文件【tag_n.png】。
位置信息中的副刻度将和法向量信息保存到一起。由于一个特征点的法向量信息占用10个比特(其分量x′和y′分别占用5个比特),副刻度占用6个比特,因此一个特征点共需16个比特:
(x′<<3|y′>>2,y′<<6|minor_z<<4|minor_r<<2|minor_c)
本实施例通过将16比特平铺到一个8比特单通道图像中,即需要两个像素位置(一个像素位置包含8个比特)即可保存下来一个特征点的法向量信息和位置信息的副刻度。假如该点云地图中共有n个特征点,那么就需要2n个像素来存储。进一步可以得知,用于保存法向量信息和副刻度的图片【tag_n.png】的尺寸为:
col=Floor(2n/row)
其中,row表示图片的高,col表示图片的宽。
第三:文件【tag.txt】(即属性文件)。
完整遍历点云地图的n个特征点后,即可获取到PNG图片层序号(即第一图像的层序号)、z值偏移量(即高程偏移量start_z)和特征点个数n等属性信息,并将其保存到属性信息【tag.txt】文件中。
S450,构建位置信息与法向量信息的关联关系。
由于点云地图中的特征点包含位置信息和法向量信息,而在压缩过程中位置信息和法向量信息保存在不同的PNG图片中,因此必须为二者建立关联规则以备恢复点云地图时使用。
具体地,基于特征点的主刻度和【tag_layer.png】的尺寸生成键:
key=layer*SIZE*SIZE*8+major_r*SIZE*8+major_c*8+major_z
其中,SIZE表示【tag_layer.png】的尺寸。
该键对应的值即为该特征点的法向量normal,二者形成键值对<key,normal>。待特征点遍历结束后对key按照由小到大的顺序排序,即依次从layer,major_r,major_c和major_z维度由小到大进行排序。从而使得法向量和位置信息的关联规则就明确了。
S460,定位图层恢复点云地图。
定位图层恢复点云地图时,首先从【tag.txt】获取待恢复点云文件的属性信息,即位置信息的PNG图片层序号信息、z值偏移量及特征点个数n等。然后依次从layer,major_r,major_c和major_z维度由小到大来恢复特征点。
其中根据layer来判断该层是否存在,对于某一层图片,进一步遍历行、列、比特位,如果此处存在特征点,即对应的比特位被占据置为1。此时可以拿到layer、major_c、major_r、major_z信息;同时从【tag_n.png】获取特征点的法向量信息分量x′、y′及副刻度信息minor_x,minor_y,minor_z,根据上文的压缩算法描述逆变换回去即可得到特征点的位置信息和法向量信息。最后基于恢复出来的位置信息和法向量信息再恢复出来带有法向量特征信息的点云地图用于激光定位。
在本实施例中,通过上述方法,使得点云地图可以以轻量的形式实现加载、传输和数据处理,且地图压缩过程中进行栅格化所引入的误差在可接受的范围内。
并且,通过上述恢复点云地图的方法,可以简单、精准的恢复出点云地图。
下面基于上述某园区及其地下停车场(500m×800m)的经过初始降采样后的点云数据(大小为140MB),来验证本申请方案的压缩效率。并用实测数据评估基于经过初始降采样后的点云点云地图和经过上述方案压缩的点云地图对激光定位性能的影响。
具体地,根据验证得出:在上述实施例中,提取面特征得到包含法向量特征信息的点云文件数据大小降为26MB。然后对降采样后的点云文件执行本申请提出来的压缩算法得到最终的压缩定位图层,地图数据大小进一步降为2.2MB(其中,【tag.txt】为415字节;【tag_n.png】文件1.8MB;【tag_layer.png】文件为391KB)。
实验结果表明了本申请提出的方案相对于经过初始降采样后的点云地图(体素格网的尺寸0.1m×0.1m×0.1m)的压缩效率约为64:1;相对于提取面特征后的点云地图的压缩效率约为12:1,从而保证了点云地图可以轻量的形式实现加载、传输和数据处理。
进一步地,本申请还评估了基于点云压缩图层(即经过本申请方案进行压缩得到的定位图层)和经过初始降采样后的点云地图的定位性能表现差异。如图10所示,为基于点云压缩图层(即经过本申请方案进行压缩得到的定位图层)的定位误差分布图,图11为基于经过初始降采样后的点云地图的定位误差分布图。其中,图10和图11中的横坐标代表误差(单位:m),纵坐标代表误差的个数。且更为详细的量化指标参见表1。
表1:不同定位地图类别的定位精度指标统计表
实验结果表明,基于点云压缩定位图层的定位性能表现基本和经过初始降采样后的点云地图的定位性能一致,因此证明了本申请在地图压缩过程中栅格化引入的误差在可接受的范围内。
图12是本申请实施例提供的一种处理点云数据的装置示例图。如图12所示,该装置1200包括获取单元1210和处理单元1220。
其中,获取单元1210,用于获取三维3D点云地图,该3D点云地图包括n个3D空间点,该n个3D空间点中的每个3D空间点包括位置信息和法向量信息,n为正整数。
处理单元1220,用于将该每个3D空间点的主刻度存储在第一图像中,该主刻度是对该位置信息进行栅格化处理得到的,该主刻度对应该第一图像中的像素坐标值。
处理单元1220还用于将该每个3D空间点的目标法向量信息存储在第二图像中,该目标法向量信息是对该法向量信息进行栅格化处理得到的。
可选地,目标法向量信息可以是对该法向量信息在第一方向上的分量和第二方向上的分量分别进行栅格化处理得到的。
可选地,处理单元1220还可以用于:将每个3D空间点的副刻度和目标法向量信息存储在第二图像中,该副刻度是对该位置信息进行栅格化处理得到的。
可选地,第一图像可以为多层单通道图像,该多层中的每层包括8个比特位,该8个比特位中的每个比特位对应高程方向上的一个分辨率,该主刻度包括层、行、列和比特位。
可选地,第二图像可以为单通道图像,该每个3D空间点的副刻度和目标法向量信息占用该第二图像的两个像素位。
可选地,每个3D空间点的副刻度可以占用该两个像素位中的6个比特位,每个3D空间点的目标法向量信息可以占用该两个像素位中的10个比特位。
可选地,主刻度的分辨率可以为副刻度的分辨率的整数倍。
可选地,处理单元1220还可以用于:计算高程偏移量,该高程偏移量能够使得该n个3D空间点中高度最小的3D空间点的高度偏移为0。
可选地,处理单元1220还可以用于:将属性信息存储在属性文件中,该属性信息包括:该第一图像的层数、该高程偏移量和n的值。
可选地,处理单元1220还可以用于:根据第一图像、第二图像和属性文件生成定位图层。
可选地,处理单元1220还可以用于:构建该每个3D空间点的位置信息与法向量信息的关联关系。
可选地,处理单元1220还可以用于:根据该每个3D空间点的主刻度和该第一图像的尺寸得到键;根据该每个3D空间点的目标法向量信息得到键值;根据该每个3D空间点的键和键值生成键值对。
可选地,处理单元1220还可以用于:依次从层、行、列、比特位的维度从小到大对该键进行排序。
可选地,处理单元1220还可以用于:根据该定位图层和该关联关系恢复该3D点云地图。
可选地,处理单元1220还可以用于:从该属性文件中获取该属性信息;根据该第一图像依次从层、行、列、比特位的维度从小到大恢复该n个3D空间点;根据该关联关系和该第二图像中所存储的目标法向量信息及副刻度一一恢复该n个3D空间点对应的位置信息和法向量信息;根据该n个3D空间点的位置信息和法向量信息恢复该3D点云地图。
可选地,获取单元1210还可以用于:获取初始3D点云地图,该初始3D点云地图包括m个3D空间点,该m个3D空间点中的每个3D空间点包括位置信息和法向量信息,m为正整数;处理单元1220还可以用于:计算该m个3D空间点的法向量;提取协方差小于或等于第一阈值的该对应的3D空间点;根据所提取的3D空间点生成所述3D点云地图。
可选地,处理单元1220还可以用于:通过主成分分析法分别计算该m个3D空间点的法向量。
可选地,处理单元1220还可以用于:根据所提取的3D空间点生成中间3D点云地图;将该中间3D点云地图分割为瓦片地图;将层叠区域处的瓦片地图进行合并;将合并后的瓦片地图进行降采样生成该3D点云地图。
图13是本申请实施例提供的一种恢复3D点云地图的方法示例图。其中,3D点云地图包括n个3D空间点,n个3D空间点中的每个3D空间点包括位置信息和法向量信息,n为正整数。如图13所示,该方法1300包括步骤S1310至S1330,下面对这些步骤进行详细介绍,
S1310,获取定位图层。
其中,定位图层是根据第一图像、第二图像和属性文件生成的。
第一图像用于存储每个3D空间点的主刻度,主刻度是对位置信息进行栅格化处理得到的,主刻度对应第一图像中的像素坐标值。
第二图像用于存储每个3D空间点的的目标法向量信息,目标法向量信息是对法向量信息进行栅格化处理得到的。
属性文件用于存储属性信息,属性信息包括:第一图像的层数、高程偏移量和n的值。
S1320,获取每个3D空间点的位置信息与法向量信息的关联关系。
S1330,根据定位图层和关联关系恢复3D点云地图。
在本申请实施例中,通过获取定位图层和每个3D空间点的位置信息与法向量信息的关联关系,并根据定位图层和关联关系恢复3D点云地图。从而能够更简便的恢复出3D点云地图中n个3D空间点的位置信息和法向量信息。
应理解,在本申请实施例中,定位图层的生成以及关联关系的构建可以由云端服务器来完成,恢复3D点云地图的过程可以由车端进行实现。具体地,车端可以先从云端获取定位图层以及关联关系,并根据定位图层和关联关系对3D点云地图进行恢复。
应理解,在车端具有相关计算能力的情况下,上述操作也可以均在车端完成;或者,云端也可以对3D点云地图进行恢复,再发给车端,本申请对此不做限定,具体应结合实际情况进行确定。
可选地,第一图像为多层单通道图像,多层中的每层包括8个比特位,8个比特位中的每个比特位对应高程方向上的一个分辨率,主刻度包括层、行、列和比特位。
可选地,根据定位图层和关联关系恢复3D点云地图包括:从属性文件中获取属性信息;根据第一图像依次从层、行、列、比特位的维度从小到大恢复n个3D空间点;根据关联关系和第二图像中所存储的目标法向量信息一一恢复n个3D空间点对应的位置信息和法向量信息;根据n个3D空间点的位置信息和法向量信息恢复3D点云地图。
可选地,第二图像还用于存储每个3D空间点的副刻度,副刻度是对位置信息进行栅格化处理得到的;所述根据关联关系和第二图像中所存储的目标法向量信息一一恢复n个3D空间点对应的位置信息和法向量信息包括:根据关联关系和第二图像中所存储的目标法向量信息及副刻度一一恢复n个3D空间点对应的位置信息和法向量信息。
在本申请实施例中,第二图像还用于存储每个3D空间点的副刻度,使得在恢复过程中可以根据关联关系和第二图像中所存储的目标法向量信息及副刻度一一恢复n个3D空间点对应的位置信息和法向量信息。从而能够更为简便以及更精准的恢复出3D点云地图,以使得定位模块的定位性能得到提升。
可选地,获取每个3D空间点的位置信息与法向量信息的关联关系包括:获取每个3D空间点对应的键值对,其中,每个3D空间点对应的键值对由每个3D空间点对应的键和键值生成,每个3D空间点的键是根据每个3D空间点的主刻度和第一图像的尺寸得到的,每个3D空间点的键值是根据每个3D空间点的目标法向量信息得到的。
可选地,n个3D空间点的键依次从层、行、列、比特位的维度从小到大进行排序。
可选地,主刻度的分辨率为副刻度的分辨率的整数倍。
可选地,高程偏移量能够使得n个3D空间点中高度最小的3D空间点的高度偏移为0。
换句话来讲,高程偏移量即为n个3D空间点中高度最小的3D空间点的高度值,n个3D空间点中高度最小的3D空间点的高度能够按照该高程偏移量偏移为0,同时使得n个3D空间点中的其他点的高度都按照该高程偏移量进行偏移。
可选地,目标法向量信息是对法向量信息在第一方向上的分量和第二方向上的分量分别进行栅格化处理得到的。
可选地,第二图像为单通道图像,每个3D空间点的副刻度和目标法向量信息占用第二图像的两个像素位。
可选地,每个3D空间点的副刻度占用两个像素位中的6个比特位,每个3D空间点的目标法向量信息占用两个像素位中的10个比特位。
应理解,关于方法1300的具体描述以及其他细节可参照方法300中的相关介绍,此处不再赘述。
图14是本申请实施例提供的一种恢复3D点云地图的装置示例图。其中,3D点云地图包括n个3D空间点,n个3D空间点中的每个3D空间点包括位置信息和法向量信息,n为正整数。如图14所示,该装置1400包括获取单元1410和处理单元1420。
其中,获取单元1410,用于获取定位图层。
其中,定位图层是根据第一图像、第二图像和属性文件生成的。第一图像用于存储每个3D空间点的主刻度,主刻度是对位置信息进行栅格化处理得到的,主刻度对应第一图像中的像素坐标值。第二图像用于存储每个3D空间点的的目标法向量信息,目标法向量信息是对法向量信息进行栅格化处理得到的。属性文件用于存储属性信息,属性信息包括:第一图像的层数、高程偏移量和n的值;
获取单元1410还用于,获取每个3D空间点的位置信息与法向量信息的关联关系。
处理单元1420,用于根据定位图层和关联关系恢复3D点云地图。
可选地,第一图像可以为多层单通道图像,多层中的每层包括8个比特位,8个比特位中的每个比特位对应高程方向上的一个分辨率,主刻度包括层、行、列和比特位。
可选地,处理单元1420还可以用于:从属性文件中获取属性信息;根据第一图像依次从层、行、列、比特位的维度从小到大恢复n个3D空间点;根据关联关系和第二图像中所存储的目标法向量信息一一恢复n个3D空间点对应的位置信息和法向量信息;根据n个3D空间点的位置信息和法向量信息恢复3D点云地图。
可选地,第二图像还可以用于存储每个3D空间点的副刻度,副刻度是对位置信息进行栅格化处理得到的。处理单元1420还可以用于:根据关联关系和第二图像中所存储的目标法向量信息及副刻度一一恢复n个3D空间点对应的位置信息和法向量信息。
可选地,获取单元1410还可以用于:获取每个3D空间点对应的键值对,其中,每个3D空间点对应的键值对由每个3D空间点对应的键和键值生成,每个3D空间点的键是根据每个3D空间点的主刻度和第一图像的尺寸得到的,每个3D空间点的键值是根据每个3D空间点的目标法向量信息得到的。
可选地,n个3D空间点的键可以依次从层、行、列、比特位的维度从小到大进行排序。
可选地,主刻度的分辨率可以为副刻度的分辨率的整数倍。
可选地,高程偏移量能够使得n个3D空间点中高度最小的3D空间点的高度偏移为0。
可选地,目标法向量信息是对法向量信息在第一方向上的分量和第二方向上的分量分别进行栅格化处理得到的。
可选地,第二图像可以为单通道图像,每个3D空间点的副刻度和目标法向量信息可以占用第二图像的两个像素位。
可选地,每个3D空间点的副刻度可以占用两个像素位中的6个比特位,每个3D空间点的目标法向量信息可以占用两个像素位中的10个比特位。
图15是本申请实施例提供的一种装置的硬件结构示例性框图。该装置1500(该装置1500具体可以是一种计算机设备)包括存储器1510、处理器1520、通信接口1530以及总线1540。其中,存储器1510、处理器1520、通信接口1530通过总线1540实现彼此之间的通信连接。
存储器1510可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器1510可以存储程序,当存储器1510中存储的程序被处理器1520执行时,处理器1520用于执行本申请实施例的处理点云数据的方法的各个步骤;或者,用于执行本申请实施例的恢复3D点云地图的方法的各个步骤。
处理器1520可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请方法实施例的处理点云数据的方法;或者,实现本申请方法实施例的恢复3D点云地图的方法。
处理器1520还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的处理点云数据的方法,或者恢复3D点云地图的方法可以通过处理器1520中的硬件的集成逻辑电路或者软件形式的指令完成。
上述处理器1520还可以是通用处理器、数字信号处理器(digital signalprocessing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(field programmable gatearray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1510,处理器1520读取存储器1510中的信息,结合其硬件完成本申请实施例的装置中包括的模块所需执行的功能,或者执行本申请方法实施例的处理点云数据的方法;或者执行本申请方法实施例的恢复3D点云地图的方法。
通信接口1530使用例如但不限于收发器一类的收发装置,来实现装置1500与其他设备或通信网络之间的通信。
总线1540可包括在装置1500各个部件(例如,存储器1510、处理器1520、通信接口1530)之间传送信息的通路。
本申请实施例还提供了一种车辆,该车辆包括用于执行如上述任一种恢复3D点云地图的方法的各个模块。
可选地,若该车辆具有足够的计算能力,该车辆还可以包括用于执行如上述任一种处理点云数据的方法的各个模块,本申请对此不作限定。
可选地,本申请所涉及的车辆可以是传统内燃机汽车、混合动力汽车、纯电动汽车、集中式驱动汽车和分布式驱动汽车等,本申请对此不做限定。
示例性地,图16是本申请实施例适用的一种车辆的功能框图。其中,车辆100可以是人工驾驶车辆,或者可以将车辆100配置可以为完全或部分地自动驾驶模式。
在一个示例中,车辆100可以在处于自动驾驶模式中的同时控制自车,并且可通过人为操作来确定车辆及其周边环境的当前状态,确定周边环境中的至少一个其他车辆的可能行为,并确定其他车辆执行可能行为的可能性相对应的置信水平,基于所确定的信息来控制车辆100。在车辆100处于自动驾驶模式中时,可以将车辆100置为在没有和人交互的情况下操作。
车辆100中可以包括各种子***,例如,行进***110、传感***120、控制***130、一个或多个***设备140以及电源160、计算机***150和用户接口170。
可选地,车辆100可以包括更多或更少的子***,并且每个子***可包括多个元件。另外,车辆100的每个子***和元件可以通过有线或者无线互连。
示例性地,行进***110可以包括用于向车辆100提供动力运动的组件。在一个实施例中,行进***110可以包括引擎111、传动装置112、能量源113和车轮114/轮胎。其中,引擎111可以是内燃引擎、电动机、空气压缩引擎或其他类型的引擎组合;例如,汽油发动机和电动机组成的混动引擎,内燃引擎和空气压缩引擎组成的混动引擎。引擎111可以将能量源113转换成机械能量。
示例性地,能量源113可以包括汽油、柴油、其他基于石油的燃料、丙烷、其他基于压缩气体的燃料、乙醇、太阳能电池板、电池和其他电力来源。能量源113也可以为车辆100的其他***提供能量。
示例性地,传动装置112可以包括变速箱、差速器和驱动轴;其中,传动装置112可以将来自引擎111的机械动力传送到车轮114。
在一个实施例中,传动装置112还可以包括其他器件,比如离合器。其中,驱动轴可以包括可耦合到一个或多个车轮114的一个或多个轴。
示例性地,传感***120可以包括感测关于车辆100周边的环境的信息的若干个传感器。
例如,传感***120可以包括定位***121(例如,全球定位***(globalpositioning system,GPS)、北斗***或者其他定位***)、惯性测量单元(inertialmeasurement unit,IMU)122、雷达123、激光测距仪124、相机125以及车速传感器126。传感***120还可以包括被监视车辆100的内部***的传感器(例如,车内空气质量监测器、燃油量表、机油温度表等)。来自这些传感器中的一个或多个的传感器数据可用于检测对象及其相应特性(位置、形状、方向、速度等)。这种检测和识别是自主车辆100的安全操作的关键功能。
其中,定位***121可以用于估计车辆100的地理位置。IMU 122可以用于基于惯性加速度来感测车辆100的位置和朝向变化。在一个实施例中,IMU 122可以是加速度计和陀螺仪的组合。
示例性地,雷达123可以利用无线电信息来感测车辆100的周边环境内的物体。在一些实施例中,除了感测物体以外,雷达123还可用于感测物体的速度和/或前进方向。
示例性地,激光测距仪124可以利用激光来感测车辆100所位于的环境中的物体。在一些实施例中,激光测距仪124可以包括一个或多个激光源、激光扫描器以及一个或多个检测器,以及其他***组件。
示例性地,相机125可以用于捕捉车辆100的周边环境的多个图像。例如,相机125可以是静态相机或视频相机。
示例性地,车速传感器126可以用于测量车辆100的速度。例如,可以对车辆进行实时测速。测得的车速可以传送给控制***130以实现对车辆的控制。
如图16所示,控制***130为控制车辆100及其组件的操作。控制***130可以包括各种元件,比如可以包括转向***131、油门132、制动单元133、计算机视觉***134、路线控制***135以及障碍规避***136。
示例性地,转向***131可以操作来调整车辆100的前进方向。例如,在一个实施例中可以为方向盘***。油门132可以用于控制引擎111的操作速度并进而控制车辆100的速度。
示例性地,制动单元133可以用于控制车辆100减速;制动单元133可以使用摩擦力来减慢车轮114。在其他实施例中,制动单元133可以将车轮114的动能转换为电流。制动单元133也可以采取其他形式来减慢车轮114转速从而控制车辆100的速度。
如图16所示,计算机视觉***134可以操作来处理和分析由相机125捕捉的图像以便识别车辆100周边环境中的物体和/或特征。上述物体和/或特征可以包括交通信息、道路边界和障碍物。计算机视觉***134可以使用物体识别算法、运动中恢复结构(structurefrom motion,SFM)算法、视频跟踪和其他计算机视觉技术。在一些实施例中,计算机视觉***134可以用于为环境绘制地图、跟踪物体、估计物体的速度等等。
示例性地,路线控制***135可以用于确定车辆100的行驶路线。在一些实施例中,路线控制***135可结合来自传感器、GPS和一个或多个预定地图的数据以为车辆100确定行驶路线。
如图16所示,障碍规避***136可以用于识别、评估和避免或者以其他方式越过车辆100的环境中的潜在障碍物。
在一个实例中,控制***130可以增加或替换地包括除了所示出和描述的那些以外的组件。或者也可以减少一部分上述示出的组件。
如图16所示,车辆100可以通过***设备140与外部传感器、其他车辆、其他计算机***或用户之间进行交互;其中,***设备140可包括无线通信***141、车载电脑142、麦克风143和/或扬声器144。
在一些实施例中,***设备140可以提供车辆100与用户接口170交互的手段。例如,车载电脑142可以向车辆100的用户提供信息。用户接口116还可操作车载电脑142来接收用户的输入;车载电脑142可以通过触摸屏进行操作。在其他情况中,***设备140可以提供用于车辆100与位于车内的其它设备通信的手段。例如,麦克风143可以从车辆100的用户接收音频(例如,语音命令或其他音频输入)。类似地,扬声器144可以向车辆100的用户输出音频。
如图16所示,无线通信***141可以直接地或者经由通信网络来与一个或多个设备无线通信。例如,无线通信***141可以使用3G蜂窝通信;例如,码分多址(code divisionmultiple access,CDMA))、EVD0、全球移动通信***(global system for mobilecommunications,GSM)/通用分组无线服务(general packet radio service,GPRS),或者4G蜂窝通信,例如长期演进(long term evolution,LTE);或者,5G蜂窝通信。无线通信***141可以利用无线上网(WiFi)与无线局域网(wireless local area network,WLAN)通信。
在一些实施例中,无线通信***141可以利用红外链路、蓝牙或者紫蜂协议(ZigBee)与设备直接通信;其他无线协议,例如各种车辆通信***,例如,无线通信***141可以包括一个或多个专用短程通信(dedicated short range communications,DSRC)设备,这些设备可包括车辆和/或路边台站之间的公共和/或私有数据通信。
如图16所示,电源160可以向车辆100的各种组件提供电力。在一个实施例中,电源160可以为可再充电锂离子电池或铅酸电池。这种电池的一个或多个电池组可被配置为电源为车辆100的各种组件提供电力。在一些实施例中,电源160和能量源113可一起实现,例如一些全电动车中那样。
示例性地,车辆100的部分或所有功能可以受计算机***150控制,其中,计算机***150可以包括至少一个处理器151,处理器151执行存储在例如存储器152中的非暂态计算机可读介质中的指令153。计算机***150还可以是采用分布式方式控制车辆100的个体组件或子***的多个计算设备。
例如,处理器151可以是任何常规的处理器,诸如商业可获得的中央处理器(central processing unit,CPU)。
可选地,该处理器可以是诸如专用集成电路(application specific integratedcircuit,ASIC)或其它基于硬件的处理器的专用设备。尽管图16功能性地图示了处理器、存储器、和在相同块中的计算机的其它元件,但是本领域的普通技术人员应该理解该处理器、计算机、或存储器实际上可以包括可以或者可以不存储在相同的物理外壳内的多个处理器、计算机或存储器。例如,存储器可以是硬盘驱动器或位于不同于计算机的外壳内的其它存储介质。因此,对处理器或计算机的引用将被理解为包括对可以或者可以不并行操作的处理器或计算机或存储器的集合的引用。不同于使用单一的处理器来执行此处所描述的步骤,诸如转向组件和减速组件的一些组件每个都可以具有其自己的处理器,所述处理器只执行与特定于组件的功能相关的计算。
在此处所描述的各个方面中,处理器可以位于远离该车辆并且与该车辆进行无线通信。在其它方面中,此处所描述的过程中的一些在布置于车辆内的处理器上执行而其它则由远程处理器执行,包括采取执行单一操纵的必要步骤。
在一些实施例中,存储器152可包含指令153(例如,程序逻辑),指令153可以被处理器151来执行车辆100的各种功能,包括以上描述的那些功能。存储器152也可包括额外的指令,比如包括向行进***110、传感***120、控制***130和***设备140中的一个或多个发送数据、从其接收数据、与其交互和/或对其进行控制的指令。
示例性地,除了指令153以外,存储器152还可存储数据,例如,道路地图、路线信息,车辆的位置、方向、速度以及其它这样的车辆数据,以及其他信息。这种信息可在车辆100在自主、半自主和/或手动模式中操作期间被车辆100和计算机***150使用。
如图16所示,用户接口170可以用于向车辆100的用户提供信息或从其接收信息。可选地,用户接口170可以包括在***设备140的集合内的一个或多个输入/输出设备,例如,无线通信***141、车载电脑142、麦克风143和扬声器144。
在本申请的实施例中,计算机***150可以基于从各种子***(例如,行进***110、传感***120和控制***130)以及从用户接口170接收的输入来控制车辆100的功能。例如,计算机***150可以利用来自控制***130的输入以便控制制动单元133来避免由传感***120和障碍规避***136检测到的障碍物。在一些实施例中,计算机***150可操作来对车辆100及其子***的许多方面提供控制。
可选地,上述这些组件中的一个或多个可与车辆100分开安装或关联。例如,存储器152可以部分或完全地与车辆100分开存在。上述组件可以按有线和/或无线方式来通信地耦合在一起。
可选地,上述组件只是一个示例,实际应用中,上述各个模块中的组件有可能根据实际需要增添或者删除,图16不应理解为对本申请实施例的限制。
可选地,车辆100可以是在道路行进的自动驾驶汽车,可以识别其周围环境内的物体以确定对当前速度的调整。物体可以是其它车辆、交通控制设备、或者其它类型的物体。在一些示例中,可以独立地考虑每个识别的物体,并且基于物体的各自的特性,诸如它的当前速度、加速度、与车辆的间距等,可以用来确定自动驾驶汽车所要调整的速度。
可选地,车辆100或者与车辆100相关联的计算设备(如图16的计算机***150、计算机视觉***134、存储器152)可以基于所识别的物体的特性和周围环境的状态(例如,交通、雨、道路上的冰等等)来预测所述识别的物体的行为。
可选地,每一个所识别的物体都依赖于彼此的行为,因此,还可以将所识别的所有物体全部一起考虑来预测单个识别的物体的行为。车辆100能够基于预测的所述识别的物体的行为来调整它的速度。换句话说,自动驾驶汽车能够基于所预测的物体的行为来确定车辆将需要调整到(例如,加速、减速、或者停止)稳定状态。在这个过程中,也可以考虑其它因素来确定车辆100的速度,诸如,车辆100在行驶的道路中的横向位置、道路的曲率、静态和动态物体的接近度等等。
除了提供调整自动驾驶汽车的速度的指令之外,计算设备还可以提供修改车辆100的转向角的指令,以使得自动驾驶汽车遵循给定的轨迹和/或维持与自动驾驶汽车附近的物体(例如,道路上的相邻车道中的轿车)的安全横向和纵向距离。
上述车辆100可以为轿车、卡车、摩托车、公共汽车、船、飞机、直升飞机、割草机、娱乐车、游乐场车辆、施工设备、电车、高尔夫球车、火车、和手推车等,本申请实施例不做特别的限定。
在一种可能的实现方式中,上述图16所示的车辆100可以是自动驾驶车辆,下面对自动驾驶***的进行详细描述。
图17是本申请实施例适用的一种自动驾驶***的示例图。如图17所示的自动驾驶***包括计算机***201,其中,计算机***201包括处理器203,处理器203和***总线205耦合。处理器203可以是一个或者多个处理器,其中,每个处理器都可以包括一个或多个处理器核。显示适配器207(video adapter),显示适配器可以驱动显示器209,显示器209和***总线205耦合。***总线205可以通过总线桥211和输入输出(I/O)总线213耦合,I/O接口215和I/O总线耦合。I/O接口215和多种I/O设备进行通信,比如,输入设备217(如:键盘,鼠标,触摸屏等),媒体盘221(media tray),(例如,CD-ROM,多媒体接口等)。收发器223可以发送和/或接受无线电通信信息,摄像头255可以捕捉景田和动态数字视频图像。其中,和I/O接口215相连接的接口可以是USB端口225。
其中,处理器203可以是任何传统处理器,比如,精简指令集计算(reducedinstruction set computer,RISC)处理器、复杂指令集计算(complex instruction setcomputer,CISC)处理器或上述的组合。
可选地,处理器203可以是诸如专用集成电路(ASIC)的专用装置;处理器203可以是神经网络处理器或者是神经网络处理器和上述传统处理器的组合。
可选地,在一些实施例中,计算机***201可位于远离自动驾驶车辆的地方,并且可与自动驾驶车辆无线通信。在其它方面,本申请所述的一些过程在设置在自动驾驶车辆内的处理器上执行,其它由远程处理器执行,包括采取执行单个操纵所需的动作。
计算机***201可以通过网络接口229和软件部署服务器249通信。网络接口229可以是硬件网络接口,比如,网卡。网络227可以是外部网络,比如,因特网,也可以是内部网络,比如以太网或者虚拟私人网络(virtual private network,VPN)。可选地,网络227还可以是无线网络,比如WiFi网络,蜂窝网络等。
如图17所示,硬盘驱动接口和***总线205耦合,硬件驱动器接口231可以与硬盘驱动器233相连接,***内存235和***总线205耦合。运行在***内存235的数据可以包括操作***237和应用程序243。其中,操作***237可以包括解析器(shell)239和内核(kernel)241。shell 239是介于使用者和操作***之内核(kernel)间的一个接口。shell可以是操作***最外面的一层;shell可以管理使用者与操作***之间的交互,比如,等待使用者的输入,向操作***解释使用者的输入,并且处理各种各样的操作***的输出结果。内核241可以由操作***中用于管理存储器、文件、外设和***资源的那些部分组成。直接与硬件交互,操作***内核通常运行进程,并提供进程间的通信,提供CPU时间片管理、中断、内存管理、IO管理等等。应用程序243包括控制汽车自动驾驶相关的程序,比如,管理自动驾驶的汽车和路上障碍物交互的程序,控制自动驾驶汽车路线或者速度的程序,控制自动驾驶汽车和路上其他自动驾驶汽车交互的程序。应用程序243也存在于软件部署服务器249的***上。在一个实施例中,在需要执行自动驾驶相关程序247时,计算机***201可以从软件部署服务器249下载应用程序。
例如,应用程序243还可以是自动驾驶汽车和路上车道线交互的程序,也就是说可以实时跟踪车道线的程序。
例如,应用程序243还可以是控制自动驾驶车辆进行自动泊车的程序。
示例性地,传感器253可以与计算机***201关联,传感器253可以用于探测计算机201周围的环境。
举例来说,传感器253可以探测路上的车道,比如可以探测到车道线,并能够在车辆移动(如正在行驶)过程中实时跟踪到车辆前方一定范围内的车道线变化。又例如,传感器253可以探测动物,汽车,障碍物和人行横道等,进一步传感器还可以探测上述动物,汽车,障碍物和人行横道等物体周围的环境,比如:动物周围的环境,例如,动物周围出现的其他动物,天气条件,周围环境的光亮度等。
可选地,如果计算机201位于自动驾驶的汽车上,传感器可以是摄像头,红外线感应器,化学检测器,麦克风等。
示例性地,在车道线跟踪的场景中,传感器253可以用于探测车辆前方的车道线,从而使得车辆能够感知在行进过程中车道的变化,以据此对车辆的行驶进行实时规划和调整。
示例性地,在自动泊车的场景中,传感器253可以用于探测车辆周围的库位和周边障碍物的尺寸或者位置,从而使得车辆能够感知库位和周边障碍物的距离,在泊车时进行碰撞检测,防止车辆与障碍物发生碰撞。
在一个示例中,图16所示的计算机***150还可以从其它计算机***接收信息或转移信息到其它计算机***。或者,从车辆100的传感***120收集的传感器数据可以被转移到另一个计算机对此数据进行处理,下面以图18为例进行介绍。
图18是本申请实施例的一种云侧指令自动驾驶车辆的应用示例图。如图18所示,来自计算机***312的数据可以经由网络被传送到云侧(即云端)的服务器32用于进一步的处理;计算机***312也可以从云侧服务器32获取服务器32所处理的数据或所存储的数据。网络以及中间节点可以包括各种配置和协议,包括因特网、万维网、内联网、虚拟专用网络、广域网、局域网、使用一个或多个公司的专有通信协议的专用网络、以太网、WiFi和HTTP、以及前述的各种组合;这种通信可以由能够传送数据到其它计算机和从其它计算机传送数据的任何设备,诸如调制解调器和无线接口。
在一个示例中,服务器32可以包括具有多个计算机的服务器,例如负载均衡服务器群,为了从计算机***312接收、处理并传送数据的目的,其与网络的不同节点交换信息。该服务器可以被类似于计算机***312配置,具有处理器33、存储器34、指令35、和数据36。
可选地,在本申请实施例中,云侧的服务器32可以包括用于生成定位图层和每个3D空间点的位置信息与法向量信息的关联关系的相关模块。车辆的计算机***312可以从云侧的服务器32获取相关数据,以对3D点云地图进行恢复。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (38)
1.一种处理点云数据的方法,其特征在于,包括:
获取三维3D点云地图,所述3D点云地图包括n个3D空间点,所述n个3D空间点中的每个3D空间点包括位置信息和法向量信息,n为正整数;
将所述每个3D空间点的主刻度存储在第一图像中,所述主刻度是对所述位置信息进行栅格化处理得到的,所述主刻度对应所述第一图像中的像素坐标值;
将所述每个3D空间点的目标法向量信息存储在第二图像中,所述目标法向量信息是对所述法向量信息进行栅格化处理得到的。
2.根据权利要求1所述的方法,其特征在于,所述目标法向量信息是对所述法向量信息在第一方向上的分量和第二方向上的分量分别进行栅格化处理得到的。
3.根据权利要求1或2所述的方法,其特征在于,所述将所述每个3D空间点的目标法向量信息存储在第二图像中包括:
将所述每个3D空间点的副刻度和目标法向量信息存储在第二图像中,所述副刻度是对所述位置信息进行栅格化处理得到的。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述第一图像为多层单通道图像,所述多层中的每层包括8个比特位,所述8个比特位中的每个比特位对应高程方向上的一个分辨率,所述主刻度包括层、行、列和比特位。
5.根据权利要求3所述的方法,其特征在于,所述第二图像为单通道图像,所述每个3D空间点的副刻度和目标法向量信息占用所述第二图像的两个像素位。
6.根据权利要求5所述的方法,其特征在于,所述每个3D空间点的副刻度占用所述两个像素位中的6个比特位,所述每个3D空间点的目标法向量信息占用所述两个像素位中的10个比特位。
7.根据权利要求3所述的方法,其特征在于,所述主刻度的分辨率为所述副刻度的分辨率的整数倍。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括:
计算高程偏移量,所述高程偏移量能够使得所述n个3D空间点中高度最小的3D空间点的高度偏移为0。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
将属性信息存储在属性文件中,所述属性信息包括:所述第一图像的层数、所述高程偏移量和n的值。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
根据所述第一图像、所述第二图像和所述属性文件生成定位图层。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
构建所述每个3D空间点的位置信息与法向量信息的关联关系。
12.根据权利要求11所述的方法,其特征在于,所述构建所述每个3D空间点的位置信息与法向量信息的关联关系包括:
根据所述每个3D空间点的主刻度和所述第一图像的尺寸得到键;
根据所述每个3D空间点的目标法向量信息得到键值;
根据所述每个3D空间点的键和键值生成键值对。
13.根据权利要求12所述的方法,其特征在于,在所述构建所述每个3D空间点的位置信息与法向量信息的关联关系之后,所述方法还包括:
依次从层、行、列、比特位的维度从小到大对所述键进行排序。
14.根据权利要求11至13中任一项所述的方法,其特征在于,所述方法还包括:
根据所述定位图层和所述关联关系恢复所述3D点云地图。
15.根据权利要求14所述的方法,其特征在于,所述根据所述定位图层和所述关联关系恢复所述3D点云地图包括:
从所述属性文件中获取所述属性信息;
根据所述第一图像依次从层、行、列、比特位的维度从小到大恢复所述n个3D空间点;
根据所述关联关系和所述第二图像中所存储的目标法向量信息及副刻度一一恢复所述n个3D空间点对应的位置信息和法向量信息;
根据所述n个3D空间点的位置信息和法向量信息恢复所述3D点云地图。
16.根据权利要求1至15中任一项所述的方法,其特征在于,所述获取三维3D点云地图包括:
获取初始3D点云地图,所述初始3D点云地图包括m个3D空间点,所述m个3D空间点中的每个3D空间点包括位置信息和法向量信息,m为正整数;
计算所述m个3D空间点的法向量;
提取协方差小于或等于第一阈值的法向量对应的3D空间点;
根据所提取的3D空间点生成所述3D点云地图。
17.根据权利要求16所述的方法,其特征在于,所述计算所述m个3D空间点的法向量包括:
通过主成分分析法分别计算所述m个3D空间点的法向量。
18.根据权利要求16或17所述的方法,其特征在于,所述根据所提取的3D空间点生成所述3D点云地图包括:
根据所提取的3D空间点生成中间3D点云地图;
将所述中间3D点云地图分割为瓦片地图;
将层叠区域处的瓦片地图进行合并;
将合并后的瓦片地图进行降采样生成所述3D点云地图。
19.一种处理点云数据的装置,其特征在于,所述装置包括:
获取单元,用于获取三维3D点云地图,所述3D点云地图包括n个3D空间点,所述n个3D空间点中的每个3D空间点包括位置信息和法向量信息,n为正整数;
处理单元,用于将所述每个3D空间点的主刻度存储在第一图像中,所述主刻度是对所述位置信息进行栅格化处理得到的,所述主刻度对应所述第一图像中的像素坐标值;所述处理单元还用于将所述每个3D空间点的目标法向量信息存储在第二图像中,所述目标法向量信息是对所述法向量信息进行栅格化处理得到的。
20.根据权利要求19所述的装置,其特征在于,所述目标法向量信息是对所述法向量信息在第一方向上的分量和第二方向上的分量分别进行栅格化处理得到的。
21.根据权利要求19或20所述的装置,其特征在于,所述处理单元还用于:
将所述每个3D空间点的副刻度和目标法向量信息存储在第二图像中,所述副刻度是对所述位置信息进行栅格化处理得到的。
22.根据权利要求19至21中任一项所述的装置,其特征在于,所述第一图像为多层单通道图像,所述多层中的每层包括8个比特位,所述8个比特位中的每个比特位对应高程方向上的一个分辨率,所述主刻度包括层、行、列和比特位。
23.根据权利要求21所述的装置,其特征在于,所述第二图像为单通道图像,所述每个3D空间点的副刻度和目标法向量信息占用所述第二图像的两个像素位。
24.根据权利要求23所述的装置,其特征在于,所述每个3D空间点的副刻度占用所述两个像素位中的6个比特位,所述每个3D空间点的目标法向量信息占用所述两个像素位中的10个比特位。
25.根据权利要求21所述的装置,其特征在于,所述主刻度的分辨率为所述副刻度的分辨率的整数倍。
26.根据权利要求19至25中任一项所述的装置,其特征在于,所述处理单元还用于:
计算高程偏移量,所述高程偏移量能够使得所述n个3D空间点中高度最小的3D空间点的高度偏移为0。
27.根据权利要求26所述的装置,其特征在于,所述处理单元还用于:
将属性信息存储在属性文件中,所述属性信息包括:所述第一图像的层数、所述高程偏移量和n的值。
28.根据权利要求27所述的装置,其特征在于,所述处理单元还用于:
根据所述第一图像、所述第二图像和所述属性文件生成定位图层。
29.根据权利要求28所述的装置,其特征在于,所述处理单元还用于:
构建所述每个3D空间点的位置信息与法向量信息的关联关系。
30.根据权利要求29所述的装置,其特征在于,所述处理单元还用于:
根据所述每个3D空间点的主刻度和所述第一图像的尺寸得到键;
根据所述每个3D空间点的目标法向量信息得到键值;
根据所述每个3D空间点的键和键值生成键值对。
31.根据权利要求30所述的装置,其特征在于,所述处理单元还用于:
依次从层、行、列、比特位的维度从小到大对所述键进行排序。
32.根据权利要求29至31中任一项所述的装置,其特征在于,所述处理单元还用于:
根据所述定位图层和所述关联关系恢复所述3D点云地图。
33.根据权利要求32所述的装置,其特征在于,所述处理单元还用于:
从所述属性文件中获取所述属性信息;
根据所述第一图像依次从层、行、列、比特位的维度从小到大恢复所述n个3D空间点;
根据所述关联关系和所述第二图像中所存储的目标法向量信息及副刻度一一恢复所述n个3D空间点对应的位置信息和法向量信息;
根据所述n个3D空间点的位置信息和法向量信息恢复所述3D点云地图。
34.根据权利要求19至33中任一项所述的装置,其特征在于,所述获取单元还用于:
获取初始3D点云地图,所述初始3D点云地图包括m个3D空间点,所述m个3D空间点中的每个3D空间点包括位置信息和法向量信息,m为正整数;
所述处理单元还用于:
计算所述m个3D空间点的法向量;
提取协方差小于或等于第一阈值的法向量对应的3D空间点;
根据所提取的3D空间点生成所述3D点云地图。
35.根据权利要求34所述的方法,其特征在于,所述处理单元还用于:
通过主成分分析法分别计算所述m个3D空间点的法向量。
36.根据权利要求34或35所述的方法,其特征在于,所述处理单元还用于:
根据所提取的3D空间点生成中间3D点云地图;
将所述中间3D点云地图分割为瓦片地图;
将层叠区域处的瓦片地图进行合并;
将合并后的瓦片地图进行降采样生成所述3D点云地图。
37.一种计算设备,其特征在于,包括:至少一个处理器和存储器,所述至少一个处理器与所述存储器耦合,用于读取并执行所述存储器中的指令,以执行如权利要求1至18中任一项所述的方法。
38.一种计算机可读存储介质,其特征在于,所述计算机可读介质存储用于设备执行的程序代码,所述程序代码包括用于执行如权利要求1至18中任一项所述的方法的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110324559.XA CN115131509A (zh) | 2021-03-26 | 2021-03-26 | 处理点云数据的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110324559.XA CN115131509A (zh) | 2021-03-26 | 2021-03-26 | 处理点云数据的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115131509A true CN115131509A (zh) | 2022-09-30 |
Family
ID=83375143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110324559.XA Pending CN115131509A (zh) | 2021-03-26 | 2021-03-26 | 处理点云数据的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115131509A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117128947A (zh) * | 2023-03-13 | 2023-11-28 | 荣耀终端有限公司 | 栅格地图的生成方法和服务器 |
-
2021
- 2021-03-26 CN CN202110324559.XA patent/CN115131509A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117128947A (zh) * | 2023-03-13 | 2023-11-28 | 荣耀终端有限公司 | 栅格地图的生成方法和服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11132780B2 (en) | Target detection method, training method, electronic device, and computer-readable medium | |
CN113168708B (zh) | 车道线跟踪方法和装置 | |
CN112639882B (zh) | 定位方法、装置及*** | |
CN112639883B (zh) | 一种相对位姿标定方法及相关装置 | |
WO2021026705A1 (zh) | 匹配关系确定方法、重投影误差计算方法及相关装置 | |
CN110930323B (zh) | 图像去反光的方法、装置 | |
US11120280B2 (en) | Geometry-aware instance segmentation in stereo image capture processes | |
CN112740268B (zh) | 目标检测方法和装置 | |
WO2020186444A1 (zh) | 物体检测方法、电子设备与计算机存储介质 | |
CN111860155A (zh) | 一种车道线的检测方法及相关设备 | |
US11966234B2 (en) | System and method for monocular depth estimation from semantic information | |
EP3933439A1 (en) | Localization method and localization device | |
WO2022142839A1 (zh) | 一种图像处理方法、装置以及智能汽车 | |
CN112810603A (zh) | 定位方法和相关产品 | |
WO2022089577A1 (zh) | 一种位姿确定方法及其相关设备 | |
US20230029900A1 (en) | Three-dimensional object detection based on image data | |
CN115131509A (zh) | 处理点云数据的方法和装置 | |
CN114255275A (zh) | 一种构建地图的方法及计算设备 | |
CN114167404A (zh) | 目标跟踪方法及装置 | |
CN115205311B (zh) | 图像处理方法、装置、车辆、介质及芯片 | |
CN115100630B (zh) | 障碍物检测方法、装置、车辆、介质及芯片 | |
CN115508841A (zh) | 一种路沿检测的方法和装置 | |
CN114981138A (zh) | 车辆可行驶区域的检测方法以及检测装置 | |
WO2022178895A1 (zh) | 目标检测方法及相关设备 | |
EP4160531A1 (en) | Systems, methods, and apparatus for aligning image frames |
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 |