Section display method and device based on point cloud data, equipment and storage medium
Patent Information
- Application Number
- CN202411437384.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-15
- Publication Date
- 2026-10-09
- Estimated Expiration
- 2044-10-15
AI Technical Summary
然而在点云数量庞大的情况下,现有算法直接处理点云数据进行切面可视化显示的速度较慢
[0028]According to the point cloud data-based section display method, apparatus, device, and storage medium provided in this disclosure, multiple target points are sorted based on a sorting algorithm and position information to obtain a sorted point cloud. Based on the local sparsity and number of blocks in the sorted point cloud, the sorted point cloud is divided into multiple initial block point clouds. The multiple initial block point clouds are processed according to the Delaunay algorithm to obtain target triangular meshes corresponding to each of the multiple initial block point clouds. The multiple target triangular meshes are rendered using a surface rendering algorithm to obtain the target rendering section for the target cutting position. Because an appropriate number of blocks is selected, the sorted point cloud is divided into blocks, and then the Delaunay algorithm is used to process the multiple initial block point clouds block by block to generate the target triangular mesh, it is not necessary to judge complex topological relationships and the adjacency relationships of points, edges, and triangles, thereby reducing the algorithm complexity, accelerating the generation speed of the target triangular mesh, improving rendering efficiency, and realizing interactive visualization display of sections inside the spatial point cloud or at a certain target cutting position.
Smart Images

