A PCD point cloud map-based incremental extraction method, device and medium

CN122820573APending Publication Date: 2026-09-25WEICHAI POWER CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610897763.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-06-22
Publication Date
2026-09-25

AI Technical Summary

Technical Problem

然而,上述方法大多基于全局进行变化检测,仅适用于小范围变化场景,且普遍假设对比区域完全重合,未能有效处理实际增量更新任务中常见的"部分重叠"与"区域扩展"情形,即更新数据往往仅覆盖基准地图的一部分,同时可能包含超出基准地图范围的新勘测区域,导致在此类非完全重叠场景下检测精度显著下降

Benefits of technology

[0013]本申请通过轴对齐包围盒的快速构建与重叠检测,优先在空间范围层面筛除无重叠数据,避免了后续无效计算,显著提升了处理效率;在此基础上,仅提取重叠区域内的基准点云进行配准,进一步缩减了计算规模,而体素降采样与ICP配准的结合兼顾了速度与对齐精度,为后续变化检测提供了合理的滤波空间;采用KDTree半径搜索执行严格的“几何减法”,以0.40米为判定阈值,精准保留变化或新增点,且能天然处理更新点云超出基准地图边界的扩展区域,无需额外逻辑判断;最后通过形态学滤波去除噪点,并以点云规模阈值判定是否保存结果,避免了微小干扰导致的冗余输出。整体方法逻辑清晰、参数物理意义明确,易于工程实现与调试,具有高可解释性和可控性。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122820573A_ABST
    Figure CN122820573A_ABST
Patent Text Reader

Abstract

The application discloses a kind of based on PCD point cloud map incremental extraction method, equipment and medium, method includes: obtaining the point cloud data of map, point cloud data includes reference point cloud and update point cloud, according to point cloud data determine boundary vertex, according to boundary vertex determine corresponding boundary;The boundary corresponding to reference point cloud and the boundary corresponding to update point cloud are overlapped and detected, to determine the overlapping range, the reference point cloud in overlapping range is extracted, to determine overlapping point cloud;Overlapping point cloud and update point cloud are registered, to obtain transformation matrix, according to transformation matrix update point cloud is transformed to the coordinate system under reference point cloud corresponding;Determine any point in transformed update point cloud, according to pre-set radius determine the determination range corresponding to any point, to determine whether any point is retained according to determination range, if any point is retained, then determine any point as incremental point cloud.The application extracts change increment accurately by fast overlap filtering, registration and neighborhood search.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to an incremental extraction method, device and medium based on PCD point cloud map. Background Technology

[0002] Currently available PCD point cloud map incremental extraction technologies are mainly based on direct geometric comparison. Their core idea is to determine the changed area by checking if the distance changes between points, points to areas, or areas to areas exceed a preset threshold within the same coordinate system. The algorithm typically includes four steps: coarse registration, fine registration, incremental selection, and incremental denoising. Coarse registration roughly aligns the updated point cloud with the reference point cloud, while fine registration aims to provide a basis for calculating changes rather than achieving high-precision registration. Subsequently, incremental changes are extracted based on these changes and denoised to obtain the target point cloud. However, most of these methods are based on global change detection, making them only suitable for small-scale change scenarios. They also generally assume complete overlap between the comparison areas, failing to effectively handle the common "partial overlap" and "regional expansion" scenarios in actual incremental update tasks. This means that the updated data often only covers a portion of the reference map and may include new survey areas beyond the reference map's boundaries, leading to a significant decrease in detection accuracy in such non-completely overlapping scenarios. Summary of the Invention

[0003] To address the aforementioned issues, this application proposes an incremental extraction method based on PCD point cloud maps, comprising: acquiring point cloud data of a map, the point cloud data including a reference point cloud and an updated point cloud; determining boundary vertices based on the point cloud data to determine corresponding boundaries; performing overlap detection on the boundaries corresponding to the reference point cloud and the boundaries corresponding to the updated point cloud to determine the overlap range; extracting the reference point cloud within the overlap range to determine overlapping point clouds; registering the overlapping point clouds and the updated point cloud to obtain a transformation matrix; transforming the updated point cloud to the coordinate system corresponding to the reference point cloud based on the transformation matrix; determining any point in the transformed updated point cloud; determining a judgment range corresponding to the arbitrary point based on a pre-set radius; determining whether the arbitrary point should be retained based on the judgment range; if the arbitrary point is retained, then the arbitrary point is determined to be an incremental point cloud.

[0004] In one example, determining boundary vertices based on the point cloud data, and then determining the corresponding boundaries based on the boundary vertices, specifically includes: determining any axis in the point cloud data, and determining the maximum and minimum values ​​corresponding to the arbitrary axis as the boundary vertices; determining axis-aligned bounding boxes based on the maximum and minimum values ​​corresponding to all axes in the point cloud data, to determine the axis-aligned bounding boxes of the reference point cloud and the updated point cloud; determining the boundary corresponding to the reference point cloud based on the axis-aligned bounding boxes of the reference point cloud, and determining the boundary corresponding to the updated point cloud based on the axis-aligned bounding boxes of the updated point cloud.

[0005] In one example, overlapping detection is performed between the boundary corresponding to the reference point cloud and the boundary corresponding to the updated point cloud. Specifically, this includes: determining the boundary vertices corresponding to any axis in the reference point cloud and the boundary vertices corresponding to any axis in the updated point cloud; determining any axial direction; comparing the boundary vertices of the reference point cloud and the updated point cloud along the arbitrary axial direction; if the maximum value of the reference point cloud along the arbitrary axial direction is less than the minimum value of the updated point cloud, or the minimum value of the reference point cloud is greater than the maximum value of the updated point cloud, then it is determined that there is no overlapping range between the reference point cloud and the updated point cloud; if the maximum value of the reference point cloud along the arbitrary axial direction is greater than the minimum value of the updated point cloud, or the minimum value of the reference point cloud is less than the maximum value of the updated point cloud, then it is determined that there is an overlapping range between the reference point cloud and the updated point cloud; and extracting the portion of the reference point cloud within the overlapping range to determine the overlapping point cloud.

[0006] In one example, registering the overlapping point cloud and the updated point cloud specifically includes: performing voxel downsampling on the overlapping point cloud and the updated point cloud to obtain a sample point cloud; performing point-to-point transformation on the sample point cloud to obtain a transformation matrix; and then transforming the updated point cloud to the coordinate system corresponding to the reference point cloud according to the transformation matrix.

[0007] In one example, determining whether to retain the arbitrary point based on the determination range specifically includes: determining whether there is a reference point cloud in the determination range corresponding to the arbitrary point; if there is at least one reference point cloud in the determination range corresponding to the arbitrary point, it is determined that there has been no change in the determination range, and the arbitrary point is removed; if there is no reference point cloud in the determination range corresponding to the arbitrary point, it is determined that there has been a change in the determination range, and the arbitrary point is retained.

[0008] In one example, after determining that any point is an incremental point cloud, the method further includes: filtering the incremental point cloud, determining the point cloud size of the filtered incremental point cloud, comparing the point cloud size with a preset threshold; if the point cloud size is greater than the threshold, then determining that the map has changed.

[0009] In one example, filtering the incremental point cloud specifically includes performing morphological filtering on the extracted incremental point cloud to remove sparse noise points caused by vehicle vibration or sensor noise.

[0010] In one example, the point cloud size is compared according to a pre-set threshold. Specifically, if the point cloud size is greater than the threshold, it is determined that the map has changed significantly, and the incremental point cloud is saved as a PCD point cloud file; if the point cloud size is less than or equal to the threshold, it is determined that the terrain has not changed significantly, the result is not saved, and the corresponding information is returned.

[0011] On the other hand, this application also proposes an incremental extraction device based on PCD point cloud maps, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the incremental extraction device based on PCD point cloud maps to perform: the method described in any of the examples above.

[0012] On the other hand, this application also proposes a non-volatile computer storage medium storing computer-executable instructions, wherein the computer-executable instructions are configured to be the method described in any of the examples above.

[0013] This application rapidly constructs and detects overlaps in axis-aligned bounding boxes, prioritizing the removal of non-overlapping data at the spatial extent level to avoid subsequent invalid calculations and significantly improve processing efficiency. Furthermore, it extracts only the baseline point cloud within the overlapping region for registration, further reducing the computational scale. The combination of voxel downsampling and ICP registration balances speed and alignment accuracy, providing reasonable filtering space for subsequent change detection. A strict "geometric subtraction" method using KDTree radius search, with a 0.40-meter threshold, accurately preserves changed or newly added points and naturally handles extended areas where the updated point cloud exceeds the baseline map boundary without additional logical checks. Finally, morphological filtering removes noise, and a point cloud size threshold determines whether to save the results, avoiding redundant output caused by minor disturbances. The overall method has clear logic, well-defined physical meanings of parameters, is easy to implement and debug in engineering, and possesses high interpretability and controllability. Attached Figure Description

[0014] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings: Figure 1 This is a flowchart illustrating an incremental extraction method based on PCD point cloud maps in an embodiment of this application. Figure 2 This is a schematic diagram of a method for incremental extraction of PCD point cloud maps according to an embodiment of this application; Figure 3 This is a schematic diagram of an incremental extraction device based on PCD point cloud map in an embodiment of this application. Detailed Implementation

[0015] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0016] The technical solutions provided by the various embodiments of this application are described in detail below with reference to the accompanying drawings.

[0017] like Figure 1 As shown, in order to solve the above problems, this application provides an incremental extraction method based on PCD point cloud maps, the method including: S101. Obtain point cloud data of the map, the point cloud data including a reference point cloud and an updated point cloud, determine boundary vertices based on the point cloud data, and determine the corresponding boundaries based on the boundary vertices.

[0018] Point cloud data (PCD) is a collection of points in three-dimensional space, typically used to depict the surface contours of objects. Each point usually contains three-dimensional coordinates (X, Y, Z) and other attributes such as color, intensity, and time. Point cloud data is widely used in computer vision, autonomous driving, 3D modeling, and other fields. The process involves reading the base point cloud and the update point cloud. The base point cloud is used to depict a baseline map; it has a large area but weak timeliness, requiring continuous updates to ensure its timeliness. The update point cloud is collected to update the base map when the terrain changes. Compared to the base map, it has a smaller area but strong timeliness. Therefore, it needs to be compared with the base map to obtain the incremental changes and maintain the timeliness and accuracy of the base map.

[0019] In one embodiment, the respective axis-aligned bounding boxes (AABBs) are calculated. First, any axis in the point cloud data is determined, and the maximum and minimum values ​​corresponding to that axis are obtained as candidate coordinates for the boundary vertices. Second, based on all axes in the point cloud data, and the maximum and minimum values ​​corresponding to the X, Y, and Z directions, the extreme values ​​of each axis are arranged and combined to form the 8 vertices of the bounding box, thereby constructing the axis-aligned bounding box to quickly determine the cuboid boundary that can completely enclose the point cloud. Then, the axis-aligned bounding boxes of the reference point cloud and the updated point cloud are determined respectively. Finally, the boundary corresponding to the reference point cloud is determined based on the axis-aligned bounding box of the reference point cloud, and the boundary corresponding to the updated point cloud is determined based on the axis-aligned bounding box of the updated point cloud, so that subsequent fast overlap detection and spatial relationship judgment can be performed based on the determined boundaries.

[0020] S102. Perform overlap detection on the boundary corresponding to the reference point cloud and the boundary corresponding to the updated point cloud to determine the overlap range, and extract the reference point cloud in the overlap range to determine the overlapping point cloud.

