Vehicle body point cloud data generation method and device, vehicle, and storage medium
Patent Information
- Application Number
- CN202611385738.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-09-08
- Publication Date
- 2026-10-27
AI Technical Summary
[0004]本申请实施例提供一种车身点云数据的生成方法、装置、车辆及存储介质,以至少解决相关技术中生成点云数据的准确性较差的技术问题
[0024]根据本申请实施例的另一方面,还提供了一种计算机程序产品,包括非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储计算机程序,所述计算机程序被处理器执行时实现本申请各个实施例中的方法。
Smart Images

Figure CN122990107A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of point cloud data generation, and more specifically, to a method, apparatus, vehicle, and storage medium for generating vehicle body point cloud data. Background Technology
[0002] As the core carrier of automotive safety, lightweighting, and NVH (Noise, Vibration, and Harshness) performance, the vehicle body's structural performance evaluation and optimization primarily rely on finite element analysis (FEM) technology. With the development of digital twins, deep learning, and 3D point cloud processing technologies, converting the vehicle body's finite element model into point cloud data has become a crucial preliminary step for data preprocessing and AI (Artificial Intelligence) modeling. However, current strategies for generating vehicle body point cloud data suffer from poor accuracy, leading to low precision and efficiency in downstream simulation proxy model training and performance prediction.
[0003] There is currently no good solution to the above problems. Summary of the Invention
[0004] This application provides a method, apparatus, vehicle, and storage medium for generating vehicle body point cloud data, so as to at least solve the technical problem of poor accuracy in generating point cloud data in related technologies.
[0005] According to one aspect of the embodiments of this application, a method for generating vehicle body point cloud data is provided, comprising: acquiring a model file of the vehicle body and performance sensitivities corresponding to multiple components in the vehicle body, wherein the model file includes multiple nodes and multidimensional attribute information corresponding to multiple components, the multiple nodes are used to characterize the geometric topology of the vehicle body, and each component is characterized by at least one node; constructing a semantic point cloud set of the vehicle body based on the model file; dividing the semantic point cloud set into sensitivity based on performance sensitivity to obtain at least two point cloud subsets, wherein different point cloud subsets correspond to different performance sensitivity intervals; and sampling the at least two point cloud subsets based on the number of nodes in the at least two point cloud subsets to obtain the point cloud data of the vehicle body.
[0006] Furthermore, based on the model file, a semantic point cloud set of the vehicle body is constructed, including: mapping the multidimensional attribute information corresponding to multiple components to multiple nodes respectively to obtain multiple semantic node sets, wherein different components correspond to different semantic node sets; and performing spatial alignment processing on multiple semantic node sets to obtain a semantic point cloud set.
[0007] Furthermore, the multidimensional attribute information corresponding to multiple components is mapped to multiple nodes to obtain multiple semantic node sets, including: determining the initial node set corresponding to any component based on the assembly mapping relationship and the component identifiers corresponding to multiple components, wherein the assembly mapping relationship is used to characterize the mapping relationship between component identifiers and nodes; and mapping the multidimensional attribute information corresponding to the component to the initial node set to obtain the semantic node set corresponding to the component.
[0008] Furthermore, based on performance sensitivity, the semantic point cloud set is divided by sensitivity to obtain at least two point cloud subsets, including: mapping performance sensitivity to each node in the semantic point cloud set based on the assembly mapping relationship to obtain a sensitivity point cloud set; and dividing the sensitivity point cloud set based on a sensitivity threshold to obtain a first point cloud subset and a second point cloud subset, wherein the sensitivity corresponding to the nodes in the first point cloud subset is greater than the sensitivity threshold, and the sensitivity corresponding to the nodes in the second point cloud subset is less than or equal to the sensitivity threshold.
[0009] Furthermore, at least two point cloud subsets include at least a first point cloud subset and a second point cloud subset; based on the number of nodes in the at least two point cloud subsets, sampling is performed on the at least two point cloud subsets to obtain point cloud data of the vehicle body, including: determining the first number of nodes in the first point cloud subset and the second number of nodes in the second point cloud subset; determining the first number of sampling points based on a preset total number of samples, the first number of nodes, and the second number of nodes; determining the second number of sampling points based on a preset total number of samples and the first number of sampling points; sampling the first point cloud subset based on the first number of sampling points to obtain first point cloud data, and sampling the second point cloud subset based on the second number of sampling points to obtain second point cloud data.
[0010] Further, based on the preset total number of samples, the number of first nodes, and the number of second nodes, the number of first sampling points is determined, including: obtaining the first sampling coefficient of the first point cloud subset and the second sampling coefficient of the second point cloud subset; determining the sampling ratio of the first point cloud subset based on the number of first nodes, the number of second nodes, the first sampling coefficient, and the second sampling coefficient; and determining the number of first sampling points based on the product of the preset total number of samples and the sampling ratio.
[0011] Further, based on the number of first nodes, the number of second nodes, the first sampling coefficient, and the second sampling coefficient, the sampling ratio of the first point cloud subset is determined, including: determining the first product of the number of first nodes and the first sampling coefficient, and determining the second product of the number of second nodes and the second sampling coefficient; determining the sum of the first product and the second product; and determining the sampling ratio based on the quotient of the first product and the sum.
[0012] Further, based on the first number of sampling points, the first point cloud subset is sampled to obtain the first point cloud data, including: determining the total volume of the spatial bounding box of the first point cloud subset based on the spatial coordinate data of each node in the first point cloud subset; determining the sampling grid size based on the first number of sampling points and the total volume; dividing the first point cloud subset into spatial hash grids based on the sampling grid size to obtain multiple grid cells; and sampling the first point cloud subset based on the multiple grid cells to obtain the first point cloud data.
[0013] Further, based on the spatial coordinate data of each node in the first point cloud subset, the total volume of the spatial bounding box of the first point cloud subset is determined, including: obtaining the spatial coordinate data of all nodes in the first point cloud subset; based on the spatial coordinate data, extracting the first extreme value of all nodes in the direction of the first spatial coordinate axis, the second extreme value of all nodes in the direction of the second spatial coordinate axis, and the third extreme value of all nodes in the direction of the third spatial coordinate axis; based on the first extreme value, determining the first linear dimension of the spatial bounding box in the direction of the first spatial coordinate axis, and based on the second extreme value, determining the second linear dimension of the spatial bounding box in the direction of the second spatial coordinate axis, and based on the third extreme value, determining the third linear dimension of the spatial bounding box in the direction of the third spatial coordinate axis; and based on the product of the first linear dimension, the second linear dimension, and the third linear dimension, determining the total volume of the spatial bounding box.
[0014] Further, based on the first number of sampling points and the total volume, the sampling grid size is determined, including: obtaining the grid division coefficient of the first point cloud subset; determining the third product of the grid division coefficient and the first number of sampling points; determining the unit volume ratio based on the quotient of the total volume and the third product; and taking the cube root of the unit volume ratio to obtain the sampling grid size.
[0015] Further, based on multiple grid cells, the first point cloud subset is sampled to obtain the first point cloud data, including: obtaining the node index corresponding to any grid cell, and determining the local sampling number of the grid cell based on the cell volume; sampling the farthest point of the grid cell based on the node index to obtain the initial representative point set corresponding to the grid cell; adjusting the initial representative point set based on the number of third nodes in the initial representative point set to obtain the target representative point set, wherein the number of nodes in the target representative point set is the same as the number of local samplings; merging the target representative point sets corresponding to multiple grid cells to obtain the first point cloud data.
[0016] Furthermore, based on the cell volume of the grid cell, the number of local samples of the grid cell is determined, including: determining the spatial proportion of the grid cell based on the cell volume and the total volume; and determining the number of local samples based on the number of first sampling points and the spatial proportion.
[0017] Furthermore, based on the number of third nodes in the initial representative point set, the initial representative point set is adjusted to obtain the target representative point set, including: when the number of third nodes is greater than the number of local samples, nodes are removed from the initial representative point set to obtain the target representative point set; when the number of third nodes is less than the number of local samples, nodes are added to the initial representative point set to obtain the target representative point set; when the number of third nodes is equal to the number of local samples, the initial representative point set is determined as the target representative point set.
[0018] Further, the initial representative point set is truncated to obtain the target representative point set, including: determining the number of redundant nodes in the initial representative point set based on the number of third nodes and the number of local samples; determining at least one redundant node from the initial representative point set based on the number of redundant nodes; and transferring at least one redundant node from the initial representative point set to the redundancy compensation pool to obtain the target representative point set, wherein the redundancy compensation pool is used for node transfer across grid cells.
[0019] Furthermore, the initial representative point set is supplemented with nodes to obtain the target representative point set, including: determining the number of missing nodes in the initial representative point set based on the number of third nodes and the number of local samples; determining at least one compensation node from the redundancy compensation pool based on the number of missing nodes; and transferring at least one compensation node from the redundancy compensation pool to the initial representative point set to obtain the target representative point set.
[0020] According to another aspect of the embodiments of this application, a device for generating vehicle body point cloud data is also provided, comprising: an acquisition module for acquiring a model file of the vehicle body and performance sensitivities corresponding to multiple components in the vehicle body, wherein the model file includes multiple nodes and multidimensional attribute information corresponding to multiple components, the multiple nodes are used to characterize the geometric topology of the vehicle body, and each component is characterized by at least one node; a construction module for constructing a semantic point cloud set of the vehicle body based on the model file; a partitioning module for performing sensitivity partitioning on the semantic point cloud set based on performance sensitivity to obtain at least two point cloud subsets, wherein different point cloud subsets correspond to different performance sensitivity intervals; and a sampling module for sampling at least two point cloud subsets based on the number of nodes in the at least two point cloud subsets to obtain point cloud data of the vehicle body.
[0021] According to another aspect of the embodiments of this application, a vehicle is also provided, including: a memory storing an executable program; and a processor for running the program, wherein the program executes the methods in various embodiments of this application when it runs.
[0022] According to another aspect of the embodiments of this application, a computer-readable storage medium is also provided, the computer-readable storage medium including a stored executable program, wherein, when the executable program is running, it controls the device where the computer-readable storage medium is located to perform the methods of various embodiments of this application.
[0023] According to another aspect of the embodiments of this application, a computer program product is also provided, including a computer program that, when executed by a processor, implements the methods of various embodiments of this application.
[0024] According to another aspect of the embodiments of this application, a computer program product is also provided, including a non-volatile computer-readable storage medium storing a computer program that, when executed by a processor, implements the methods in various embodiments of this application.
[0025] According to another aspect of the embodiments of this application, a computer program is also provided, which, when executed by a processor, implements the methods of the various embodiments of this application.
[0026] In this embodiment, the method involves acquiring a model file of the vehicle body and the performance sensitivity of multiple components within the body; constructing a semantic point cloud set of the vehicle body based on the model file; dividing the semantic point cloud set by sensitivity based on performance sensitivity to obtain at least two point cloud subsets; and sampling at least two point cloud subsets based on the number of nodes in each subset to obtain the point cloud data of the vehicle body. This approach directly parses the vehicle body model file to construct a semantic point cloud set containing multi-dimensional attribute information, avoiding the loss of internal vehicle structure and geometric distortion caused by physical scanning, thus ensuring the integrity and accuracy of the data from the source. Subsequently, the semantic point cloud set is divided by sensitivity based on the performance sensitivity of the vehicle body components to obtain at least two point cloud subsets, avoiding the problem of disconnection between the engineering sensitivity of the point cloud data. Finally, differentiated sampling is performed based on the number of nodes in each point cloud subset to ensure that more detailed information is retained in high-sensitivity areas. This reduces data redundancy while accurately preserving key structural features, improving the accuracy of the generated point cloud data, and thus solving the technical problem of poor accuracy in generating point cloud data in related technologies. Attached Figure Description
[0027] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:
[0028] Figure 1 This is a flowchart of a method for generating vehicle body point cloud data according to an embodiment of this application;
[0029] Figure 2 This is a schematic diagram of an optional process for generating vehicle body point cloud data according to an embodiment of this application;
[0030] Figure 3 This is a schematic diagram of an optional CAE native semantic mapping mechanism according to an embodiment of this application;
[0031] Figure 4 This is a flowchart of an optional mesh size adaptive inversion and spatial partitioning according to an embodiment of this application;
[0032] Figure 5 This is an architecture diagram of an optional vehicle body point cloud data generation system according to an embodiment of this application;
[0033] Figure 6 This is a schematic diagram of a vehicle body point cloud data generation device according to an embodiment of this application. Detailed Implementation
[0034] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort should fall within the scope of protection of the present application.
[0035] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0036] According to an embodiment of this application, an embodiment of a method for generating vehicle body point cloud data is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.
[0037] This embodiment provides a method for generating vehicle body point cloud data. Figure 1 This is a flowchart of a method for generating vehicle body point cloud data according to an embodiment of this application, such as... Figure 1 As shown, the process includes the following steps:
[0038] Step S102: Obtain the model file of the vehicle body and the performance sensitivity of multiple components in the vehicle body. The model file includes multiple nodes and multi-dimensional attribute information corresponding to multiple components. Multiple nodes are used to represent the geometric topology of the vehicle body, and each component is represented by at least one node.
[0039] The aforementioned model file can refer to a digital file containing finite element analysis data of the vehicle body. This model file stores a set of structured data describing the geometric shape, physical properties, and engineering properties of the vehicle body, and can serve as the source data carrier for constructing point cloud data.
[0040] The aforementioned components can refer to independent functional units or sub-assemblies that constitute the vehicle body assembly, such as longitudinal beams, sill beams, doors, and roofs. In the finite element model, these components can be represented by elements connected by two or more nodes. Smaller components can also be represented by elements consisting of a single node. These components have independent physical identifiers and engineering functional definitions.
[0041] The aforementioned performance sensitivity can refer to the degree of contribution or influence weight of various vehicle body components on performance aspects such as stiffness, crash safety, and NVH (noise, vibration, and harshness). This performance sensitivity can be obtained through finite element simulation analysis and is used to quantify the importance of the component in the overall performance evaluation of the vehicle body.
[0042] The aforementioned multidimensional attribute information can refer to a set of non-geometric engineering parameters attached to various parts of the vehicle body. These parameters may include, but are not limited to, part identification, material grade, sheet thickness, process type (weld joint, lap joint, adhesive bonding), load, and boundary conditions. They can be used to assign engineering semantics to the nodes corresponding to each part.
[0043] The aforementioned geometric topology can refer to a spatial network relationship composed of multiple nodes and the units connecting the nodes. This geometric topology can be used to characterize the geometry, spatial location, and adjacency relationships between nodes of the vehicle body, and serves as a structured data framework for constructing the three-dimensional point cloud spatial coordinates of the vehicle body.
[0044] In one alternative embodiment, considering that by parsing the model file and associating the performance sensitivity of each component, the original data foundation containing geometric topology and multi-dimensional engineering attributes can be directly obtained, and the influence weight of each component on the overall vehicle performance can be clearly defined to guide the priority of subsequent data processing.
[0045] Based on this, the vehicle body point cloud data generation system (hereinafter referred to as the generation system) can read the vehicle body model file and extract the spatial coordinate information of all nodes stored in the model file, as well as the identification information of the parts to which the nodes belong. The generation system can construct a topological mapping relationship between nodes and parts, where each part can be represented by at least one node.
[0046] Subsequently, the generation system can load or determine the performance sensitivity data corresponding to multiple components in the vehicle body, and associate the component-level sensitivity labels with each node that makes up the component through topological mapping, thereby assigning a sensitivity attribute to each node that reflects the engineering importance of that node. Based on the above steps, the generation system can finally generate point cloud data that contains complete geometric connections, multi-dimensional attribute information, and performance sensitivity labels.
[0047] For example, the generation system can parse the finite element model file of the body-in-white to extract data such as node spatial coordinates, element topology, component identification, material properties, plate thickness, and process identification. Based on finite element analysis, the generation system can determine at least one of the following: the contribution of each component to stiffness modes, collision intrusion sensitivity, or NVH response sensitivity. It can also normalize these performance sensitivities to build an engineering sensitivity knowledge base for reuse in subsequent steps.
[0048] In another alternative embodiment, the generation system can read the 3D CAD (Computer-Aided Design) geometric model file of the vehicle body to obtain the spatial coordinates of nodes and the hierarchical structure of components. It can also utilize a preset geometric feature weighting algorithm to determine the geometric complexity indices of each component in terms of spatial curvature, surface area ratio, and structural continuity. Based on this, the generation system can combine a rule-based vehicle engineering experience database to determine the structural importance score of each component, which serves as the aforementioned performance sensitivity.
[0049] In another alternative embodiment, the generation system can import the parametric modeling file of the vehicle body to obtain the spatial coordinates of the nodes and the assembly relationship of the components. It can also quickly estimate the stress concentration factor of each component under typical load conditions by running a simplified structural mechanics solver. Thus, the stress concentration factor can be used as a quantitative indicator of structural sensitivity to obtain the aforementioned performance sensitivity.
[0050] Step S104: Based on the model file, construct a semantic point cloud set for the vehicle body.
[0051] The aforementioned semantic point cloud set refers to a high-fidelity, dense point cloud data set with complete engineering semantic labels, formed by parsing model files, mapping and fusing the information of the aforementioned multi-dimensional engineering attributes point by point onto nodes, and then cleaning and deduplicating the data. This semantic point cloud set can serve as the basic data object for subsequent sensitivity segmentation and downsampling processing.
[0052] In one alternative embodiment, considering that the structured fusion of discrete node coordinates and multidimensional attribute information in the model file can generate high-fidelity point cloud data that combines geometric morphology and engineering semantics, thereby providing a complete data foundation for subsequent sensitivity-based differential sampling.
[0053] Based on this, the generation system can obtain the spatial coordinate data and corresponding multidimensional attribute information of all nodes by parsing the model file. Subsequently, the generation system can establish a four-level mapping relationship table between nodes, units, components, and assembly levels. According to this mapping table, the generation system can inherit the multidimensional attribute information associated with each component to the spatial coordinates node by node, and can clean and remove overlapping nodes, attributeless nodes, and isolated floating nodes. Finally, it outputs a dense point cloud set containing complete semantic information as the aforementioned semantic point cloud set.
[0054] For example, the generation system can parse the finite element model file of the body-in-white to extract node spatial coordinates, element topology, component identifiers, material properties, plate thickness, and process identifiers. The generation system can construct a four-level mapping table from nodes to elements, elements to components, and components to assembly levels, inheriting multi-dimensional attribute information point by point to geometric coordinates and uniformly transforming it to the vehicle's global coordinate system. Based on this, the generation system can remove spatially overlapping nodes, nodes without attribute mapping, and isolated floating nodes, outputting a semantic point cloud set containing node IDs, spatial coordinates, and complete engineering semantic attributes.
[0055] In another alternative embodiment, the generation system can read the 3D CAD model file of the body-in-white to obtain the spatial coordinates of nodes and the hierarchical structure of components. The generation system can utilize the material definitions, thickness information, and connection relationship data in the parametric modeling data, and broadcast the component-level attributes to all nodes constituting the component through the instantiation interface of the geometric modeling kernel. The generation system can perform global coordinate system transformation on the coordinates of these nodes and perform deduplication and outlier filtering to generate a semantic point cloud set with labels for material grade, plate thickness, and connection type.
[0056] In another alternative embodiment, the generation system can import rule-based feature modeling data of the body-in-white to obtain node spatial coordinates and component assembly logic. The generation system can query external material databases and process specification libraries to match corresponding material density, elastic modulus, and welding process parameters based on component identifiers, and can bind the matched attribute data to the spatial coordinates of the nodes corresponding to the component identifier. Based on this, the generation system can use a spatial indexing algorithm to remove overlapping nodes and filter invalid nodes to construct a semantic point cloud set integrating geometric topology and multi-dimensional physical attribute information.
[0057] Step S106: Based on performance sensitivity, the semantic point cloud set is divided into sensitivity categories to obtain at least two point cloud subsets, where different point cloud subsets correspond to different performance sensitivity ranges.
[0058] The aforementioned point cloud subset can refer to the division of nodes in a semantic point cloud set into discrete data groups with different sensitivity levels based on a preset performance sensitivity threshold. This point cloud subset can include high-density point cloud groups corresponding to high-sensitivity key force transmission structure regions, and large-area point cloud groups corresponding to low-sensitivity non-load-bearing regions, thereby enabling the implementation of differentiated downsampling strategies.
[0059] The aforementioned performance sensitivity range refers to a numerical range defined based on finite element simulation analysis results and engineering experience, used to define the weight level of the influence of various vehicle body components on different performance levels. This performance sensitivity range can serve as a quantitative standard for dividing different subsets of point clouds to distinguish the level of structural importance.
[0060] In one alternative embodiment, considering the differences in the impact of components on various performance levels, the point cloud is divided into subsets of point clouds with different sensitivity levels, which enables differentiated treatment of critical force transmission structures and non-critical areas, thereby reducing data redundancy while preserving core engineering features.
[0061] Based on this, the generation system can load a component sensitivity knowledge base containing stiffness modal contribution, collision intrusion sensitivity, or NVH response sensitivity. The normalized component sensitivity values are then mapped level by level along the topological coupling relationships between components, elements, and nodes to each node in the semantic point cloud set, thus assigning a corresponding sensitivity label to each node. Subsequently, the generation system can set a preset sensitivity threshold, filtering out nodes with sensitivity labels higher than this threshold to form a fine-scale point cloud subset, corresponding to high-sensitivity critical load-bearing structural areas. Similarly, the generation system can also filter out nodes with sensitivity labels lower than or equal to the preset sensitivity threshold, forming a coarse-scale point cloud subset, corresponding to low-sensitivity non-load-bearing areas. Finally, the generation system can output a structured point cloud set consisting of at least non-overlapping fine-scale and coarse-scale point cloud subsets.
[0062] For example, the generation system can determine the performance sensitivity value associated with each node in the semantic point cloud set and set a preset sensitivity threshold. Based on this, the generation system can traverse the nodes in the semantic point cloud set, classifying nodes with performance sensitivity values greater than the preset sensitivity threshold into a fine-scale point cloud subset, and classifying nodes with performance sensitivity values less than or equal to the preset sensitivity threshold into a coarse-scale point cloud subset. This allows the semantic point cloud set to be divided into two point cloud subsets corresponding to high-sensitivity and low-sensitivity intervals.
[0063] In another optional embodiment, the generation system can statistically analyze the distribution of node performance sensitivity values in the semantic point cloud set, and select multiple preset sensitivity thresholds to divide the sensitivity values into high-sensitivity, medium-sensitivity, and low-sensitivity intervals. Based on this, the generation system can traverse the nodes in the semantic point cloud set, and according to the interval to which each node's performance sensitivity value belongs, assign these nodes to the corresponding fine-scale, medium-scale, or coarse-scale point cloud subsets, thereby dividing the semantic point cloud set into at least three point cloud subsets.
[0064] In another alternative embodiment, the generation system can perform cluster analysis on the performance sensitivity values of all nodes in the semantic point cloud set, and use the K-Means algorithm (K-means clustering algorithm) or hierarchical clustering algorithm to divide the nodes into K clusters, where K is a preset positive integer and the value of K is greater than or equal to 2. Each cluster corresponds to a performance sensitivity interval. The generation system can group nodes belonging to the same cluster into the same point cloud subset, thereby dividing the semantic point cloud set into K point cloud subsets.
[0065] Step S108: Based on the number of nodes in at least two point cloud subsets, sample at least two point cloud subsets to obtain point cloud data of the vehicle body.
[0066] The point cloud data mentioned above can refer to the final output result that has undergone multi-scale adaptive downsampling processing while retaining the original multi-dimensional attribute information. The number of nodes contained in this point cloud data may be less than the number of nodes contained in the original semantic point cloud set, but it accurately preserves the geometric features and semantic labels of key components, thereby providing a structured point cloud dataset for downstream AI model training, lightweight simulation, or digital twin platforms.
[0067] In one optional embodiment, considering that the number of sampling points is allocated according to the original proportion of the number of nodes in each point cloud subset, combined with the preset sampling weight, it can be ensured that the downsampled point cloud data strictly conforms to the preset total quantity in terms of quantity, and maintains the relative representativeness of each sensitive area.
[0068] Based on this, the generation system can count the number of nodes in both fine-scale and coarse-scale point cloud subsets, and calculate the original proportion of the number of nodes in each subset to the total number of nodes. Subsequently, the system can set the sampling weight coefficients for both coarse and fine scales, and determine the final total number of sampled points. Based on this, the system can determine the number of sampled points for each fine-scale and coarse-scale point cloud subset using a weighted allocation logic based on the original proportion and sampling weights. Then, according to the number of sampled points in each subset, the system can perform spatial grid partitioning and farthest point sampling operations to obtain the point cloud data corresponding to each subset. Finally, the system can merge the point cloud data from each subset to generate point cloud data that matches the total number of sampled points.
[0069] For example, the generation system can count the number of nodes in each point cloud subset to determine the original node ratio. The system can set sampling ratio weights for each point cloud subset and, combined with the overall downsampling count, determine the number of sampling points for each subset using a weighted allocation formula. Subsequently, based on the bounding box volume and number of sampling points of each point cloud subset, the system can invert the adaptive sampling grid size and, according to this adaptive sampling grid size, perform spatial hashing grid partitioning on each subset to obtain multiple grid cells. The system can independently execute the farthest point sampling algorithm within each grid cell to obtain locally representative points. Finally, the system can merge the locally representative points from all grid cells to generate the final point cloud data.
[0070] In another alternative embodiment, the generation system can utilize a KD-tree (K-dimensional Tree) data structure to construct spatial indexes for each subset of point clouds. A hierarchical random sampling strategy based on distance gradients is then executed on these constructed spatial indexes to obtain sampling points for each subset. Finally, the generation system can merge the sampling points from each subset of point clouds to generate the final point cloud data.
[0071] In another alternative embodiment, the generation system may employ a voxel grid downsampling algorithm to spatially discretize each subset of the point cloud. Within the generated voxel grid, the generation system can extract representative points by determining the geometric center or weighted center of each point within the grid. Finally, the generation system can merge the representative points from each subset of the point cloud to generate the final point cloud data.
[0072] In this embodiment, the method involves acquiring a model file of the vehicle body and the performance sensitivity of multiple components within the body; constructing a semantic point cloud set of the vehicle body based on the model file; dividing the semantic point cloud set by sensitivity based on performance sensitivity to obtain at least two point cloud subsets; and sampling at least two point cloud subsets based on the number of nodes in each subset to obtain the point cloud data of the vehicle body. This approach directly parses the vehicle body model file to construct a semantic point cloud set containing multi-dimensional attribute information, avoiding the loss of internal vehicle structure and geometric distortion caused by physical scanning, thus ensuring the integrity and accuracy of the data from the source. Subsequently, the semantic point cloud set is divided by sensitivity based on the performance sensitivity of the vehicle body components to obtain at least two point cloud subsets, avoiding the problem of disconnection between the engineering sensitivity of the point cloud data. Finally, differentiated sampling is performed based on the number of nodes in each point cloud subset to ensure that more detailed information is retained in high-sensitivity areas. This reduces data redundancy while accurately preserving key structural features, improving the accuracy of the generated point cloud data, and thus solving the technical problem of poor accuracy in generating point cloud data in related technologies.
[0073] Furthermore, based on the model file, a semantic point cloud set of the vehicle body is constructed, including: mapping the multidimensional attribute information corresponding to multiple components to multiple nodes respectively to obtain multiple semantic node sets, wherein different components correspond to different semantic node sets; and performing spatial alignment processing on multiple semantic node sets to obtain a semantic point cloud set.
[0074] The aforementioned semantic node set can refer to a group of node data with unified component semantic labels, formed by fully inheriting and associating the multi-dimensional attribute information of each component, such as material properties, plate thickness, and process identification, with the corresponding node based on component identification and assembly mapping relationships. This semantic node set can serve as the basic semantic unit for constructing a global semantic point cloud set.
[0075] In one alternative embodiment, considering that the multidimensional attribute information of discrete components is accurately associated with specific nodes and unified to the global coordinate system, the spatial misalignment caused by the local coordinate differences of nodes can be eliminated, thereby constructing a semantic point cloud set with accurate geometric position and complete attribute information.
[0076] Based on this, the generation system can establish a mapping table by parsing the component identifiers and node topology relationships in the model file. This allows multi-dimensional attribute information such as material properties, plate thickness, and process identifiers to be mapped to the nodes corresponding to each component, forming multiple semantic node sets. Subsequently, the generation system can transform and align the spatial coordinates of each node in the semantic node sets according to the vehicle's global coordinate system to eliminate the inconsistency of coordinate origins caused by component splitting. Finally, the generation system can merge all aligned semantic node sets to obtain a unified semantic point cloud set.
[0077] Furthermore, the multidimensional attribute information corresponding to multiple components is mapped to multiple nodes to obtain multiple semantic node sets, including: determining the initial node set corresponding to any component based on the assembly mapping relationship and the component identifiers corresponding to multiple components, wherein the assembly mapping relationship is used to characterize the mapping relationship between component identifiers and nodes; and mapping the multidimensional attribute information corresponding to the component to the initial node set to obtain the semantic node set corresponding to the component.
[0078] The aforementioned assembly mapping relationship can refer to the logical rules or index table used in a finite element model to establish the association between the component hierarchy and the underlying node data. This assembly mapping relationship can clearly define which component each node belongs to, thereby enabling the semantic transfer from component-level attributes to node-level attributes.
[0079] The aforementioned component identifier can be a string or integer code that uniquely identifies each independent component or subassembly of the vehicle body in the finite element model file. This component identifier can be used to distinguish different components and serve as a key-value index for associating corresponding multidimensional attribute information.
[0080] The aforementioned initial node set can refer to the set of all nodes belonging to the same component, selected based on component identification and assembly mapping relationships. These nodes may only contain basic spatial coordinates and attribution relationships, without additional specific multi-dimensional attribute information such as material and plate thickness.
[0081] In one alternative embodiment, considering that by establishing a clear mapping relationship between component identifiers and nodes, discrete multidimensional attribute information can be accurately associated with specific nodes, thereby forming a set of semantic nodes with complete semantic information.
[0082] Based on this, the generation system can read the assembly mapping relationship, which records the correspondence rules between component identifiers and node indices. The generation system can then filter out all node indices belonging to any given component based on this mapping relationship, forming the initial node set for that component. Subsequently, the generation system can extract multi-dimensional attribute information corresponding to the component, such as material properties, plate thickness, process identifiers, and load boundary conditions. This multi-dimensional attribute information can be attached as tags to each node in the initial node set, thereby generating a semantic node set containing all nodes of the component and associated with its multi-dimensional attribute information.
[0083] Furthermore, based on performance sensitivity, the semantic point cloud set is divided by sensitivity to obtain at least two point cloud subsets, including: mapping performance sensitivity to each node in the semantic point cloud set based on the assembly mapping relationship to obtain a sensitivity point cloud set; and dividing the sensitivity point cloud set based on a sensitivity threshold to obtain a first point cloud subset and a second point cloud subset, wherein the sensitivity corresponding to the nodes in the first point cloud subset is greater than the sensitivity threshold, and the sensitivity corresponding to the nodes in the second point cloud subset is less than or equal to the sensitivity threshold.
[0084] The aforementioned sensitivity point cloud set can refer to the structured point cloud data set in which the sensitivity values of each component of the vehicle body to performance are allocated and fused to each node of the semantic point cloud set through the assembly mapping relationship, thereby forming a set of structured point cloud data in which each node carries a quantified sensitivity label, which can be used as the basis for subsequent differential sampling processing.
[0085] The aforementioned sensitivity threshold can refer to a preset performance sensitivity value limit used to distinguish the engineering importance of different components. This sensitivity threshold can serve as a logical judgment standard to divide continuous or discrete sensitivity values into high sensitivity and low sensitivity, thereby determining whether a node should belong to the fine-scale region corresponding to high sensitivity or the coarse-scale region corresponding to low sensitivity.
[0086] The aforementioned first subset of the point cloud can refer to the set of nodes in the sensitivity point cloud whose node sensitivity values are strictly greater than the sensitivity threshold. The nodes in this first subset of the point cloud can correspond to the key force transmission paths, energy-absorbing structures, and high-stress concentration areas of the vehicle body (such as longitudinal beams, pillars, and energy-absorbing boxes), and can retain more geometric details and semantic information during downsampling.
[0087] The aforementioned second subset of the point cloud can refer to the set of nodes in the sensitivity point cloud whose node sensitivity values are less than or equal to the sensitivity threshold. The nodes in this second subset of the point cloud can correspond to the non-load-bearing skin, large flat panels, and auxiliary supports of the vehicle body (such as door inner panels, roof, and trunk lid), allowing for a higher degree of data compression and geometric simplification during downsampling.
[0088] In one alternative embodiment, considering the differences in the impact of components on target performance, the point cloud is divided into different sensitivity levels, which enables differentiated treatment of critical force transmission structures and non-critical areas, thereby reducing data redundancy while retaining core engineering features.
[0089] Based on this, the generation system can use assembly mapping relationships to map the normalized component performance sensitivity values step-by-step along the topological coupling relationships of components, units, and nodes to each node in the semantic point cloud set. This allows the system to assign a corresponding sensitivity label to each node, forming a sensitivity point cloud set. Subsequently, the generation system can set a sensitivity threshold, filtering out nodes with sensitivity labels higher than this threshold to form a first subset of the point cloud, corresponding to high-sensitivity critical load-bearing structural areas. Similarly, the generation system can filter out nodes with sensitivity labels lower than or equal to the sensitivity threshold, forming a second subset of the point cloud, corresponding to low-sensitivity non-load-bearing areas.
[0090] Furthermore, at least two point cloud subsets include at least a first point cloud subset and a second point cloud subset; based on the number of nodes in the at least two point cloud subsets, sampling is performed on the at least two point cloud subsets to obtain point cloud data of the vehicle body, including: determining the first number of nodes in the first point cloud subset and the second number of nodes in the second point cloud subset; determining the first number of sampling points based on a preset total number of samples, the first number of nodes, and the second number of nodes; determining the second number of sampling points based on a preset total number of samples and the first number of sampling points; sampling the first point cloud subset based on the first number of sampling points to obtain first point cloud data, and sampling the second point cloud subset based on the second number of sampling points to obtain second point cloud data.
[0091] The number of the first node mentioned above can refer to the total number of nodes contained in the first point cloud subset, that is, the total number of all nodes belonging to the high-sensitivity critical structure region after the sensitivity threshold division.
[0092] The number of the second node mentioned above can refer to the total number of nodes contained in the second point cloud subset, that is, the total number of all nodes belonging to the low-sensitivity non-bearing area after being divided by the sensitivity threshold.
[0093] The aforementioned preset total number of samples can refer to the target value set by the user or the generation system, which is the total number of nodes in the downsampled point cloud that is expected to be retained from at least two subsets of the point cloud. This can be used to control the scale of the output data.
[0094] The aforementioned first sampling point number can refer to the number of nodes that need to be extracted from the first point cloud subset, determined based on the ratio between the preset total number of samples, the number of first nodes, and the number of second nodes, and the weight allocation algorithm. This first sampling point number can represent the sampling quota allocated to the high-sensitivity area.
[0095] When there are two point cloud subsets, the aforementioned second sampling point count can refer to the number of nodes to be extracted from the second point cloud subset, obtained by subtracting the first sampling point count from the preset total number of samples. This second sampling point count can represent the sampling quota allocated to the low-sensitivity region. Alternatively, when there are more than two point cloud subsets, the second sampling point count can be determined by multiplying the second node count by the preset total number of samples and rounding down, based on the proportion of the second node count to the sum of the node counts of all point cloud subsets.
[0096] The aforementioned first point cloud data can refer to point cloud data extracted after applying a specified sampling strategy to a subset of the first point cloud, which satisfies the first number of sampling points and retains the geometric features and semantic information of the high-sensitivity region.
[0097] The aforementioned second point cloud data can refer to point cloud data extracted after applying a specified sampling strategy to a subset of the second point cloud, which satisfies the second number of sampling points and retains the semantic information of the macroscopic geometric shape of the low-sensitivity region.
[0098] In one optional embodiment, considering that the number of sampling points is allocated according to the original proportion of the number of nodes in each point cloud subset, combined with the preset sampling weight, it can be ensured that the downsampled point cloud data strictly conforms to the preset total quantity and maintains the relative representativeness of each sensitivity region.
[0099] Based on this, the generation system can count the number of nodes in the first and second point cloud subsets to obtain the first and second node counts. The generation system can then determine the original proportions of the first and second point cloud subsets within the total number of nodes based on these counts. Subsequently, the generation system can set sampling weight coefficients corresponding to high and low sensitivity, and determine the final preset total number of samples. On this basis, the generation system can use an allocation formula to determine the first and second sampling points by weighting the preset total number of samples according to the original proportions and sampling weights. Then, based on the first and second sampling points, the generation system can perform spatial grid partitioning and farthest point sampling operations on the first and second point cloud subsets respectively, obtaining the first and second point cloud data. Finally, the generation system can merge the first and second point cloud data to generate point cloud data that conforms to the preset total number of samples.
[0100] In another optional embodiment, at least two point cloud subsets may include other point cloud subsets in addition to the first and second point cloud subsets. In this case, the generation system can count the number of points in each point cloud subset separately and determine the total number of nodes in all point cloud subsets. Subsequently, the generation system can multiply the proportion of each point cloud subset's number in the total number of nodes by a preset total number of samples and round down to obtain the number of sampling points for each point cloud subset. If the sum of the number of sampling points for all point cloud subsets is less than the preset total number of samples due to rounding down, the generation system can increase the number of sampling points for the corresponding more sensitive point cloud subsets so that the sum of the number of sampling points for all point cloud subsets is the same as the preset total number of samples.
[0101] Further, based on the preset total number of samples, the number of first nodes, and the number of second nodes, the number of first sampling points is determined, including: obtaining the first sampling coefficient of the first point cloud subset and the second sampling coefficient of the second point cloud subset; determining the sampling ratio of the first point cloud subset based on the number of first nodes, the number of second nodes, the first sampling coefficient, and the second sampling coefficient; and determining the number of first sampling points based on the product of the preset total number of samples and the sampling ratio.
[0102] The aforementioned first sampling coefficient can refer to a preset weighting parameter used to adjust the sampling density of the first point cloud subset. The value of this first sampling coefficient can be set relatively large to reflect the high-fidelity retention requirement of key structures, thereby increasing the allocation ratio of the first point cloud subset during the determination of sampling quotas.
[0103] The aforementioned second sampling coefficient can refer to a preset weighting parameter used to adjust the sampling density of the second point cloud subset. The value of this second sampling coefficient can be set relatively small to reflect the aggressive compression requirements of the non-carrying area, thereby reducing the allocation ratio of the second point cloud subset during the determination of sampling quotas.
[0104] The aforementioned sampling ratio can refer to the numerical proportion of the first point cloud subset in the total sampling quota, determined based on the number of nodes in the first and second point cloud subsets and their corresponding sampling coefficients. This sampling ratio reflects the relative importance weight of the first point cloud subset in the final downsampling result.
[0105] In one alternative embodiment, considering that the original node ratio is weighted by introducing sampling coefficients, the importance difference of different sensitivity regions in the downsampling process can be quantified, thereby ensuring that high-sensitivity regions obtain a higher sampling retention rate, so as to achieve on-demand allocation of computing power.
[0106] Based on this, the generation system can obtain the first sampling coefficient corresponding to the first point cloud subset and the second sampling coefficient corresponding to the second point cloud subset. Subsequently, the generation system can use the allocation formula to determine the product of the number of first nodes and the first sampling coefficient, and the product of the number of second nodes and the second sampling coefficient. Next, the generation system can determine the sum of these two products, and then determine the sampling ratio of the first point cloud subset based on the ratio of the product of the number of first nodes and the first sampling coefficient to this sum. Finally, the generation system can multiply this sampling ratio by the preset total number of samples to obtain the target number of sampling points for the first point cloud subset, which is the aforementioned first sampling point number.
[0107] Further, based on the number of first nodes, the number of second nodes, the first sampling coefficient, and the second sampling coefficient, the sampling ratio of the first point cloud subset is determined, including: determining the first product of the number of first nodes and the first sampling coefficient, and determining the second product of the number of second nodes and the second sampling coefficient; determining the sum of the first product and the second product; and determining the sampling ratio based on the quotient of the first product and the sum.
[0108] The aforementioned first product value can refer to the value obtained by multiplying the number of first nodes in the first point cloud subset by the first sampling coefficient. This first product value can reflect the overall data scale contribution of the first point cloud subset after considering the sampling weight.
[0109] The aforementioned second product value can refer to the value obtained by multiplying the number of second nodes in the second point cloud subset by the second sampling coefficient. This second product value can reflect the overall data scale contribution of the second point cloud subset after considering the sampling weights.
[0110] In an optional embodiment, considering that by determining the relative proportion of the weighted node number, the share of the first point cloud subset in the overall sampling quota can be accurately quantified, thereby ensuring that the allocation of the first sampling point number strictly follows the preset sensitivity weight logic, so as to improve the data quality of the final point cloud data.
[0111] Based on this, the generation system can determine the product of the first number of nodes and the first sampling coefficient to obtain the first product value, and determine the product of the second number of nodes and the second sampling coefficient to obtain the second product value. Subsequently, the generation system can add the first product value and the second product value to obtain a sum. Finally, the generation system can divide the first product value by this sum value to obtain the sampling ratio of the first point cloud subset.
[0112] In another optional embodiment, the process of determining the first number of sampling points and the second number of sampling points can be as follows:
[0113] ;
[0114] ;
[0115] In the formula, Indicates the number of the first sampling point. Indicates the preset total number of samples. This represents the ratio of the original number of nodes in the first cloud subset. Represents the first sampling coefficient. This represents the ratio of the original number of nodes in the second cloud subset. Indicates the second sampling coefficient. This indicates the number of the second sampling points. and The process of determining can be shown in the following formula:
[0116] ;
[0117] ;
[0118] In the formula, Indicates the number of the first node. This indicates the number of the second node. In this embodiment, the number of the first sampling points can be rounded up to ensure... The quantity is an integer.
[0119] Further, based on the first number of sampling points, the first point cloud subset is sampled to obtain the first point cloud data, including: determining the total volume of the spatial bounding box of the first point cloud subset based on the spatial coordinate data of each node in the first point cloud subset; determining the sampling grid size based on the first number of sampling points and the total volume; dividing the first point cloud subset into spatial hash grids based on the sampling grid size to obtain multiple grid cells; and sampling the first point cloud subset based on the multiple grid cells to obtain the first point cloud data.
[0120] The aforementioned spatial coordinate data refers to the position information of each node in the first point cloud subset in a three-dimensional world coordinate system. This spatial coordinate data can be composed of values from the X-axis, Y-axis, and Z-axis in the spatial coordinate system, thus describing the specific distribution location of the nodes in physical space.
[0121] The aforementioned spatial bounding box can refer to the smallest axis-aligned cuboid that can completely contain all nodes in the first point cloud subset. The boundary of this spatial bounding box can be determined by the larger and smaller values of the nodes in the first point cloud subset along each coordinate axis, thereby defining the spatial range of the point cloud data in the first point cloud subset.
[0122] The total volume mentioned above can refer to the value obtained by multiplying the length (length, width, and height) of the three dimensions of the spatial bounding box. This total volume can represent the size of the first point cloud subset in three-dimensional space and is the basic geometric parameter for subsequently determining the sampling grid size to match the number of the first sampling points.
[0123] The aforementioned sampling grid size can refer to the theoretical side length of each grid cell used for spatial hash grid partitioning, derived backward from the total volume and the number of initial sampling points. The generation system can control the grid density based on this sampling grid size to ensure that the final number of sampled nodes matches the number of initial sampling points.
[0124] The aforementioned grid cell can refer to a discrete spatial region formed by dividing a three-dimensional spatial grid according to the sampling grid size, based on the spatial coordinates of the first point cloud subset. Each grid cell can contain several nodes falling within that region, thus serving as the basic operational unit for performing local farthest point sampling.
[0125] In one alternative embodiment, considering that the spatial grid size is inferred from the target number of sampling points, an adaptive match between the grid density and the sampling density can be achieved, thereby ensuring the uniformity and representativeness of the sampling point distribution while controlling the computational complexity.
[0126] Based on this, the generation system can determine the total volume of the bounding box of the first point cloud subset according to the extreme values of the spatial coordinates of each node in the first point cloud subset. Then, the generation system can use a formula to divide the total volume by the number of first sampling points and take the cube root to obtain the sampling grid size. Next, the generation system can perform spatial hashing grid partitioning on the first point cloud subset according to this sampling grid size to generate multiple grid cells. Finally, if empty grid cells exist, the generation system can determine the spatial location of these empty grid cells and diffuse the sampling quota corresponding to these empty grid cells to non-empty grid cells that are spatially close to them, ensuring that the sum of the sampling counts of all non-empty grid cells reaches the first number of sampling points. The generation system can traverse all non-empty grid cells and execute the farthest point sampling algorithm within these grid cells. During the sampling process, if the number of nodes in a grid cell exceeds the number of nodes that need to be sampled in that grid cell, then sampling is performed according to that number of nodes, and the unsampled nodes in that grid cell are stored in the redundancy compensation pool. If the number of nodes in a grid cell does not exceed the number of nodes that need to be sampled in that grid cell, then all nodes are retained, and the corresponding difference of nodes are added to that grid cell from the redundancy compensation pool. All grid sampling results are then merged to obtain the first point cloud data.
[0127] Further, based on the spatial coordinate data of each node in the first point cloud subset, the total volume of the spatial bounding box of the first point cloud subset is determined, including: obtaining the spatial coordinate data of all nodes in the first point cloud subset; based on the spatial coordinate data, extracting the first extreme value of all nodes in the direction of the first spatial coordinate axis, the second extreme value of all nodes in the direction of the second spatial coordinate axis, and the third extreme value of all nodes in the direction of the third spatial coordinate axis; based on the first extreme value, determining the first linear dimension of the spatial bounding box in the direction of the first spatial coordinate axis, and based on the second extreme value, determining the second linear dimension of the spatial bounding box in the direction of the second spatial coordinate axis, and based on the third extreme value, determining the third linear dimension of the spatial bounding box in the direction of the third spatial coordinate axis; and based on the product of the first linear dimension, the second linear dimension, and the third linear dimension, determining the total volume of the spatial bounding box.
[0128] The aforementioned first spatial coordinate axis can refer to any one of the three orthogonal coordinate axes defined in a three-dimensional Cartesian coordinate system (such as the X-axis, Y-axis, or Z-axis). This first spatial coordinate axis can be used to measure the spatial position and distribution range of point cloud nodes along the direction of this first spatial coordinate axis.
[0129] The aforementioned first extreme value can refer to the larger and smaller values among all node coordinates in the first point cloud subset along the first spatial coordinate axis. This first extreme value can represent the spatial boundary position of the first point cloud subset along the first spatial coordinate axis.
[0130] The aforementioned second spatial coordinate axis can refer to any coordinate axis defined in a three-dimensional Cartesian coordinate system that is perpendicular to the first spatial coordinate axis. This second spatial coordinate axis can be used to measure the spatial position and distribution range of point cloud nodes along this second spatial coordinate axis.
[0131] The aforementioned second extreme value can refer to the larger and smaller values among all node coordinates in the first point cloud subset along the second spatial coordinate axis. This second extreme value can represent the spatial boundary position of the first point cloud subset along the second spatial coordinate axis.
[0132] The aforementioned third spatial coordinate axis can refer to a coordinate axis defined in a three-dimensional Cartesian coordinate system that is perpendicular to both the first and second spatial coordinate axes. This third spatial coordinate axis can be used to measure the spatial position and distribution range of point cloud nodes along this direction.
[0133] The aforementioned third extreme value can refer to the largest and smallest coordinate values among all node coordinate values in the first point cloud subset along the third spatial coordinate axis. This third extreme value can represent the spatial boundary position of the first point cloud subset along the third spatial coordinate axis.
[0134] The aforementioned first linear dimension can refer to the length or span of the bounding box determined by the first extreme value in the direction of the first spatial coordinate axis, that is, the difference between the larger and smaller values in the direction of the axis, thereby representing the physical scale of the bounding box in the dimension of the first spatial coordinate axis.
[0135] The aforementioned second linear dimension can refer to the length or span of the bounding box determined by the second extreme value in the direction of the second spatial coordinate axis, that is, the difference between the larger and smaller values in the direction of the axis, thus representing the physical scale of the bounding box in the dimension of the second spatial coordinate axis.
[0136] The aforementioned third linear dimension can refer to the length or span of the bounding box determined by the third extreme value in the direction of the third spatial coordinate axis, that is, the difference between the larger and smaller values in the direction of this axis, thus representing the physical scale of the bounding box in the dimension of the third spatial coordinate axis.
[0137] In one alternative embodiment, it is considered that by determining the three-dimensional boundary range of the point cloud spatial distribution, the geometric volume occupied by the data can be accurately quantified, thereby providing an accurate geometric reference for the subsequent adaptive inversion of the mesh size.
[0138] Based on this, the generation system can read the spatial coordinate data of all nodes in the first point cloud subset and extract the largest and smallest coordinate values of all nodes along the first spatial coordinate axis to determine the first extremum. Similarly, the generation system can extract the largest and smallest coordinate values of all nodes along the second spatial coordinate axis to determine the second extremum, and can extract the largest and smallest coordinate values of all nodes along the third spatial coordinate axis to determine the third extremum. Subsequently, the generation system can determine the difference between the first extrema to obtain the first linear dimension of the spatial bounding box along the first spatial coordinate axis, determine the difference between the second extrema to obtain the second linear dimension of the spatial bounding box along the second spatial coordinate axis, and determine the difference between the third extrema to obtain the third linear dimension of the spatial bounding box along the third spatial coordinate axis. Finally, the generation system can multiply the first, second, and third linear dimensions to obtain the total volume of the spatial bounding box.
[0139] In another alternative embodiment, the process for determining the total volume can be as follows:
[0140] ;
[0141] In the formula, Indicates the total volume. Indicates the first linear dimension. Indicates the second linear dimension. This represents the third linear dimension. The process of determining the total volume of the bounding box corresponding to the second cloud subset is similar to the process described above, and will not be repeated here.
[0142] Further, based on the first number of sampling points and the total volume, the sampling grid size is determined, including: obtaining the grid division coefficient of the first point cloud subset; determining the third product of the grid division coefficient and the first number of sampling points; determining the unit volume ratio based on the quotient of the total volume and the third product; and taking the cube root of the unit volume ratio to obtain the sampling grid size.
[0143] The aforementioned grid division coefficient can refer to a preset adjustment parameter used to adjust the matching relationship between the spatial grid density and the number of the first sampling points. This grid division coefficient can be used to compensate for the difference between the ideal uniform distribution and the actual point cloud distribution or to consider the grid fill rate, so as to adjust the calculation accuracy of the final sampling grid size.
[0144] The aforementioned third product value can refer to the value obtained by multiplying the grid division coefficient by the number of first sampling points. This third product value can reflect the effective number of grid cells used to estimate the total number of spatial grids after considering the grid division adjustment coefficient.
[0145] The aforementioned unit volume ratio can refer to the value obtained by dividing the total volume of the spatial bounding box of the first point cloud subset by the product of the third product. This unit volume ratio can represent the theoretical volume that each mesh cell should occupy in three-dimensional space.
[0146] In one alternative embodiment, considering the introduction of a grid division coefficient to correct the ideal uniform distribution assumption, it can adapt to the non-uniform distribution characteristics of the actual point cloud in space, thereby ensuring that the generated sampling grid size can more accurately match the expected sampling density, so as to improve sampling efficiency.
[0147] Based on this, the generation system can obtain the mesh partitioning coefficient corresponding to the first subset of point clouds. Then, the generation system can multiply this mesh partitioning coefficient by the first number of sampling points to obtain the third product. Next, the generation system can divide the total volume of the bounding box by the third product to obtain the unit volume ratio. Finally, the generation system can perform a cube root operation on this unit volume ratio to obtain the sampling mesh size.
[0148] For example, the process of determining the sampling grid size can be shown in the following formula:
[0149] ;
[0150] In the formula, Indicates the sampling grid size. This represents the grid partitioning coefficient corresponding to the first point cloud subset. The process for determining the sampling grid size corresponding to the second point cloud subset is similar to the above process and will not be repeated here.
[0151] Further, based on multiple grid cells, the first point cloud subset is sampled to obtain the first point cloud data, including: obtaining the node index corresponding to any grid cell, and determining the local sampling number of the grid cell based on the cell volume; sampling the farthest point of the grid cell based on the node index to obtain the initial representative point set corresponding to the grid cell; adjusting the initial representative point set based on the number of third nodes in the initial representative point set to obtain the target representative point set, wherein the number of nodes in the target representative point set is the same as the number of local samplings; merging the target representative point sets corresponding to multiple grid cells to obtain the first point cloud data.
[0152] The aforementioned node index can refer to a numerical code or reference identifier used to identify and locate each node in the first point cloud subset that falls within each grid cell. Using this node index, the generation system can quickly extract the node coordinates and multi-dimensional attribute information belonging to each grid cell from the first point cloud subset.
[0153] The aforementioned cell volume can refer to the geometric volume occupied by a single grid cell in three-dimensional space, determined by the sampling grid size. It can be used to assist in evaluating the distribution density of points within the grid cell or as a reference benchmark for determining the number of local samples.
[0154] The aforementioned local sampling quantity can refer to the number of representative points expected to be extracted from a grid cell, allocated to that grid cell based on its geometric properties (such as cell volume) or a preset strategy. This local sampling quantity can be used to control the number of contribution points of each grid cell in the final downsampling result.
[0155] The aforementioned initial representative point set can refer to the set of nodes obtained before any quantity adjustment is performed after performing the farthest point sampling algorithm on all nodes falling within each grid cell. This initial representative point set can reflect the candidate points with the most dispersed spatial distribution within that grid cell.
[0156] The aforementioned number of third nodes may refer to the total number of nodes actually contained in the initial representative point set after performing the farthest point sampling within the grid cell. This number may be greater than, equal to, or less than the preset number of local samples, reflecting the upper limit of the actual number of points that can be sampled within the grid cell.
[0157] The aforementioned target representative point set can refer to the final representative point set whose number of nodes is strictly equal to the number of local samples after adjusting the initial representative point set according to the relationship between the number of third nodes and the number of local samples (such as truncating, retaining, or supplementing).
[0158] In one alternative embodiment, considering the farthest point sampling performed within the local grid and dynamically adjusted in conjunction with quantity constraints, it is possible to ensure the uniform distribution of sampling points within each spatial cell and strictly meet the quota requirements, thereby effectively reducing computational complexity while maintaining the integrity of global geometric features.
[0159] Based on this, the generation system can obtain the node indexes contained in any grid cell and determine the local sampling quantity of that grid cell according to its volume and preset density parameters. Subsequently, the generation system can execute the farthest point sampling algorithm within that grid cell based on the node indexes to generate an initial representative point set. The generation system can determine the termination condition for farthest point sampling based on the local sampling quantity. Specifically, if the total number of nodes in the grid cell is greater than or equal to the local sampling quantity, the generation system can stop the farthest point sampling process when the number of sampled points reaches the local sampling quantity. If the total number of nodes in the grid cell is less than the local sampling quantity, the generation system can stop the farthest point sampling process after sampling all nodes in the grid cell. Next, the generation system can check the number of third nodes in the initial representative point set. If the number of third nodes exceeds the local sampling quantity, points are truncated to the first local sampling quantity. If the number is insufficient, a global redundancy compensation strategy can be used to supplement the local sampling quantity to form the target representative point set. Finally, the generation system can merge the target representative point sets generated by all grid cells to obtain the first point cloud data.
[0160] Furthermore, based on the cell volume of the grid cell, the number of local samples of the grid cell is determined, including: determining the spatial proportion of the grid cell based on the cell volume and the total volume; and determining the number of local samples based on the number of first sampling points and the spatial proportion.
[0161] The aforementioned spatial proportion can refer to the ratio of the volume of any grid cell to the total volume of the first point cloud subset. It can be used to measure the relative volume share of the grid cell in the entire point cloud spatial distribution, and thus can serve as the basis for calculating the dynamic allocation of the number of local sampling points based on the volume ratio.
[0162] In one alternative embodiment, considering that the number of sampling points is allocated according to the relative proportion of the grid cell volume in the total volume, it is possible to achieve a linear and uniform spatial distribution of sampling resources, thereby ensuring that the downsampled point cloud maintains statistical consistency in geometric distribution.
[0163] Based on this, the generation system can determine the ratio of the cell volume of a grid cell to the total volume of the bounding box of the first point cloud subset, thus obtaining the spatial proportion of the grid cell. Subsequently, the generation system can multiply this spatial proportion by the first number of sampling points of the first point cloud subset and round the result up to obtain the local sampling number of the grid cell.
[0164] Based on this, the generation system needs to verify the number of local samples corresponding to all grid cells. If the total number of sampling points N is greater than the first number of sampling points due to rounding up, the generation system can select P grid cells in descending order of spatial proportion, where N is divisible by P. In this case, the generation system can evenly distribute N among these P grid cells and use the quotient of N and P as the number of nodes to be removed. This allows the system to eliminate redundant nodes from the P grid cells, ensuring that the sum of the number of local samples in all grid cells is the same as the first number of sampling points.
[0165] Furthermore, based on the number of third nodes in the initial representative point set, the initial representative point set is adjusted to obtain the target representative point set, including: when the number of third nodes is greater than the number of local samples, nodes are removed from the initial representative point set to obtain the target representative point set; when the number of third nodes is less than the number of local samples, nodes are added to the initial representative point set to obtain the target representative point set; when the number of third nodes is equal to the number of local samples, the initial representative point set is determined as the target representative point set.
[0166] In one alternative embodiment, considering that by comparing the difference between the actual number of sampling points and the number of local sampling points, and performing corresponding elimination or supplementation operations, it can be ensured that the number of point clouds in each grid cell strictly conforms to the preset local sampling standard, thereby achieving precise control of the total global sampling amount while ensuring the quality of geometric feature preservation.
[0167] Based on this, the generation system can obtain the number of third nodes in the initial representative point set and compare this number with the number of local samples. If the number of third nodes is greater than the number of local samples, the generation system can perform a node removal operation to retain the more representative nodes, thus obtaining the target representative point set. If the number of third nodes is less than the number of local samples, the generation system can perform a node supplementation operation to fill in the missing points, thus obtaining the target representative point set. If the number of third nodes is equal to the number of local samples, the generation system can directly determine the initial representative point set as the target representative point set.
[0168] Further, the initial representative point set is truncated to obtain the target representative point set, including: determining the number of redundant nodes in the initial representative point set based on the number of third nodes and the number of local samples; determining at least one redundant node from the initial representative point set based on the number of redundant nodes; and transferring at least one redundant node from the initial representative point set to the redundancy compensation pool to obtain the target representative point set, wherein the redundancy compensation pool is used for node transfer across grid cells.
[0169] The aforementioned number of redundant nodes refers to the total number of excess nodes that need to be removed from a grid cell when the number of third nodes in the initial representative point set within that grid cell exceeds the local sampling number of that grid cell. This number is determined based on the difference between the number of third nodes and the local sampling number. This number of redundant nodes can be used to balance the difference between the number of local sampling points and the actual number of usable points.
[0170] The aforementioned redundant nodes may refer to nodes that are identified and removed from the initial set of representative points and exceed the local sampling limit. Although these redundant nodes are not retained in the target set of representative points of the current grid cell, their spatial location information is transferred to the redundancy compensation pool for subsequent supplementation to other grid cells with insufficient sampling points.
[0171] The aforementioned redundancy compensation pool can refer to a temporary storage structure or data set used to collect all redundant nodes removed from the initial representative point set of each grid cell. This allows for the redistribution of these surplus nodes to grid cells with insufficient actual sampling points through a cross-grid cell node transfer mechanism, thereby ensuring that the final merged first point cloud data strictly meets the preset first sampling point number.
[0172] In one alternative embodiment, considering that by identifying and removing redundant nodes that exceed the quota limit and transferring these redundant points to the compensation pool, it is possible to provide a data supplement source for other under-sampled grid cells while maintaining the accuracy of the local sampling quantity, thereby achieving an efficient dynamic balance of global sampling resources.
[0173] Based on this, the generation system can obtain the number of redundant nodes by subtracting the number of local samples from the number of third nodes in the initial representative point set. Subsequently, the generation system can select at least one node as a redundant node from the initial representative point set according to this number of redundant nodes, and can remove the selected at least one redundant node from the initial representative point set and transfer it to the redundancy compensation pool for cross-grid cell node transfer, thereby obtaining the target representative point set that meets the local sample number constraint.
[0174] Furthermore, the initial representative point set is supplemented with nodes to obtain the target representative point set, including: determining the number of missing nodes in the initial representative point set based on the number of third nodes and the number of local samples; determining at least one compensation node from the redundancy compensation pool based on the number of missing nodes; and transferring at least one compensation node from the redundancy compensation pool to the initial representative point set to obtain the target representative point set.
[0175] The aforementioned number of missing nodes refers to the total number of nodes that need to be added from outside when the number of third nodes in the initial representative point set within any grid cell is less than the number of local samples in that grid cell. This number is determined by the difference between the number of local samples and the number of third nodes. This number of missing nodes can be used to fill the gap caused by insufficient sampling.
[0176] The aforementioned compensation nodes can refer to representative points generated in the corresponding deficient grid cells after spatial interpolation or nearest neighbor mapping of nodes extracted from other surplus grid cells in the redundancy compensation pool. These supplementary nodes can be used to fill the sampling quantity gap in the current grid cell, so as to achieve dynamic balance and total control of the number of sampling points in the entire system.
[0177] In one alternative embodiment, considering that compensation nodes are extracted from the redundancy compensation pool based on the number of missing nodes, dynamic balancing and efficient flow of global sampling resources can be achieved, thereby ensuring that the number of point clouds in each grid cell strictly meets the local sampling quota.
[0178] Based on this, the generation system can determine the difference between the number of local samples and the number of third nodes in the initial representative point set, thus obtaining the number of missing nodes. Subsequently, the generation system can select at least one compensation node from the redundancy compensation pool used for cross-grid cell node transfer based on this number of missing nodes, and can perform spatial interpolation or nearest neighbor mapping on the selected at least one compensation node to transform the compensation node to the geometric center or nearest neighbor position of the grid cell, thereby obtaining the target representative point set that meets the local sample quantity constraint.
[0179] For ease of understanding, Figure 2 This is a schematic diagram illustrating an optional process for generating vehicle body point cloud data according to an embodiment of this application, such as... Figure 2As shown, the process from start to finish includes CAE (Computer-Aided Engineering) native semantic mapping and direct output of dense point clouds with full attributes, multi-scale structured partitioning driven by engineering sensitivity knowledge base, dynamic allocation of coarse and fine scale sampling quotas based on importance gradient, adaptive inversion of grid size and spatial partitioning under target point number constraints, fast FPS (Farthest Point Sampling) sampling and dynamic redundancy compensation under local grid constraints, and multi-dimensional semantic tensor encapsulation and standardized output.
[0180] Among them, CAE native semantic mapping and full-attribute dense point cloud direct output are generated by parsing finite element model files and establishing multi-level mapping relationships, binding the geometric coordinates of nodes with engineering attributes such as materials and processes to generate dense point clouds with complete semantics.
[0181] The multi-scale structured partitioning driven by the engineering sensitivity knowledge base divides the point cloud into a highly sensitive key structure subset and a low-sensitivity non-load-bearing subset based on the component performance sensitivity data obtained from finite element analysis.
[0182] Dynamic allocation of sampling quotas based on coarse and fine scales of importance gradients. The number of target sampling points (i.e. the first number of sampling points and the second number of sampling points mentioned above) is calculated according to the proportion of the original number of nodes in each subset and the preset weight, so as to realize the on-demand allocation of computing power.
[0183] Adaptive inversion of mesh size and spatial partitioning under target point number constraints: The mesh size is calculated based on the target sampling point number and bounding box volume, and the point cloud is spatially hashed to divide the mesh to balance accuracy and efficiency.
[0184] Fast FPS sampling and dynamic redundancy compensation for local mesh constraints: Fast FPS is performed within the mesh cells, and dynamic compensation is performed for areas with insufficient points to preserve key geometric features.
[0185] Multidimensional semantic tensor encapsulation and standardized output are used to add attribute fields to the downsampled point cloud and perform format conversion to generate standardized data that can be directly used by downstream AI training or simulation platforms.
[0186] Figure 3 This is a schematic diagram of an optional CAE native semantic mapping mechanism according to an embodiment of this application, such as... Figure 3As shown, this mechanism contains a four-level hierarchical structure: assembly layer, component layer, unit layer, and node layer. The assembly layer includes component ID, load, and constraints; the component layer includes component ID, unit ID, material properties, and thickness; the unit layer includes unit ID, component type, node ID, and process; and the node layer includes node ID and spatial coordinates. The generation system can inherit point cloud semantic attributes layer by layer to obtain point cloud geometric coordinates containing multi-dimensional attribute information.
[0187] Figure 4 This is a flowchart of an optional mesh size adaptive inversion and spatial partitioning according to an embodiment of this application, such as... Figure 4 As shown, the process includes inputting the target number of sampling points, determining the bounding box size and volume, determining the mesh division coefficient, determining the adaptive mesh size, spatial hashing mesh division, and forming a set of in-mesh point indices.
[0188] Among them, based on the target number of sampling points input, the target number constraint after downsampling of each point cloud subset can be determined (that is, the first number of sampling points and the second number of sampling points mentioned above).
[0189] By determining the size and volume of the bounding box, the spatial extent of each subset can be determined to obtain geometric boundary information.
[0190] By determining the mesh division coefficient, the density adjustment parameters for coarse-scale and fine-scale mesh division can be set.
[0191] By using adaptive mesh size determination, the spatial mesh side length of each subset can be calculated back based on the bounding box volume, the number of target sampling points, and the mesh partitioning coefficient.
[0192] By using spatial hash grid partitioning, point cloud subsets can be spatially discretized based on adaptive grid size.
[0193] A set of point indexes within the grid is formed, which can collect the point cloud node indexes falling within each grid cell for subsequent sampling.
[0194] Figure 5 This is an architecture diagram of an optional vehicle body point cloud data generation system according to an embodiment of this application, such as... Figure 5 As shown, the architecture includes a CAE parsing module, a sensitivity mapping module, a quota allocation module, a mesh inversion module, a local FPS compensation module, and an encapsulation output module.
[0195] The CAE parsing module is mainly used for native semantic mapping, specifically for parsing and reading model files, extracting nodes, units, and attributes, establishing four-level mappings of nodes, units, parts, and assemblies, unifying coordinates and cleaning data, and outputting dense full-attribute semantic point clouds.
[0196] The sensitivity mapping module is mainly used for engineering knowledge-driven partitioning, specifically for the construction of the performance sensitivity knowledge base, sensitivity mapping, coarse-scale (low sensitivity) and fine-scale (high sensitivity) partitioning, and output of coarse-scale and fine-scale structured point cloud subsets.
[0197] The quota allocation module is mainly used to determine the sampling quota, specifically for node number statistics, node number ratio determination, sampling ratio setting, preset total number of samples setting, and output of the target sampling point number corresponding to coarse and fine scales respectively.
[0198] The mesh inversion module is mainly used for mesh size adaptation, specifically for determining bounding box size and volume, adaptive mesh size inversion, spatial hash mesh generation, node index generation, and output of coarse-scale and fine-scale mesh index sets.
[0199] The local FPS compensation module is mainly used for fast sampling and redundancy compensation. Specifically, it is used for fast FPS sampling within the grid, determining the number of nodes within the grid, dynamic redundancy compensation, merging sampling results, and outputting a set of downsampled point clouds that meets the preset total number of samples.
[0200] The encapsulated output module is mainly used for semantic tensor quantization and output, specifically for attaching multidimensional attribute information fields, semantic tensor quantization processing, format conversion and compression, and outputting structured tensors or standard point cloud formats.
[0201] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of the relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation entry points are provided for users to choose to authorize or refuse.
[0202] According to an embodiment of this application, a device for generating vehicle body point cloud data is provided. It should be noted that this device can be used to execute the aforementioned method for generating vehicle body point cloud data. The specific implementation process and application scenarios are the same as in the above embodiment, and will not be repeated here. Figure 6 This is a schematic diagram of a vehicle body point cloud data generation device according to an embodiment of this application, such as... Figure 6 As shown, the device includes:
[0203] The acquisition module 602 is used to acquire the model file of the vehicle body and the performance sensitivity of multiple components in the vehicle body. The model file includes multiple nodes and multi-dimensional attribute information corresponding to multiple components. The multiple nodes are used to represent the geometric topology of the vehicle body, and each component is represented by at least one node.
[0204] Module 604 is used to build a semantic point cloud set of the vehicle body based on the model file.
[0205] The partitioning module 606 is used to partition the semantic point cloud set based on performance sensitivity to obtain at least two point cloud subsets, where different point cloud subsets correspond to different performance sensitivity intervals.
[0206] The sampling module 608 is used to sample at least two point cloud subsets based on the number of nodes in at least two point cloud subsets to obtain point cloud data of the vehicle body.
[0207] Furthermore, the construction module is also used to: map the multidimensional attribute information corresponding to multiple components to multiple nodes respectively, to obtain multiple semantic node sets, wherein different components correspond to different semantic node sets; and perform spatial alignment processing on multiple semantic node sets to obtain a semantic point cloud set.
[0208] Furthermore, the construction module is also used to: determine the initial node set corresponding to any component based on the assembly mapping relationship and the component identifiers corresponding to multiple components, wherein the assembly mapping relationship is used to characterize the mapping relationship between component identifiers and nodes; and map the multidimensional attribute information corresponding to the component to the initial node set to obtain the semantic node set corresponding to the component.
[0209] Furthermore, the partitioning module is also used to: map performance sensitivity to each node in the semantic point cloud set based on the assembly mapping relationship to obtain a sensitivity point cloud set; and partition the sensitivity point cloud set based on the sensitivity threshold to obtain a first point cloud subset and a second point cloud subset, wherein the sensitivity corresponding to the node in the first point cloud subset is greater than the sensitivity threshold, and the sensitivity corresponding to the node in the second point cloud subset is less than or equal to the sensitivity threshold.
[0210] Furthermore, at least two point cloud subsets include at least a first point cloud subset and a second point cloud subset; the sampling module is also used to: determine the number of first nodes in the first point cloud subset and the number of second nodes in the second point cloud subset; determine the number of first sampling points based on the preset total number of samples, the number of first nodes and the number of second nodes; determine the number of second sampling points based on the preset total number of samples and the number of first sampling points; sample the first point cloud subset based on the number of first sampling points to obtain first point cloud data, and sample the second point cloud subset based on the number of second sampling points to obtain second point cloud data.
[0211] Furthermore, the sampling module is also used to: obtain the first sampling coefficient of the first point cloud subset and the second sampling coefficient of the second point cloud subset; determine the sampling ratio of the first point cloud subset based on the number of first nodes, the number of second nodes, the first sampling coefficient, and the second sampling coefficient; and determine the number of first sampling points based on the product of the preset total number of samples and the sampling ratio.
[0212] Furthermore, the sampling module is also used to: determine the first product of the number of first nodes and the first sampling coefficient, and determine the second product of the number of second nodes and the second sampling coefficient; determine the sum of the first product and the second product; and determine the sampling ratio based on the quotient of the first product and the sum.
[0213] Furthermore, the sampling module is also used to: determine the total volume of the spatial bounding box of the first point cloud subset based on the spatial coordinate data of each node in the first point cloud subset; determine the sampling grid size based on the first number of sampling points and the total volume; divide the first point cloud subset into spatial hash grids based on the sampling grid size to obtain multiple grid cells; and sample the first point cloud subset based on the multiple grid cells to obtain the first point cloud data.
[0214] Furthermore, the sampling module is also used to: acquire the spatial coordinate data of all nodes in the first point cloud subset; based on the spatial coordinate data, extract the first extreme value of all nodes in the direction of the first spatial coordinate axis, the second extreme value of all nodes in the direction of the second spatial coordinate axis, and the third extreme value of all nodes in the direction of the third spatial coordinate axis; based on the first extreme value, determine the first linear dimension of the spatial bounding box in the direction of the first spatial coordinate axis, and based on the second extreme value, determine the second linear dimension of the spatial bounding box in the direction of the second spatial coordinate axis, and based on the third extreme value, determine the third linear dimension of the spatial bounding box in the direction of the third spatial coordinate axis; and based on the product of the first linear dimension, the second linear dimension, and the third linear dimension, determine the total volume of the spatial bounding box.
[0215] Furthermore, the sampling module is also used to: obtain the grid division coefficient of the first point cloud subset; determine the third product of the grid division coefficient and the number of first sampling points; determine the unit volume ratio based on the quotient of the total volume and the third product; and take the cube root of the unit volume ratio to obtain the sampling grid size.
[0216] Furthermore, the sampling module is also used to: obtain the node index corresponding to any grid cell, and determine the local sampling number of the grid cell based on the cell volume; perform farthest point sampling on the grid cell based on the node index to obtain the initial representative point set corresponding to the grid cell; adjust the initial representative point set based on the number of third nodes in the initial representative point set to obtain the target representative point set, wherein the number of nodes in the target representative point set is the same as the number of local samplings; and merge the target representative point sets corresponding to multiple grid cells to obtain the first point cloud data.
[0217] Furthermore, the sampling module is also used to: determine the spatial proportion of the grid cells based on the cell volume and the total volume; and determine the number of local samples based on the number of first sampling points and the spatial proportion.
[0218] Furthermore, the sampling module is also used to: remove nodes from the initial representative point set to obtain the target representative point set when the number of third nodes is greater than the number of local samples; supplement nodes to the initial representative point set to obtain the target representative point set when the number of third nodes is less than the number of local samples; and determine the initial representative point set as the target representative point set when the number of third nodes is equal to the number of local samples.
[0219] Furthermore, the sampling module is also used to: determine the number of redundant nodes in the initial representative point set based on the number of third nodes and the number of local samples; determine at least one redundant node from the initial representative point set based on the number of redundant nodes; and transfer at least one redundant node from the initial representative point set to the redundancy compensation pool to obtain the target representative point set, wherein the redundancy compensation pool is used for node transfer across grid cells.
[0220] Furthermore, the sampling module is also used to: determine the number of missing nodes in the initial representative point set based on the number of third nodes and the number of local samples; determine at least one compensation node from the redundancy compensation pool based on the number of missing nodes; and transfer at least one compensation node from the redundancy compensation pool to the initial representative point set to obtain the target representative point set.
[0221] Embodiments of this application also provide a vehicle, including: a memory storing an executable program; and a processor for running the program, wherein the program executes the methods described in various embodiments of this application when it runs.
[0222] Embodiments of this application also provide a computer-readable storage medium including a stored executable program, wherein, when the executable program is running, it controls the device where the computer-readable storage medium is located to perform the methods of various embodiments of this application.
[0223] Embodiments of this application also provide a computer program product, including a computer program that, when executed by a processor, implements the methods of various embodiments of this application.
[0224] Embodiments of this application also provide a computer program product, including a non-volatile computer-readable storage medium for storing a computer program that, when executed by a processor, implements the methods in various embodiments of this application.
[0225] Embodiments of this application also provide a computer program that, when executed by a processor, implements the methods described in the various embodiments of this application.
[0226] In the above embodiments of this application, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0227] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units can be a logical functional division, and in actual implementation, there may be other division methods. For instance, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling, direct coupling, or communication connection may be through some interfaces; the indirect coupling or communication connection between units or modules may be electrical or other forms.
[0228] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0229] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0230] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard drive, magnetic disk, or optical disk.
[0231] The above description is only a preferred embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications should also be considered within the scope of protection of this application.
Claims
1. A method for generating vehicle body point cloud data, characterized in that, include: Obtain the model file of the vehicle body and the performance sensitivity of multiple components in the vehicle body. The model file includes multiple nodes and multi-dimensional attribute information corresponding to the multiple components. The multiple nodes are used to characterize the geometric topology of the vehicle body, and each component is characterized by at least one node. Based on the model file, construct a semantic point cloud set for the vehicle body; Based on the performance sensitivity, the semantic point cloud set is divided by sensitivity to obtain at least two point cloud subsets, wherein different point cloud subsets correspond to different performance sensitivity intervals; Based on the number of nodes in the at least two point cloud subsets, the at least two point cloud subsets are sampled to obtain the point cloud data of the vehicle body.
2. The method according to claim 1, characterized in that, Based on the model file, a semantic point cloud set for the vehicle body is constructed, including: The multidimensional attribute information corresponding to the multiple components is mapped to the multiple nodes respectively to obtain multiple semantic node sets, wherein different components correspond to different semantic node sets; Spatial alignment processing is performed on the multiple semantic node sets to obtain the semantic point cloud set.
3. The method according to claim 2, characterized in that, The multidimensional attribute information corresponding to the multiple components is mapped to the multiple nodes respectively, resulting in multiple semantic node sets, including: Based on the assembly mapping relationship and the component identifiers corresponding to the multiple components, an initial set of nodes corresponding to any one component is determined, wherein the assembly mapping relationship is used to characterize the mapping relationship between component identifiers and nodes; The multidimensional attribute information corresponding to the component is mapped to the initial node set to obtain the semantic node set corresponding to the component.
4. The method according to claim 1, characterized in that, Based on the performance sensitivity, the semantic point cloud set is divided by sensitivity to obtain at least two point cloud subsets, including: Based on the assembly mapping relationship, the performance sensitivity is mapped to each node in the semantic point cloud set to obtain the sensitivity point cloud set; Based on a sensitivity threshold, the sensitivity point cloud set is divided to obtain a first point cloud subset and a second point cloud subset, wherein the sensitivity of nodes in the first point cloud subset is greater than the sensitivity threshold, and the sensitivity of nodes in the second point cloud subset is less than or equal to the sensitivity threshold.
5. The method according to claim 1, characterized in that, The at least two point cloud subsets include at least a first point cloud subset and a second point cloud subset; Based on the number of nodes in the at least two point cloud subsets, the at least two point cloud subsets are sampled to obtain the point cloud data of the vehicle body, including: Determine the number of first nodes in the first point cloud subset and the number of second nodes in the second point cloud subset; The number of first sampling points is determined based on the preset total number of samples, the number of the first node, and the number of the second node; The second number of sampling points is determined based on the preset total number of samples and the first number of sampling points; Based on the first number of sampling points, the first subset of point clouds is sampled to obtain the first point cloud data, and based on the second number of sampling points, the second subset of point clouds is sampled to obtain the second point cloud data.
6. The method according to claim 5, characterized in that, The number of first sampling points is determined based on the preset total number of samples, the number of the first node, and the number of the second node, including: Obtain the first sampling coefficients of the first point cloud subset and the second sampling coefficients of the second point cloud subset; Based on the first number of nodes, the second number of nodes, the first sampling coefficient, and the second sampling coefficient, the sampling ratio of the first point cloud subset is determined; The number of the first sampling points is determined based on the product of the preset total number of samples and the sampling ratio.
7. The method according to claim 6, characterized in that, Based on the first number of nodes, the second number of nodes, the first sampling coefficient, and the second sampling coefficient, the sampling ratio of the first point cloud subset is determined, including: Determine the first product of the number of the first nodes and the first sampling coefficient, and determine the second product of the number of the second nodes and the second sampling coefficient; Determine the sum of the first product and the second product; The sampling ratio is determined based on the quotient of the first product and the sum.
8. The method according to claim 5, characterized in that, Based on the first number of sampling points, the first point cloud subset is sampled to obtain the first point cloud data, including: Based on the spatial coordinate data of each node in the first point cloud subset, determine the total volume of the spatial bounding box of the first point cloud subset; The sampling grid size is determined based on the first number of sampling points and the total volume; Based on the sampling grid size, the first point cloud subset is divided into spatial hash grids to obtain multiple grid units; Based on the multiple grid cells, the first point cloud subset is sampled to obtain the first point cloud data.
9. The method according to claim 8, characterized in that, Based on the spatial coordinate data of each node in the first point cloud subset, the total volume of the spatial bounding box of the first point cloud subset is determined, including: Obtain the spatial coordinate data of all nodes in the first cloud subset; Based on the spatial coordinate data, the first extreme value of all nodes in the direction of the first spatial coordinate axis, the second extreme value of all nodes in the direction of the second spatial coordinate axis, and the third extreme value of all nodes in the direction of the third spatial coordinate axis are extracted. Based on the first extreme value, a first linear dimension of the spatial bounding box in the direction of the first spatial coordinate axis is determined; based on the second extreme value, a second linear dimension of the spatial bounding box in the direction of the second spatial coordinate axis is determined; and based on the third extreme value, a third linear dimension of the spatial bounding box in the direction of the third spatial coordinate axis is determined. The total volume of the spatial bounding box is determined based on the product of the first linear dimension, the second linear dimension, and the third linear dimension.
10. The method according to claim 8, characterized in that, Based on the first number of sampling points and the total volume, the sampling grid size is determined, including: Obtain the grid partitioning coefficients of the first point cloud subset; Determine the third product of the grid division coefficient and the first number of sampling points; The unit volume ratio is determined based on the quotient of the total volume and the third product value; The sampling grid size is obtained by taking the cube root of the unit volume ratio.
11. The method according to claim 8, characterized in that, Based on the multiple grid cells, the first point cloud subset is sampled to obtain the first point cloud data, including: Obtain the node index corresponding to any grid cell, and determine the number of local samples for the grid cell based on the cell volume of the grid cell; Based on the node index, the farthest point is sampled for the grid cell to obtain the initial representative point set corresponding to the grid cell; Based on the number of third nodes in the initial representative point set, the initial representative point set is adjusted to obtain the target representative point set, wherein the number of nodes in the target representative point set is the same as the number of local samples. The target representative point sets corresponding to the multiple grid units are merged to obtain the first point cloud data.
12. The method according to claim 11, characterized in that, Based on the cell volume of the grid cell, the number of local samples for the grid cell is determined, including: Based on the unit volume and the total volume, the spatial proportion of the grid unit is determined; The number of local samples is determined based on the first number of sampling points and the spatial proportion.
13. The method according to claim 11, characterized in that, Based on the number of third nodes in the initial representative point set, the initial representative point set is adjusted to obtain the target representative point set, including: If the number of third nodes is greater than the number of local samples, the initial representative point set is truncated to obtain the target representative point set. If the number of third nodes is less than the number of local samples, the initial representative point set is supplemented with nodes to obtain the target representative point set; When the number of third nodes is equal to the number of local samples, the initial set of representative points is determined as the target set of representative points.
14. The method according to claim 13, characterized in that, The initial representative point set is truncated to obtain the target representative point set, which includes: Based on the number of third nodes and the number of local samples, determine the number of redundant nodes in the initial representative point set; Based on the number of redundant nodes, at least one redundant node is determined from the initial set of representative points; The at least one redundant node is transferred from the initial representative point set to the redundancy compensation pool to obtain the target representative point set, wherein the redundancy compensation pool is used for node transfer across grid cells.
15. The method according to claim 14, characterized in that, The initial representative point set is supplemented with nodes to obtain the target representative point set, which includes: Based on the number of third nodes and the number of local samples, the number of missing nodes in the initial representative point set is determined; Based on the number of missing nodes, at least one compensation node is determined from the redundancy compensation pool; The at least one compensation node is transferred from the redundant compensation pool to the initial representative point set to obtain the target representative point set.
16. A device for generating vehicle body point cloud data, characterized in that, include: The acquisition module is used to acquire the model file of the vehicle body and the performance sensitivity of multiple components in the vehicle body. The model file includes multiple nodes and multi-dimensional attribute information corresponding to the multiple components. The multiple nodes are used to characterize the geometric topology of the vehicle body, and each component is characterized by at least one node. The building module is used to construct a semantic point cloud set of the vehicle body based on the model file; The partitioning module is used to partition the semantic point cloud set based on the performance sensitivity to obtain at least two point cloud subsets, wherein different point cloud subsets correspond to different performance sensitivity intervals; The sampling module is used to sample the at least two point cloud subsets based on the number of nodes in the at least two point cloud subsets to obtain the point cloud data of the vehicle body.
17. A vehicle, characterized in that, include: Memory, which stores executable programs; A processor for running the program, wherein the program, when running, performs the method according to any one of claims 1 to 15.
18. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes a stored executable program, wherein, when the executable program is executed, it controls the device on which the storage medium is located to perform the method according to any one of claims 1 to 15.