Figure CN119295700B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the fields of fluid mechanics and visualization, and more specifically, to a method, apparatus, device, and storage medium for displaying cross-sections based on point cloud data. Background Technology
[0002] In recent years, with the development of technologies such as digital twins and digital prototypes, there has been a greater demand for rapid post-processing and in-situ visualization of flow field data in computational fluid dynamics. Currently, when it comes to the rapid integration and display of flow field data from different meshes, computational methods, and simulation programs, it is necessary to perform visualization operations such as rapid segmentation, rendering, display, and hiding of spatial point clouds. However, when dealing with a large number of point clouds, existing algorithms are slow at directly processing point cloud data for cross-sectional visualization. Summary of the Invention
[0003] In view of this, the present disclosure provides a method, apparatus, device and storage medium for displaying cross-sections based on point cloud data.
[0004] One aspect of this disclosure provides a method for displaying cross-sections based on point cloud data, including:
[0005] The process involves acquiring target point cloud data for multiple target points located at the target cutting position, where the target point cloud data includes location information. Based on a sorting algorithm and the location information, the multiple target points are sorted to obtain a sorted point cloud, which represents a set of multiple target points with a sorting relationship. Based on the local sparsity and number of blocks in the sorted point cloud, it is divided into multiple initial block point clouds, each containing at least one target point. The multiple initial block point clouds are then processed according to the Delaunay algorithm to obtain target triangular meshes corresponding to each initial block point cloud. Finally, a surface rendering algorithm is used to render the multiple target triangular meshes, resulting in a target rendering section for the target cutting position.
[0006] According to embodiments of this disclosure, multiple initial block point clouds are processed using the Delaunay algorithm to obtain target triangular meshes corresponding to each of the multiple initial block point clouds, including:
[0007] Multiple initial point cloud segments are processed using the Delaunay algorithm to obtain initial triangular meshes corresponding to each initial point cloud segment. Point cloud overlap parameters are determined based on the gap state information between the initial triangular meshes. These overlap parameters are then used to perform overlapping processing on the multiple initial point cloud segments to obtain target point clouds corresponding to each initial point cloud segment, where the number of overlapping points between the target point clouds is the same. Finally, multiple target point clouds are processed using the Delaunay algorithm to obtain target triangular meshes corresponding to each target point cloud segment.
[0008] According to embodiments of this disclosure, the plurality of initial block point clouds include a first block point cloud and a second block point cloud, wherein the sorted point cloud is divided into blocks based on the local sparsity and the number of blocks to obtain the plurality of initial block point clouds, including:
[0009] Based on the location information of the sorted point cloud, the local sparsity of at least one location region is determined. For each location region in the at least one location region, if the local sparsity of the location region is less than a preset sparsity threshold, the target points in the sorted point cloud located in the location region are uniformly divided into multiple first block point clouds based on the number of blocks, wherein each first block point cloud contains the same number of target points. If the local sparsity of the location region is greater than or equal to the preset sparsity threshold, the target points in the sorted point cloud located in the location region are non-uniformly divided into multiple second block point clouds based on the number of blocks, wherein the multiple second block point clouds contain different numbers of target points.
[0010] According to embodiments of this disclosure, the number of blocks is determined based on the following operations: the number of blocks is determined according to the relationship between the number of blocks and the algorithm complexity, the number of target points, and the upper limit of the number of blocks.
[0011] According to embodiments of this disclosure, obtaining multiple target points located at the target cutting position includes:
[0012] Obtain multiple initial points located at the target cutting position; if the density of the multiple initial points is less than a preset density threshold, obtain at least one associated point located at the associated cutting position, wherein the target cutting position and the associated cutting position are adjacent; compress at least one associated point onto the target cutting position to obtain a compressed point cloud; based on the compressed point cloud and the multiple initial points, obtain multiple target points corresponding to the target cutting position.
[0013] According to embodiments of this disclosure, obtaining target point cloud data for each of multiple target points located at the target cutting position further includes:
[0014] Acquire initial point cloud data of multiple target points located at the target cutting position, wherein the initial point cloud data includes pressure information of the target points; determine the upper limit and lower limit of pressure based on the pressure information of each of the multiple target points; normalize the initial point cloud data based on the upper limit and lower limit of pressure to obtain the target point cloud data.
[0015] According to embodiments of this disclosure, the method for displaying cross-sections based on point cloud data further includes:
[0016] After generating the target rendering section, the compressed point cloud is decompressed to obtain at least one first decompressed point, where the first decompressed point represents the associated point corresponding to the associated cutting position.
[0017] Another aspect of this disclosure provides a cross-sectional display device based on point cloud data, comprising:
[0018] The acquisition module is used to acquire target point cloud data for multiple target points located at the target cutting position. The target point cloud data includes location information.
[0019] The sorting module is used to sort multiple target points based on sorting algorithms and location information to obtain a sorted point cloud, where the sorted point cloud represents a set of multiple target points with sorting relationships.
[0020] The segmentation module is used to segment the sorted point cloud into blocks based on the local sparsity and the number of blocks, to obtain multiple initial segmented point clouds, wherein each initial segmented point cloud includes at least one target point.
[0021] The generation module is used to process multiple initial block point clouds according to the Delaunay algorithm to obtain the target triangular mesh corresponding to each of the multiple initial block point clouds.
[0022] The rendering module is used to render multiple target triangular meshes using a face rendering algorithm to obtain the target rendering cross-section at the target cutting position.
[0023] Another aspect of this disclosure provides an electronic device comprising:
[0024] One or more processors;
[0025] Memory, used to store one or more programs.
[0026] When one or more programs are executed by one or more processors, the one or more processors implement the above-described method for displaying cross-sections based on point cloud data.
[0027] Another aspect of this disclosure provides a computer-readable storage medium storing computer-executable instructions, which, when executed, are used to implement the above-described method for displaying cross-sections based on point cloud data.
[0028] According to the point cloud data-based section display method, apparatus, device, and storage medium provided in this disclosure, multiple target points are sorted based on a sorting algorithm and position information to obtain a sorted point cloud. Based on the local sparsity and number of blocks in the sorted point cloud, the sorted point cloud is divided into multiple initial block point clouds. The multiple initial block point clouds are processed according to the Delaunay algorithm to obtain target triangular meshes corresponding to each of the multiple initial block point clouds. The multiple target triangular meshes are rendered using a surface rendering algorithm to obtain the target rendering section for the target cutting position. Because an appropriate number of blocks is selected, the sorted point cloud is divided into blocks, and then the Delaunay algorithm is used to process the multiple initial block point clouds block by block to generate the target triangular mesh, it is not necessary to judge complex topological relationships and the adjacency relationships of points, edges, and triangles, thereby reducing the algorithm complexity, accelerating the generation speed of the target triangular mesh, improving rendering efficiency, and realizing interactive visualization display of sections inside the spatial point cloud or at a certain target cutting position. Attached Figure Description
[0029] The above and other objects, features and advantages of this disclosure will become clearer from the following description of embodiments with reference to the accompanying drawings, in which:
[0030] Figure 1 A flowchart of a point cloud-based section display method according to an embodiment of the present disclosure is shown;
[0031] Figure 2 An example schematic diagram of multiple target points at a target cutting location according to an embodiment of the present disclosure is shown;
[0032] Figure 3 An example schematic diagram of a target block point cloud according to an embodiment of the present disclosure is shown;
[0033] Figure 4 An example schematic diagram of a compressed association point according to an embodiment of the present disclosure is shown;
[0034] Figure 5 A block diagram of a point cloud-based cross-section display device according to an embodiment of the present disclosure is shown; and
[0035] Figure 6 A block diagram of an electronic device suitable for implementing a point cloud data-based cross-sectional display method according to an embodiment of the present disclosure is shown. Detailed Implementation
[0036] The embodiments of the present disclosure will now be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of the disclosure. In the following detailed description, numerous specific details are set forth to provide a thorough understanding of the embodiments of the present disclosure for ease of explanation. However, it will be apparent that one or more embodiments may be practiced without these specific details. Furthermore, descriptions of well-known structures and techniques are omitted in the following description to avoid unnecessarily obscuring the concepts of the present disclosure.
[0037] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit this disclosure. The terms “comprising,” “including,” etc., as used herein indicate the presence of features, steps, operations, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, or components.
[0038] All terms used herein (including technical and scientific terms) have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein are to be interpreted in a manner consistent with the context of this specification, and not in an idealized or overly rigid way.
[0039] When using expressions such as "at least one of A, B and C", they should generally be interpreted in accordance with the meaning that is commonly understood by those skilled in the art (e.g., "a system having at least one of A, B and C" should include, but is not limited to, a system having A alone, a system having B alone, a system having C alone, a system having A and B, a system having A and C, a system having B and C, and / or a system having A, B and C, etc.).
[0040] In the process of developing this disclosure, it was discovered that in recent years, with the development of technologies such as digital twins and digital prototypes, there has been a greater demand for rapid post-processing and in-situ visualization of flow field data in computational fluid dynamics. Currently, when it comes to the rapid integration and display of flow field data from different meshes, different calculation methods, and different simulation programs, it is necessary to perform visualization operations such as rapid segmentation, rendering, display, and hiding of spatial point clouds. However, when the number of point clouds is large, existing algorithms are slow at directly processing point cloud data for cross-sectional visualization.
[0041] In view of this, embodiments of the present disclosure provide a method, apparatus, device, and storage medium for displaying cross-sections based on point cloud data. The method includes: acquiring target point cloud data for multiple target points located at a target cutting position, wherein the target point cloud data includes position information; sorting the multiple target points based on a sorting algorithm and the position information to obtain a sorted point cloud, wherein the sorted point cloud represents a set of multiple target points with a sorting relationship; dividing the sorted point cloud into blocks based on the local sparsity and the number of blocks to obtain multiple initial block point clouds, wherein each initial block point cloud includes at least one target point; processing the multiple initial block point clouds according to the Delaunay algorithm to obtain target triangular meshes corresponding to each of the multiple initial block point clouds; and rendering the multiple target triangular meshes using a surface rendering algorithm to obtain a target rendering cross-section for the target cutting position.
[0042] In the technical solution disclosed herein, the user information (including but not limited to user personal information, user image information, user device information, such as location information) and data (including but not limited to data used for analysis, stored data, and displayed data) involved are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, storage, use, processing, transmission, provision, disclosure, and application of related data all comply with relevant laws, regulations, and standards, necessary confidentiality measures have been taken, and they do not violate public order and good morals. Corresponding operation entry points are provided for users to choose to authorize or refuse.
[0043] Figure 1 A flowchart of a point cloud-based section display method according to an embodiment of the present disclosure is shown.
[0044] like Figure 1 As shown, the method 100 includes operations S110 to S150.
[0045] In operation S110, target point cloud data of multiple target points located at the target cutting position are acquired.
[0046] According to embodiments of this disclosure, in a flow field scenario, cutting is performed sequentially along a certain direction based on cutting positions to obtain a cut surface with a certain thickness corresponding to each cutting position, and multiple three-dimensional flow field points are present on the cut surface.
[0047] According to embodiments of this disclosure, the target cutting position represents the cutting position corresponding to the cut surface to be rendered. The target point represents a three-dimensional flow field point on the cut surface located at the target cutting position.
[0048] For example, in a certain flow field scenario, the initial position is determined to be 0% and the end position to be 100%, and the target cutting position is 50%. Cutting is performed based on the target cutting position of 50%, and the target point cloud data of multiple target points located on the upper cutting surface of the target cutting position of 50% are obtained.
[0049] According to embodiments of this disclosure, target point cloud data represents the spatial geometric information of target points, and the target point cloud data includes location information.
[0050] In operation S120, based on the sorting algorithm and location information, multiple target points are sorted to obtain a sorted point cloud.
[0051] According to embodiments of this disclosure, a sorted point cloud represents a set of multiple target points that have a sorting relationship.
[0052] According to embodiments of this disclosure, multiple target points are sorted using a sorting algorithm based on their location information to obtain a sorted point cloud. The quicksort algorithm can be a quicksort algorithm.
[0053] For example, based on the position information of multiple target points on the horizontal axis, they are sorted from smallest to largest to obtain a sorted point cloud.
[0054] In operation S130, the sorted point cloud is divided into blocks based on the local sparsity and the number of blocks, resulting in multiple initial block point clouds.
[0055] According to embodiments of this disclosure, the initial segmented point cloud includes at least one target point.
[0056] According to embodiments of this disclosure, the sorted point cloud is divided into blocks based on the number of blocks and the local sparsity of different local regions in the sorted point cloud, resulting in multiple initial block point clouds. The local sparsity characterizes the point density level of a local region.
[0057] According to embodiments of this disclosure, non-uniform segmentation can be performed in local areas with high local sparsity, while uniform segmentation can be performed in local areas with low local sparsity.
[0058] In operation S140, the Delaunay algorithm is used to process multiple initial block point clouds to obtain the target triangular mesh corresponding to each initial block point cloud.
[0059] According to embodiments of this disclosure, the Delaunay algorithm can be the Delaunay triangulation algorithm. Multiple initial block point clouds can be processed according to the Delaunay algorithm, and then it can be determined whether there are gaps between the multiple initial block points. If there are no gaps, the target triangular mesh corresponding to each of the multiple initial block point clouds can be generated block by block according to the Delaunay algorithm.
[0060] According to embodiments of this disclosure, in the presence of gaps, the gaps are eliminated, and then the target triangular mesh corresponding to each of the multiple initial block point clouds is generated block by block according to the Delaunay algorithm.
[0061] According to embodiments of this disclosure, the target triangular mesh corresponding to the initial segmented point cloud is a polygonal mesh composed entirely of triangles, which are constructed based on the target points in the initial segmented point cloud.
[0062] In operation S150, a face rendering algorithm is used to render multiple target triangular meshes to obtain the target rendering facet for the target cutting position.
[0063] According to embodiments of this disclosure, a surface rendering program based on a surface rendering algorithm is called to render multiple target triangular meshes to obtain a target rendering cross-section for the target cutting position.
[0064] According to embodiments of this disclosure, cross-section rendering is performed based on each target cutting position, enabling interactive display of any cutting position in a certain direction within a flow field scene.
[0065] According to the embodiments of this disclosure, by selecting an appropriate number of blocks, the sorted point cloud is divided into blocks, and then the Delaunay algorithm is used to process multiple initial block point clouds one by one to generate the target triangular mesh. It is not necessary to judge complex topological relationships and the adjacency relationships of points, edges and triangles, thereby reducing the algorithm complexity, speeding up the generation speed of the target triangular mesh, improving the rendering efficiency, and realizing the interactive visualization display of the cut surface inside the spatial point cloud or at a certain target cutting position.
[0066] Figure 2 An example schematic diagram of a plurality of target points at a target cutting location according to an embodiment of the present disclosure is shown.
[0067] like Figure 2 As shown, in the flow field scene, the target cutting position 210a is determined along the horizontal direction, and cutting is performed based on the target cutting position 210a to obtain multiple target points 211 located at the target cutting position; in the flow field scene, the target cutting position 220b is determined along the vertical direction, and cutting is performed based on the target cutting position 220b to obtain multiple target points 221 located at the target cutting position.
[0068] According to embodiments of this disclosure, multiple initial block point clouds are processed using the Delaunay algorithm to obtain target triangular meshes corresponding to each of the multiple initial block point clouds, including:
[0069] Multiple initial point cloud segments are processed using the Delaunay algorithm to obtain initial triangular meshes corresponding to each initial point cloud segment. Point cloud overlap parameters are determined based on the gap state information between the initial triangular meshes. These overlap parameters are then used to perform overlapping processing on the multiple initial point cloud segments to obtain target point clouds corresponding to each initial point cloud segment, where the number of overlapping points between the target point clouds is the same. Finally, multiple target point clouds are processed using the Delaunay algorithm to obtain target triangular meshes corresponding to each target point cloud segment.
[0070] According to embodiments of this disclosure, the Delaunay algorithm is used to process multiple initial block point clouds block by block to obtain initial triangular meshes corresponding to each of the multiple initial block point clouds.
[0071] According to embodiments of this disclosure, the gap state information between multiple initial triangular meshes includes gap number information and target point number information located in each gap, and the point cloud overlap parameter characterizes the number of target points overlapping between multiple initial block point clouds.
[0072] According to embodiments of this disclosure, the largest gap is determined based on the gap state information between multiple initial triangular meshes, and the point cloud overlap parameter is determined based on the number of target points located in the largest gap.
[0073] For example, if there are 20 gaps between multiple initial triangular meshes and the number of target points in the largest gap is 100, then the point cloud overlap parameter is 100.
[0074] According to embodiments of this disclosure, multiple initial block point clouds are overlapped with each other based on point cloud overlap parameters to obtain target block point clouds corresponding to each of the multiple initial block data. The number of target points overlapping between adjacent target block point clouds is the parameter value in the point cloud overlap parameters.
[0075] For example, the number of overlapping target points between adjacent target block point clouds is 100.
[0076] According to embodiments of this disclosure, the Delaunay algorithm is used to process multiple target point clouds block by block, resulting in target triangular meshes corresponding to each of the target point clouds. The overlapping target point clouds are merged into a unified whole, with no gaps between the target triangular meshes. The target triangular meshes are then rendered sequentially, significantly improving rendering efficiency. For example, rendering the target triangular mesh after block rendering takes 2.5 minutes, a 14-fold improvement in rendering efficiency compared to directly rendering multiple target points.
[0077] According to embodiments of this disclosure, multiple target block point clouds are obtained by overlapping multiple initial block point clouds based on point cloud overlap parameters. This speeds up the Delaunay algorithm in generating multiple target triangular meshes from multiple target block point clouds, improving the efficiency of face rendering. Furthermore, there are no gaps between the multiple target triangular meshes, resulting in a complete target rendering face after rendering, which reduces algorithm complexity and improves rendering efficiency.
[0078] According to embodiments of this disclosure, the plurality of initial block point clouds include a first block point cloud and a second block point cloud, wherein the sorted point cloud is divided into blocks based on the local sparsity and the number of blocks to obtain the plurality of initial block point clouds, including:
[0079] Based on the location information of the sorted point cloud, the local sparsity of at least one location region is determined. For each location region in the at least one location region, if the local sparsity of the location region is less than a preset sparsity threshold, the target points in the sorted point cloud located in the location region are uniformly divided into multiple first block point clouds based on the number of blocks, wherein each first block point cloud contains the same number of target points. If the local sparsity of the location region is greater than or equal to the preset sparsity threshold, the target points in the sorted point cloud located in the location region are non-uniformly divided into multiple second block point clouds based on the number of blocks, wherein the multiple second block point clouds contain different numbers of target points.
[0080] According to embodiments of this disclosure, the sorted point cloud is divided into one or more location regions based on its location information. The local sparsity of each location region is obtained based on the density of target points within that region. Each location region is then divided into blocks according to its local sparsity.
[0081] According to embodiments of this disclosure, when the local sparsity of the location region is less than a preset sparsity threshold, the target points located in the location region in the sorted point cloud are uniformly divided into blocks to obtain multiple first block point clouds; when the local sparsity of the location region is greater than or equal to the preset sparsity threshold, the target points located in the location region in the sorted point cloud are non-uniformly divided into blocks based on the number of blocks to obtain multiple second block point clouds. The sum of the number of first block point clouds and second block point clouds equals the number of blocks.
[0082] According to embodiments of this disclosure, each first segment point cloud contains the same number of target points, while each second segment point cloud contains a different number of target points. The number of target points in the second segment point cloud is determined based on the sparsity of the region where the second segment point cloud is located.
[0083] For example, if the number of target points n is greater than 20000, the Delaunay algorithm has a time complexity of O(n) without sorting and block processing. Generating the triangular mesh takes more than 30 minutes; after sorting and partitioning, the number of partitions m is 20, and the Delaunay algorithm has a complexity of O(n). According to the Delaunay algorithm, the time taken to generate multiple target triangular meshes from multiple target block point clouds is more than 1.5 minutes. After block division, the Delaunay algorithm does not need to judge complex topological relationships and does not need to know the adjacency relationship of points, edges and triangles, thus reducing the algorithm complexity by 19.98 times.
[0084] Figure 3 An example schematic diagram of a target block point cloud is shown according to an embodiment of the present disclosure.
[0085] like Figure 3 As shown, this embodiment includes a sorted point cloud 310 with 6 blocks. Based on the local sparsity of the sorted point cloud and the number of blocks, the sorted point cloud is divided into blocks to obtain multiple initial block point clouds 320. Location regions may include 310a, 310b, and 310c. When the local sparsity of a location region is less than a preset sparsity threshold (e.g., location regions 310a and 310c), target points located in the location regions of the sorted point cloud 310 are uniformly divided to obtain multiple first block point clouds (e.g., first block point clouds 320a, 320b, 320e, and 320f). When the local sparsity of a location region is greater than or equal to a preset sparsity threshold (e.g., location region 310b), target points located in the location regions of the sorted point cloud are non-uniformly divided based on the number of blocks to obtain multiple second block point clouds (e.g., second block point clouds 320c and 320d). The first point cloud block contains 9 target points, and the second point cloud block contains 3 target points. The second point cloud block 320d has the same number of target points as the first point cloud block 320a. Based on the point cloud overlap parameters, the multiple initial point cloud blocks are overlapped to obtain the target point cloud block 330 corresponding to each of the multiple initial point cloud blocks.
[0086] According to embodiments of this disclosure, when the number of target points is large, sorting and processing multiple target points in blocks can greatly reduce the time and algorithm complexity of the Delaunay algorithm in generating target triangular meshes, thereby improving the rendering efficiency of target rendering sections.
[0087] According to embodiments of this disclosure, the number of blocks is determined based on the following operations:
[0088] The number of blocks is determined based on the relationship between the number of blocks and the algorithm complexity, the number of target points, and the upper limit of the number of blocks.
[0089] According to embodiments of this disclosure, the relationship between the number of blocks and the algorithm complexity is: the more blocks, the lower the algorithm complexity. This relationship can be constrained using a constraint formula between the number of blocks and the algorithm complexity, for example... n is the number of target points, and m is the number of blocks.
[0090] According to embodiments of this disclosure, the upper limit of the number of blocks represents the maximum number of initial block point clouds.
[0091] According to embodiments of this disclosure, the number of blocks is determined by constraints based on the number of target points, the upper limit of the number of target points in each initial block point cloud, the upper limit of the number of blocks, and the relationship between the number of blocks and the algorithm complexity.
[0092] According to embodiments of this disclosure, obtaining multiple target points located at the target cutting position includes:
[0093] Obtain multiple initial points located at the target cutting position; if the density of the multiple initial points is less than a preset density threshold, obtain at least one associated point located at the associated cutting position, wherein the target cutting position and the associated cutting position are adjacent; compress at least one associated point onto the target cutting position to obtain a compressed point cloud; based on the compressed point cloud and the multiple initial points, obtain multiple target points corresponding to the target cutting position.
[0094] According to embodiments of this disclosure, the target cutting position and the associated cutting position are adjacent, and the associated cutting position represents the adjacent cutting position of the target cutting position. The associated point is located on the cut surface corresponding to the associated cutting position.
[0095] For example, with a preset density threshold of 0.8, multiple initial points are obtained at 50% of the cut surface at the target cutting position. If the density of multiple initial points is less than the preset density threshold of 0.8, one or more associated points corresponding to 45% of the associated cutting position are obtained.
[0096] According to embodiments of this disclosure, points at the cutting positions between the associated cutting position and the target cutting position can also be obtained as associated points. For example, points at cutting positions 46%, 47%, 48%, and 49% between the associated cutting position 45% and the target cutting position 50% can be used as associated points.
[0097] According to the embodiments of this disclosure, all associated points are compressed at the target cutting position to obtain a compressed point cloud. Based on the compressed point cloud and multiple initial points, multiple target points corresponding to the target cutting position are formed. The adjacent distance can be continuously expanded to determine the adjacent cutting positions and then compress the associated points until the density of the multiple target points corresponding to the target cutting position is greater than or equal to a preset density threshold.
[0098] According to embodiments of this disclosure, compression is not required when the density at multiple initial points is greater than or equal to a preset density threshold.
[0099] According to embodiments of this disclosure, the associated points are compressed along the cutting direction to ensure that the density of multiple target points corresponding to the target cutting position meets the preset density threshold, making the target rendering cross-section display clearer.
[0100] Figure 4 An example schematic diagram of compressed association points according to an embodiment of this disclosure is shown.
[0101] like Figure 4 As shown, multiple initial points 420 located at the target cutting position are obtained; at least one associated point 410 located at the associated cutting position is obtained; at least one associated point 410 is compressed onto the target cutting position to obtain a compressed point cloud; based on the compressed point cloud and multiple initial points, multiple target points 430 corresponding to the target cutting position are obtained.
[0102] According to embodiments of this disclosure, obtaining target point cloud data for each of multiple target points located at the target cutting position further includes:
[0103] Acquire initial point cloud data of multiple target points located at the target cutting position, wherein the initial point cloud data includes pressure information of the target points; determine the upper limit and lower limit of pressure based on the pressure information of each of the multiple target points; normalize the initial point cloud data based on the upper limit and lower limit of pressure to obtain the target point cloud data.
[0104] According to embodiments of this disclosure, pressure information of multiple target points on a cut surface located at a target cutting position is obtained, and an upper pressure limit and a lower pressure limit are determined from the pressure information of the multiple target points. The upper pressure limit represents the maximum pressure, and the lower pressure limit represents the minimum pressure.
[0105] According to embodiments of this disclosure, based on upper and lower pressure limits, a normalization algorithm is used to normalize the pressure information of multiple target points to obtain target point cloud data. The target point cloud data includes the normalized pressure information.
[0106] For example, the pressure information for target point 1 is 0 Pa, the pressure information for target point 2 is 5 Pa, and the pressure information for target point 3 is 10 Pa. The upper limit of pressure is 0 Pa and the lower limit of pressure is 10 Pa, and the normalized pressure information is 0, 0.5, and 1 respectively. When rendering the cross-section, different colors can be displayed according to the normalized pressure information, making the target cross-section clearer.
[0107] According to embodiments of this disclosure, the method for displaying cross-sections based on point cloud data further includes:
[0108] After generating the target rendering section, the compressed point cloud is decompressed to obtain at least one first decompressed point, where the first decompressed point represents the associated point corresponding to the associated cutting position.
[0109] According to embodiments of this disclosure, after generating the target rendering section, the compressed point cloud is decompressed to obtain at least one first decompressed point. The first decompressed point is then restored to the associated cutting position, thereby ensuring the authenticity and effectiveness of obtaining the target point at the next target cutting position.
[0110] Based on the above-described point cloud data-based section display method, this disclosure also provides a point cloud data-based section display device. The following will be combined with... Figure 5 The device is described in detail.
[0111] Figure 5 A structural block diagram of a point cloud-based cross-section display device according to an embodiment of the present disclosure is shown.
[0112] like Figure 5 As shown, the point cloud data-based section display device 500 of this embodiment includes an acquisition module 510, a sorting module 520, a block segmentation module 530, a generation module 540, and a rendering module 550.
[0113] The acquisition module 510 is used to acquire target point cloud data of multiple target points located at the target cutting position, wherein the target point cloud data includes location information. In one embodiment, the acquisition module 510 can be used to perform the operation S110 described above, which will not be repeated here.
[0114] The sorting module 520 is used to sort multiple target points based on a sorting algorithm and location information to obtain a sorted point cloud, wherein the sorted point cloud represents a set of multiple target points with a sorting relationship. In one embodiment, the sorting module 520 can be used to perform the operation S120 described above, which will not be repeated here.
[0115] The segmentation module 530 is used to segment the sorted point cloud into blocks based on the local sparsity and the number of blocks, to obtain multiple initial segmented point clouds, wherein each initial segmented point cloud includes at least one target point. In one embodiment, the segmentation module 530 can be used to perform the operation S130 described above, which will not be repeated here.
[0116] The generation module 540 is used to process multiple initial block point clouds according to the Delaunay algorithm to obtain target triangular meshes corresponding to each of the multiple initial block point clouds. In one embodiment, the generation module 540 can be used to perform the operation S140 described above, which will not be repeated here.
[0117] The rendering module 550 is used to render multiple target triangular meshes using a surface rendering algorithm to obtain a target rendering cross-section for the target cutting position. In one embodiment, the rendering module 550 can be used to perform the operation S150 described above, which will not be repeated here.
[0118] According to embodiments of this disclosure, the generation module 540 includes a first generation submodule, a second generation submodule, a third generation submodule, and a fourth generation submodule.
[0119] The first generation submodule is used to process multiple initial block point clouds according to the Delaunay algorithm to obtain the initial triangular mesh corresponding to each of the multiple initial block point clouds.
[0120] The second generation submodule is used to determine the point cloud overlap parameters based on the gap state information between multiple initial triangular meshes.
[0121] The third generation submodule is used to perform overlapping processing on multiple initial block point clouds based on point cloud overlap parameters to obtain target block point clouds corresponding to each of the multiple initial block data, wherein the number of overlapping points among the multiple target block point clouds is the same.
[0122] The fourth generation submodule is used to process multiple target block point clouds according to the Delaunay algorithm to obtain the target triangular mesh corresponding to each of the multiple target block point clouds.
[0123] According to embodiments of this disclosure, the segmentation module 530 includes a first segmentation submodule, a second segmentation submodule, and a third segmentation submodule.
[0124] The first segmentation submodule is used to determine the local sparsity of at least one location region based on the location information of the sorted point cloud.
[0125] The second segmentation submodule is used to uniformly segment the target points located in the position region in the sorted point cloud based on the number of segments for each position region in at least one position region, when the local sparsity of the position region is less than a preset sparsity threshold, to obtain multiple first segmented point clouds, wherein each first segmented point cloud contains the same number of target points.
[0126] The third segmentation submodule is used to perform non-uniform segmentation of the target points located in the location region in the sorted point cloud based on the number of segments when the local sparsity of the location region is greater than or equal to a preset sparsity threshold, thereby obtaining multiple second segmentation point clouds, wherein the number of target points contained in the multiple second segmentation point clouds is different.
[0127] According to embodiments of this disclosure, the acquisition module 510 includes a first acquisition submodule, a second acquisition submodule, a third acquisition submodule, and a fourth acquisition submodule.
[0128] The first acquisition submodule is used to acquire multiple initial points located at the target cutting position.
[0129] The second acquisition submodule is used to acquire at least one associated point located at the associated cutting position when the density of multiple initial points is less than a preset density threshold, wherein the target cutting position is adjacent to the associated cutting position.
[0130] The third acquisition submodule is used to compress at least one associated point to the target cutting position to obtain a compressed point cloud.
[0131] The fourth acquisition submodule is used to obtain multiple target points corresponding to the target cutting position based on the compressed point cloud and multiple initial points.
[0132] According to embodiments of this disclosure, the acquisition module 510 further includes a fifth acquisition submodule, a sixth acquisition submodule, and a seventh acquisition submodule.
[0133] The fifth acquisition submodule is used to acquire initial point cloud data of multiple target points located at the target cutting position. The initial point cloud data includes the pressure information of the target points.
[0134] The sixth submodule is used to determine the upper and lower pressure limits based on the pressure information of multiple target points.
[0135] The seventh acquisition submodule is used to normalize the initial point cloud data according to the upper and lower pressure limits to obtain the target point cloud data.
[0136] According to embodiments of this disclosure, the section display device 500 based on point cloud data further includes a decompression module.
[0137] The decompression module is used to decompress the compressed point cloud after generating the target rendering section to obtain at least one first decompression point, wherein the first decompression point represents the associated point corresponding to the associated cutting position.
[0138] Any one or more of the modules, submodules, units, and subunits according to embodiments of the present disclosure, or at least part of the functions of any one or more of them, can be implemented in one module. Any one or more of the modules, submodules, units, and subunits according to embodiments of the present disclosure can be implemented by dividing them into multiple modules. Any one or more of the modules, submodules, units, and subunits according to embodiments of the present disclosure can be at least partially implemented as hardware circuitry, such as a Field-Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a System-on-Chip, a System-on-a-Substrate, a System-on-Package, an Application-Specific Integrated Circuit (ASIC), or implemented in hardware or firmware by any other reasonable means of integrating or packaging circuitry, or implemented in software, hardware, or firmware, or in any suitable combination of any of these three implementation methods. Alternatively, one or more of the modules, submodules, units, and subunits according to embodiments of the present disclosure can be at least partially implemented as computer program modules, which, when run, can perform corresponding functions.
[0139] For example, any multiple of the acquisition module 510, sorting module 520, block segmentation module 530, generation module 540, and rendering module 550 can be combined into one module / unit / subunit, or any one of these modules / units / subunits can be split into multiple modules / units / subunits. Alternatively, at least part of the functionality of one or more of these modules / units / subunits can be combined with at least part of the functionality of other modules / units / subunits and implemented in one module / unit / subunit. According to embodiments of this disclosure, at least one of the acquisition module 510, sorting module 520, block segmentation module 530, generation module 540, and rendering module 550 can be at least partially implemented as hardware circuitry, such as a field-programmable gate array (FPGA), a programmable logic array (PLA), a system-on-a-chip, a system-on-a-substrate, a system-on-package, an application-specific integrated circuit (ASIC), or implemented in hardware or firmware by any other reasonable means of integrating or packaging the circuitry, or implemented in software, hardware, or firmware, or in any suitable combination of any of these three implementation methods. Alternatively, at least one of the acquisition module 510, sorting module 520, block segmentation module 530, generation module 540, and rendering module 550 may be implemented at least partially as a computer program module, which can perform corresponding functions when the computer program module is run.
[0140] Figure 6 A block diagram of an electronic device suitable for implementing a point cloud data-based cross-sectional display method according to an embodiment of the present invention is shown.
[0141] Figure 6The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of use of the embodiments of the present invention.
[0142] like Figure 6 As shown, a computer electronic device 600 according to an embodiment of the present invention includes a processor 601, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 602 or a program loaded from a storage portion 608 into a random access memory (RAM) 603. The processor 601 may include, for example, a general-purpose microprocessor (e.g., a CPU), an instruction set processor and / or an associated chipset and / or a special-purpose microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 601 may also include onboard memory for caching purposes. The processor 601 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present invention.
[0143] RAM 603 stores various programs and data required for the operation of electronic device 600. Processor 601, ROM 602, and RAM 603 are interconnected via bus 604. Processor 601 executes various operations of the method flow according to embodiments of the present invention by executing programs in ROM 602 and / or RAM 603. It should be noted that programs may also be stored in one or more memories other than ROM 602 and RAM 603. Processor 601 may also execute various operations of the method flow according to embodiments of the present invention by executing programs stored in one or more memories.
[0144] Optionally, the electronic device 600 may also include an input / output (I / O) interface 605, which is also connected to the bus 604. The electronic device 600 may also include one or more of the following components connected to the input / output (I / O) interface 605: an input section 606 including a keyboard, mouse, etc.; an output section 607 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and speakers, etc.; a storage section 608 including a hard disk, etc.; and a communication section 609 including a network interface card such as a LAN card, modem, etc. The communication section 609 performs communication processing via a network such as the Internet. A drive 610 is also connected to the input / output (I / O) interface 605 as needed. A removable medium 611, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on the drive 610 as needed so that computer programs read from it can be installed into the storage section 608 as needed.
[0145] Optionally, the method flow according to embodiments of the present invention can be implemented as a computer software program. For example, embodiments of the present invention include a computer program product comprising a computer program carried on a computer-readable storage medium, the computer program containing program code for performing the method shown in the flowchart. In such embodiments, the computer program can be downloaded and installed from a network via communication section 609, and / or installed from removable medium 611. When the computer program is executed by processor 601, it performs the functions defined in the system of embodiments of the present invention. Optionally, the systems, devices, apparatuses, modules, units, etc., described above can be implemented by computer program modules.
[0146] The present invention also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments; or it may exist independently and not assembled into the device / apparatus / system. The computer-readable storage medium carries one or more programs, which, when executed, implement the point cloud data-based section display method according to embodiments of the present invention.
[0147] Optionally, the computer-readable storage medium can be a non-volatile computer-readable storage medium. Examples include, but are not limited to: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this invention, the computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
[0148] For example, optionally, the computer-readable storage medium may include ROM 602 and / or RAM 603 and / or one or more memories other than ROM 602 and RAM 603 as described above.
[0149] Embodiments of the present invention also include a computer program product, which includes a computer program containing program code for performing the methods provided in the embodiments of the present invention. When the computer program product is run on an electronic device, the program code is used to enable the electronic device to implement the point cloud data-based cross-sectional display method provided in the embodiments of the present invention.
[0150] When the computer program is executed by the processor 601, it performs the functions defined in the system / apparatus of this embodiment of the invention. Optionally, the systems, apparatuses, modules, units, etc., described above can be implemented by computer program modules.
[0151] In one embodiment, the computer program may rely on a tangible storage medium such as an optical storage device or a magnetic storage device. In another embodiment, the computer program may also be transmitted and distributed in the form of signals over a network medium, and downloaded and installed via the communication section 609, and / or installed from the removable medium 611. The program code contained in the computer program can be transmitted using any suitable network medium, including but not limited to: wireless, wired, etc., or any suitable combination thereof.
[0152] Optionally, program code for executing the computer programs provided in the embodiments of the present invention can be written in any combination of one or more programming languages. Specifically, these computational programs can be implemented using high-level procedural and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages include, but are not limited to, languages such as Java, C++, Python, "C", or similar programming languages. The program code can be executed entirely on the user's computing device, partially on the user's device, partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0153] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions. Those skilled in the art will understand that the features described in the various embodiments of the present disclosure can be combined and / or combined in various ways, even if such combinations are not explicitly described in the present disclosure. In particular, the features described in the various embodiments of this disclosure may be combined and / or combined in various ways without departing from the spirit and teachings of this disclosure. All such combinations and / or combinations fall within the scope of this disclosure.
[0154] The embodiments of this disclosure have been described above. However, these embodiments are for illustrative purposes only and are not intended to limit the scope of this disclosure. Although various embodiments have been described above, this does not mean that the measures in the various embodiments cannot be used advantageously in combination. Various substitutions and modifications can be made by those skilled in the art without departing from the scope of this disclosure, and all such substitutions and modifications should fall within the scope of this disclosure.
Claims
1. A method for displaying cross-sections based on point cloud data, characterized in that, The method includes: Acquire target point cloud data for each of multiple target points located at the target cutting position, wherein the target point cloud data includes location information: Based on the sorting algorithm and the location information, the multiple target points are sorted to obtain a sorted point cloud, wherein the sorted point cloud represents a set of multiple target points with sorting relationships. Based on the local sparsity and number of blocks of the sorted point cloud, the sorted point cloud is divided into blocks to obtain multiple initial block point clouds, wherein the initial block point cloud includes at least one of the target points. The initial point cloud segments are processed using the Delaunay algorithm to obtain target triangular meshes corresponding to each initial point cloud segment, including: The initial block point clouds are processed according to the Delaunay algorithm to obtain the initial triangular mesh corresponding to each of the initial block point clouds. The point cloud overlap parameters are determined based on the gap state information between the multiple initial triangular meshes. Based on the point cloud overlap parameters, multiple initial block point clouds are overlapped to obtain target block point clouds corresponding to each of the multiple initial block data, wherein the number of overlapping points among the multiple target block point clouds is the same. The Delaunay algorithm is used to process multiple target block point clouds to obtain target triangular meshes corresponding to each of the multiple target block point clouds. A surface rendering algorithm is used to render multiple target triangular meshes to obtain a target rendering cross-section for the target cutting position.
2. The method according to claim 1, characterized in that, The plurality of initial segmented point clouds include a first segmented point cloud and a second segmented point cloud. Specifically, based on the local sparsity and the number of blocks in the sorted point cloud, the sorted point cloud is divided into blocks to obtain multiple initial block point clouds, including: Based on the location information of the sorted point cloud, determine the local sparsity of at least one location region; For each location region in at least one of the location regions, if the local sparsity of the location region is less than a preset sparsity threshold, the target points in the sorted point cloud located in the location region are uniformly divided into blocks based on the number of blocks to obtain multiple first block point clouds, wherein each first block point cloud contains the same number of target points. When the local sparsity of the location region is greater than or equal to a preset sparsity threshold, the target points in the sorted point cloud located in the location region are non-uniformly divided into multiple second block point clouds based on the number of blocks, wherein the multiple second block point clouds contain different numbers of target points.
3. The method according to claim 2, characterized in that, The number of blocks is determined based on the following operation: The number of blocks is determined based on the relationship between the number of blocks and the algorithm complexity, the number of target points, and the upper limit of the number of blocks.
4. The method according to claim 1, characterized in that, Obtaining multiple target points located at the target cutting position includes: Obtain multiple initial points located at the target cutting position; If the density of multiple initial points is less than a preset density threshold, at least one associated point located at the associated cutting position is obtained, wherein the target cutting position is adjacent to the associated cutting position; The at least one associated point is compressed to the target cutting position to obtain a compressed point cloud; Based on the compressed point cloud and the plurality of initial points, a plurality of target points corresponding to the target cutting position are obtained.
5. The method according to claim 4, characterized in that, Obtaining the target point cloud data of each of the multiple target points located at the target cutting position further includes: Acquire initial point cloud data of multiple target points located at the target cutting position, wherein the initial point cloud data includes pressure information of the target points; Based on the pressure information of each of the multiple target points, determine the upper pressure limit and the lower pressure limit; The initial point cloud data is normalized based on the upper and lower pressure limits to obtain the target point cloud data.
6. The method according to claim 4, characterized in that, The method further includes: After generating the target rendering section, the compressed point cloud is decompressed to obtain at least one first decompressed point, wherein the first decompressed point represents the associated point corresponding to the associated cutting position.
7. A cross-sectional display device based on point cloud data, characterized in that, The device includes: The acquisition module is used to acquire target point cloud data for each of multiple target points located at the target cutting position, wherein the target point cloud data includes location information: The sorting module is used to sort multiple target points based on a sorting algorithm and the location information to obtain a sorted point cloud, wherein the sorted point cloud represents a set of multiple target points with a sorting relationship. The segmentation module is used to segment the sorted point cloud into blocks based on the local sparsity and the number of blocks, to obtain multiple initial segmented point clouds, wherein the initial segmented point clouds include at least one of the target points. The generation module is used to process the multiple initial block point clouds according to the Delaunay algorithm to obtain the target triangular mesh corresponding to each of the multiple initial block point clouds. The generation module includes a first generation submodule, a second generation submodule, a third generation submodule and a fourth generation submodule. The first generation submodule is used to process multiple initial block point clouds according to the Delaunay algorithm to obtain initial triangular meshes corresponding to each of the multiple initial block point clouds. The second generation submodule is used to determine the point cloud overlap parameters based on the gap state information between the multiple initial triangular meshes. The third generation submodule is used to perform overlapping processing on multiple initial block point clouds based on the point cloud overlap parameters to obtain target block point clouds corresponding to each of the multiple initial block data, wherein the number of overlapping points among the multiple target block point clouds is the same. The fourth generation submodule is used to process multiple target block point clouds according to the Delaunay algorithm to obtain target triangular meshes corresponding to each of the multiple target block point clouds. The rendering module is used to render multiple target triangular meshes using a surface rendering algorithm to obtain a target rendering cross-section for the target cutting position.
8. An electronic device, comprising: One or more processors; Memory, used to store one or more programs. The feature is that when one or more programs are executed by one or more processors, the one or more processors implement the method of any one of claims 1 to 6.
9. A computer-readable storage medium having executable instructions stored thereon, characterized in that, When executed by the processor, this instruction causes the processor to implement the method of any one of claims 1 to 6.
Citation Information
Patent Citations
Massive point cloud data processing and visualization method and system
CN113781631A