[0021] Based on the axis-aligned bounding boxes (AABBs) of the baseline and updated point clouds obtained above, efficient overlap detection is performed. Specifically, firstly, the boundary vertices corresponding to any axis in both the baseline and updated point clouds are determined, and then the boundary vertices of the two are compared along that arbitrary axis. If, along that arbitrary axis, the maximum value of the baseline point cloud is less than the minimum value of the updated point cloud, or the minimum value of the baseline point cloud is greater than the maximum value of the updated point cloud, then it is determined that there is no overlap between the baseline and updated point clouds. In this case, the two point clouds have no spatial intersection, the program terminates directly, and a message is displayed: "The updated data and the baseline map have no overlapping area; the data may have a serious positioning deviation." Conversely, if, along that arbitrary axis, the maximum value of the baseline point cloud is greater than the minimum value of the updated point cloud, and the minimum value of the baseline point cloud is less than the maximum value of the updated point cloud, then it is determined that there is an overlap between the baseline and updated point clouds. The overlap determination logic is implemented based on bounding boxes.

[0022] In one embodiment, since the bounding boxes are essentially two virtual 3D cuboids, calculating the intersection is essentially solving the geometric process of the overlapping portion of these two cuboids in space, which can be roughly divided into two steps: First, compare the maximum and minimum values ​​of the two bounding boxes on the X, Y, and Z coordinate axes to determine if an intersection exists. This determination process is independent of the input size, can be completed quickly, and effectively avoids all subsequent meaningless calculations. Second, if an intersection exists, extract the innermost pair of boundary values ​​from the two original bounding boxes for each coordinate axis—taking the X-axis as an example, the larger of the two minimum values ​​is taken as the starting boundary of the overlapping region, and the smaller of the two maximum values ​​is taken as the ending boundary of the overlapping region. Similarly, the boundaries in the Y and Z axes are obtained, thereby determining the overlapping region of the two bounding boxes. Finally, the portion of the reference point cloud within the overlapping range is extracted to determine the overlapping point cloud, which serves as valid input data for subsequent processing.

[0023] S103. Register the overlapping point cloud and the updated point cloud to obtain a transformation matrix, and transform the updated point cloud to the coordinate system corresponding to the reference point cloud according to the transformation matrix.

[0024] After confirming the existence of overlapping areas, point-to-point ICP registration is directly performed on the updated point cloud and the reference point cloud of the overlapping area. To balance speed and alignment effect, voxel downsampling is first performed on both point clouds. The core process of voxel downsampling is to perform a "spatial mesh compression" on the point cloud data. Specifically, the entire 3D space where the point cloud is located is divided into several small cubes of fixed size, called "voxels". Then, each voxel is checked. If a voxel contains one or more points, a center point that can represent these points is calculated and retained. Usually, the average value of all point coordinates is taken to replace all the original points in the voxel. After completion, all the retained representative points constitute a more concise point cloud that can restore the original spatial features.

[0025] The transformation matrix T is then solved using ICP. The specific process is as follows: First, an initial pose, typically an identity matrix, is set for the updated point cloud, and then an iterative loop is entered. In each iteration, the nearest point to each point in the updated point cloud is found in the reference point cloud, establishing a "point pair" correspondence. Next, based on these matching point pairs, a rigid transformation matrix that minimizes the distance error between all corresponding point pairs is solved using mathematical methods such as SVD decomposition or least squares. This matrix includes rotation and translation, and is applied to the updated point cloud to make it closer to the reference point cloud. This process is repeated until convergence conditions are met, such as registration error being less than a set threshold, the change in the transformation matrix being minimal, or the maximum number of iterations being reached. Finally, the transformation matrix that best aligns the two point clouds is output, thus transforming the updated point cloud as a whole to the reference point cloud coordinate system, achieving high-precision alignment. It should be noted that this step does not pursue the highest registration accuracy but intentionally retains a certain registration error tolerance window to provide reasonable filtering space for subsequent change detection.

[0026] S104. Determine any point in the updated point cloud after transformation, determine the judgment range corresponding to the arbitrary point according to the preset radius, and determine whether the arbitrary point is retained according to the judgment range. If the arbitrary point is retained, then the arbitrary point is determined to be an incremental point cloud.

