CN115453491A - 点云数据处理方法、装置、***及存储介质 - Google Patents
点云数据处理方法、装置、***及存储介质 Download PDFInfo
- Publication number
- CN115453491A CN115453491A CN202111356228.0A CN202111356228A CN115453491A CN 115453491 A CN115453491 A CN 115453491A CN 202111356228 A CN202111356228 A CN 202111356228A CN 115453491 A CN115453491 A CN 115453491A
- Authority
- CN
- China
- Prior art keywords
- data
- point cloud
- cloud data
- original
- frame
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 43
- 238000003672 processing method Methods 0.000 title claims abstract description 16
- 238000012545 processing Methods 0.000 claims abstract description 73
- 238000012937 correction Methods 0.000 claims abstract description 64
- 238000000034 method Methods 0.000 claims abstract description 53
- 238000004519 manufacturing process Methods 0.000 claims abstract description 35
- 230000004044 response Effects 0.000 claims abstract description 6
- 230000001360 synchronised effect Effects 0.000 claims description 27
- 230000015654 memory Effects 0.000 claims description 20
- 238000006243 chemical reaction Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000009826 distribution Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 8
- 230000002146 bilateral effect Effects 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000005259 measurement Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/86—Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Electromagnetism (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
Abstract
本申请提供了点云数据处理方法、装置、***及存储介质。其中方法包括:响应于创建处理任务的指令,获取原始数据,其中,原始数据包括原始激光点云数据和载体运动数据;将原始数据按照预设规则进行分组,得到N组目标数据,其中,N为正整数;利用容器集群的N个容器,并行将N组所述目标数据中的原始激光点云数据基于所述载体运动数据进行畸变矫正,获取畸变矫正后的多个单帧点云数据。通过配置容器集群,并行处理原始点云数据,提高了对大规模点云数据的生产效率;并对原始的激光点云数据进行畸变矫正,从而获取更加精确地激光点云数据,为自动驾驶提供更加可靠的数据支撑。
Description
技术领域
本申请涉及自动驾驶技术领域,尤其涉及一种点云数据处理方法、装置、***及存储介质。
背景技术
在自动驾驶领域,目前广泛使用三维激光雷达作为导航传感器,三维激光雷达能够获取环境的点云数据,探测范围广,精度高,且不受光照条件影响,能够精确描述环境结构信息。点云数据是指在一个三维坐标***中的一组向量的集合。惯性测量单元IMU是测量物体三轴姿态角或角速率以及加速度的装置。IMU提供的是一个相对的定位信息,它的作用是测量相对于起点物体所运动的路线,所以它并不能提供具***置的信息,因此,常常和GPS一起使用。
通过激光雷达采集激光点云数据,对激光点云数据处理后结合IMU、GPS,得到障碍物避障结果。但是当前的点云数据处理过程主要针对单组采集的数据,难以充分利用计算资源高效率处理采集的海量原始数据,并且由于激光雷达设备采集时的相对位移导致生成的原始点云数据存在运动畸变,点云的空间位置有误差。
发明内容
本申请提供了一种点云数据处理方法、装置及存储介质,以提高对大规模点云数据的处理效率。本申请的技术方案如下:
第一方面,本申请实施例提供了一种点云数据处理方法,包括:
响应于创建处理任务的指令,获取原始数据,其中,所述原始数据包括原始激光点云数据和载体运动数据;
将所述原始数据按照预设规则进行分组,得到N组目标数据,其中,N为正整数;
根据所述N组目标数据,对应启动容器集群的N个容器;
利用所述N个容器并行将N组所述目标数据中的所述原始激光点云数据基于所述载体运动数据进行畸变矫正,获取畸变矫正后的多个单帧点云数据。
第二方面,本申请实施例提供了一种点云数据处理装置,包括:
获取模块,用于响应于创建处理任务的指令,获取原始数据,其中,所述原始数据包括原始激光点云数据和载体运动数据;
分组模块,用于将所述原始数据按照预设规则进行分组,得到N组目标数据,其中,N为正整数;
分配模块,用于根据所述N组目标数据,对应启动容器集群的N个容器;
处理模块,用于利用所述N个容器并行将N组所述目标数据中的所述原始激光点云数据基于所述载体运动数据进行畸变矫正,获取畸变矫正后的多个单帧点云数据。
第三方面,本申请实施例提供了一种点云数据处理***,包括服务器,所述服务器上配置Kubernetes容器集群,并建立点云数据生产服务Pod容器和多个点云数据生产Pod容器;所述点云数据生产服务Pod容器用于接收创建处理任务的指令,根据所述指令获取原始数据,按照预设规则对所述原始数据进行分组得到N组目标数据,以及存储所述多个点云数据生产Pod容器输出的结果数据;其中,所述原始数据包括激光雷达采集的原始激光点云数据和载体运动数据;其中,N为正整数;所述多个点云数据生产Pod容器,用于并行将N组目标数据中的所述原始激光点云数据基于所述载体运动数据进行畸变矫正,获取畸变矫正后的多个单帧点云数据。
第四方面,本申请实施例提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面所述的点云数据处理方法。
第五方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现第一方面所述方法的步骤。
第六方面,本申请实施例提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面所述方法的步骤。
本申请实施例的点云数据处理方法、装置、***及存储介质,通过配置容器集群,并行处理原始点云数据,提高了对大规模点云数据的生产效率;并对原始的激光点云数据进行畸变矫正,从而获取更加精确地激光点云数据,为自动驾驶提供更加可靠的数据支撑。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理,并不构成对本申请的不当限定。
图1是根据本申请一实施例的点云数据处理方法的示意性流程图。
图2是根据本申请另一实施例的点云数据处理方法的示意性流程图。
图3是根据本申请一实施例的点云数据同步方法的示意性流程图。
图4是根据本申请一实施例的点云数据畸变矫正方法的示意性流程图。
图5是根据本申请一实施例的点云数据处理装置的示意性框图。
图6是根据本申请一实施例的点云数据处理***的示意性框图。
图7是根据本申请实施例的电子设备的示意性框图。
具体实施方式
为了使本领域普通人员更好地理解本申请的技术方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本申请中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
自动驾驶,泛指协助或代替人类驾驶汽车的技术。在自动驾驶各项技术当中,高精度定位是重中之重,因为它直接影响了其他自动驾驶模块的输入。精确的定位是执行感知和决策控制等其他自动驾驶功能的先决条件。目前自动驾驶的定位主要依赖于GPS、激光雷达和IMU(inertial measurement unit,惯性测量单元)三者的融合,而为了保证车辆定位的精准性,必须首先保证三者之间的标定精准,即保证车载激光雷达到IMU的标定的准确性。
在自动驾驶领域,目前广泛使用三维激光雷达作为导航传感器,三维激光雷达能够获取环境的点云数据,探测范围广,精度高,且不受光照条件影响,能够精确描述环境结构信息。IMU是测量物体三轴姿态角(或角速率)以及加速度的装置。点云数据(point clouddata)是指在一个三维坐标***中的一组向量的集合。
一般的,一个IMU包含了三个单轴的加速度计和三个单轴的陀螺,加速度计检测物体在载体坐标***独立三轴的加速度信号,而陀螺检测载体相对于导航坐标系的角速度信号,测量物体在三维空间中的角速度和加速度,并以此解算出物体的姿态。IMU提供的是一个相对的定位信息,它的作用是测量相对于起点物体所运动的路线,所以它并不能提供具***置的信息,因此,常常和GPS一起使用。
Kubernetes,简称K8s,是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。在Kubernetes中,我们可以创建多个容器,每个容器里面运行一个应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理、发现、访问,而这些细节都不需要运维人员去进行复杂的手工配置和处理。
为了解决大规模点云数据的处理效率低的问题,本申请提供了一种点云数据处理方法、装置、***及存储介质。
图1示出了根据本申请实施例的点云数据处理的方法的示意性流程图。需要说明的是,本申请实施例的点云数据处理方法可应用于本申请实施例的点云数据处理装置。该点云数据处理装置可被配置于电子设备上。如图1所示,该点云数据处理方法可以包括如下步骤。
在步骤S101中,响应于创建处理任务的指令,获取原始数据,其中,原始数据包括原始激光点云数据和载体运动数据。
收到用户端发送的创建处理任务的指令,根据所述指令获取原始数据,所述原始数据包括激光雷达采集的原始激光点云数据和载体运动数据。其中,所述载体运动数据包括与所述原始激光点云数据对应的IMU数据和GPS数据。
作为一种可能的实现方式,通过基于Kubernetes建立的点云数据生产服务Pod容器接收用户端发送的创建处理任务的指令;根据所述指令,利用并行文件存储PFS获取所述原始数据,并将所述原始数据存入数据生产队列,并同时在点云生产数据库RDB中记录每条所述原始数据的信息和生产状态。其中,所述数据生产队列为所述Kubernetes容器集群的一种存储结构。
在步骤S102中,将所述原始数据按照预设规则进行分组,得到N组目标数据,其中,N为正整数。
在本申请实施例中,为了提高处理海量的原始激光点云数据的效率,首先对所述原始激光点云数据进行分组。
作为一种可能的实现方式,将所述原始数据按照数据采集时间进行分组。
分组的预设规则除了数据采集时间之外,也可以采用其他预设规则,例如原始激光点云数据的数据类型等,不做限制。
作为一种可能的实现方式,将数据生产队列中的所述原始数据按照预设规则进行分组,得到N组目标数据,即得到N个任务。
在步骤S103中,根据N组目标数据,对应启动容器集群的N个容器;
作为一种可能的实现方式,基于Kubernetes,建立多个点云数据生产Pod容器,实现海量的原始激光点云数据的并行处理。N组目标数据对应N个任务,根据数据生产队列中的任务数量N,启动对应数量的点云数据生产Pod容器。也就是说,N个容器对应N个任务。
在步骤S104中,利用N个容器并行将N组所述目标数据中的所述原始激光点云数据基于所述载体运动数据进行畸变矫正,获取畸变矫正后的多个单帧点云数据。
在本实施例中,每个点云数据生产Pod容器将所述目标数据中的所述原始激光点云数据基于所述载体运动数据进行畸变矫正,获取畸变矫正后的多个单帧点云数据。
需要说明的是,由于激光雷达设备采集点云数据时的相对位移导致生成的原始点云数据存在运动畸变,点云的空间位置有误差。本实施例基于载体运动数据对原始激光点云数据进行运动补偿,消除运动畸变,从而实现对原始点云数据的畸变矫正,得到畸变矫正后的多个单帧点云数据。
可选的,在使用Kubernetes容器集群执行并行数据处理时,还通过监控组件来实时监控任务状态,如果遇到错误的状态就会把错误的状态信息反馈给用户端,在所有生产任务结束之后也会发送结束消息提醒用户端。
本申请实施例的点云数据处理的方法,能够根据输入的原始激光雷达数据和对应的载体运动数据进行并行化处理,获取单帧点云数据,可以在同一时间处理多个原始激光点云数据的处理任务,提高了数据处理的效率。并通过运动补偿对原始的激光点云数据进行畸变矫正,从而获取更加精确地激光点云数据,为自动驾驶提供更加可靠的数据支撑。
图2示出了根据本申请另一实施例的点云数据处理的方法的示意性流程图。本实施例在上述实施例的基础上,所述点云数据处理的方法,包括步骤S201-S206。
在步骤S201中,响应于创建处理任务的指令,获取原始数据,其中,所述原始数据包括原始激光点云数据和载体运动数据。
在步骤S202中,将所述原始数据按照预设规则进行分组,得到N组目标数据,其中,N为正整数。
在步骤S203中,针对每组目标数据,对所述原始激光点云数据进行解析,获取多个单帧点云数据。
作为一种可能的实现方式,基于所述原始激光点云数据的数据类型,调用对应的软件开发工具包SDK;通过所述SDK对所述原始激光点云数据进行数据包解析,获取多个单帧点云数据。
作为一个示例,原始激光点云数据存在pcap数据报文格式以及pack序列化数据格式,则分别采用相应的SDK进行数据解析,得到解析的多个单帧点云数据。
作为一种可能的实现方式,解析之后,基于Kubernetes的点云数据生产Pod容器,将所述多个单帧点云数据存入双边队列,并将所述多个单帧点云数据对应的载体运动数据加入到各自的双边队列中。
在本申请实施例中,将解析的多个单帧点云数据存入一个双边队列中,同时分别读取对应的载体运动数据到各自的双边队列中存储于内存中。需要说明的是,所述双边队列为Kubernetes容器集群的存储结构,所述解析的多个单帧点云数据和所述载体运动数据存储与不同的双边队列。
在步骤S204中,从所述载体运动数据中,获取与所述多个单帧点云数据分别同步的多个同步载体运动数据。
在本申请实施例中,获取与所述多个单帧点云数据分别同步的多个同步载体运动数据的过程,即点云数据同步方法,如图3所示,包括:
S301,根据所述多个单帧点云数据的时间戳和所述对应的载体运动数据的时间戳,建立每一帧点云数据与所述对应的载体运动数据的对应关系。
在进行畸变矫正处理之前,首先同步原始激光点云数据与载体运动数据,根据原始激光雷达采集的原始激光点云数据的时间戳timestamp,载体运动数据(IMU数据和GPS数据)的时间戳进行数据同步,根据时间戳信息建立每一帧激光雷达采集的原始激光点云数据与载体运动数据的对应关系。
S302,基于所述对应关系,得到同步后的单帧点云数据与载体运动数据。
获取每一帧点云数据和与其对应的同步载体运动数据,根据同步后的载体运动数据对所述每一帧点云数据进行畸变矫正。
本申请实施例的点云数据处理的方法,采用上述方法同步载体运动数据,提高数据矫正的准确性。
在步骤S205中,基于所述多个同步载体运动数据,对所述多个单帧点云数据进行畸变矫正,获取畸变矫正后的多个单帧点云数据。
在本申请实施例中,如图4所示,获取畸变矫正后的多个单帧点云数据的过程,即点云数据畸变矫正方法,包括:
在步骤S401中,针对多个单帧点云数据的每个单帧点云数据,获取单帧点云数据;
畸变矫正过程中,针对每个单帧点云数据进行处理。
在步骤S402中,基于所述单帧点云数据的时间戳,获取起始激光点数据和结束激光点数据,并将所述起始激光点数据的时间作为目标时间;
选取时间戳最小的点作为起始激光点数据和时间戳最大的点作为结束激光点数据,将起始激光点的时间戳作为目标时间。
在步骤S403中,获取所述单帧点云数据中除起始激光点数据之外的激光点数据的时间与所述目标时间的时间差,以及所述单帧点云数据对应的载体运动数据中的惯性传感器IMU速度;
IMU速度是IMU所处位置的速度(角速度和线速度)。
在步骤S404中,根据所述激光雷达到IMU的标定参数,将IMU速度转换到所述激光雷达的坐标系,获取IMU转换速度;
计算时需要的是激光雷达所处位置的速度,因此需要按照激光雷达与IMU这两者之间的相对坐标,把IMU速度转到激光雷达对应的位置上。
需要说明的是,所述IMU速度与载体运动数据中的GPS数据有关,基于所述GPS数据,得到所述IMU速度。
在步骤S405中,基于所述时间差和所述IMU转换速度,获取所述单帧点云数据中除起始激光点数据之外的激光点数据相对于所述起始激光点数据的坐标转换关系;
在步骤S406中,根据所述坐标转换关系,将所述单帧点云数据中除起始激光点数据之外的激光点数据的坐标转换为所述目标时间下坐标系下的激光点数据的坐标,获取畸变矫正后的单帧点云数据。
本申请实施例的点云数据的畸变矫正的方法,通过基于时间差和所述IMU转换速度,对每个激光点进行坐标变换,获取了更准确的点云,为自动驾驶提供更加可靠的数据支撑。
作为一种可能的实现方式,为了提升畸变矫正过程中运算的效率,使用GPU来执行畸变矫正的运算过程。
在步骤S206中,存储所述畸变矫正后的多个单帧点云数据。
在本申请实施例中,可以采用两种可能的实现方式对获取的畸变矫正后的单帧点云数据进行存储,可能还可以选择其他的存储方式,在此不做限制,下面仅针对两种示例性的可能的实现方式进行举例说明。
可选的,将所述畸变矫正后的多个单帧点云数据同时保存在并行文件存储***中和对象存储***中。
作为一种可能的实现方式,将所述畸变矫正后的单帧点云数据直接保存在并行文件存储***中,作为一个示例,并行文件存储***可选择PFS(Parallel FilesystemService,并行文件存储服务)***中。这种方式存储的效率很高,可直接从PFS的目录中获取数据,但是由于PFS的存储空间有限,在用户使用完数据后需要定期及时清理存储空间。
作为另一种可能的实现方式,将所述畸变矫正后的单帧点云数据保存在对象存储***中,作为一个示例,对象存储***可选择BOS(Baidu Object Storage,百度对象存储)。该存储过程为,先将畸变矫正后的单帧点云数据加入到生产结果队列中,并将生产结果队列中的数据保存在对象存储BOS中,以及将畸变矫正后的单帧点云数据在对象存储BOS中的存储地址存储在数据库中。这种方式是将数据加入到生产结果队列中,通过点云数据生产服务来调用持久化存储流程,将生产结果队列中的数据保存在对象存储(BOS)中,并将数据的地址更新在关系数据库(Relational Database,RDB)中,这种存储方式的效率较低,在生产中异步进行,不影响点云数据的处理效率。
需要说明的是,在本申请的实施例中,上述步骤201、步骤202的实现过程可参见上述步骤101、步骤102的实现过程的描述,在此不再赘述。
本申请实施例的点云数据处理的方法,能够根据输入的原始激光雷达数据和对应的载体运动数据进行并行化处理,获取单帧点云数据,可以在同一时间处理多个原始激光点云数据的处理任务,提高了数据处理的效率。在对原始的激光点云数据进行畸变矫正之前,采用根据所述原始激光点云数据的数据类型,调用对应的软件开发工具包SDK对所述原始激光点云数据进行数据包解析,能够适配不同数据源解析的需求,在对所述解析的点云数据与载体运动数据进行同步,同步后进行畸变矫正,得到可靠的点云数据。通过基于时间差和所述IMU转换速度,对每个激光点进行坐标变换,获取了更准确的点云,为自动驾驶提供更加可靠的数据支撑。
图5是根据一示例性实施例示出的一种点云数据处理装置的示意性框图。参照图5,该点云数据处理装置可以包括:获取模块510、分组模块520、分配模块530和处理模块540。
具体地,获取模块510,用于响应于创建处理任务的指令,获取原始数据,其中,所述原始数据包括原始激光点云数据和载体运动数据;
分组模块520,用于将所述原始数据按照预设规则进行分组,得到N组目标数据,其中,N为正整数;
分配模块530,用于根据所述N组目标数据,对应启动容器集群的N个容器;
处理模块540,用于利用容器集群的N个容器,并行将N组所述目标数据中的所述原始激光点云数据基于所述载体运动数据进行畸变矫正,获取畸变矫正后的多个单帧点云数据。
在本申请的一些实施例中,所述处理模块540具体用于:
针对每组目标数据,对所述原始激光点云数据进行解析,获取多个单帧点云数据;
从所述载体运动数据中,获取与所述多个单帧点云数据分别同步的多个同步载体运动数据;
基于所述多个同步载体运动数据,对所述多个单帧点云数据进行畸变矫正,获取畸变矫正后的多个单帧点云数据。
在本申请的一些实施例中,所述处理模块540在针对每组目标数据,对所述原始激光点云数据进行解析,获取多个单帧点云数据时,用于:
基于所述原始激光点云数据的数据类型,调用对应的软件开发工具包SDK;
通过所述SDK对所述原始激光点云数据进行数据包解析,获取多个单帧点云数据。
在本申请的一些实施例中,所述处理模块540在从所述载体运动数据中,获取与所述多个单帧点云数据分别同步的多个同步载体运动数据时,用于:
根据所述多个单帧点云数据的时间戳和所述载体运动数据的时间戳,建立每一帧点云数据与所述对应的载体运动数据的对应关系;
基于所述对应关系,获取与所述多个单帧点云数据分别同步的多个同步载体运动数据。
在本申请的一些实施例中,所述处理模块540在基于所述多个同步载体运动数据,对所述多个单帧点云数据进行畸变矫正,获取畸变矫正后的多个单帧点云数据时,用于:
针对多个单帧点云数据的每个单帧点云数据,获取单帧点云数据;
基于所述单帧点云数据的时间戳,获取起始激光点数据和结束激光点数据,并将所述起始激光点数据的时间作为目标时间;
获取所述单帧点云数据中除起始激光点数据之外的激光点数据的时间与所述目标时间的时间差,以及所述单帧点云数据对应的载体运动数据中的惯性传感器IMU速度;
根据所述激光雷达到IMU的标定参数,将IMU速度转换到所述激光雷达的坐标系,获取IMU转换速度;
基于所述时间差和所述IMU转换速度,获取所述单帧点云数据中除起始激光点数据之外的激光点数据相对于所述起始激光点数据的坐标转换关系;
根据所述坐标转换关系,将所述单帧点云数据中除起始激光点数据之外的激光点数据的坐标转换为所述目标时间下坐标系下的激光点数据的坐标,获取畸变矫正后的单帧点云数据。
在本申请的一些实施例中,所述处理模块540在获取畸变矫正后的多个单帧点云数据并进行存储后,还用于:
将所述畸变矫正后的多个单帧点云数据保存在并行文件存储***中和对象存储***中。
在本申请的一些实施例中,所述分组模块520具体用于:
将所述原始数据按照数据采集时间进行分组。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请实施例的点云数据处理的装置,能够根据输入的原始激光雷达数据和对应的载体运动数据进行并行化处理,获取单帧点云数据,可以在同一时间处理多个原始激光点云数据的处理任务,提高了数据处理的效率。在通过畸变矫正对原始的激光点云数据进行矫正之前,采用上述方法同步载体运动数据,提高数据矫正的准确性。
图6是根据一示例性实施例示出的一种点云数据处理***的框图,如图6所示,所述点云数据处理***包括服务器,所述服务器上配置Kubernetes容器集群,并建立点云数据生产服务Pod容器和多个点云数据生产Pod容器;
所述点云数据生产服务Pod容器用于接收创建处理任务的指令,根据所述指令获取原始数据,按照预设规则对所述原始数据进行分组得到N组目标数据,以及存储所述多个点云数据生产Pod容器输出的结果数据;其中,所述原始数据包括激光雷达采集的原始激光点云数据和载体运动数据;其中,N为正整数;
所述多个点云数据生产Pod容器,用于并行将N组目标数据中的所述原始激光点云数据基于所述载体运动数据进行畸变矫正,获取畸变矫正后的多个单帧点云数据。
所述点云数据生产Pod容器在获取畸变矫正后的多个单帧点云数据时的具体实现方式同上述几个方法实施例的实现方式,在此不在赘述。
本申请实施例的点云数据处理***,通过配置容器集群,并行处理原始点云数据,提高了对大规模点云数据的生产效率;并通过运动补偿对原始的激光点云数据进行畸变矫正,从而获取更加精确地激光点云数据,为自动驾驶提供更加可靠的数据支撑。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图7所示,是根据本申请实施例的点云数据处理的方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图7所示,该电子设备包括:一个或多个处理器701、存储器702,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器***)。图7中以一个处理器701为例。
存储器702即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的点云数据处理的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的点云数据处理的方法。
存储器702作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的点云数据处理的方法对应的程序指令/模块(例如,附图5所示的:获取模块510、分组模块520、分配模块530和处理模块540)。处理器701通过运行存储在存储器702中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的点云数据处理的方法。
存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据图像处理的电子设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至图像处理的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
点云数据处理的方法的电子设备还可以包括:输入装置703和输出装置704。处理器701、存储器702、输入装置703和输出装置704可以通过总线或者其他方式连接,图7中以通过总线连接为例。
输入装置703可接收输入的数字或字符信息,以及产生与图像处理的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置704可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式***的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (11)
1.一种点云数据处理方法,其特征在于,包括:
响应于创建处理任务的指令,获取原始数据,其中,所述原始数据包括原始激光点云数据和载体运动数据;
将所述原始数据按照预设规则进行分组,得到N组目标数据,其中,N为正整数;
根据所述N组目标数据,对应启动容器集群的N个容器;
利用所述N个容器并行将N组所述目标数据中的所述原始激光点云数据基于所述载体运动数据进行畸变矫正,获取畸变矫正后的多个单帧点云数据。
2.根据权利要求1所述的方法,其特征在于,所述利用所述N个容器并行将N组所述目标数据中的所述原始激光点云数据基于所述载体运动数据进行畸变矫正,获取畸变矫正后的多个单帧点云数据,包括:
针对每组目标数据,对所述原始激光点云数据进行解析,获取多个单帧点云数据;
从所述载体运动数据中,获取与所述多个单帧点云数据分别同步的多个同步载体运动数据;
基于所述多个同步载体运动数据,对所述多个单帧点云数据进行畸变矫正,获取畸变矫正后的多个单帧点云数据。
3.根据权利要求2所述的方法,其特征在于,所述对所述原始激光点云数据进行解析,获取多个单帧点云数据,包括:
基于所述原始激光点云数据的数据类型,调用对应的软件开发工具包SDK;
通过所述SDK对所述原始激光点云数据进行数据包解析,获取多个单帧点云数据。
4.根据权利要求2所述的方法,其特征在于,所述从所述载体运动数据中,获取与所述多个单帧点云数据分别同步的多个同步载体运动数据,包括:
根据所述多个单帧点云数据的时间戳和所述载体运动数据的时间戳,建立每一帧点云数据与所述对应的载体运动数据的对应关系;
基于所述对应关系,获取与所述多个单帧点云数据分别同步的多个同步载体运动数据。
5.根据权利要求2所述的方法,其特征在于,所述基于所述多个同步载体运动数据,对所述多个单帧点云数据进行畸变矫正,获取畸变矫正后的多个单帧点云数据,包括:
针对多个单帧点云数据的每个单帧点云数据,获取单帧点云数据;
基于所述单帧点云数据的时间戳,获取起始激光点数据和结束激光点数据,并将所述起始激光点数据的时间作为目标时间;
获取所述单帧点云数据中除起始激光点数据之外的激光点数据的时间与所述目标时间的时间差,以及所述单帧点云数据对应的载体运动数据中的惯性传感器IMU速度;
根据所述激光雷达到所述IMU的标定参数,将所述IMU速度转换到所述激光雷达的坐标系,获取IMU转换速度;
基于所述时间差和所述IMU转换速度,获取所述单帧点云数据中除起始激光点数据之外的激光点数据相对于所述起始激光点数据的坐标转换关系;
根据所述坐标转换关系,将所述单帧点云数据中除起始激光点数据之外的激光点数据的坐标转换为所述目标时间下坐标系下的激光点数据的坐标,获取畸变矫正后的单帧点云数据。
6.根据权利要求1所述的方法,其特征在于,所述获取畸变矫正后的多个单帧点云数据之后,还包括:
将所述畸变矫正后的多个单帧点云数据保存在并行文件存储***中和对象存储***中。
7.根据权利要求1所述的方法,其特征在于,所述将所述原始数据按照预设规则进行分组,包括:
将所述原始数据按照数据采集时间进行分组。
8.一种点云数据处理装置,其特征在于,包括:
获取模块,用于响应于创建处理任务的指令,获取原始数据,其中,所述原始数据包括原始激光点云数据和载体运动数据;
分组模块,用于将所述原始数据按照预设规则进行分组,得到N组目标数据,其中,N为正整数;
分配模块,用于根据所述N组目标数据,对应启动容器集群的N个容器;
处理模块,用于利用所述N个容器并行将N组所述目标数据中的所述原始激光点云数据基于所述载体运动数据进行畸变矫正,获取畸变矫正后的多个单帧点云数据。
9.一种点云数据处理***,其特征在于,包括服务器,所述服务器上配置Kubernetes容器集群,并建立点云数据生产服务Pod容器和多个点云数据生产Pod容器;
所述点云数据生产服务Pod容器用于接收创建处理任务的指令,根据所述指令获取原始数据,按照预设规则对所述原始数据进行分组得到N组目标数据,以及存储所述多个点云数据生产Pod容器输出的结果数据;其中,所述原始数据包括原始激光点云数据和载体运动数据;其中,N为正整数;
所述多个点云数据生产Pod容器,用于并行将N组目标数据中的所述原始激光点云数据基于所述载体运动数据进行畸变矫正,获取畸变矫正后的多个单帧点云数据。
10.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至7中任一项所述的点云数据处理方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111356228.0A CN115453491A (zh) | 2021-11-16 | 2021-11-16 | 点云数据处理方法、装置、***及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111356228.0A CN115453491A (zh) | 2021-11-16 | 2021-11-16 | 点云数据处理方法、装置、***及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115453491A true CN115453491A (zh) | 2022-12-09 |
Family
ID=84295017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111356228.0A Pending CN115453491A (zh) | 2021-11-16 | 2021-11-16 | 点云数据处理方法、装置、***及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115453491A (zh) |
-
2021
- 2021-11-16 CN CN202111356228.0A patent/CN115453491A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11789455B2 (en) | Control of autonomous vehicle based on fusion of pose information and visual data | |
CN110595494B (zh) | 地图误差确定方法和装置 | |
US20210206390A1 (en) | Positioning method and apparatus, vehicle device, and autonomous vehicle | |
EP3842749A2 (en) | Positioning method, positioning device and electronic device | |
CN111638528B (zh) | 定位方法、装置、电子设备和存储介质 | |
CN112101209B (zh) | 用于路侧计算设备的确定世界坐标点云的方法和装置 | |
CN111340860B (zh) | 点云数据的配准、更新方法、装置、设备和存储介质 | |
CN110702139B (zh) | 一种时延标定方法、装置、电子设备和介质 | |
CN112147632A (zh) | 车载激光雷达感知算法的测试方法、装置、设备和介质 | |
US11866064B2 (en) | Method and apparatus for processing map data | |
CN111553844A (zh) | 用于更新点云的方法及装置 | |
CN113759384B (zh) | 一种传感器位姿转换关系确定方法、装置、设备和介质 | |
CN111666876A (zh) | 用于检测障碍物的方法、装置、电子设备和路侧设备 | |
CN111664844A (zh) | 导航方法、导航装置和电子设备 | |
CN111142129A (zh) | 定位***测试方法、装置、设备及存储介质 | |
CN110487269A (zh) | Gps/ins组合导航方法、装置、存储介质与电子设备 | |
CN111783611B (zh) | 无人车的定位方法、装置、无人车及存储介质 | |
CN111780757B (zh) | 定位方法和装置、电子设备、车端设备、自动驾驶汽车 | |
CN112154480B (zh) | 可移动平台的定位方法、装置、可移动平台及存储介质 | |
CN115453491A (zh) | 点云数据处理方法、装置、***及存储介质 | |
CN111462072A (zh) | 点云图质量检测方法、装置以及电子设备 | |
CN111311654A (zh) | 一种相机位置的配准方法、装置、电子设备及存储介质 | |
CN114187509B (zh) | 对象定位方法、装置、电子设备以及存储介质 | |
CN110579779B (zh) | Gps质量确定方法、装置、设备和介质 | |
CN111968071A (zh) | 车辆的空间位置生成方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |