WO2022083178A1 - 激光点云处理方法、电子装置和存储介质 - Google Patents

激光点云处理方法、电子装置和存储介质 Download PDF

Info

Publication number
WO2022083178A1
WO2022083178A1 PCT/CN2021/105269 CN2021105269W WO2022083178A1 WO 2022083178 A1 WO2022083178 A1 WO 2022083178A1 CN 2021105269 W CN2021105269 W CN 2021105269W WO 2022083178 A1 WO2022083178 A1 WO 2022083178A1
Authority
WO
WIPO (PCT)
Prior art keywords
point cloud
point
file
block
coordinate data
Prior art date
Application number
PCT/CN2021/105269
Other languages
English (en)
French (fr)
Inventor
林宝尉
傅文标
杨再甫
马可
Original Assignee
湖北亿咖通科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 湖北亿咖通科技有限公司 filed Critical 湖北亿咖通科技有限公司
Publication of WO2022083178A1 publication Critical patent/WO2022083178A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/245Aligning, centring, orientation detection or correction of the image by locating a pattern; Special marks for positioning

Definitions

  • the present application relates to the field of computer vision, and in particular, to a laser point cloud processing method, an electronic device and a storage medium.
  • Computer vision is a key technology for driverless technology.
  • the LiDAR point cloud positioning map plays a crucial role.
  • the corresponding point cloud layers are constructed in different ways.
  • the Stanford method constructs a flat map with dynamic objects removed.
  • each grid (grid) stores the reflectance intensity value of the laser at that location.
  • the data is about 10MB per mile (about 1760 meters).
  • this scheme relies too much on reflectivity and has poor generalization ability.
  • the solution at the University of Michigan is to use the Gaussian Mixture Maps (GMM) method to construct multi-scale Gaussian prior maps.
  • GMM Gaussian Mixture Maps
  • this scheme also uses the elevation information as the distribution information of the GMM.
  • the ground information uses a resolution of 6.4cm
  • the elevation information uses a resolution of 25.6cm to construct a Gaussian distribution.
  • the data per kilometer is about 44.3MB.
  • Baidu's plan is a relatively representative plan proposed in the past two years.
  • the resolution of its prior map is about 12.5cm.
  • the constructed map is similar to the method at the University of Michigan, and includes both albedo intensity and elevation information on the ground.
  • the positioning scheme of Normal Distributions Transform (NDT) is used in the Autoware open source automatic driving framework.
  • NDT Normal Distributions Transform
  • the laser point cloud positioning layer retains most of the original point cloud structure, and the positioning accuracy is relatively good and relatively robust.
  • the focus of the above solutions is to improve the accuracy of the positioning algorithm, and the corresponding laser point cloud positioning layer has a large storage space requirement; and because there is no divided data storage unit, it is difficult to realize the update after a large-scale road scene change.
  • Embodiments of the present application provide a laser point cloud processing method, an electronic device, and a storage medium, so as to at least solve the problem of large storage space occupied by a laser point cloud positioning layer in the related art.
  • an embodiment of the present application provides a laser point cloud processing method, including: acquiring a first point cloud and a vehicle trajectory corresponding to the first point cloud; extracting a second point from the first point cloud Cloud, wherein the height of each point in the second point cloud from the vehicle track is not greater than a preset height; address coding is performed on each point in the second point cloud, and the address of each point is obtained according to the address coding
  • the coding value groups each point in the second point cloud into a plurality of point cloud blocks; obtains polar coordinate data of each point in each of the point cloud blocks, and generates address codes corresponding to each of the point cloud blocks respectively
  • the value is an indexed file, wherein the file for each of the point cloud blocks includes polar coordinate data for each point in the point cloud block.
  • extracting the second point cloud from the first point cloud includes: extracting, from the first point cloud, a third point cloud consisting of points whose heights from the vehicle track are not greater than a preset height point cloud; perform downsampling processing on the third point cloud to obtain the second point cloud.
  • performing downsampling processing on the third point cloud to obtain the second point cloud includes: dividing the third point cloud into a ground point cloud and a non-ground point cloud; The point cloud and the non-ground point cloud are subjected to down-sampling processing at different sampling rates, wherein the sampling rate of the ground point cloud for down-sampling processing is smaller than the sampling rate for down-sampling processing of the non-ground point cloud.
  • dividing the third point cloud into a ground point cloud and a non-ground point cloud includes: dividing the third point cloud into a plurality of voxel blocks with the same size; determining each of the voxel blocks Whether the point clouds in the voxel block are distributed in the same plane; if it is determined that the point clouds in the voxel block are distributed in the same plane, determine the height of the plane of the point cloud distribution in the voxel block from the vehicle trajectory Whether it is not greater than the preset distance; in the case where it is determined that the height of the plane of the point cloud distribution in the voxel block from the vehicle trajectory is not greater than the preset distance, determine the point cloud in the voxel block belong to the ground point cloud; when it is judged that the point clouds in the voxel block are not distributed on the same plane, or it is judged that the height of the plane where the point clouds in the voxel block are distributed from the vehicle trajectory is
  • generating the files indexed by the address code value corresponding to each of the point cloud blocks includes: querying pre-stored files indexed by the address code value corresponding to the point cloud block; In the case of a file with the address code value corresponding to the point cloud block as an index, generate an update file with the address code value corresponding to the point cloud block as an index according to the polar coordinate data of each point in the point cloud block , and use the update file to replace the pre-stored file indexed with the address code value corresponding to the point cloud block; if the file indexed by the address code value corresponding to the point cloud block is not queried, A file is generated according to the polar coordinate data of each point in the point cloud block, and the generated file is stored as an index with the address code value corresponding to the point cloud block.
  • the method further includes: analyzing the polar coordinate data of each point according to a preset distance resolution and a preset angular resolution Perform discretization processing; wherein, when generating files indexed with the address code value corresponding to each of the point cloud blocks, the polar coordinate data after the discretization process is used to generate the address corresponding to each of the point cloud blocks.
  • the file whose encoded value is the index.
  • generating the files indexed by the address code value corresponding to each of the point cloud blocks includes: storing polar coordinate data of each point in each of the point cloud blocks as each of the point cloud blocks
  • the corresponding address code value is a file in a preset format of an index, wherein the file in the preset format includes a file header and a data segment, and the information stored in the file header includes: the offset value of the point cloud block, The road ID value associated with the vector map and the number of point clouds in the data segment, the information stored in the data segment includes polar coordinate data of the point cloud block stored in binary form.
  • an embodiment of the present application provides an electronic device, including a memory and a processor, where a computer program is stored in the memory, and the processor is configured to run the computer program to execute the first aspect.
  • Laser point cloud processing method
  • an embodiment of the present application provides a storage medium, where a computer program is stored in the storage medium, wherein the computer program is configured to execute the laser point cloud processing method described in the first aspect when running.
  • an embodiment of the present application provides a chip for running instructions, the chip includes a memory and a processor, where code and data are stored in the memory, the memory is coupled to the processor, and the processor runs The code in the memory enables the chip to perform the laser point cloud processing method described in the first aspect.
  • an embodiment of the present application provides a program product including instructions, which, when the program product runs on a computer, causes the computer to execute the laser point cloud processing method described in the first aspect.
  • an embodiment of the present application provides a computer program for executing the laser point cloud processing method described in the first aspect when the computer program is executed by a processor.
  • the laser point cloud processing method, electronic device and storage medium provided by the embodiments of the present application solve the problem of the large storage space occupied by the laser point cloud positioning layer in the related art, and reduce the laser point cloud positioning map.
  • the storage space occupied by the layer is reduced.
  • FIG. 1 is a block diagram of a hardware structure of a vehicle-mounted terminal according to an embodiment of the present application
  • FIG. 2 is a flowchart of a laser point cloud processing method according to an embodiment of the present application
  • FIG. 3 is a flowchart of a method for processing a laser point cloud according to a preferred embodiment of the present application
  • FIG. 4 is a schematic diagram of performing elevation segmentation on a side view of a point cloud according to a preferred embodiment of the present application
  • FIG. 5 is a schematic diagram of a point cloud obtained by performing elevation segmentation on the point cloud shown in FIG. 4 according to a preferred embodiment of the present application;
  • FIG. 6 is a schematic diagram of a point cloud obtained after downsampling the point cloud shown in FIG. 5 according to a preferred embodiment of the present application;
  • FIG. 7 is a schematic diagram of geo-grids according to a preferred embodiment of the present application.
  • FIG. 8 is a schematic diagram of polar coordinates according to a preferred embodiment of the present application.
  • FIG. 9 is a data storage structure diagram of a file according to a preferred embodiment of the present application.
  • Words like "connected,” “connected,” “coupled,” and the like referred to in this application are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect.
  • the “plurality” referred to in this application means greater than or equal to two.
  • “And/or” describes the association relationship between associated objects, indicating that there can be three kinds of relationships. For example, “A and/or B” can mean that A exists alone, A and B exist at the same time, and B exists alone.
  • the terms “first”, “second”, “third”, etc. involved in this application are only to distinguish similar objects, and do not represent a specific order for the objects.
  • FIG. 1 is a block diagram of the hardware structure of the vehicle-mounted terminal according to an embodiment of the present invention.
  • the in-vehicle terminal may include one or more (only one is shown in FIG. 1 ) processor 102 (the processor 102 may include, but is not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA, etc. ) and a memory 104 for storing data.
  • processor 102 may include, but is not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA, etc.
  • memory 104 for storing data.
  • the above vehicle-mounted terminal may further include a transmission device 106 and an input/output device 108 for communication functions.
  • the input and output device 108 includes, but is not limited to, at least one of the following: a camera and/or lidar for collecting point clouds; a display for displaying road condition information; a keyboard, touchpad and/or mouse for inputting operation instructions ; Alarms for sound and light alarms, etc.
  • a camera and/or lidar for collecting point clouds
  • a display for displaying road condition information
  • a keyboard, touchpad and/or mouse for inputting operation instructions
  • Alarms for sound and light alarms, etc.
  • the structure shown in FIG. 1 is only for illustration, and does not limit the structure of the above-mentioned vehicle-mounted terminal.
  • the in-vehicle terminal may further include more or less components than those shown in FIG. 1 , or have a different configuration than that shown in FIG. 1 .
  • the memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer programs corresponding to the laser point cloud processing method in the embodiment of the present invention. Executing various functional applications and data processing implements the above-mentioned methods.
  • Memory 104 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory.
  • the memory 104 may further include memory located remotely from the processor 102, and these remote memories may be connected to the vehicle terminal through a network. Examples of such networks include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
  • Transmission device 106 is used to receive or transmit data via a network.
  • a specific example of the above-mentioned network may include a wireless network provided by a communication provider of the in-vehicle terminal.
  • the transmission device 106 includes a network adapter (Network Interface Controller, NIC for short), which can be connected to other network devices through a base station so as to communicate with the Internet.
  • the transmission device 106 may be a radio frequency (Radio Frequency, RF for short) module, which is used to communicate with the Internet in a wireless manner.
  • RF Radio Frequency
  • FIG. 2 is a flowchart of a method for processing a laser point cloud according to an embodiment of the present application. As shown in FIG. 2 , the process includes the following steps:
  • Step S201 acquiring a first point cloud and a vehicle trajectory corresponding to the first point cloud.
  • the first point cloud can be obtained based on any point cloud collection method in the related art, for example, the original point cloud is obtained by collecting the laser radar at the vehicle end, and then the original point cloud is synchronously positioned and mapped. Mapping (abbreviated as SLAM) is processed to obtain the above-mentioned first point cloud.
  • the vehicle trajectory corresponding to the first point cloud can be collected by sensors on the vehicle end (such as rotational speed sensors, wheel speed sensors, etc.), inertial navigation equipment, etc., and obtained through the trajectory algorithm at the same reference coordinates as the first point cloud
  • the same reference coordinate system can be a Cartesian coordinate system, or can be other coordinate systems, such as a polar coordinate system, etc. In the above manner, the coordinate data of the first point cloud and the coordinate data of the vehicle trajectory can be obtained respectively.
  • Step S202 extracting a second point cloud from the first point cloud, wherein the height of each point in the second point cloud from the vehicle trajectory is not greater than a preset height.
  • the point cloud whose height relative to the vehicle trajectory is greater than the preset height is removed by elevation cutting, and the size of the point cloud is reduced.
  • the preset height is selected according to experience or experimental test results.
  • the non-ground point cloud within the preset height above the ground is one of the aspects to ensure the positioning accuracy, and the vehicle trajectory is normally located on the ground. Therefore, in this embodiment, the height relative to the vehicle trajectory is reserved not greater than the preset height. Set a high point cloud to ensure the positioning accuracy.
  • the preset height may be selected as 3 meters. It should be noted that the value of the preset height may also be other values, for example, the value range may be other values greater than 2.5 meters and less than 5 meters.
  • the height from the point cloud to the vehicle trajectory is calculated in the station center coordinate system.
  • the station center coordinate system is also called the East-North-Sky (ENU) coordinate system.
  • the coordinate data of the vehicle trajectory and the coordinate data of the first point cloud are both represented by coordinate data in a Cartesian coordinate system.
  • the coordinate data of the vehicle track and the coordinate data of the first point cloud may be converted from the Cartesian coordinate system to the station center coordinate system.
  • the point in the station center coordinate system uses three parameters of east-north-sky (E-N-U) to represent the position of the point, where U is the sky coordinate data. Since calculating the height difference of two positions in the station center coordinate system only needs to make the difference of the sky coordinate data of the two positions, the height calculation is simplified.
  • the vehicle trajectory includes a plurality of vehicle trajectory points distributed at preset intervals; in step S202, the station center coordinate data of each point in the first point cloud and the station center of the multiple vehicle trajectory points may be obtained Coordinate data; according to the station center coordinate data of each point in the first point cloud and the station center coordinate data of multiple vehicle trajectory points, determine the vehicle trajectory point that is closest to each point in the first point cloud, and use the closest vehicle trajectory point to the distance.
  • the vehicle trajectory point is used as the benchmark to determine the height of each point in the first point cloud from the vehicle trajectory; the point in the first point cloud whose height from the vehicle trajectory is not greater than the preset height is extracted to obtain the second point cloud.
  • the sky direction of the station center coordinate system is parallel to the normal direction of the road, so in the station center coordinate system established with the vehicle trajectory point closest to each point in the first point cloud as the origin, the sky direction coordinate data of the point is The height value of the point from the vehicle trajectory, which simplifies the calculation process of the height. Moreover, in the above-mentioned embodiment, by calculating the height of the point cloud from the vehicle trajectory based on the vehicle trajectory point closest to the point, it can be avoided that the road normal vector after the transformation of the station center coordinates by the road gradient and curvature changes is not parallel to the station center. The calculation error caused by the coordinate sky direction.
  • a third point cloud composed of points whose heights from the vehicle track are not greater than a preset height may be extracted from the first point cloud, and then the third point cloud is processed. Down-sampling processing to obtain a second point cloud.
  • the second point cloud obtained by downsampling the third point cloud reduces the number of points in the point cloud while maintaining the shape characteristics of the point cloud.
  • the non-ground point cloud has a relatively greater impact on the positioning accuracy.
  • the cloud and the non-ground point cloud are down-sampled with different sampling rates, and the sampling rate of the non-ground point cloud is greater than that of the ground point cloud.
  • the third point cloud is divided into multiple voxel blocks with the same size; it is judged whether the point clouds in each voxel block are distributed In the same plane; when it is determined that the point clouds in the voxel block are distributed on the same plane, determine whether the height of the plane of the distribution of the point clouds in the voxel block from the vehicle trajectory is not greater than the preset distance; When the height of the plane of the distribution of the point cloud in the block from the vehicle trajectory is not greater than the preset distance, it is determined that the point cloud in the voxel block belongs to the ground point cloud; when it is determined that the point cloud in the voxel block is not distributed on the same plane , or when it is determined that the height of the distribution plane of the point cloud in the voxel block from the vehicle trajectory is greater than the preset distance, it is determined that the point cloud in the voxel block belongs to
  • whether the point clouds in each voxel block in the multiple voxel blocks are distributed on the same plane can be determined by whether the height difference between the points in the same voxel block is within a preset distance. Wherein, if the height difference between the points is not greater than the preset distance, it can be considered that the points in the voxel block are distributed in the same plane; otherwise, it is considered that the points in the voxel block are not distributed in the same plane.
  • the size of the above-mentioned voxel block can be selected, for example, to be 10cm ⁇ 10cm ⁇ 10cm, or 20cm ⁇ 20cm ⁇ 20cm, or other values.
  • the voxel block may not be a cube, for example, the size of the above-mentioned voxel block may also be selected as 20cm ⁇ 20cm ⁇ 10cm or other values.
  • the above-mentioned preset distance can be selected as 5cm, 10cm, 20cm or other values.
  • the above-mentioned preset height difference can be selected as 5cm, 6cm or other values.
  • the downsampling can be achieved by using the voxelized grid method combined with the barycentric method.
  • the ground point cloud is divided into multiple voxel blocks according to a grid of preset size, and each point in the voxel block is regarded as a substance of equal weight, and then each voxel is determined according to the distribution of the points in the voxel block.
  • downsampling is also performed in the same way as ground point clouds.
  • the sampling rate of the point cloud is related to the size of the voxel blocks into which the point cloud is divided.
  • the ground point cloud when downsampling the point cloud, the ground point cloud may be divided into a plurality of voxel blocks according to a grid of a first preset size, and the non-ground point cloud may be divided into a grid of a second preset size into a plurality of voxel blocks A plurality of voxel blocks, and the voxel blocks divided according to the first preset size are larger than the voxel blocks divided according to the second preset size, so that the sampling rate of the non-ground point cloud is greater than the sampling rate of the ground point cloud.
  • Step S203 Perform address encoding on each point in the second point cloud, and group each point in the second point cloud into a plurality of point cloud blocks according to the address encoding value of each point obtained by the address encoding.
  • Geohash encoding is a public domain geocoding method that encodes geographic location (latitude and longitude values) into a small block of letters and numbers. Among them, the longer the geohash code length is, the smaller and more accurate the area represented by the geohash code value is, and the shorter the geohash code length is, the larger the area represented by the geohash code value is.
  • the second point cloud may be address encoded with a geohash code length of 8, and the obtained geohash code value corresponds to an area geographically, and the point cloud of the point cloud in this area will be stored in the geohash address.
  • the encoded value is in the indexed file.
  • Step S204 Obtain polar coordinate data of each point in each point cloud block, and generate a file indexed by the address code value corresponding to each point cloud block, wherein the file of each point cloud block includes each point cloud block. Polar coordinate data for the point.
  • the second point cloud is divided into a plurality of point cloud blocks, and the coordinate data of each point in the point cloud block is stored in blocks, so that the coordinate data of the point cloud can be updated in units of point cloud blocks.
  • a pre-stored file indexed by the address code value corresponding to the point cloud block For example, query a pre-stored file indexed by the address code value corresponding to the point cloud block; in the case of querying a file indexed by the address code value corresponding to the point cloud block, according to the polarities of the points in the point cloud block
  • the coordinate data generates an update file indexed by the address code value corresponding to the point cloud block, and uses the update file to replace the pre-stored file indexed by the address code value corresponding to the point cloud block;
  • a file whose address code value is an index a file is generated according to the polar coordinate data of each point in the point cloud block, and the generated file is stored as an index with the address code value corresponding to the point cloud block.
  • the related art generally stores the coordinate data of the point cloud according to the coordinate data of the Cartesian coordinate system.
  • step S204 after the coordinate data of each point in the point cloud block can be converted from the Cartesian coordinate system to the polar coordinate system data, in order to further reduce the storage space occupied by each point, the preset distance resolution can also be used.
  • the polar coordinate data of each point is discretized with the preset angular resolution, and then the discretized polar coordinate data is stored in a file indexed by the address code value corresponding to each point cloud block.
  • the polar coordinate data of each point in each point cloud block may be stored as an index with the address code value corresponding to each point cloud block.
  • a file in a preset format wherein the file in the preset format includes a file header and a data segment, and the information stored in the file header includes: the offset value of the point cloud block, the road ID value associated with the vector map, and the midpoint of the data segment.
  • the number of clouds, the information stored in the data segment includes polar coordinate data of point cloud patches stored in binary form.
  • the polar coordinate data of the point cloud is stored in the address-coded value.
  • the problem of large storage space occupied by the laser point cloud positioning layer in the related art is solved, and the storage space occupied by the laser point cloud positioning layer is reduced.
  • the laser point cloud processing method of the present application will be described and illustrated below through preferred embodiments.
  • FIG. 3 is a flowchart of a laser point cloud processing method according to a preferred embodiment of the present application.
  • the flowchart shown in FIG. 3 is a modification of the flowchart shown in FIG. 2 .
  • the laser point cloud processing method of this preferred embodiment includes the following steps:
  • Step S301 obtaining the point cloud and vehicle trajectory of the original point cloud, wherein the vehicle trajectory includes a plurality of vehicle trajectory points distributed at preset intervals; according to the data of the first point cloud and the plurality of vehicle trajectory points, the original point cloud is processed. Highly cropped.
  • step S302 the point cloud obtained after the height cropping is divided into ground and non-ground, and down-sampling is performed for different divided regions.
  • Step S303 Perform address encoding on each point in the down-sampled point cloud, and then perform a geo-grid storage operation on the point cloud according to the address encoding value, and store the point cloud in each partition as a temporary point cloud.
  • step S304 the processed temporary point cloud is compressed in polar coordinate format and stored as a file indexed by the address code value.
  • step S301 the point cloud processed by SLAM has high relative accuracy and absolute accuracy.
  • the point cloud and its corresponding vehicle trajectory are used as input data.
  • FIG. 4 is a schematic diagram of performing elevation segmentation on a side view of a point cloud according to a preferred embodiment of the present application.
  • a side view of the point cloud is shown, wherein the dots pointed to by the dotted arrows and other similar dots are 10 meters of thinned vehicle trajectory points.
  • the point cloud here can be the original point cloud collected by the lidar on the vehicle side and processed by SLAM, and the vehicle trajectory point can be collected by the inertial measurement unit (Inertial Measurement Unit, IMU), inertial navigation equipment, etc. on the vehicle side
  • IMU Inertial Measurement Unit
  • IMU Inertial Measurement Unit
  • step S301 includes the following steps:
  • Step S3011 Calculate the nearest vehicle trajectory point of each point in the original point cloud.
  • Step S3012 Retain point clouds whose distance from the ground is less than 3 meters.
  • each point in the point cloud (denoted as TRA) can be searched for the closest vehicle trajectory point (denoted as pt n ) to it. for TRA 1stNN ).
  • TRA 1stNN the vehicle trajectory point TRA 1stNN as the benchmark, calculate the distance h of each point pt n from the ground, and keep the points where h ⁇ 3 meters, where the vehicle trajectory refers to the driving trajectory line formed on the ground, and the distance h between the point pt n and the ground That is, the height of the point pt n from the vehicle trajectory TRA.
  • (0,0,1) T represents the unit vector of the sky direction.
  • FIG. 5 is a schematic diagram of a point cloud obtained by performing elevation segmentation on the point cloud shown in FIG. 4 according to a preferred embodiment of the present application. The point cloud cut through the above step S301 is shown in FIG. 5 .
  • step S302 includes the following steps:
  • step S3021 the point cloud obtained after the height cropping is divided into a ground point cloud and a non-ground point cloud.
  • ground points and non-ground points are segmented on the point cloud output in step S301.
  • the present invention divides the point cloud into three-dimensional voxel blocks, and the distribution range of the z-values of all points in each voxel block is less than 5 cm, which means that the point cloud in the voxel belongs to a plane.
  • using TRA 1stNN to constrain the ground height the ground points and non-ground points can be quickly segmented.
  • Step S3022 it is judged whether the point cloud currently being processed belongs to the ground point cloud, if so, step S3023 is performed, otherwise, step S3024 is performed.
  • step S3023 the currently processed point cloud is divided into voxel blocks whose length, width and height are respectively 0.6cm ⁇ 0.6cm ⁇ 0.6cm, and down-sampling is performed.
  • step S3024 the currently processed point cloud is divided into voxel blocks whose length, width and height are respectively 0.3cm ⁇ 0.3cm ⁇ 0.4cm, and perform down-sampling processing.
  • different sampling rates are used for downsampling for the ground point cloud and the non-ground point cloud.
  • set the leaf size of the voxel block to 0.6cm ⁇ 0.6cm ⁇ 0.6cm for downsampling.
  • 0.6cm ⁇ 0.6cm ⁇ 0.6cm represents the length of the three sides of the voxel block. That is, only one point of the original point cloud is retained in the space of 0.6cm ⁇ 0.6cm ⁇ 0.6cm, or the center of gravity of all points in the voxel block is used to approximate other points in the voxel, so that all points in the voxel are It is finally represented by a center of gravity point.
  • FIG. 6 is a schematic diagram of a point cloud obtained by downsampling the point cloud shown in FIG. 5 according to a preferred embodiment of the present application. After downsampling the ground point cloud and the non-ground point cloud respectively, they are fused into one point cloud, the point cloud shown in Figure 6 is obtained. At this point the storage is about 15mb per kilometer.
  • the downsampling operation can preserve the estimation accuracy of the ground scene for the elevation in the positioning result, greatly reducing the number of point clouds and maintaining the shape characteristics of the point cloud at the same time, which is very practical in improving the speed of algorithms such as registration, surface reconstruction, and shape recognition.
  • Step S3025 merge the down-sampled ground point cloud and the non-ground point cloud.
  • a down-sampling operation will be performed on the cut point cloud.
  • the purpose of down-sampling is to reduce the number of points in the point cloud without changing the original physical structure of the point cloud. Improve the speed of importing and exporting point clouds and reduce the storage space of point clouds.
  • step S303 includes the following steps:
  • Step S3031 performing geohash encoding on the point cloud blocks obtained after the merging.
  • each point is converted into GPS location information, and hash coding is performed on it, and the hash codes of different lengths represent geographic location areas within a range of a point.
  • the point cloud after the above processing is simulated according to different geo-grids.
  • the area where the entire road is located is divided into a combination of multiple rectangular boxes according to the size of 38.2m ⁇ 19m, and the point cloud is allocated to different rectangles. box and displayed in different grayscale values.
  • the left figure of Figure 7 shows a schematic diagram of a large geo-grid formed by splicing a plurality of smaller geo-grids. point cloud.
  • the right image of Figure 7 is an enlarged image of the local area in the left image.
  • the dashed frame area in the right image represents a 38.2m ⁇ 19m geographic area, where the index of the dashed frame is the geohash code value corresponding to the current geo-grid.
  • the block range of the point cloud map can be quickly determined through step S3031, and the block range is also the minimum unit for changing and updating the point cloud map later.
  • Step S3032 according to the geohash code value, the file of the storage system is searched for by the index, and it is judged whether the file storing the point cloud exists, if not, step S304 is performed;
  • Step S3033 it is judged whether the point cloud belongs to the current collection project, if yes, go to step S3034, if not, go to step S3035.
  • Step S3034 read the stored file indexed with the geohash code value, and determine to merge the point cloud into the file.
  • Step S3035 delete the file indexed by the geohash code value in the storage system.
  • a file for storing the point cloud when generating the file for storing the point cloud, for example, a file for storing the point cloud may be generated first, the file is indexed with the geohash code value corresponding to the point cloud, and the file is marked as a new file of the current collection project, Then write the point cloud to be written in the file to the file.
  • multiple files with geohash codes as indexes can be generated and stored in parallel in the same acquisition project, which improves the speed of point cloud storage.
  • Strategy 2 Replace. If the file indexed by the geohash code value has been stored in the corresponding location of the geo-grid, it means that the area has been collected. If it is a file indexed by the geohash code value stored in the previously collected project, it means that the collection project has re-collected the area, then the data collected this time can be used to directly replace the previous geohash code value. indexed files.
  • Step S3041 Convert the coordinate data of each point in the geo-grid to a polar coordinate system.
  • the coordinate data of the point pt includes: pt.x of double-precision floating-point type, pt of double-precision floating-point type .y, pt.z of double-precision floating-point type, and pt.intensity of integer type, where pt.x, pt.y, and pt.z are the coordinates of the x, y, and z axes of the point pt, respectively, pt. intensity is the gray value of point pt.
  • the center point of a certain point cloud is set as the origin of the polar coordinate system (called the offset point, that is, the offset point), and the Each point pt in the point cloud is represented by polar coordinates, that is, by distance d, vertical angle ⁇ , and rotation angle ⁇ . Then discretize (d, ⁇ , ⁇ ) according to range resolution (rd) and angular resolution (ra).
  • the formula is as follows:
  • Step S3042 the geo-grid is associated with the relevant map data, and the point cloud of the point cloud in the geo-grid is stored as a file with the corresponding geohash code value as an index.
  • the file structure of the file in which the point cloud is stored is shown in FIG. 9.
  • the center position of the point cloud block is set as the polar coordinate
  • the polar axis of the polar coordinate system is selected as the set ray (for example, the horizontal right ray) drawn from the offset point.
  • the coordinate data and polar axis of the offset point of the polar coordinate system in the world coordinate system determine the polar coordinate data of each point in the point cloud block. Therefore, if the polar axis direction is agreed in advance, the corresponding geohash coding value is used
  • the coordinate data of the offset point may be stored in the file header of the file.
  • the above-mentioned world coordinate system refers to the absolute coordinate system of the system, in which the spatial positional relationship of points in all point clouds can be represented, and the spatial positional relationship among all geo-grids can also be represented.
  • the road ID value (roadID) in the vector map corresponding to the geo-grid and the offset value of the point cloud block that is, the value of the above-mentioned offset point in the world coordinate system
  • Information such as the number of point clouds in the point cloud block (pointNum) can also be written into the header of the file header; the polar coordinate data of each point in the point cloud block can be sequentially written to the data after the header of the file header in binary form
  • the above-mentioned file indexed by the geohash code value may be stored in a preset file format, for example, in a file format with a suffix of fmp.
  • a preset file format for example, in a file format with a suffix of fmp.
  • the structure of the file in which the point cloud is finally stored and its suffix are not limited to this, that is, any known format or private format can be generated as required to store the point cloud.
  • a unique storage method based on original point cloud denoising, downsampling and partition processing is designed for the generation, storage and update of the laser positioning layer.
  • the generated spliced point cloud is subjected to elevation cutting and down-sampling; Store in different geo-grids; according to the geohash code, the point clouds in the geo-grid will be created, merged or replaced, and stored in polar coordinate binary format.
  • the above embodiment can ensure that the storage location can be quickly located in the world coordinate system, and the point cloud layer can be generated, and the storage space can be saved at the same time.
  • This embodiment also provides an electronic device, including a memory and a processor, where a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
  • the above-mentioned electronic device may further include a transmission device and an input-output device, wherein the transmission device is connected to the above-mentioned processor, and the input-output device is connected to the above-mentioned processor.
  • the above-mentioned processor may be configured to execute the following steps through a computer program:
  • S3 Perform address encoding on each point in the second point cloud, and group each point in the second point cloud into a plurality of point cloud blocks according to the address encoding value of each point obtained by the address encoding.
  • the embodiment of the present application may provide a storage medium for implementation.
  • a computer program is stored on the storage medium; when the computer program is executed by the processor, any one of the laser point cloud processing methods in the foregoing embodiments is implemented.
  • An embodiment of the present application further provides a chip for running instructions, the chip includes a memory and a processor, where code and data are stored in the memory, the memory is coupled with the processor, and the processor runs the memory in the memory
  • the code of enables the chip to be used to execute any one of the laser point cloud processing methods in the above-mentioned embodiments.
  • An embodiment of the present application further provides a program product containing instructions, the program product includes a computer program, the computer program is stored in a computer-readable storage medium, and at least one processor can read from the computer-readable storage medium
  • the computer program when the at least one processor executes the computer program, can implement any one of the laser point cloud processing methods in the foregoing embodiments.
  • Embodiments of the present application further provide a computer program, which, when the computer program is executed by a processor, is used to execute any one of the laser point cloud processing methods in the foregoing embodiments.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Traffic Control Systems (AREA)
  • Navigation (AREA)

Abstract

一种激光点云处理方法、电子装置和存储介质,其中,该方法包括:获取第一点云和与第一点云对应的车辆轨迹(S201);从第一点云中提取第二点云,其中,第二点云中各点距车辆轨迹的高度不大于预设高度(S202);对第二点云中的各点进行地址编码,根据地址编码得到的各点的地址编码值将第二点云中的各点分组为多个点云块(S203);获取各点云块中的各点的极坐标数据,生成分别以各点云块对应的地址编码值为索引的文件,其中,每个点云块的文件包括点云块中的各点的极坐标数据(S204);该方法降低了激光点云定位图层占用的存储空间。

Description

激光点云处理方法、电子装置和存储介质
本申请要求于2020年10月21日提交中国专利局、申请号为202011130333.8、申请名称为“激光点云处理方法、电子装置和存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机视觉领域,特别是涉及激光点云处理方法、电子装置和存储介质。
背景技术
计算机视觉是无人驾驶技术的关键技术。其中,在计算机视觉中的高精度厘米级定位应用中,激光雷达点云定位地图起到了至关重要的作用。由于目前各公司、研究院所所研发的厘米级定位方案不同,其对应的点云图层的构建方式也不同。比如斯坦福大学的方法构建了一幅去除了动态物的平面地图。按照5厘米的解析度生成的地图中,每一个网格(grid)中存的是激光在该处的反射率强度值。高于地面的物体都被剔除掉后,每英里(约1760米)数据大约10MB。但是该方案过于依赖反射率,泛化能力不强。密歇根大学的方案是使用高斯混合模型(Gaussian Mixture Maps,简称为GMM)方法来构建多尺度的高斯先验地图。该方案除了需要道路表面的反射率意外,还将高程信息也作为GMM的分布信息。该方案地面信息使用6.4cm的解析度,高程信息使用25.6cm的解析度来构建高斯分布。每千米的数据大约为44.3MB。百度的方案是最近两年提出的比较有代表性的方案。其先验地图的解析度约为12.5cm。构建的地图类似密歇根大学的方法,同时包括了地面的反射率强度和高程信息。但是该方案只使用了一个高斯分布将上述两个维度的信息构建出来,所以每千米的数据大约5MB。Autoware开源自动驾驶框架中使用了正态分布变换(Normal Distributions Transform,简称为NDT)的定位方案,其激光点云定位图层保留了大部分原始点云结构,定位精度比较好且比较鲁棒。上述方案的重点均在研究定位算法的精度提升,其对应的激光点云定位 图层存储空间需求较大;且由于没有划分数据存储单元,很难实现大范围道路场景变化后的更新。
目前针对相关技术中激光点云定位图层占用的存储空间大的问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种激光点云处理方法、电子装置和存储介质,以至少解决相关技术中激光点云定位图层占用的存储空间大的问题。
第一方面,本申请实施例提供了一种激光点云处理方法,包括:获取第一点云和与所述第一点云对应的车辆轨迹;从所述第一点云中提取第二点云,其中,所述第二点云中各点距所述车辆轨迹的高度不大于预设高度;对所述第二点云中的各点进行地址编码,根据地址编码得到的各点的地址编码值将所述第二点云中的各点分组为多个点云块;获取各所述点云块中的各点的极坐标数据,生成分别以各所述点云块对应的地址编码值为索引的文件,其中,每个所述点云块的文件包括所述点云块中的各点的极坐标数据。
在其中一些实施例中,所述车辆轨迹包括按照预设间隔距离分布的多个车辆轨迹点;从所述第一点云中提取第二点云包括:获取所述第一点云中各点的站心坐标数据和多个所述车辆轨迹点的站心坐标数据;根据所述第一点云中各点的站心坐标数据和多个所述车辆轨迹点的站心坐标数据,确定与所述第一点云中各点距离最近的车辆轨迹点,并以该距离最近的车辆轨迹点为基准确定所述第一点云中各点距所述车辆轨迹的高度;提取所述第一点云中距所述车辆轨迹的高度不大于所述预设高度的点,得到所述第二点云。
在其中一些实施例中,从所述第一点云中提取第二点云包括:从所述第一点云中提取由距所述车辆轨迹的高度不大于预设高度的点组成的第三点云;对所述第三点云进行下采样处理,得到所述第二点云。
在其中一些实施例中,对所述第三点云进行下采样处理,得到所述第二点云包括:将所述第三点云分割为地面点云和非地面点云;对所述地面点云和所述非地面点云分别采用不同采样率进行下采样处理,其中,下采样处理所述地面点云的采样率小于下采样处理所述非地面点云的采样率。
在其中一些实施例中,将所述第三点云分割为地面点云和非地面点云包 括:将所述第三点云分成具有相同尺寸的多个体素块;判断各所述体素块中的点云是否分布在相同平面;在判断到所述体素块中的点云分布在相同平面的情况下,判断所述体素块中的点云分布的平面距所述车辆轨迹的高度是否不大于预设距离;在判断到所述体素块中的点云分布的平面距所述车辆轨迹的高度不大于所述预设距离的情况下,确定所述体素块中的点云属于所述地面点云;在判断到所述体素块中的点云未分布在相同平面,或者判断到所述体素块中的点云分布的平面距所述车辆轨迹的高度大于所述预设距离的情况下,确定所述体素块中的点云属于所述非地面点云。
在其中一些实施例中,生成分别以各所述点云块对应的地址编码值为索引的文件包括:查询预先存储的以所述点云块对应的地址编码值为索引的文件;在查询到以所述点云块对应的地址编码值为索引的文件的情况下,根据所述点云块中的各点的极坐标数据生成以所述点云块对应的地址编码值为索引的更新文件,并使用所述更新文件替换预先存储的以所述点云块对应的地址编码值为索引的文件;在未查询到以所述点云块对应的地址编码值为索引的文件的情况下,根据所述点云块中的各点的极坐标数据生成文件,并将生成的文件以所述点云块对应的地址编码值为索引进行存储。
在其中一些实施例中,在获取各所述点云块中的各点的极坐标数据之后,所述方法还包括:按照预设距离分辨率和预设角度分辨率对各点的极坐标数据进行离散化处理;其中,在生成分别以各所述点云块对应的地址编码值为索引的文件时,使用经离散化处理后的极坐标数据生成分别以各所述点云块对应的地址编码值为索引的文件。
在其中一些实施例中,生成分别以各所述点云块对应的地址编码值为索引的文件包括:将各所述点云块中各点的极坐标数据存储为以各所述点云块对应的地址编码值为索引的预设格式的文件,其中,所述预设格式的文件包括文件头和数据段,所述文件头中存储的信息包括:所述点云块的偏移值、与矢量地图关联的道路ID值以及所述数据段中点云的数量,所述数据段中存储的信息包括以二进制形式存储的所述点云块的极坐标数据。
第二方面,本申请实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行第一方面所述的激光点云处理方法。
第三方面,本申请实施例提供了一种存储介质,所述存储介质中存储有 计算机程序,其中,所述计算机程序被设置为运行时执行第一方面所述的激光点云处理方法。
第四方面,本申请实施例提供了一种运行指令的芯片,所述芯片包括存储器、处理器,所述存储器中存储代码和数据,所述存储器与所述处理器耦合,所述处理器运行所述存储器中的代码使得所述芯片用于执行第一方面所述的激光点云处理方法。
第五方面,本申请实施例提供了一种包含指令的程序产品,当所述程序产品在计算机上运行时,使得所述计算机执行第一方面所述的激光点云处理方法。
第六方面,本申请实施例提供了一种计算机程序,当所述计算机程序被处理器执行时,用于执行第一方面所述的激光点云处理方法。
相比于相关技术,本申请实施例提供的激光点云处理方法、电子装置和存储介质,解决了相关技术中激光点云定位图层占用的存储空间大的问题,降低了激光点云定位图层占用的存储空间。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的车载终端的硬件结构框图;
图2是根据本申请实施例的激光点云处理方法的流程图;
图3是根据本申请优选实施例的激光点云处理方法的流程图;
图4是根据本申请优选实施例的在点云侧视图上进行高程分割的示意图;
图5是根据本申请优选实施例的对图4所示的点云进行高程分割后得到的点云的示意图;
图6是根据本申请优选实施例的对图5所示的点云进行下采样后得到的点云的示意图;
图7是根据本申请优选实施例的geo-grids的示意图;
图8是根据本申请优选实施例的极坐标的示意图;
图9是根据本申请优选实施例的文件的数据存储结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指大于或者等于两个。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。 本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本实施例提供的方法实施例可以在终端、计算机或者类似的运算装置中执行,尤其是运行在车载的终端设备上。以运行在车载终端上为例,图1是本发明实施例的车载终端的硬件结构框图。如图1所示,该车载终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104。
可选地,上述车载终端还可以包括用于通信功能的传输设备106以及输入输出设备108。其中,输入输出设备108包括但不限于以下至少之一:用于采集点云的摄像头和/或激光雷达;用于显示路况信息的显示器;用于输入操作指令的键盘、触摸板和/或鼠标;用于发出声光报警的报警器等。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述车载终端的结构造成限定。例如,车载终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的激光点云处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至车载终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括车载终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
本实施例提供了一种激光点云处理方法,图2是根据本申请实施例的激光点云处理方法的流程图,如图2所示,该流程包括如下步骤:
步骤S201,获取第一点云和与第一点云对应的车辆轨迹。
在本实施例中,第一点云可以基于相关技术中的任意点云采集方法得到,例如通过车辆端的激光雷达采集得到原始点云,然后对原始点云进行同步定位与建图(Simultaneous Localization And Mapping,简称为SLAM)处理后得到上述第一点云。本实施例中与第一点云对应的车辆轨迹可以通过车辆端的传感器(例如转速传感器、轮速传感器等)、惯性导航设备等采集,并经过轨迹算法得到的与第一点云处于相同参考坐标系的车辆轨迹,该相同参考坐标系可以为笛卡尔坐标系,也可以为其他坐标系,例如极坐标系等。通过上述方式,可以分别得到第一点云的坐标数据和车辆轨迹的坐标数据。
步骤S202,从第一点云中提取第二点云,其中,第二点云中各点距车辆轨迹的高度不大于预设高度。
在本实施例中,通过高程切割去除掉相对于车辆轨迹的高度大于预设高度的点云,减小点云的大小。其中,预设高度是根据经验或者试验测试结果选取的。在地面之上预设高度之内的非地面点云是保证定位精度的其中一个方面,而车辆轨迹在正常情况下位于地面,因此,在本实施例中保留相对于车辆轨迹的高度不大于预设高度的点云,以保障定位精度。
在其中一些实施例中,预设高度可以选取为3米。需要说明的是,预设高度的取值还可以是其他值,例如其取值范围可以是大于2.5米且小于5米的其他值。
计算点云到车辆轨迹的高度有多种计算方法,亦可以在任意参考坐标系之下计算。为了简化计算过程,在本实施例中在站心坐标系下计算点云到车辆轨迹的高度。其中,站心坐标系也叫东-北-天(ENU)坐标系。
在一些实施例中,车辆轨迹的坐标数据和第一点云的坐标数据均采用笛卡尔坐标系下的坐标数据来表示。为了简化步骤S202中高度计算的运算过程,在其中一些实施例中,可以将车辆轨迹的坐标数据和第一点云的坐标数据由笛卡尔坐标系转换到站心坐标系。
例如,将第一点云中各点的坐标数据和车辆轨迹的坐标数据转换到站心坐标系;根据第一点云中各点在站心坐标系下的坐标数据和车辆轨迹在站心坐标系下的坐标数据计算第一点云中各点距车辆轨迹的高度,然后删除第一点云中距车辆轨迹的高度不大于预设高度的点,得到第二点云。站心坐标系下的点采用东-北-天(E-N-U)三个参数来表示点的位置,其中U为天向坐标 数据。由于在站心坐标系下计算两个位置的高度差只需要对这两个位置的天向坐标数据作差,因此简化了高度计算。
在其中一些实施例中,车辆轨迹包括按照预设间隔分布的多个车辆轨迹点;在步骤S202中,可以获取第一点云中各点的站心坐标数据和多个车辆轨迹点的站心坐标数据;根据第一点云中各点的站心坐标数据和多个车辆轨迹点的站心坐标数据,确定与第一点云中各点距离最近的车辆轨迹点,并以该距离最近的车辆轨迹点为基准确定第一点云中各点距车辆轨迹的高度;提取第一点云中距车辆轨迹的高度不大于预设高度的点,得到第二点云。
其中,站心坐标系的天向与道路的法向平行,因此分别以距第一点云中各点最近的车辆轨迹点为原点建立的站心坐标系中,点的天向坐标数据即为点距车辆轨迹的高度值,从而简化了计算高度的运算过程。并且,在上述实施例中,通过以距点最近的车辆轨迹点为基准计算点云距车辆轨迹的高度,可以避免道路坡度、曲率变化对站心坐标转换后的道路法向量不平行于站心坐标天向导致的运算误差。
在其中一些实施例中,在上述步骤S202中,可以先从第一点云中提取由距车辆轨迹的高度不大于预设高度的点组成的第三点云,然后再对第三点云进行下采样处理,得到第二点云。通过对第三点云进行下采样处理得到的第二点云减少了点云中点的数量,同时能够保持点云的形状特征。
在第三点云中,地面点云和非地面点云对定位精度的影响程度存在差异,非地面点云对定位精度的影响相对更大一些,因此,在一些实施例中,可以对地面点云和非地面点云进行采样率不同的下采样,且非地面点云的采样率大于地面点云的采样率。
为了快速区分第三点云中的地面点云和非地面点云,在本实施例中,将第三点云分成具有相同尺寸的多个体素块;判断各体素块中的点云是否分布在相同平面;在判断到体素块中的点云分布在相同平面的情况下,判断体素块中的点云分布的平面距车辆轨迹的高度是否不大于预设距离;在判断到体素块中的点云分布的平面距车辆轨迹的高度不大于预设距离的情况下,确定体素块中的点云属于地面点云;在判断到体素块中的点云未分布在相同平面,或者判断到体素块中的点云分布的平面距车辆轨迹的高度大于预设距离的情况下,确定体素块中的点云属于非地面点云。通过上述方式,实现了对第三点云中地面点云和非地面点云的识别,并且基于体素块的识别提高了识别效 率。
其中,可以通过相同体素块中各点之间的高度差是否在预设距离之内来判断多个体素块中各体素块中的点云是否分布在相同平面。其中,若各点之间的高度差均不大于预设距离,则可以认为该体素块中各点分布在相同平面;否则则认为该体素块中各点分布没有分布在相同平面。
上述的体素块的尺寸例如可以选取为10cm×10cm×10cm,或者20cm×20cm×20cm,或者其他值。体素块也可以不是正方体,例如上述的体素块的尺寸也可以选取为20cm×20cm×10cm或者其他值。上述的预设距离可以选取为5cm、10cm、20cm或者其他值。上述的预设高度差可以选取为5cm、6cm或者其他值。
对点云进行下采样处理有多种方式,在本实施例可以通过体素化网格方法结合重心法实现下采样。例如,将地面点云按照预设尺寸的网格分成多个体素块,并将体素块中的每个点视为相等重量的物质,然后根据体素块中点的分布情况确定每个体素块中点云的重心的位置;然后,在每个体素块中,仅保留距离该重心位置最近的一个点,或者在该重心位置生成一个新的点。通过这样的方式,在每个体素块中仅保留一个点而代替之前的点云,实现对点云的下采样。对非地面点云,也采用与地面点云相同的方式进行下采样处理。
根据上述描述的体素化网格方法结合重心法实现下采样的描述可知,点云的采样率与点云被分成的体素块的尺寸有关。尺寸越小,则点云被分成的体素块越多,采样率也就越高。因此,体素块的尺寸与采样率呈反比例关系。
在上述实施例中,在对点云进行下采样时,可以将地面点云按照第一预设尺寸的网格分成多个体素块,将非地面点云按照第二预设尺寸的网格分成多个体素块,且按照第一预设尺寸分成的体素块大于按照第二预设尺寸分成的体素块,以使得非地面点云的采样率大于地面点云的采样率。
步骤S203,对第二点云中的各点进行地址编码,根据地址编码得到的各点的地址编码值将第二点云中的各点分组为多个点云块。
在本实施例中的地址编码可以采用geohash编码或者其他类似的编码方式。geohash编码是一种公共领域地理编码方法,该geohash编码将地理位置(经纬度值)编码为一小段字母和数字。其中,geohash编码长度越长则geohash编码值代表的区域越小也越精确,geohash编码长度越短则geohash编码值代 表的区域越大。
在本实施例中,可以以geohash编码长度为8对第二点云进行地址编码,得到的geohash编码值在地理上对应了一个区域,该区域内的点云的点云将被存储在以geohash编码值为索引的文件中。
步骤S204,获取各点云块中的各点的极坐标数据,生成分别以各点云块对应的地址编码值为索引的文件,其中,每个点云块的文件包括点云块中的各点的极坐标数据。
在本步骤中,将第二点云分成多个点云块,将点云块中各点的坐标数据分块存储,从而使得点云的坐标数据可以按照点云块为单位进行数据更新。
例如,查询预先存储的以点云块对应的地址编码值为索引的文件;在查询到以点云块对应的地址编码值为索引的文件的情况下,根据点云块中的各点的极坐标数据生成以点云块对应的地址编码值为索引的更新文件,并使用更新文件替换预先存储的以点云块对应的地址编码值为索引的文件;在未查询到以点云块对应的地址编码值为索引的文件的情况下,根据点云块中的各点的极坐标数据生成文件,并将生成的文件以点云块对应的地址编码值为索引进行存储。
相关技术通常按照笛卡尔坐标系的坐标数据存储点云的坐标数据。在上述步骤S204中可以将点云块中各点的坐标数据从笛卡尔坐标系转换到极坐标系数据中之后,为了进一步减小每个点占用的存储空间,还可以按照预设距离分辨率和预设角度分辨率对各点的极坐标数据进行离散化处理,然后才将离散化处理后的极坐标数据存储到以各点云块对应的地址编码值为索引的文件中。
在上述步骤S204中生成分别以各点云块对应的地址编码值为索引的文件时,可以将各点云块中各点的极坐标数据存储为以各点云块对应的地址编码值为索引的预设格式的文件,其中,预设格式的文件包括文件头和数据段,文件头中存储的信息包括:点云块的偏移值、与矢量地图关联的道路ID值以及数据段中点云的数量,数据段中存储的信息包括以二进制形式存储的点云块的极坐标数据。
通过上述步骤S201至步骤S204,通过对采集到的点云进行高程切割、降采样、极坐标离散化中的一种或者多种处理后,再将点云的极坐标数据存储在以地址编码值为索引的文件中,解决了相关技术中激光点云定位图层占用 的存储空间大的问题,降低了激光点云定位图层占用的存储空间。
下面通过优选实施例对本申请的激光点云处理方法进行描述和说明。
图3是根据本申请优选实施例的激光点云处理方法的流程图。图3示出的流程图是图2所示流程图的一种变形形式。
如图3所示,本优选实施例的激光点云处理方法包括下列步骤:
步骤S301,获取原始点云的点云以及车辆轨迹,其中,车辆轨迹包括按照预设间隔分布的多个车辆轨迹点;根据第一点云和多个车辆轨迹点的数据,对原始点云进行高度裁剪。
步骤S302,将高度裁剪后得到的点云进行地面及非地面的分割,针对不同分割区域进行各自下采样。
步骤S303,将下采样后的点云中各点进行地址编码,然后根据地址编码值对点云进行分区(geo-grid)存储操作,每个分区内的点云存储为一个临时点云。
步骤S304,将处理好的临时点云按极坐标格式压缩并存成以地址编码值为索引的文件。
其中,步骤S301中,经SLAM处理后的点云有较高的相对精度以及绝对精度。该点云以及其对应的车辆轨迹作为输入数据。图4是根据本申请优选实施例的在点云侧视图上进行高程分割的示意图,在图4中展示了点云的侧视图,其中虚线箭头所指向的圆点以及其他类似的圆点为按10米抽稀的车辆轨迹点。
这里的点云可以是通过车辆端的激光雷达采集的原始点云经过SLAM处理后的点云,车辆轨迹点可以是通过车辆端的惯性测量单元(Inertial Measurement Unit,简称为IMU)、惯性导航设备等采集的原始数据经过轨迹算法得到的车辆轨迹点。
继续参考图4,步骤S301包括如下步骤:
步骤S3011,计算原始点云中各点的最邻近的车辆轨迹点。
步骤S3012,保留距地面距离小于3米的点云。
在本实施例中,可以在将点和车辆轨迹(记为TRA)转换到站心坐标系后,为每个点云中的点(记为pt n)搜索距离其最近的车辆轨迹点(记为TRA 1stNN)。以车辆轨迹点TRA 1stNN为基准,计算各点pt n距离地面距离h, 并保留h<3米的点,其中,车辆轨迹是指在地面形成的行车轨迹线,点pt n距离地面的距离h即为点pt n距离车辆轨迹TRA的高度。
距离h的计算公式如下:
h=(pt n-TRA 1stNN)*(0,0,1) T,
其中,(0,0,1) T表示天向的单位向量。
在本实施例中,选取距离点pt n最近的车辆轨迹点TRA 1stNN作为计算基准,可以有效避免道路坡度曲率变化对站心坐标转换后的道路法向量不平行于站心坐标z轴的问题。图5是根据本申请优选实施例的对图4所示的点云进行高程分割后得到的点云的示意图,通过上述步骤S301切割后的点云如图5所示。
在其中一些实施例中,步骤S302包括如下步骤:
步骤S3021,将高度裁剪后得到的点云分割成地面点云和非地面点云。
在下采样之前,对步骤S301输出的点云进行地面点和非地面点分割。为快速完成分割操作,本发明将点云分成三维体素块,每个体素块中所有点z值的分布范围小于5厘米,即可认为该体素中的点云属于平面。同时使用TRA 1stNN约束地面高度,即可快速对分割出地面点和非地面点。
步骤S3022,判断当前处理的点云是否属于地面点云,若是则执行步骤S3023,否则执行步骤S3024。
步骤S3023,将当前处理的点云分割成长宽高分别为0.6cm×0.6cm×0.6cm的体素块,进行下采样处理。
步骤S3024,将当前处理的点云分割成长宽高分别为0.3cm×0.3cm×0.4cm的体素块,进行下采样处理。
在本实施例中,针对地面点云和非地面点云采用不同的采样率进行下采样。其中,针对地面点云,设置体素块的大小leaf size为0.6cm×0.6cm×0.6cm进行下采样操作。这里的0.6cm×0.6cm×0.6cm表示体素块的三个边长。即在0.6cm×0.6cm×0.6cm的空间中只保留一个原始点云的点,或者用体素块中所有点的重心来近似表示体素中其他点,这样该体素就内所有点就用一个重心点最终表示。
针对非地面点云,设置leaf size为0.3cm×0.3cm×0.4cm进行下采样,非地面点是定位结果中除高程之外5个自由度(DoF)的主要精度保证,所以对其下采样时保留的点比地面点多。图6是根据本申请优选实施例的对图5所 示的点云进行下采样后得到的点云的示意图,将地面点云和非地面点云分别进行下采样后,再将其融合成一个点云,则得到图6所示的点云。此时每公里的存储量大约为15mb。
下采样操作可以保留地面场景对定位结果中高程的估计精度,大量减少了点云数量并同时保持点云的形状特征,在提高配准、曲面重建、形状识别等算法速度中非常实用。
步骤S3025,合并下采样后的地面点云和非地面点云。
在本实施例中,将对切割后的点云进行下采样操作,下采样的目的是在不改变点云原始物理结构的前提下,减少点云中点的数量,保证定位精度的同时,能够提升输入输出点云的速度并减少点云的存储空间。
在其中一些实施例中,采用geohash编码对点云块进行地址编码。其中,步骤S303包括如下步骤:
步骤S3031,将合并后得到的点云块进行geohash编码。
其中,针对步骤S302输出的下采样后点云,将每个点转换为GPS位置信息,并对其进行哈希编码,不同长度的哈希编码代表了一点范围之内的地理位置区域。在本实施例中,取geohash编码长度为N=8,代表每个用来存储点云的区域大小为(38.2m×19m)的地理栅格(geo-grid)。即每个点云点转换成N=8的geohash编码,从而确定该点属于哪个点云块。
在某条道路上采集数据,经过上述处理后的点云按照不同geo-grid仿真,整条道路所在的区域按照38.2m×19m大小分成了多个矩形框的组合,点云分配到不同的矩形框中,并按不同灰度值展示。在图7的左图中展示了由多个较小的地理栅格(geo-grid)拼接而成的大的地理栅格的示意图,在该图7中示出一条道路所在区域内的所有的点云。图7的右图是对左图中局部区域的放大图像,右图中的虚线框区域代表了一个38.2m×19m的地理区域,其中虚线框的索引是当前geo-grid对应的geohash编码值。
通过步骤S3031可以快速地确定点云地图的分块范围,该分块范围同时也是之后做点云地图变化更新的最小单位。
步骤S3032,按照geohash编码值为索引查询存储系统的文件,判断存储点云的文件是否存在,如果不存在,则执行步骤S304,如果存在,则执行步骤S3033。
步骤S3033,判断点云是否属于当前采集工程,若是,则执行步骤S3034, 若否,则执行步骤S3035。
步骤S3034,读取已存储的以该geohash编码值为索引的文件,并确定将点云合并至该文件中。
步骤S3035,删除存储系统中以该geohash编码值为索引的文件。
在上述步骤中,在生成存储点云的文件时,例如,可以首先生成存储点云的文件,该文件以点云对应的geohash编码值为索引,并标记该文件属于当前采集工程新建的文件,然后将待写入该文件中的点云写入到该文件中。通过上述的方式,在同一个采集工程中可以并行生成和存储多个geohash编码值为索引的文件,提高点云存储的速度。
在步骤S3033至步骤S3035中包括以下三个存储文件的策略:
策略1):新建。每个点云块将被存储为一个以该geohash编码值为索引的文件。
策略2):替换。如果在该geo-grid对应位置已经存储以该geohash编码值为索引的文件,说明该区域已经被采集过。如果是在之前采集的工程存储的以该geohash编码值为索引的文件,说明本次采集工程对该区域进行了重新采集,那么可以使用本次采集的数据直接替换之前的以该geohash编码值为索引的文件。
策略3)合并。如果该以该geohash编码值为索引的文件是本次采集工程的数据,则将所有本次采集工程在该geo-grid中分配的点云点累积到一起并最终存储。
其中,采集工程是指同一次点云处理流程,在同一次点云处理流程中,由于待存储的点云都是基于当前采集到的点云生成的,如果对应的文件也是在当前采集工程中新建的,则将这些待存储的点云存储到该文件中;如果对应的文件是在历史采集工程中建立的,如果将当前待存储的点云存储到文件中,将会导致新采集的点云被叠加到历史点云之上,导致点云出错,因此在步骤S3035中将会删除对应的文件。在上述步骤S3033至步骤S3035中通过判断点云是否属于当前采集工程并进行对应的处理,不仅提高了点云存储的速度,还能够实现点云按照geo-grid更新,并避免当前点云与历史点云相互叠加导致的数据错误。
在其中一些实施例中,步骤S304包括如下步骤:
步骤S3041,将geo-grid中各点的坐标数据转换到极坐标系。
在上述步骤中,如果geo-grid中点云中各点的坐标数据不是以极坐标系表示的,则将geo-grid中点云的每个点转换到极坐标系表示。例如,三维空间中的一个点pt在笛卡尔坐标系下,如果以PointXYZI格式来表示点pt,则点pt的坐标数据包括:双精度浮点型的pt.x,双精度浮点型的pt.y,双精度浮点型的pt.z,整型的pt.intensity,其中,pt.x、pt.y、pt.z分别为点pt的x、y、z轴的坐标值,pt.intensity为点pt的灰度值。由于每个双精度浮点型数据存储需要占用8字节存储空间,每个整型数据存储需要占用4字节存储空间,因此,一个笛卡尔坐标系下的坐标数据中每个三维空间中的点需要占28字节的存储空间。
如图8所示,在其中一些实施例中,为减少坐标数据占用的存储空间,设某个点云的中心点为极坐标系的原点(称为offset点,即偏移点),并将该点云中每个点pt按照极坐标表示,即使用距离d,垂角β,旋转角α表示。然后按照距离分辨率(rd)以及角度分辨率(ra)对(d,α,β)离散化。公式如下:
Figure PCTCN2021105269-appb-000001
Figure PCTCN2021105269-appb-000002
如果选择rd=0.004,即d′每加1,代表距离增加0.004米。若设置d′为无符号短整型(unsigned short),每个无符号短整型数据占用3字节存储空间,则其最远能够表示260米。同理,如果选择ra=0.006,则可以设置角度α′,β′为短整型(short),每个短整型数据占用3字节存储空间。由于点云的灰度值的取值范围为0-255,设置为无符号字符型(unsigned char),每个无符号字符型数据占用1字节存储空间,即可满足点云的灰度值取值范围要求。经极坐标转换后,每个点占用7字节的存储空间。
将geo-grid中每个点都按照极坐标转换,并以二进制形式将转换得到的极坐标数据的d′,α′,β′存储到以相应的geohash编码值为索引的文件中。
步骤S3042,将geo-grid与相关地图数据进行关联,并将geo-grid中点云 的点云存储为以相应的geohash编码值为索引的文件。
在图9中示出了点云被存储为的文件的文件结构,如图9所示,由于在极坐标系中表示点云块的各点位置时,设置点云块的中心位置为极坐标系的offset点,在极坐标系的极轴选取为自offset点引出的设定的射线(例如水平向右的射线)。该极坐标系的offset点在世界坐标系中的坐标数据与极轴决定了点云块中各点的极坐标数据,因此,在极轴方向事先约定的情况下,在以相应的geohash编码值为索引的文件中可以在文件的文件头(header)中存储该offset点的坐标数据。上述的世界坐标系是指系统的绝对坐标系,在该坐标系中能够表示所有点云中的点的空间位置关系,也能够表示所有geo-grid之间的空间位置关系。
此外,在将矢量地图与点云关联时,该geo-grid对应的矢量地图中的道路ID值(roadID)、点云块的偏移值(即上述的offset点在世界坐标系中的值)以及点云块中点云的数量(pointNum)等信息也可以写入到文件头header中;点云块中各点的极坐标数据则可以以二进制的形式依次写入到文件头header之后的数据段points中,最后使用N=8的geohash编码值对该文件进行命名,以索引该文件。由于每个文件只需记录一组header值,所以文件头占用的空间可忽略。通过上述处理,每公里的点云占用的存储空间大约为4mb。
上述的以geohash编码值为索引的文件可以存储为预先设定的文件格式,例如存储为后缀为fmp的文件格式。但是需要说明的是,点云最终被存储成的文件的结构及其后缀并不限于此,即可以根据需要生成任意已知格式或私有格式用来存储点云。
通过上述优选实施例,针对激光定位图层的生成、存储以及更新设计了特有的基于原始点云去噪、降采样、分区处理后的存储方式。在上述实施例中,经过对采集到的点云及车辆轨迹的坐标数据进行SLAM处理后,对其生成的拼接点云进行高程切割、降采样;并按照geohash编码方式将处理后的点云分别存储到不同geo-grid中;根据geohash编码来确定geo-grid中的点云将以新建、合并或替换的方式,以极坐标二进制的格式落盘存储。上述实施例能够保证在世界坐标系下快速定位存储位置,并进行点云图层生成,同时节约了存储空间。
本实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法 实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取第一点云和与第一点云对应的车辆轨迹。
S2,从第一点云中提取第二点云,其中,第二点云中各点距车辆轨迹的高度不大于预设高度。
S3,对第二点云中的各点进行地址编码,根据地址编码得到的各点的地址编码值将第二点云中的各点分组为多个点云块。
S4,获取各点云块中的各点的极坐标数据,生成分别以各点云块对应的地址编码值为索引的文件,其中,每个点云块的文件包括点云块中的各点的极坐标数据。
需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
另外,结合上述实施例中的激光点云处理方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种激光点云处理方法。
本申请实施例还提供一种运行指令的芯片,所述芯片包括存储器、处理器,所述存储器中存储代码和数据,所述存储器与所述处理器耦合,所述处理器运行所述存储器中的代码使得所述芯片用于执行上述实施例中的任意一种激光点云处理方法。
本申请实施例还提供一种包含指令的程序产品,所述程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中,至少一个处理器可以从所述计算机可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序时可实现上述实施例中的任意一种激光点云处理方法。
本申请实施例还提供一种计算机程序,当所述计算机程序被处理器执行时,用于执行上述实施例中的任意一种激光点云处理方法。
本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是 本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (13)

  1. 一种激光点云处理方法,其特征在于包括:
    获取第一点云和与所述第一点云对应的车辆轨迹;
    从所述第一点云中提取第二点云,其中,所述第二点云中各点距所述车辆轨迹的高度不大于预设高度;
    对所述第二点云中的各点进行地址编码,根据地址编码得到的各点的地址编码值将所述第二点云中的各点分组为多个点云块;
    获取各所述点云块中的各点的极坐标数据,生成分别以各所述点云块对应的地址编码值为索引的文件,其中,每个所述点云块的文件包括所述点云块中的各点的极坐标数据。
  2. 根据权利要求1所述的激光点云处理方法,其特征在于,所述车辆轨迹包括按照预设间隔距离分布的多个车辆轨迹点;从所述第一点云中提取第二点云包括:
    获取所述第一点云中各点的站心坐标数据和多个所述车辆轨迹点的站心坐标数据;
    根据所述第一点云中各点的站心坐标数据和多个所述车辆轨迹点的站心坐标数据,确定与所述第一点云中各点距离最近的车辆轨迹点,并以该距离最近的车辆轨迹点为基准确定所述第一点云中各点距所述车辆轨迹的高度;
    提取所述第一点云中距所述车辆轨迹的高度不大于所述预设高度的点,得到所述第二点云。
  3. 根据权利要求1所述的激光点云处理方法,其特征在于,从所述第一点云中提取第二点云包括:
    从所述第一点云中提取由距所述车辆轨迹的高度不大于预设高度的点组成的第三点云;
    对所述第三点云进行下采样处理,得到所述第二点云。
  4. 根据权利要求3所述的激光点云处理方法,其特征在于,对所述第三点云进行下采样处理,得到所述第二点云包括:
    将所述第三点云分割为地面点云和非地面点云;
    对所述地面点云和所述非地面点云分别采用不同采样率进行下采样处理,其中,下采样处理所述地面点云的采样率小于下采样处理所述非地面点云的 采样率。
  5. 根据权利要求4所述的激光点云处理方法,其特征在于,将所述第三点云分割为地面点云和非地面点云包括:
    将所述第三点云分成具有相同尺寸的多个体素块;
    判断各所述体素块中的点云是否分布在相同平面;
    在判断到所述体素块中的点云分布在相同平面的情况下,判断所述体素块中的点云分布的平面距所述车辆轨迹的高度是否不大于预设距离;
    在判断到所述体素块中的点云分布的平面距所述车辆轨迹的高度不大于所述预设距离的情况下,确定所述体素块中的点云属于所述地面点云;
    在判断到所述体素块中的点云未分布在相同平面,或者判断到所述体素块中的点云分布的平面距所述车辆轨迹的高度大于所述预设距离的情况下,确定所述体素块中的点云属于所述非地面点云。
  6. 根据权利要求1所述的激光点云处理方法,其特征在于,生成分别以各所述点云块对应的地址编码值为索引的文件包括:
    查询预先存储的以所述点云块对应的地址编码值为索引的文件;
    在查询到以所述点云块对应的地址编码值为索引的文件的情况下,根据所述点云块中的各点的极坐标数据生成以所述点云块对应的地址编码值为索引的更新文件,并使用所述更新文件替换预先存储的以所述点云块对应的地址编码值为索引的文件;
    在未查询到以所述点云块对应的地址编码值为索引的文件的情况下,根据所述点云块中的各点的极坐标数据生成文件,并将生成的文件以所述点云块对应的地址编码值为索引进行存储。
  7. 根据权利要求1所述的激光点云处理方法,其特征在于,在获取各所述点云块中的各点的极坐标数据之后,所述方法还包括:
    按照预设距离分辨率和预设角度分辨率对各点的极坐标数据进行离散化处理;其中,在生成分别以各所述点云块对应的地址编码值为索引的文件时,使用经离散化处理后的极坐标数据生成分别以各所述点云块对应的地址编码值为索引的文件。
  8. 根据权利要求1所述的激光点云处理方法,其特征在于,生成分别以各所述点云块对应的地址编码值为索引的文件包括:
    将各所述点云块中各点的极坐标数据存储为以各所述点云块对应的地址 编码值为索引的预设格式的文件,其中,所述预设格式的文件包括文件头和数据段,所述文件头中存储的信息包括:所述点云块的偏移值、与矢量地图关联的道路ID值以及所述数据段中点云的数量,所述数据段中存储的信息包括以二进制形式存储的所述点云块的极坐标数据。
  9. 一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至8中任一项所述的激光点云处理方法。
  10. 一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至8中任一项所述的激光点云处理方法。
  11. 一种运行指令的芯片,其特征在于,所述芯片包括存储器、处理器,所述存储器中存储代码和数据,所述存储器与所述处理器耦合,所述处理器运行所述存储器中的代码使得所述芯片用于执行权利要求1至8中任一项所述的激光点云处理方法。
  12. 一种包含指令的程序产品,其特征在于,当所述程序产品在计算机上运行时,使得所述计算机执行权利要求1至8中任一项所述的激光点云处理方法。
  13. 一种计算机程序,其特征在于,当所述计算机程序被处理器执行时,用于执行权利要求1至8中任一项所述的激光点云处理方法。
PCT/CN2021/105269 2020-10-21 2021-07-08 激光点云处理方法、电子装置和存储介质 WO2022083178A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011130333.8A CN112417965B (zh) 2020-10-21 2020-10-21 激光点云处理方法、电子装置和存储介质
CN202011130333.8 2020-10-21

Publications (1)

Publication Number Publication Date
WO2022083178A1 true WO2022083178A1 (zh) 2022-04-28

Family

ID=74841620

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/105269 WO2022083178A1 (zh) 2020-10-21 2021-07-08 激光点云处理方法、电子装置和存储介质

Country Status (2)

Country Link
CN (1) CN112417965B (zh)
WO (1) WO2022083178A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114862808A (zh) * 2022-05-18 2022-08-05 亿咖通(湖北)技术有限公司 虚线框精度的确定方法、装置、设备及存储介质
CN115171376A (zh) * 2022-06-27 2022-10-11 广州小鹏汽车科技有限公司 地图数据处理方法、服务器和存储介质
CN115601272A (zh) * 2022-12-16 2023-01-13 海纳云物联科技有限公司(Cn) 点云数据处理方法、装置及设备
US20230196611A1 (en) * 2021-12-22 2023-06-22 Aptiv Technologies Limited Feature describing the shape of spatially distributed data set
CN117456131A (zh) * 2023-12-26 2024-01-26 深圳市信润富联数字科技有限公司 缺陷场景下点云的降采样方法及装置
CN117710244A (zh) * 2024-02-05 2024-03-15 湖南裕工新能科技有限公司 一种车载装配物料对位智能检测方法及系统
CN118154676A (zh) * 2024-05-09 2024-06-07 北京理工大学前沿技术研究院 一种基于激光雷达的场景定位方法和系统

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112417965B (zh) * 2020-10-21 2021-09-14 湖北亿咖通科技有限公司 激光点云处理方法、电子装置和存储介质
CN112843700B (zh) * 2021-03-05 2022-08-19 腾讯科技(深圳)有限公司 地形图像的生成方法、装置、计算机设备和存储介质
CN114299240A (zh) * 2021-12-20 2022-04-08 重庆市勘测院 一种基于距离阈值的并行点云抽稀方法
CN117437602B (zh) * 2023-12-21 2024-03-22 广州天奕技术股份有限公司 一种双图层数据标定方法、装置、设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111144211A (zh) * 2019-08-28 2020-05-12 华为技术有限公司 点云显示方法和装置
US20200234491A1 (en) * 2019-01-18 2020-07-23 Unikie Oy System for generating point cloud map and method therefor
CN111696159A (zh) * 2020-06-15 2020-09-22 湖北亿咖通科技有限公司 激光里程计的特征存储方法、电子设备和存储介质
CN112417965A (zh) * 2020-10-21 2021-02-26 湖北亿咖通科技有限公司 激光点云处理方法、电子装置和存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9098754B1 (en) * 2014-04-25 2015-08-04 Google Inc. Methods and systems for object detection using laser point clouds
CN105184852B (zh) * 2015-08-04 2018-01-30 百度在线网络技术(北京)有限公司 一种基于激光点云的城市道路识别方法及装置
AU2016430712B2 (en) * 2016-11-25 2022-08-25 Auto Drive Solutions S.L. Encoded surfaces that are read by three-dimensional radar imaging systems
TWI625700B (zh) * 2017-09-15 2018-06-01 財團法人金屬工業研究發展中心 用於點雲資料貼合之冗餘點偵測方法
CN110163065B (zh) * 2018-12-04 2022-03-25 腾讯科技(深圳)有限公司 点云数据处理方法、点云数据加载方法、及装置和设备
CN111368605B (zh) * 2018-12-26 2023-08-25 易图通科技(北京)有限公司 车道线提取方法及装置
CN111462275B (zh) * 2019-01-22 2024-03-05 北京京东乾石科技有限公司 一种基于激光点云的地图生产方法和装置
CN110221616A (zh) * 2019-06-25 2019-09-10 清华大学苏州汽车研究院(吴江) 一种地图生成的方法、装置、设备及介质
CN110297924A (zh) * 2019-06-26 2019-10-01 深圳飞马机器人科技有限公司 点云数据的处理及渲染方法、装置、设备及存储介质
CN110967024A (zh) * 2019-12-23 2020-04-07 苏州智加科技有限公司 可行驶区域的检测方法、装置、设备及存储介质
CN111223107A (zh) * 2019-12-31 2020-06-02 武汉中海庭数据技术有限公司 基于点云深度学习的点云数据集制作系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200234491A1 (en) * 2019-01-18 2020-07-23 Unikie Oy System for generating point cloud map and method therefor
CN111144211A (zh) * 2019-08-28 2020-05-12 华为技术有限公司 点云显示方法和装置
CN111696159A (zh) * 2020-06-15 2020-09-22 湖北亿咖通科技有限公司 激光里程计的特征存储方法、电子设备和存储介质
CN112417965A (zh) * 2020-10-21 2021-02-26 湖北亿咖通科技有限公司 激光点云处理方法、电子装置和存储介质

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230196611A1 (en) * 2021-12-22 2023-06-22 Aptiv Technologies Limited Feature describing the shape of spatially distributed data set
US11699245B1 (en) * 2021-12-22 2023-07-11 Aptiv Technologies Limited Feature describing the shape of spatially distributed data set
CN114862808B (zh) * 2022-05-18 2023-11-17 亿咖通(湖北)技术有限公司 虚线框精度的确定方法、装置、设备及存储介质
CN114862808A (zh) * 2022-05-18 2022-08-05 亿咖通(湖北)技术有限公司 虚线框精度的确定方法、装置、设备及存储介质
CN115171376A (zh) * 2022-06-27 2022-10-11 广州小鹏汽车科技有限公司 地图数据处理方法、服务器和存储介质
CN115171376B (zh) * 2022-06-27 2024-01-05 肇庆小鹏新能源投资有限公司广州分公司 地图数据处理方法、服务器和存储介质
CN115601272B (zh) * 2022-12-16 2023-04-11 海纳云物联科技有限公司 点云数据处理方法、装置及设备
CN115601272A (zh) * 2022-12-16 2023-01-13 海纳云物联科技有限公司(Cn) 点云数据处理方法、装置及设备
CN117456131A (zh) * 2023-12-26 2024-01-26 深圳市信润富联数字科技有限公司 缺陷场景下点云的降采样方法及装置
CN117456131B (zh) * 2023-12-26 2024-05-24 深圳市信润富联数字科技有限公司 缺陷场景下点云的降采样方法及装置
CN117710244A (zh) * 2024-02-05 2024-03-15 湖南裕工新能科技有限公司 一种车载装配物料对位智能检测方法及系统
CN117710244B (zh) * 2024-02-05 2024-04-26 湖南裕工新能科技有限公司 一种车载装配物料对位智能检测方法及系统
CN118154676A (zh) * 2024-05-09 2024-06-07 北京理工大学前沿技术研究院 一种基于激光雷达的场景定位方法和系统