[0027] Under a unified coordinate system, an efficient KD-Tree is constructed using all points in the baseline point cloud. A KD-Tree is a special type of binary search tree used to organize spatial partitions of data points in K-dimensional space. For each point in the transformed updated point cloud, a spherical neighborhood search with a user-defined radius (e.g., 0.40m) is performed in the baseline point cloud: if at least one baseline point is found within the radius, it is determined that the baseline point cloud exists within the corresponding decision range, and therefore the decision range has not changed, thus removing the point; if no baseline point is found within the 0.40m radius, it is determined that the baseline point cloud does not exist within the corresponding decision range, and therefore the decision range has changed, thus retaining the point. This operation is equivalent to performing a strict "geometric subtraction" on the updated point cloud, perfectly achieving the core objective of "retaining only the truly changed parts not covered by the baseline map." This step is similar in form to a "pseudo-registration" iteration without matrix updates. The algorithm traverses the updated point cloud under the current transformation state and performs a spherical neighborhood search with a custom radius in the reference point cloud for each point. Its core purpose is not to directly calculate the coordinate transformation, but to establish a robust local correspondence. Compared with strictly finding the absolute nearest point, this neighborhood-based search strategy can effectively avoid erroneous matches caused by point cloud edge noise or missing local features, thereby ensuring the reliability of change detection results.

[0028] In one embodiment, morphological filtering is performed on the extracted incremental point cloud to remove sparse noise points caused by vehicle vibration or sensor noise. Morphological filtering of point clouds can be figuratively understood as using a three-dimensional "probe" of a specific size to slide across the point cloud surface to smooth and separate ground and non-ground points. Its core process is "opening operation", that is, erosion followed by dilation.

[0029] First, an erosion operation is performed. The probe "sinks" into the point cloud at each location, recording the lowest elevation of all points within its coverage area. This effectively flattens and filters out protrusions smaller than the probe size, such as trees and vehicles. Next, a dilation operation is performed, where the probe "floats" back up, recording the highest elevation within its coverage area. This restores larger features, such as building edges, and compensates for any excessive weakening caused by erosion. These two steps filter noise points while minimizing impact on feature structures. After filtering, the size of the incremental point cloud is determined and compared to a pre-set threshold. If the point cloud size is greater than the threshold, the map is considered to have changed significantly, and the incremental point cloud is saved as a PCD point cloud file. If the point cloud size is less than or equal to the threshold, the terrain is considered not to have changed significantly, the result is not saved, and only the message "No significant terrain change" is returned.

[0030] In one embodiment, such as Figure 2 As shown, the process first loads the baseline point cloud and the updated point cloud, and quickly parses their respective spatial extents. Then, it determines overlapping areas. If the two point clouds have no spatial intersection, the process terminates and an error is displayed. If overlap exists, a fine-grained ICP pseudo-registration is performed on the updated point cloud and the overlapping baseline point cloud to align the coordinate systems. Next, in a unified coordinate system, the actual change increment is extracted from the updated point cloud based on KDTree radius search, eliminating unchanged areas and retaining newly added or changed points. Finally, the extraction results are evaluated and output. If the change is significant, it is saved as a PCD file; otherwise, no change information is returned, and the process ends.

[0031] This application removes portions of the updated point cloud that spatially overlap with the less timely reference point cloud from the updated point cloud with high timeliness. Specifically, it constructs a KD-Tree fast index structure for the reference point cloud and performs a radius neighborhood search on each point in the registered updated point cloud: if an updated point cannot find any reference point as a neighbor within a specified threshold, it is determined to be a "changed point" or "new point" and retained; otherwise, it is removed. This "subtraction" logic naturally solves the problem of updated data exceeding the scope of the reference map—for newly added areas in the updated point cloud located outside the boundary of the reference map, these points naturally have no nearest neighbors in the reference point cloud and are therefore all retained. This perfectly realizes the incremental extraction of the expanded map coverage, which is crucial for map maintenance tasks that continuously expand the surveying and mapping scope. This solution adopts the classic geometric comparison method, which is logically clear, easy to understand and implement. Its key parameters and overall logic have clear physical meanings, making it easy for users to make intuitive adjustments and debugging based on actual data quality and application needs. Compared with "black box" models such as deep learning, the results of this application are more interpretable and controllable.

