Automatic texture color mapping method for large-scale point cloud data
Patent Information
- Application Number
- CN202510945162.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-09
- Publication Date
- 2025-11-21
AI Technical Summary
现有技术难以高效、自动化地处理大规模点云数据,导致纹理色彩映射计算效率低下,难以满足工程时效性要求,且存在几何与辐射畸变、遮挡与冗余处理问题,无法实现大范围无缝、视觉一致的色彩还原。
通过数据精准对齐、空间分割、滤波处理、纹理源信息更正约束、纹理映射消影等技术,实现点云数据与地理纹理数据的无缝生成和高效赋色,利用区域点云块与地理纹理数据的几何映射与局部聚合空间关系,消除错误的赋色信息。
实现了TB级点云数据的高效、自动化、低成本处理,提升了点云赋色精度,解决了复杂场景下的几何-纹理不一致性痛点,支持工程化应用。
Smart Images

Figure CN120997419A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of surveying, in particular to an automatic texture color mapping method for large-scale point cloud data. BACKGROUND
[0002] In the field of large linear engineering surveying such as highways and railways, the fusion application of airborne laser radar (LiDAR) technology has become the mainstream means for obtaining high-precision three-dimensional spatial information. The massive point cloud data (often up to hundreds of billions or even thousands of billions of points per project) generated thereby carries rich geometric and reflectivity information of ground objects. However, the original point cloud lacks real visual texture, which greatly limits its intuitive application value and depth of analysis in engineering design, status analysis, asset management and completion verification. Therefore, developing an efficient, accurate and automated large-scale point cloud texture color mapping technology has become a core requirement that needs to be broken through in this field.
[0003] From the perspective of technical requirements, the challenges mainly come from: the data scale is huge, and the traditional point-based or small-range patch texture mapping method is low in computational efficiency, which is difficult to meet the timeliness requirements of engineering; multi-source data high-precision registration is needed to solve the geometric and radiation distortion problems caused by the differences in viewing angle, resolution and phase between LiDAR point cloud and oblique images, to ensure the geometric fidelity of color mapping; occlusion and redundancy processing is needed to intelligently select the optimal texture source and optimize the mapping strategy under complex scenes (such as dense vegetation, overpasses and tunnel entrances) where point cloud occlusion leads to missing of image information, and dense point cloud has a large number of redundant points; color consistency and uniformity are needed to overcome the exposure differences, shadow effects and seam joints between different images, to realize seamless and visually consistent color restoration over a large area. In terms of engineering requirements, full automation of the process is emphasized to reduce the cost of manual intervention and subjective errors; high efficiency of processing is needed to adapt to the urgent survey and design period; the reliability of the results is needed to meet the strict requirements (millimeter to centimeter level) of texture accuracy for engineering decision-making (such as land acquisition and demolition calculation, collision detection and engineering quantity review); the integrability is needed to seamlessly integrate with mainstream point cloud processing and BIM / CIM platforms.
[0004] The importance of mass point cloud coloring technology is self-evident: it injects real visual semantics into pure geometric point clouds, significantly improving the accuracy and efficiency of feature classification and identification (such as road surface materials, track components, slope vegetation, and facilities along the line); enables the construction of high-fidelity three-dimensional real scene models, providing an immersive visualization foundation for design optimization, construction simulation, and operation and maintenance; at the same time, texture information itself can be used as a feature to enhance point cloud registration and change detection robustness, forming a "geometry-texture" dual-driven efficient surveying closed loop. The breakthrough of this technology is the key to promoting the intelligentization of transportation infrastructure surveying from "measurement" to "perceptible, understandable, and decision-making". For mass point cloud accurate coloring, scholars in the existing technology have made many efforts on point cloud coloring, but still cannot solve the problem of mass point cloud processing in the modern digitalized working environment, and still face the problems of preprocessing difficulty, strong dependence on processing equipment operation and storage. SUMMARY
[0005] The present application provides an automatic texture color mapping method for large-scale point cloud data to solve the problem of efficient, automatic and low-cost processing of mass point cloud data in the engineering field.
[0006] According to a first aspect, an embodiment provides an automatic texture color mapping method for large-scale point cloud data, the method comprising:
[0007] Obtaining point cloud data and geographic texture data and preprocessing;
[0008] Precisely aligning the point cloud data with the geographic texture data;
[0009] Spatially segmenting the point cloud data to obtain a plurality of regional point cloud blocks, and filtering the obtained regional point cloud blocks;
[0010] Considering the correction constraints of different texture source information, realizing seamless generation of geographic texture data, and performing generalization management of geographic texture data;
[0011] Using the geometric mapping and local aggregation spatial relationship of the regional point cloud blocks and the geographic texture data, performing regional point cloud block core texture mapping, and realizing efficient point cloud preliminary coloring;
[0012] Using the occlusion judgment result of the point cloud itself, eliminating the texture information of the erroneous colored point cloud by texture mapping;
[0013] Merging the colored regional point cloud blocks to restore the original data format and storage mode.
[0014] Further, obtaining point cloud data and geographic texture data and preprocessing specifically includes:
[0015] The massive point cloud is transformed into a specific engineering coordinate system using Kalman filtering constraints.
[0016] Furthermore, precise alignment of point cloud data with geographic texture data is performed, specifically including:
[0017] First, a data texture coordinate correction observation equation is constructed. By adding correction value boundary constraints, the convergence direction of the observation equation is guided to converge toward the optimal solution. Based on the optimal coordinate correction value obtained from the solution, anchor points are formed in the texture source to obtain spatial plotting data.
[0018] Then, based on the spatial plotted point data, a regional polynomial fitting is performed within the texture source range to construct a surface fitting function. Based on the obtained surface fitting function, the geometric positions of all points within the geographic texture source range are corrected.
[0019] Furthermore, the point cloud data is spatially segmented to obtain multiple regional point cloud blocks, specifically including:
[0020] Spatial Partitioning: A dynamic octree spatial partitioning technique is employed. This involves reading massive amounts of point cloud data while dynamically expanding the spatial partitioning tree. Each spatial partitioning tree node contains a variable `cn` recording the number of points. `cn` tracks the number of point clouds contained in the current node's space. When the point cloud data recorded in a partitioning tree node exceeds a preset threshold, the current node is further subdivided spatially, making the original leaf node a parent node. A buffered I / O mechanism is also used to reduce storage pressure. Each partitioning tree node contains a data structure {node name, child node pointers, parent node pointers, point...}. The number of nodes and file operators are defined, where the length of the node name represents the level of the current segmentation tree node, and the leaf node name is expanded with an index of 0 to 7 based on the parent node name; the existence of child node pointers and parent node pointers facilitates efficient upward and downward retrieval in the segmentation tree; the file operators provide the ability to read point cloud data from massive raw point clouds and output it to new region point cloud files. In order to avoid frequent IO operation resources, each file operator has a hidden buffer space buff. Data is only written or written at once when the buffer space buff is full or when the file operation is finished.
[0021] Node encoding: O(1) complexity space retrieval is achieved through three-dimensional coordinate binary encoding. Specifically, by designing a cross-space encoding method, the binary encoding 000~111 corresponds to the child node number 0~7. It is only necessary to judge the size relationship between each point cloud point and the current node center point in the three spatial dimensions of the horizontal axis, vertical axis, and vertical axis. If it is less than the current node center point, the binary encoding of the current spatial dimension is "0", otherwise it is "1".
[0022] Spatial segmentation tree optimization: Finally, a dual optimization strategy is executed to eliminate excessive segmentation. First, sparse parent nodes are shrunk upwards by prioritizing the deletion of all leaf nodes whose point cloud count is less than a preset threshold, turning parent nodes into leaf nodes. This process iterates through the tree structure until no further optimization is possible. Second, spatially adjacent child nodes are merged. By statistically analyzing the point cloud counts of sibling nodes under the same parent node, the two sibling nodes are merged if and only if their point cloud counts are less than a preset threshold and they are spatially compatible. One of the sibling nodes is then deleted. Compatibility between the two sibling nodes means that after merging, the total bounding shell of the nodes is equal to the sum of the bounding shells of the two sibling nodes, i.e., there is no spatial voiding.
[0023] Furthermore, the obtained regional point cloud blocks are filtered, specifically including:
[0024] Constructing spatial fences: The spatial fence of each region point cloud block to be filtered is its "one-ring neighborhood space", which includes the space of the region point cloud blocks that are adjacent to each other on the left, right and up and down. The neighborhood file is quickly located based on the octree.
[0025] Restrictive filtering: Filtering is performed using a correlation propagation method. After the current region point cloud block is filtered, the neighboring region point cloud blocks in its "one-ring neighborhood space" are taken as the next object to be filtered. At the same time, the region point cloud resources that are not adjacent to the object to be filtered are released. This correlation propagation continues until the filtering ends.
[0026] Furthermore, taking into account the correction constraints of different texture source information, seamless generation of geographic texture data is achieved, and generalized management of geographic texture data is performed, specifically including:
[0027] Texture source color information correction: Extract and construct texture information of overlapping areas to build an overdetermined set of equations to achieve seamless color fusion across sensors;
[0028] Generalized management of texture data: First, the original geographic texture data is adapted and sampled according to the point cloud scanning resolution to reduce the data volume. Second, the geographic texture data after multiple adaptation sampling is segmented into two-dimensional space to further reduce the computer memory consumption of a single point cloud coloring. Finally, the mapping relationship between different forms of texture data and object points is generalized into a mapping matrix P'. At this time, the description of points x' on different texture sources and corresponding object points X can be expressed by x' = P' * X, realizing the generalization of geographic information of texture sources.
[0029] Furthermore, by utilizing the geometric mapping and local aggregation spatial relationship between regional point cloud patches and geographic texture data, outer kernel texture mapping of regional point cloud patches is performed to achieve efficient preliminary color assignment of point clouds, specifically including:
[0030] Regional point cloud block geographic texture source retrieval: Generate the visual space bounding shell of each geographic texture source, and determine the list of geographic texture sources corresponding to the current regional point cloud block by sequentially performing collision detection between the visual bounding shell of the geographic texture source and the point cloud spatial segmentation tree.
[0031] Regional point cloud block kernel-outside texture mapping: When coloring the point cloud, the point cloud block adopts a double buffer operator to avoid memory overflow, and the texture source can be fully loaded into memory after sampling and segmentation; finally, the texture color information is extracted from the geographic texture source and assigned to the corresponding point cloud points through the generalized mapping matrix P'.
[0032] Furthermore, utilizing the occlusion judgment results of the point cloud itself, texture information of erroneously colored point clouds is eliminated through texture mapping and de-shading, specifically including:
[0033] First, a spatial ray is constructed for the current texture pixel based on the mapping matrix information of the geographic texture source. Then, the intersection of the constructed spatial ray and the point cloud segmentation tree is calculated. The distance between the point cloud point and the spatial ray is judged within the point cloud block of the intersection area. When the distance is less than the point cloud scanning resolution, the corresponding point cloud point is a candidate point to be removed. Then, the candidate points are projected into the spatial ray and sorted according to the relationship from near to far. The removal operation is performed on the non-nearest point cloud point to erase the texture color information of the corresponding point.
[0034] Secondly, the point cloud data is segmented into regions. The growth step size of the cluster is controlled by the point cloud scanning resolution, and the growth direction is controlled by the curvature information of the point cloud itself to prevent cross-boundary clustering. Clusters that are clustered together are regarded as the same type of land feature. Similarly, the geographic texture source is clustered, and the cluster growth direction is controlled by grayscale and gradient information, and the growth step size is controlled by resolution. When discreteness is exhibited in both the point cloud and the geographic texture source, the current point cloud point must contain incorrect texture color information and must be removed.
[0035] Furthermore, the colored point cloud blocks are merged to restore the original data format and storage method, specifically including:
[0036] An output file operator is created for each colored point cloud block, and an input file operator is created for the merged result file; buffered data is replaced by streaming read and write loops to dynamically merge all blocks; and the header information of the result file is updated in real time.
[0037] Furthermore, the method also includes:
[0038] Quality check: After coloring the original point cloud, a quality check must be performed. The check items include whether the texture color difference information matches the point cloud geometric structure information, whether the texture information occlusion and shadow removal process is correct, and whether the texture information is distorted.
[0039] According to a second aspect, one embodiment provides an electronic device, the device comprising: a processor and a memory;
[0040] The memory is used to store one or more program instructions;
[0041] The processor is configured to run one or more program instructions to perform the steps of an automated texture color mapping method for large-scale point cloud data as described in any of the preceding claims.
[0042] According to a third aspect, one embodiment provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of an automated texture color mapping method for large-scale point cloud data as described in any of the preceding claims.
[0043] This invention provides an automated texture and color mapping method for large-scale point cloud data. Addressing the engineering field's need for efficient, automated, and low-cost processing of massive point clouds, this invention fully incorporates the advantages and disadvantages of existing technologies, analyzes the technical difficulties in coloring massive point clouds, and proposes an automated texture and color mapping method for large-scale point cloud data. First, it achieves geometric alignment between geographic texture data and point cloud data through precise data alignment. Then, it utilizes massive point cloud spatial segmentation and retrieval management technology to release the kernel buffer. The massive point cloud is divided into several spatially related regional point cloud blocks. Next, filtering is performed on the regional point cloud blocks to remove discrete flying points. Then, considering the correction constraints of different texture source information, seamless generation of geographic texture data is achieved. Next, by utilizing the geometric mapping and local aggregation spatial relationships between regional point cloud blocks and geographic texture data, efficient initial coloring of the point cloud is achieved while reducing the amount of data involved in the computation. Secondly, the occlusion judgment results of the point cloud itself are used to eliminate erroneous texture information (color) of the colored point cloud. Finally, efficient external file merging technology is used to achieve spatial merging of the regional point cloud block dataset, restoring the original data format and storage method. This approach avoids dependence on hardware devices (such as large amounts of memory and expensive graphics cards), efficiently achieves block-based processing of massive point clouds, and promotes the user-friendly implementation of new digital intelligence technologies based on laser scanning point clouds. Specifically, it has the following beneficial effects:
[0044] 1) To address the pixel offset problem caused by large-scale texture source space distortion, a region fitting technique based on anchor point observation equations is proposed. By constructing a texture coordinate correction observation equation with boundary constraints, the optimal coordinate correction value is solved. Anchor point data is used to drive a polynomial fitting function for the surface domain, achieving sub-pixel-level alignment of geometric and texture information. This method overcomes the limitations of traditional global correction, significantly improves point cloud coloring accuracy, and solves the pain point of geometry-texture inconsistency in complex scenes.
[0045] 2) Design an incremental spatial octree segmentation and two-layer optimization strategy. A dynamic construction mechanism (segmenting while reading point clouds) is pioneered, reducing storage pressure through node buffered I / O; binary cross-coding is proposed to achieve O(1) complexity space retrieval; innovative "adjacent-to-adjacent merging" and "parent node shrinking" rules are defined to eliminate excessive segmentation nodes. This achieves efficient organization of point clouds with hundreds of millions of nodes, significantly improving segmentation efficiency and laying the foundation for off-core processing.
[0046] 3) By integrating three core technologies—texture generalization management, fence-limited filtering, and ray culling mechanism—unified mapping of different texture sources is achieved, solving the problem of segmentation edge breakage. Combined point cloud-texture dual clustering removes occlusion points, enabling automated and high-fidelity coloring of TB-level point clouds and eliminating color banding and projection errors. Attached Figure Description
[0047] Figure 1 A flowchart illustrating an automated texture color mapping method for large-scale point cloud data, as provided in one embodiment of the present invention;
[0048] Figure 2 This is a schematic diagram of the spatial segmentation of massive point cloud data in an automated texture color mapping method for large-scale point cloud data provided in an embodiment of the present invention;
[0049] Figure 3 This is a schematic diagram illustrating the optimization of a massive point cloud spatial segmentation tree in an automated texture color mapping method for large-scale point cloud data, provided in one embodiment of the present invention.
[0050] Figure 4 This is a schematic diagram of the massive point cloud segmentation tree node data structure in an automated texture color mapping method for large-scale point cloud data provided in an embodiment of the present invention;
[0051] Figure 5 This is a schematic diagram illustrating the seamless generation of geographic texture data in an automated texture color mapping method for large-scale point cloud data, provided in one embodiment of the present invention.
[0052] Figure 6 This is a schematic diagram of point cloud spatial collision detection in an automated texture color mapping method for large-scale point cloud data provided in an embodiment of the present invention;
[0053] Figure 7 This is a schematic diagram of point cloud color assignment and shadow removal in an automated texture color mapping method for large-scale point cloud data provided in an embodiment of the present invention;
[0054] Figure 8 This is a schematic diagram illustrating the massive point cloud segmentation effect in an automated texture color mapping method for large-scale point cloud data, provided as an embodiment of the present invention.
[0055] Figure 9 This is a schematic diagram illustrating the color assignment effect of massive point clouds in an automated texture color mapping method for large-scale point cloud data, provided as an embodiment of the present invention. Detailed Implementation
[0056] The present invention will now be described in further detail with reference to specific embodiments and accompanying drawings. Similar elements in different embodiments are referred to by associated similar element reference numerals. In the following embodiments, many details are described to facilitate a better understanding of the invention. However, those skilled in the art will readily recognize that some features may be omitted in different situations, or may be replaced by other elements, materials, or methods. In some cases, certain operations related to the present invention are not shown or described in the specification. This is to avoid obscuring the core parts of the invention with excessive description. For those skilled in the art, detailed description of these related operations is not necessary; they can fully understand the related operations based on the description in the specification and general technical knowledge in the art.
[0057] Furthermore, the features, operations, or characteristics described in the specification can be combined in any suitable manner to form various embodiments. At the same time, the steps or actions in the method description can be rearranged or adjusted in a manner obvious to those skilled in the art. Therefore, the various orders in the specification and drawings are only for the clear description of a particular embodiment and do not imply a necessary order, unless otherwise stated that a particular order must be followed.
[0058] The first embodiment of this invention provides an automated texture color mapping method for large-scale point cloud data, aiming to improve the processing efficiency of massive point cloud data and achieve efficient point cloud coloring effects. By constructing a constrained texture coordinate correction observation equation and combining it with anchor-driven region polynomial fitting, the method overcomes the bottleneck of geometric-texture offset caused by large-scale texture distortion. It pioneers an incremental octree segmentation mechanism (segmentation while reading + buffered I / O), combined with binary spatial encoding and adjacent node merging strategies, achieving efficient segmentation of point clouds with hundreds of millions of nodes. It proposes texture generalization technology and fence relay filtering, integrating ray culling (distance sorting) and point cloud-texture dual clustering verification to eliminate occlusion errors and color banding. Finally, it forms a fully automated solution from data preparation, segmentation filtering to coloring quality inspection, supporting TB-level point cloud engineering applications. The following section combines... Figure 1 Please provide a detailed explanation.
[0059] In step S100, point cloud data and geographic texture data are acquired and preprocessed.
[0060] The above steps specifically include: acquiring massive point cloud data, and solving the massive point cloud into a specific engineering coordinate system using Kalman filtering constraints. Details are as follows:
[0061] S110 collects the original laser point cloud data set, texture source data (image data), and original attitude data within the work area. It calculates the attitude data of the original laser point cloud data set, correcting all the original laser point cloud data sets in the engineering coordinate system. During the calculation process, a Kalman filter time window is introduced, that is, the missing data is inferred from the effective data in the neighborhood according to the time series relationship, which solves the attitude stability problem of the original attitude data under occlusion environment and missing conditions. Then, the point cloud data set after attitude data calculation is merged to obtain a massive amount of point cloud data suitable for engineering needs. At the same time, the spatial attitude of texture source data (such as aerial image data) is calculated.
[0062] In step S200, the point cloud data and geographic texture data are precisely aligned.
[0063] Due to sensor manufacturing errors and imaging principle issues, texture source data suffers from coordinate space curvature, especially over large survey areas. This severe local imbalance and distortion in spatial orientation leads to pixel shifts when assigning color values to the laser point cloud, resulting in inconsistencies between geometric and texture information. To address this problem, local correction of the texture source is needed based on the matching information between the regional point cloud and the texture.
[0064] In this embodiment, a data texture coordinate correction observation equation is first constructed. By adding correction value boundary constraints, the convergence direction of the observation equation is guided to converge toward the optimal solution, and spatial plotted point data is obtained. Then, regional correction field data is constructed using the spatial plotted point data information to correct the geometric position of all points within the texture source range.
[0065] The above steps specifically include: constructing data texture coordinate correction observation equations and surface fitting functions to suppress and correct geometric errors between the texture source and the point cloud. Specifically, as follows:
[0066] S210, Construct the observation equation for data texture coordinate correction:
[0067] Let X be the coordinates of the visible ground point within the texture source area to be corrected, and x be the corresponding coordinates on the texture source. Multiple sets of {x,X} matching information are obtained. The reprojected coordinates of X on the texture source, calculated using the texture source mapping matrix P', are x' = P'*X. At this point, multiple sets of {x,X,P'} residual observation equations are obtained. Then, an optimization equation system is constructed (as shown in Equation 1, containing the objective function and constraints). The coordinate correction value Δx for x is solved, and a one-dimensional boundary constraint is given for the correction value. The data texture coordinate correction observation equation is then constructed as shown in Equation 1.
[0068] Formula 1:
[0069]
[0070] S210, Construct the surface region fitting function:
[0071] Formula 1 is solved using convex optimization to obtain multiple sets of associated texture source coordinates, ground point coordinates X, and coordinate correction pairs {x, X, Δx}. These coordinate corrections are used to form anchor points in the texture source. A region polynomial fitting (e.g., a second-order polynomial, a third-order polynomial, the specific power c determined based on the residual information of the region fitting function) is performed within the texture source area to obtain the optimal region fitting function f(*), as shown in Formula 2, where {a0, a1, ... a... c} represents the polynomial coefficients, with the subscript c representing the index and the superscript c representing the exponent, ensuring that each point in the object (real world) obtains accurate texture coordinates in the corresponding texture source. The solution process is actually a functional optimization process, which completes the accurate alignment of point cloud data and texture data.
[0072]
[0073] In step S300, the point cloud data is spatially segmented to obtain multiple regional point cloud blocks, and the obtained regional point cloud blocks are filtered.
[0074] In this embodiment, the massive point cloud is spatially segmented to make the disordered and spatially topological discrete points ordered, which facilitates efficient spatial retrieval and data organization in the future. After spatial segmentation, the original massive point cloud is converted into several regional point cloud block files (i.e., leaf nodes).
[0075] In this embodiment, the massive point cloud is first over-segmented using a spatial octree, so that the number of points in each leaf node is less than a certain threshold sht (e.g., 1 million points); then, the initially segmented spatial octree is spatially encoded (node encoding); finally, the spatial octree is optimized by removing over-segmented nodes to make the spatial octree node data full.
[0076] The above steps specifically include: employing dynamic octree segmentation technology to subdivide and segment nodes in real time while reading the point cloud, combined with a buffered I / O mechanism to reduce storage pressure; achieving O(1) complexity space retrieval through three-dimensional coordinate binary encoding; and finally executing a dual optimization strategy to shrink sparse parent nodes upwards and merge spatially adjacent child nodes to eliminate excessive segmentation. Ultimately, the disordered massive point cloud is transformed into a balanced block file, laying the foundation for subsequent efficient processing. Details are as follows:
[0077] S310, Spatial Partitioning:
[0078] In this embodiment, the segmentation of massive point clouds is generally carried out using a tree structure, such as... Figure 2 An octree spatial partitioning tree is used. When partitioning the point cloud using an octree, it is essential to ensure that the number of points in all leaf nodes is less than a certain threshold (sht, e.g., 1 million). This unified partitioning strategy lays the foundation for efficient point cloud spatial retrieval. To accelerate the construction of the initial spatial partitioning tree, this embodiment employs a strategy of dynamically expanding the spatial partitioning tree while simultaneously reading massive amounts of scattered point cloud data. Each spatial partitioning tree node contains a variable cn that records the number of points (the number of points contained in the current node's space). When the point cloud data recorded in a partitioning tree node exceeds the threshold (sht, e.g., 1 million points), the current partitioning tree node is spatially subdivided downwards, making the original leaf node the parent node.
[0079] like Figure 4 Each segmentation tree node contains a detailed data structure {node name, child node pointers, parent node pointers, number of points, file operator (input, output)}. The length of the node name represents the level of the current segmentation tree node. The leaf node name is based on the parent node name with an index of 0 to 7. For example, if the root node name is "r", its fifth node is "r4". The existence of child node pointers and parent node pointers facilitates efficient upward and downward retrieval in the segmentation tree. The file operator can read point cloud data from massive raw point clouds and output it to a new region point cloud file. To avoid frequent IO (input / output) operation resources, this embodiment hides a buffer space (10,000 points in size) in each file operator. Data is only written or output at once when the buffer space is full or when the file operation is finished.
[0080] S320, node encoding:
[0081] While spatial partitioning can significantly accelerate data retrieval efficiency, searching the parent node of a spatially partitioned tree still requires sequentially searching the range of its multiple child nodes, making precise location-based retrieval impossible. Therefore, this embodiment designs a cross-spatial encoding method, where the binary code (000-111) corresponds to the indices (0-7) of the child nodes, such as... Figure 2 As shown, it is only necessary to determine the size relationship between each point cloud point and the current node's center point in three spatial dimensions (horizontal axis, vertical axis, and vertical axis). If the size is smaller, the binary code of the current dimension is "0"; otherwise, it is "1". This design avoids high-dimensional spatial operations between spatial points and spatial volumes (the outer shell of the node), reducing it to a one-dimensional operation.
[0082] S330, Spatial Partition Tree Optimization:
[0083] Because the initial spatial segmentation of massive point clouds employed an oversegmentation strategy, the number of points contained in the leaf nodes of the point cloud segmentation tree varied significantly. This unbalanced spatial tree structure not only resulted in a large number of I / O (input / output) and access operations, wasting computational resources, but also necessitated spatial segmentation tree optimization. Optimization was divided into two types of segmentation, such as... Figure 3 As shown, the optimization process begins with "shrinking upwards from the parent node." Leaf nodes with a point cloud count less than a certain threshold (sht, e.g., 1 million) are prioritized for deletion, and their parent nodes are transformed into leaf nodes. This iterative tree structure process continues until no further optimization is possible. Next, the point cloud counts of sibling nodes under the same parent node are analyzed. If two sibling nodes have a point cloud count less than the threshold (sht, e.g., 1 million) and are spatially compatible, they are merged, and one of the sibling nodes is deleted (generally, the one with the larger index is deleted). Compatibility between sibling nodes means that after merging, the total bounding shell of the merged nodes is equal to the sum of the bounding shells of the two sibling nodes, indicating no spatial gaps.
[0084] S340, Regional Point Cloud Block Filtering:
[0085] Through the above spatial segmentation operations on the massive point cloud, the massive point cloud has been converted into controllable small-volume regional point cloud blocks. Therefore, filtering operations, such as noise filtering and structure filtering, can be performed according to the specific needs of the project. However, due to the spatial segmentation of the massive point cloud in the early stage, there is a breakage phenomenon at the edge of the regional point cloud blocks, which causes the filtering operation to filter out normal points. Therefore, this embodiment uses the concept of spatial fencing.
[0086] In this embodiment, a relay filtering mechanism constrained by spatial fences is first used to construct a "ring of neighborhood space" (including adjacent blocks) for each point cloud block, and the neighborhood file is quickly located based on an octree. Secondly, all point cloud information within the fence is referenced to filter and modify the current block data. Then, an association propagation strategy is adopted: after the current block is processed, its neighboring blocks are filtered first, and non-adjacent resources are released, forming a relay loop. Specifically:
[0087] S341, constructing spatial fences: The spatial fence of each point cloud block to be filtered is its "one-ring neighborhood space," encompassing the point cloud spaces of adjacent regions to the left, right, top, and bottom. To facilitate efficient searching of adjacent point cloud files within the "one-ring neighborhood space," a pre-built spatial segmentation tree is utilized. This tree enables efficient spatial collision detection, and the data structure information within nodes is then used to accurately locate the point cloud file of the region block. Figure 6 As shown.
[0088] S342, Restrictive Filtering. During the filtering operation, the filtering information can take all point cloud information within the spatial fence; however, it can only remove or modify point data within the current point cloud block to be filtered. To accelerate filtering efficiency and reduce multiple reads of the regional point cloud, this embodiment uses an associative propagation method for filtering. When the current regional point cloud filtering is completed, the neighboring regional point clouds of its "one-ring neighborhood space" are taken as the next object to be filtered, while the regional point cloud resources that are not adjacent to the object to be filtered are released. This associative propagation continues until the filtering is completed, maximizing the data recycling rate and improving filtering efficiency.
[0089] In step S400, considering the correction constraints of different texture source information, seamless generation of geographic texture data is achieved, and generalized management of geographic texture data is performed.
[0090] Although the general preliminary data alignment steps achieve a geometric mapping relationship between point cloud data and texture sources, the presence of sensor radiometric errors leads to significant differences in color information between texture sources. Therefore, it is necessary to correct and suppress this apparent inconsistency using texture source color information. Furthermore, by employing texture information generalization techniques, the differences in texture source storage methods are mitigated, unifying the geographic texture source management process.
[0091] The above steps specifically include: first, color correction is performed, extracting and constructing texture information in overlapping areas to build an overdetermined equation system, achieving seamless color fusion across sensors; second, texture generalization is performed, reducing data volume through resolution-adaptive sampling, compressing memory consumption through two-dimensional segmentation, unifying spatial mapping relationships, and eliminating data format differences. Specifically, as follows:
[0092] S410, Texture source color information correction:
[0093] like Figure 5 When generating geographic texture data, because the texture information in the geographic texture data is taken from different sensors, different shooting angles, and exposure times, there is a strong inconsistency in texture color in the texture overlap area (texture overlap region). Let a certain geographic object point in the overlap region be v. i , vt ij vt ik Representing the geographic physical point v i The texture information (grayscale value, color value) in texture sources j and k, where the subscripts i, j, and k are dummy indices. Different values of i (geophysical point index value) represent geophysical points of different overlapping areas, and different values of j and k (texture source index value) represent different texture sources. The mathematical measure of texture color inconsistency, BI, is:
[0094]
[0095] In order to generate a seamless effect (no difference in texture information within overlapping areas, and the minimum mathematical measure of texture color inconsistency) in this embodiment, texture information in all overlapping areas is extracted, an overdetermined system of equations (such as Equation 4) is constructed, and the mathematical measure of texture color inconsistency after correction is constrained to be minimized, while the correction amount Δ is also constrained. ij , △ ik The value is the smallest, where the subscripts i, j, and k have the same meaning as in Formula 3.
[0096]
[0097] S420, generalized management of texture data:
[0098] In actual production, the texture source may be the original image data or the finished product data result DOM (orthophoto data). Different image data have differences in data format, data size, and data access, which will hinder the subsequent extraction of texture information. Therefore, this embodiment generalizes the differences in texture sources.
[0099] First, the original texture data is adapted and sampled according to the point cloud scanning resolution. Generally, the spatial resolution of the original texture data is higher than that of the point cloud scanning resolution, thereby reducing the data volume. Second, the adapted and sampled texture data is segmented into two-dimensional space to further reduce the computer memory consumption of a single point cloud coloring. Finally, the mapping relationship between different forms of texture data and object points is generalized into a mapping matrix P', which is 3 rows and 4 columns. When it is aerial area array texture data, P' = KP, where K is the camera matrix and P is the projection matrix. When it is DOM (orthophoto data), P' is an extended alignment matrix of the orthophoto geographic mapping relationship. At this time, the description of points x' and corresponding object points X on different texture sources can be expressed by x' = P' * X, realizing the generalization of texture source geographic information. The texture source that has undergone generalized management of texture data is the geographic texture source (data).
[0100] In step S500, the geometric mapping and local aggregation spatial relationship between regional point cloud blocks and geographic texture data are used to perform outer kernel texture mapping of regional point cloud blocks, thereby achieving efficient initial coloring of point clouds.
[0101] Through the spatial segmentation of the original massive point cloud and the seamless generation of geographic texture data, the massive point cloud and texture data have been fragmented and subdivided, providing a foundation for realizing the outer kernel texture mapping of regional point cloud blocks.
[0102] The above steps specifically include: First, texture source retrieval accurately matches region point cloud blocks through collision detection using a geographic texture source visual bounding shell and octree; second, out-of-kernel mapping is performed, with point cloud blocks employing a double-buffered operator (input / output) to avoid memory overflow, and the texture source, after sampling and segmentation, can be fully loaded into memory; finally, generalized color assignment is performed, extracting color information based on a unified mapping matrix. This achieves low memory consumption and high-precision texture mapping for hundreds of millions of point clouds. Details are as follows:
[0103] S510, Regional Point Cloud Block Geographic Texture Source Retrieval:
[0104] The intersection of the spatial extent of the current region's point cloud patch and the spatial extent of the geographic texture source is calculated to extract the geographic texture sources participating in the calculation. To accelerate the extraction of geographic texture sources, after generalization management of geographic texture sources, a visual spatial bounding shell is generated for each geographic texture source. When the geographic texture source is aerial area array data, the bounding shell is a cone; when the geographic texture source is an orthophoto, the bounding shell is a cube. The list of geographic texture sources corresponding to the current region's point cloud patch is determined by sequentially colliding the visual bounding shells of the geographic texture sources with the point cloud spatial segmentation tree.
[0105] S520, Region Point Cloud Block Kernel Outer Texture Mapping (Coloring):
[0106] When coloring the point cloud, this embodiment simultaneously creates input and output operators for the point cloud block. The built-in buffer space avoids loading the entire point cloud into memory at once, and also enhances the adaptability of point cloud spatial segmentation to large threshold SHT values. Furthermore, through prior sampling and adaptation of the texture source data and two-dimensional spatial segmentation, the geographic texture data is sufficiently small to be loaded into memory all at once. Finally, the texture color information is extracted from the geographic texture source and assigned to the corresponding point cloud points using the generalized mapping matrix P'.
[0107] In step S600, the occlusion judgment result of the point cloud itself is used to eliminate the texture information of the incorrectly colored point cloud through texture mapping and shading.
[0108] In this embodiment, texture mapping shading is used to address the problem of incorrect color assignment due to occlusion in the point cloud itself, such as... Figure 7 As shown, the essence is to utilize the mapping relationship between geographic texture sources and object points, count the object point cloud set in each texture pixel, sort the point cloud set by nearest distance, assign color only to the nearest point cloud point, and remove texture color information from the remaining points.
[0109] The above steps specifically include: resolving the erroneous color assignment problem caused by point cloud occlusion. First, a spatial ray is constructed for the texture pixels, and its intersection with the point cloud octree is calculated. Candidate points with a distance less than the scan resolution are filtered out, and only the nearest points are retained for color assignment after sorting by proximity. Second, region clustering is performed based on the point cloud curvature (controlling the growth direction) and the texture grayscale gradient, respectively, to remove erroneous colors from discrete points that are isolated in both the point cloud and texture. Projection interference at different height layers is completely eliminated to ensure that the color assignment results conform to the physical occlusion relationship. Specifically, as follows:
[0110] S610: Construct a spatial ray for the current texture pixel based on the mapping matrix information of the geographic texture source. Then, find the intersection of the constructed spatial ray with the point cloud segmentation tree. In the intersecting area of the point cloud block (i.e., leaf node), determine the distance between the point cloud point and the spatial ray. If the distance dh is less than the scanning resolution, it is a candidate point that needs to be removed. Then, project the candidate points onto the spatial ray and sort them according to the relationship from near to far. Perform the removal operation on the non-nearest point cloud point to erase the texture color information of the corresponding point.
[0111] S620. Due to the discreteness of point clouds, point clouds at different heights can still obtain incorrect texture and color information through the above methods. Therefore, this embodiment addresses this problem by first performing region identification and segmentation on the point cloud data, controlling the region growth clustering step size through the point cloud scanning resolution, and controlling the growth direction through the curvature information of the point cloud itself to prevent cross-boundary clustering. Clusters together are considered to be of the same type of land cover. Similarly, geographic texture sources are clustered, and the clustering growth direction is controlled based on their grayscale and gradient information, with the resolution controlling the growth step size. When discreteness is simultaneously exhibited in both the point cloud and the geographic texture source, the current point cloud point must contain incorrect texture and color information and should be discarded.
[0112] In step S700, the colored area point cloud blocks are merged to restore the original data format and storage method.
[0113] In this embodiment, several point cloud blocks in the region after coloring are merged. The merging process samples the external file operator mode and does not rely on the large memory mode.
[0114] The above steps specifically include: creating an input file operator for each region point cloud block and an output operator for the result file; dynamically merging all blocks by cyclically replacing buffered data through streaming read / write; and synchronously updating header information such as the number of point clouds and coordinate system in the result file in real time. Details are as follows:
[0115] The S710, through the texture removal process, has basically completed the coloring operation of the regional point cloud blocks. In order to restore the original point cloud data organization and distribution, it is also necessary to merge several regional point cloud blocks. First, an output file operator is created for each colored regional point cloud block, and an input file operator is created for the massive point cloud file to be generated by merging. Then, the point cloud data is replaced by the internal cache of the file operator in a loop, while the header file of the massive point cloud file is updated in real time.
[0116] In this embodiment, the method further includes: in step S700, quality inspection: after coloring the original point cloud, a quality inspection must be performed. The inspection items include whether the texture color difference information matches the point cloud geometric structure information, whether the texture information occlusion and shadow removal process is correct, and whether the texture information is distorted.
[0117] In this embodiment, the point cloud coloring quality check includes: 1) Geometric-texture matching verification—checking whether the texture color difference distribution is consistent with the point cloud structural features and identifying offset anomalies; 2) Hidden shadow removal logic verification—confirming the correctness of ray sorting and bi-clustering hidden shadow removal by checking the point cloud color clearing status in occluded areas; 3) Texture distortion analysis—detecting the continuity of color transition at the junctions and evaluating the blurring or distortion caused by sampling mapping. Defective blocks are automatically labeled based on quantization thresholds, driving iterative optimization to ensure that TB-level coloring results meet engineering accuracy requirements.
[0118] Application Example: Using the method of this invention, efficient point cloud coloring was performed on massive point clouds. The original point cloud data was 77GB in size, with a scanning resolution better than 2cm. The computer configuration used was: Intel(R) Core(TM) i9-10980XE CPU@3.00GHz, 32GB RAM. The coloring process consumed no more than 4GB of memory and took 3612 seconds, demonstrating and highlighting the advantages of this invention. The spatial segmentation effect of the massive point cloud is as follows... Figure 8 As shown, the coloring effect is as follows Figure 9 .
[0119] In addition, embodiments of the present invention also provide an electronic device, the device comprising: a processor and a memory; the memory being used to store one or more program instructions; the processor being used to execute one or more program instructions to perform the steps of an automated texture color mapping method for large-scale point cloud data as described in any of the preceding embodiments.
[0120] It should be noted that for a detailed description of an electronic device provided in the embodiments of the present invention, please refer to the relevant description of an automated texture color mapping method for large-scale point cloud data provided in the embodiments of the present invention, which will not be repeated here.
[0121] In addition, embodiments of the present invention also provide a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of an automated texture color mapping method for large-scale point cloud data as described in any of the preceding embodiments.
[0122] It should be noted that for a detailed description of the computer-readable storage medium provided in the embodiments of the present invention, please refer to the relevant description of the automated texture color mapping method for large-scale point cloud data provided in the embodiments of the present invention, which will not be repeated here.
[0123] Those skilled in the art will understand that all or part of the functions of the various methods in the above embodiments can be implemented by hardware or by computer programs. When all or part of the functions in the above embodiments are implemented by computer programs, the program can be stored in a computer-readable storage medium, which may include: read-only memory, random access memory, disk, optical disk, hard disk, etc., and the program is executed by a computer to achieve the above functions. For example, the program can be stored in the memory of a device, and when the program in the memory is executed by the processor, all or part of the above functions can be achieved. In addition, when all or part of the functions in the above embodiments are implemented by computer programs, the program can also be stored in a server, another computer, disk, optical disk, flash drive, or external hard drive, etc., and can be downloaded or copied to the memory of a local device, or the system of the local device can be updated. When the program in the memory is executed by the processor, all or part of the functions in the above embodiments can be achieved.
[0124] The above examples illustrate the present invention only to aid in understanding it and are not intended to limit the scope of the invention. Those skilled in the art can make various simple deductions, modifications, or substitutions based on the principles of this invention.
Claims
1. An automated texture color mapping method for large-scale point cloud data, characterized in that, The method includes: Acquire point cloud data and geographic texture data and perform preprocessing; Accurately align point cloud data with geographic texture data; The point cloud data is spatially segmented to obtain multiple regional point cloud blocks, and the obtained regional point cloud blocks are then filtered. Taking into account the correction constraints of different texture source information, seamless generation of geographic texture data is achieved, and generalized management of geographic texture data is carried out; By utilizing the geometric mapping and local aggregation spatial relationship between regional point cloud blocks and geographic texture data, we can perform outer kernel texture mapping of regional point cloud blocks to achieve efficient initial coloring of point clouds. The occlusion of the point cloud itself is used to determine the result, and the texture information of the incorrectly colored point cloud is eliminated by texture mapping and shading. The point cloud blocks of the colored regions are merged to restore the original data format and storage method.
2. The automated texture color mapping method for large-scale point cloud data as described in claim 1, characterized in that, Acquire point cloud data and geographic texture data and perform preprocessing, specifically including: The massive point cloud is transformed into a specific engineering coordinate system using Kalman filtering constraints.
3. The automated texture color mapping method for large-scale point cloud data as described in claim 1, characterized in that, Accurate alignment of point cloud data with geographic texture data includes: First, a data texture coordinate correction observation equation is constructed. By adding correction value boundary constraints, the convergence direction of the observation equation is guided to converge toward the optimal solution. Based on the optimal coordinate correction value obtained from the solution, anchor points are formed in the texture source to obtain spatial plotting data. Then, based on the spatial plotted point data, a regional polynomial fitting is performed within the texture source range to construct a surface fitting function. Based on the obtained surface fitting function, the geometric positions of all points within the geographic texture source range are corrected.
4. The automated texture color mapping method for large-scale point cloud data as described in claim 1, characterized in that, Spatial segmentation of point cloud data yields multiple regional point cloud blocks, specifically including: Spatial Partitioning: A dynamic octree spatial partitioning technique is employed. This involves reading massive amounts of point cloud data while dynamically expanding the spatial partitioning tree. Each spatial partitioning tree node contains a variable `cn` recording the number of points. `cn` tracks the number of point clouds contained in the current node's space. When the point cloud data recorded in a partitioning tree node exceeds a preset threshold, the current node is further subdivided spatially, making the original leaf node a parent node. A buffered I / O mechanism is also used to reduce storage pressure. Each partitioning tree node contains a data structure {node name, child node pointers, parent node pointers, point...}. The number of nodes and file operators are defined, where the length of the node name represents the level of the current segmentation tree node, and the leaf node name is expanded with an index of 0 to 7 based on the parent node name; the existence of child node pointers and parent node pointers facilitates efficient upward and downward retrieval in the segmentation tree; the file operators provide the ability to read point cloud data from massive raw point clouds and output it to new region point cloud files. In order to avoid frequent IO operation resources, each file operator has a hidden buffer space buff. Data is only written or written at once when the buffer space buff is full or when the file operation is finished. Node encoding: O(1) complexity space retrieval is achieved through three-dimensional coordinate binary encoding. Specifically, by designing a cross-space encoding method, the binary encoding 000~111 corresponds to the child node number 0~7. It is only necessary to judge the size relationship between each point cloud point and the current node center point in the three spatial dimensions of the horizontal axis, vertical axis, and vertical axis. If it is less than the current node center point, the binary encoding of the current spatial dimension is "0", otherwise it is "1". Spatial segmentation tree optimization: Finally, a dual optimization strategy is executed to eliminate excessive segmentation. First, sparse parent nodes are shrunk upwards by prioritizing the deletion of all leaf nodes whose point cloud count is less than a preset threshold, turning parent nodes into leaf nodes. This process iterates through the tree structure until no further optimization is possible. Second, spatially adjacent child nodes are merged. By statistically analyzing the point cloud counts of sibling nodes under the same parent node, the two sibling nodes are merged if and only if their point cloud counts are less than a preset threshold and they are spatially compatible. One of the sibling nodes is then deleted. Compatibility between the two sibling nodes means that after merging, the total bounding shell of the nodes is equal to the sum of the bounding shells of the two sibling nodes, i.e., there is no spatial voiding.
5. The automated texture color mapping method for large-scale point cloud data as described in claim 1, characterized in that, The obtained regional point cloud blocks are filtered, specifically including: Constructing spatial fences: The spatial fence of each region point cloud block to be filtered is its "one-ring neighborhood space", which includes the space of the region point cloud blocks that are adjacent to each other on the left, right and up and down. The neighborhood file is quickly located based on the octree. Restrictive filtering: Filtering is performed using correlation propagation. After the current region point cloud block is filtered, the neighboring region point cloud blocks in its "one-ring neighborhood space" are taken as the next object to be filtered. At the same time, the region point cloud resources that are not adjacent to the object to be filtered are released. This correlation propagation continues until the filtering ends.
6. The automated texture color mapping method for large-scale point cloud data as described in claim 1, characterized in that, Taking into account the correction constraints of different texture source information, seamless generation of geographic texture data is achieved, and generalized management of geographic texture data is performed, specifically including: Texture source color information correction: Extract and construct texture information of overlapping areas to build an overdetermined set of equations to achieve seamless color fusion across sensors; Generalized management of texture data: First, the original geographic texture data is adapted and sampled according to the point cloud scanning resolution to reduce the data volume. Second, the geographic texture data after multiple adaptation sampling is segmented into two-dimensional space to further reduce the computer memory consumption of a single point cloud coloring. Finally, the mapping relationship between different forms of texture data and object points is generalized into a mapping matrix P'. At this time, the description of points x' on different texture sources and corresponding object points X can be expressed by x' = P' * X, realizing the generalization of geographic information of texture sources.
7. The automated texture color mapping method for large-scale point cloud data as described in claim 6, characterized in that, By leveraging the geometric mapping and local aggregation spatial relationships between regional point cloud patches and geographic texture data, outer kernel texture mapping of regional point cloud patches is performed to achieve efficient initial colorization of point clouds. Specifically, this includes: Regional point cloud block geographic texture source retrieval: Generate the visual space bounding shell of each geographic texture source, and determine the list of geographic texture sources corresponding to the current regional point cloud block by sequentially performing collision detection between the visual bounding shell of the geographic texture source and the point cloud spatial segmentation tree. Regional point cloud block kernel-outside texture mapping: When coloring the point cloud, the point cloud block adopts a double buffer operator to avoid memory overflow, and the texture source can be fully loaded into memory after sampling and segmentation; finally, the texture color information is extracted from the geographic texture source and assigned to the corresponding point cloud points through the generalized mapping matrix P'.
8. The automated texture color mapping method for large-scale point cloud data as described in claim 1, characterized in that, By utilizing the occlusion judgment results of the point cloud itself, texture information of erroneously colored point clouds is eliminated through texture mapping and shading, specifically including: First, a spatial ray is constructed for the current texture pixel based on the mapping matrix information of the geographic texture source. Then, the intersection of the constructed spatial ray and the point cloud segmentation tree is calculated. The distance between the point cloud point and the spatial ray is judged within the point cloud block of the intersection area. When the distance is less than the point cloud scanning resolution, the corresponding point cloud point is a candidate point to be removed. Then, the candidate points are projected into the spatial ray and sorted according to the relationship from near to far. The removal operation is performed on the non-nearest point cloud point to erase the texture color information of the corresponding point. Secondly, the point cloud data is segmented into regions. The growth step size of the cluster is controlled by the point cloud scanning resolution, and the growth direction is controlled by the curvature information of the point cloud itself to prevent cross-boundary clustering. Clusters that are clustered together are regarded as the same type of land feature. Similarly, the geographic texture source is clustered, and the cluster growth direction is controlled by grayscale and gradient information, and the growth step size is controlled by resolution. When discreteness is exhibited in both the point cloud and the geographic texture source, the current point cloud point must contain incorrect texture color information and must be removed.
9. The automated texture color mapping method for large-scale point cloud data as described in claim 1, characterized in that, The colored point cloud blocks are merged to restore the original data format and storage method, specifically including: An output file operator is created for each colored point cloud block, and an input file operator is created for the merged result file; buffered data is replaced by streaming read and write loops to dynamically merge all blocks; and the header information of the result file is updated in real time.
10. The automated texture color mapping method for large-scale point cloud data as described in claim 1, characterized in that, The method further includes: Quality check: After coloring the original point cloud, a quality check must be performed. The check items include whether the texture color difference information matches the point cloud geometric structure information, whether the texture information occlusion and shadow removal process is correct, and whether the texture information is distorted.
Citation Information
Cited By
Laser radar rain and snow noise filtering method, system, medium and equipment
CN122155997A
A laser radar rain and snow noise filtering method, system, medium and device
CN122155997B