Also Published As

Publication number Publication date
CN112417965B (zh) 2021-09-14
CN112417965A (zh) 2021-02-26

Similar Documents

Publication Publication Date Title
WO2022083178A1 (zh) 激光点云处理方法、电子装置和存储介质
EP3486608B1 (en) Method and apparatus for providing a tile-based digital elevation model
JP2020035448A (ja) 3次元シーンマップの生成方法、生成装置、機器および記憶媒体
US9222786B2 (en) Methods and systems for creating digital transportation networks
KR20190082062A (ko) 포인트 클라우드 데이터 사이의 매칭 관계를 확정하는 방법 및 장치
CN110914777A (zh) 用于自主车辆的高清地图以及路线存储管理系统
JP2019179021A (ja) 地図生成及び移動主体の位置決めの方法及び装置
CN110869981A (zh) 用于自主车辆的高清晰度地图数据的向量数据编码
CN108763287A (zh) 大规模可通行区域驾驶地图的构建方法及其无人驾驶应用方法
US10504283B2 (en) Method and apparatus for regularizing building footprints using taxicab distance
CN114930122B (zh) 用于更新数字道路地图的方法和处理器电路
CN112305559A (zh) 基于地面定点激光雷达扫描的输电线距离测量方法、装置、系统和电子设备
WO2022237821A1 (zh) 生成交通标志线地图的方法、设备和存储介质
WO2021236006A1 (en) Route deviation quantification and vehicular route learning based thereon
CN115494533A (zh) 车辆定位方法、装置、存储介质及定位系统
KR102408981B1 (ko) Nd 맵 생성방법 및 그를 활용한 맵 업데이트 방법
US20220292091A1 (en) Method, apparatus, and system for compression of sparse data for machine learning tasks
CN113838129A (zh) 一种获得位姿信息的方法、装置以及系统
CN114543788B (zh) 结构非结构环境通用的多层全局感知地图构建方法及系统
CN112507977B (zh) 一种车道线定位方法、装置及电子设备
CN110660133A (zh) 电子地图的三维抽稀方法和装置
CN109947884B (zh) 一种全球ICESat/GLAS点云的高效组织查询方法
CN108416044A (zh) 场景缩略图的生成方法、装置、电子设备及存储介质
CN114283397A (zh) 全局重定位方法、装置、设备及存储介质
CN113124816A (zh) 天线工参生成方法、装置、存储介质和计算机设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21881598

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21881598

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 21881598

Country of ref document: EP

Kind code of ref document: A1