[0032] like Figure 3 As shown in the illustration, this application also provides an incremental extraction device based on PCD point cloud maps, comprising: At least one processor; and, A memory that is communicatively connected to at least one processor; wherein, The memory stores instructions that can be executed by at least one processor to enable an incremental extraction device based on a PCD point cloud map to perform the method as described in any of the embodiments above.

[0033] This application also provides a non-volatile computer storage medium storing computer-executable instructions, which are configured as described in any of the above embodiments.

[0034] In the 1990s, improvements to a technology could be clearly distinguished as either hardware improvements (e.g., improvements to the circuit structure of diodes, transistors, switches, etc.) or software improvements (improvements to the methodology). However, with technological advancements, many methodological improvements today can be considered direct improvements to the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved methodology into the hardware circuit. Therefore, it cannot be said that a methodological improvement cannot be implemented using hardware physical modules. For example, a Programmable Logic Device (PLD) (such as a Field Programmable Gate Array (FPGA)) is such an integrated circuit whose logic function is determined by the user programming the device. Designers can program and "integrate" a digital system onto a PLD themselves, without needing chip manufacturers to design and manufacture dedicated integrated circuit chips. Furthermore, nowadays, instead of manually manufacturing integrated circuit chips, this programming is mostly implemented using "logic compiler" software. Similar to the software compiler used in program development, the original code before compilation must also be written in a specific programming language, called a Hardware Description Language (HDL). There are many HDLs, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, and RHDL (Ruby Hardware Description Language). Currently, the most commonly used are VHDL (Very-High-Speed ​​Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should also understand that by simply performing some logic programming on the method flow using one of these hardware description languages ​​and programming it into an integrated circuit, the hardware circuit implementing the logical method flow can be easily obtained.

[0035] The controller can be implemented in any suitable manner. For example, it can take the form of a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor, logic gates, switches, application-specific integrated circuits (ASICs), programmable logic controllers, and embedded microcontrollers. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicon Labs C8051F320. A memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art will also recognize that, in addition to implementing the controller in purely computer-readable program code form, the same functionality can be achieved by logically programming the method steps to make the controller take the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers. Therefore, such a controller can be considered a hardware component, and the means included therein for implementing various functions can also be considered as structures within the hardware component. Alternatively, the means for implementing various functions can be considered as both software modules implementing the method and structures within the hardware component.

[0036] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, a computer can be, for example, a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email device, game console, tablet computer, wearable device, or any combination of these devices.

[0037] For ease of description, the above devices are described in terms of function, divided into various units. Of course, in implementing this specification, the functions of each unit can be implemented in one or more software and / or hardware components.

[0038] The various embodiments in this application are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the device and medium embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the description of the method embodiments.

[0039] The devices and media provided in this application are one-to-one with the methods. Therefore, the devices and media also have similar beneficial technical effects as their corresponding methods. Since the beneficial technical effects of the methods have been described in detail above, the beneficial technical effects of the devices and media will not be repeated here.

[0040] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code. This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0041] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0042] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0043] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0044] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0045] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0046] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0047] The above are merely embodiments of this application and are not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.

Claims

1. An incremental extraction method based on PCD point cloud maps, characterized in that, include: Acquire point cloud data of the map, the point cloud data including a reference point cloud and an updated point cloud, determine boundary vertices based on the point cloud data, and determine the corresponding boundaries based on the boundary vertices; The boundary corresponding to the reference point cloud and the boundary corresponding to the updated point cloud are overlapped to determine the overlap range. The reference point cloud in the overlap range is extracted to determine the overlapping point cloud. The overlapping point cloud and the updated point cloud are registered to obtain a transformation matrix. The updated point cloud is then transformed to the coordinate system corresponding to the reference point cloud based on the transformation matrix. Identify any point in the updated point cloud after transformation, determine the judgment range corresponding to the arbitrary point based on a pre-set radius, and determine whether the arbitrary point should be retained based on the judgment range. If the arbitrary point is retained, then the arbitrary point is determined to be an incremental point cloud.

2. The method according to claim 1, characterized in that, Determining boundary vertices based on the point cloud data, and determining the corresponding boundaries based on the boundary vertices, specifically includes: Determine any axis in the point cloud data, and determine the maximum and minimum values ​​corresponding to the arbitrary axis, to be used as the boundary vertices; The axis alignment bounding box is determined based on the maximum and minimum values ​​corresponding to all axes in the point cloud data, so as to determine the axis alignment bounding box of the reference point cloud and the axis alignment bounding box of the updated point cloud. The boundary corresponding to the reference point cloud is determined based on the axis-aligned bounding box of the reference point cloud, and the boundary corresponding to the updated point cloud is determined based on the axis-aligned bounding box of the updated point cloud.

3. The method according to claim 2, characterized in that, The overlap detection of the boundary corresponding to the reference point cloud and the boundary corresponding to the updated point cloud specifically includes: Determine the boundary vertices corresponding to any axis in the reference point cloud and the boundary vertices corresponding to any axis in the updated point cloud. Determine any axial direction and compare the boundary vertices of the reference point cloud and the boundary vertices of the updated point cloud along the arbitrary axial direction. If the maximum value of the reference point cloud on any axis is less than the minimum value of the updated point cloud, or the minimum value of the reference point cloud is greater than the maximum value of the updated point cloud, then it is determined that there is no overlap between the reference point cloud and the updated point cloud. If the maximum value of the reference point cloud on any axis is greater than the minimum value of the updated point cloud, or the minimum value of the reference point cloud is less than the maximum value of the updated point cloud, then it is determined that there is an overlap between the reference point cloud and the updated point cloud. The portion of the reference point cloud within the overlapping range is extracted to determine the overlapping point cloud.

4. The method according to claim 1, characterized in that, The registration of the overlapping point cloud and the updated point cloud specifically includes: The overlapping point cloud and the updated point cloud are downsampled using voxels to obtain a sample point cloud. The sample point cloud is then transformed point-to-point to obtain a transformation matrix. The updated point cloud is then transformed to the coordinate system corresponding to the reference point cloud based on the transformation matrix.

5. The method according to claim 1, characterized in that, Determining whether to retain any point based on the aforementioned judgment range specifically includes: Determine whether a reference point cloud exists within the judgment range corresponding to any given point; If at least one reference point cloud exists in the determination range corresponding to any point, then it is determined that there has been no change in the determination range, and the arbitrary point is removed. If there is no reference point cloud in the determination range corresponding to any point, it is determined that there has been a change in the determination range, and the arbitrary point is retained.

6. The method according to claim 1, characterized in that, After determining that any point is an incremental point cloud, the method further includes: The incremental point cloud is filtered to determine the size of the filtered incremental point cloud, and the size of the point cloud is compared with a preset threshold. If the point cloud size is greater than the threshold, then the map is determined to have changed.

7. The method according to claim 6, characterized in that, Filtering the incremental point cloud specifically includes: Morphological filtering is performed on the extracted incremental point cloud to remove sparse noise caused by vehicle vibration or sensor noise.

8. The method according to claim 6, characterized in that, The point cloud size is compared based on a pre-set threshold, specifically including: If the point cloud size is greater than the threshold, it is determined that the map has changed significantly, and the incremental point cloud is saved as a PCD point cloud file; If the point cloud size is less than or equal to the threshold, it is determined that the terrain has not changed significantly, the result is not saved, and the corresponding information is returned.

9. An incremental extraction device based on PCD point cloud maps, characterized in that, include: At least one processor; as well as, A memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, which, when executed by the at least one processor, enable the incremental extraction device based on a PCD point cloud map to perform the method described in any one of claims 1-8.

10. A non-volatile computer storage medium storing computer-executable instructions, characterized in that, The computer-executable instructions are configured to be the method as described in any one of claims 1-8.