A human point cloud data segmentation method based on radial basis function
Through the combination of Hermite radial basis function and geodesic distance, the problem of inaccurate segmentation of point cloud data in the prior art is solved, and accurate segmentation under different postures and coordinate systems is realized, which is suitable for the application of clothing design and wearable devices.
Patent Information
- Application Number
- CN202310384358.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-04-12
- Publication Date
- 2025-08-29
- Estimated Expiration
- 2043-04-12
AI Technical Summary
The existing point cloud data segmentation method is difficult to accurately segment surface blocks with arbitrarily bounded by complex surfaces in human point cloud data, especially in scenarios where human-computer interaction is required. The existing methods have strong dependence on the attributes of point cloud data, making it difficult to adapt to different poses and coordinate systems.
Using the principle of Hermite radial basis function and geodesic distance, the target area boundary is determined by calculating the geodesics of adjacent characteristic points, the boundary normal vector is constructed and the Hermite radial basis function is constructed, and the region is divided using function values to ensure the accuracy and adaptability of the segmentation.
Accurate segmentation within the range of any selected feature points is achieved, suitable for irregular surface point clouds, able to retain triangular mesh information of the original model, and suitable for clothing design and wearable devices.
Smart Images

Figure CN116452620B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of point cloud data segmentation, and in particular relates to a three-dimensional polygonal mesh model of a closed entity such as a human body. The present invention is suitable for a point cloud data segmentation method for applications such as clothing design and virtual fitting, as well as a method for subdividing the boundary polygonal mesh model after segmentation. Background Art
[0002] Personalized 3D human models are increasingly being used in many fields, including product design and intelligent manufacturing. For example, in applications such as ergonomics, clothing design, custom tailoring, and virtual fitting, designers need to create human models of varying sizes for users of varying body types to design and produce products that meet their personalized needs. Relying on digital human models to implement 3D clothing pattern design and pattern generation is a key step in the digital 3D clothing design process and one of the most challenging research topics in the fashion and computer graphics communities. One of the challenges is accurately segmenting complex surfaces with arbitrary boundaries. Point clouds, a crucial data format that fully represents the physical shape of entities, are widely used in the acquisition and reconstruction of 3D human models, primarily due to the increasing maturity and widespread availability of point cloud data acquisition and processing methods. Segmenting the 3D human body's clothing prototype coverage area and the corresponding pattern prototype area within the point cloud data model is crucial for digitalizing product design and manufacturing technology, thereby achieving the goal of digitally transforming the entire traditional clothing product development and production process.
[0003] Conventional point cloud data segmentation involves partitioning the point cloud into several mutually exclusive subsets, each with the same attribute features or semantic information. Typically, after segmentation, the point clouds within the same subset share the same geometric structure. Therefore, point attributes are often used in point cloud segmentation algorithms: Rapid changes in point cloud intensity or surface normals are leveraged to identify entity edges, which are then used to segment the point cloud data. Point attributes such as curvature, surface normals, slope, and distance are leveraged to select appropriate seed points for region-growing segmentation. These attributes can also be used to cluster point cloud data. Mathematical models of geometric shapes (such as spheres, cylinders, and planes) are used to group point cloud data with the same mathematical expression into the same region, achieving point cloud data segmentation. In recent years, deep learning methods based on point clouds have made significant progress in point cloud data segmentation, resulting in a large number of effective methods for 3D image data segmentation, such as deep network models based on kd-tree structures, convolutional neural networks based on octree structures, multilayer perceptron-based methods, and recurrent neural networks. All of the above methods require the use of attribute similarity of point cloud data to segment it. In the segmentation method of human point cloud data similar to clothing design, the basis for judging whether points belong to the same set is arbitrary and is often any area in the three-dimensional space. Therefore, the above methods are not effective, especially in scenarios that require human-computer interaction; in addition, the human point cloud data obtained using a 3D human body scanner is difficult to represent the body part information, which also brings difficulties to the aforementioned type of point cloud segmentation.
[0004] Among surface representation methods, in addition to point cloud data, another very important and commonly used approach is polygonal mesh representation. These two methods each have their own advantages and are often used together in the processing of 3D models to complement each other's strengths. Triangular mesh models are the most typical polygonal mesh model. They feature mature and effective methods for generating them from point cloud data, allowing them to approximate any complex surface with arbitrary precision. The technology for rendering triangular meshes is highly mature and can be implemented using hardware acceleration. The segmentation process for triangular mesh models involves decomposing them into connected sub-meshes with simple shapes based on specific geometric and topological features. In addition to utilizing point attributes, many segmentation methods also consider the properties of triangular faces (such as flatness, area, and convex hull). The boundaries of segmented sub-meshes require special processing. Commonly used triangular mesh segmentation methods are mostly derived from improvements on point cloud segmentation methods, such as clustering-based hierarchical decomposition, the watershed algorithm, and edge-based segmentation. The design of wearable devices such as clothing, as well as ergonomics-related products, also has certain limitations in the selection of segmented regions, and cannot meet the requirements for accurate selection and surface extraction of arbitrary regions in multiple postures and different coordinate systems. Summary of the Invention
[0005] The present invention aims to address the problems of the prior art by providing a method for region segmentation of human point cloud data based on boundary feature points. This method applies the principles of Hermite radial basis functions and geodesic distance to segment regions within the range of arbitrarily selected feature points. The segmented objects are not restricted by their posture or position in the coordinate system. After segmentation, no points within the selected region are missed, and the triangular mesh information of the original model portion within the region is preserved. The segmentation method provided by the present invention is also applicable to point cloud data models of entities other than the human body.
[0006] The technical solution to achieve the purpose of the present invention is: a human body point cloud data segmentation method based on radial basis function, the method specifically comprises the following steps:
[0007] Step 1: Calculate the geodesic lines of adjacent feature points and extract the boundary point cloud of the selected target area of the human point cloud data model: the selected target area on the human point cloud data model is surrounded by several boundary lines. The boundary lines are any closed curves on the surface of the human point cloud data model. Determine several feature points of each boundary line as follows: Among them, i' represents the boundary line number, j represents the feature point number, is the feature point j on the boundary line i', (x i',j ,y i',j ,y i',j ) is a feature point The coordinates of the selected target area are obtained by calculating the geodesic line passing through the adjacent feature points based on the feature points of each boundary line. The geodesic lines are connected end to end to form a closed boundary line, thereby obtaining the boundary point cloud of the selected target area. The point cloud within the boundary line is the point cloud data of the selected target area.
[0008] Step 2: Subdivide the boundary triangle mesh and calculate the boundary normal vector of the boundary point cloud of the selected target area: Subdivide the triangle mesh through which the boundary line passes according to the intersection position of the geodesic line and the edge of the triangular mesh. The points on the boundary line form a boundary line point cloud. For each point in the boundary line point cloud, calculate the boundary normal vector composed of the edge vector associated with the point and the normal vector of the point;
[0009] Step 3: Construct the Hermite radial basis function of the boundary point cloud: take the coordinates {x i}={(x i ,y i ,z i )} and the corresponding boundary normal vector set {n i}={(n i,x ,n i,y ,n i,z)} is input to construct the Hermite radial basis function of the boundary point cloud data; where x i is the coordinate of the i-th point in the boundary point cloud dataset, n i is the boundary normal vector of the i-th point;
[0010] Step 4, calculate the Hermite radial basis function value of the selected point and determine the point cloud data of the selected target area: according to the properties of the relationship between the value of the Hermite radial basis function and the point position, for each point in the human body point cloud data model, or the local point cloud data of the human body after preliminary segmentation, calculate the value of the Hermite radial basis function, and select a set of points with a value less than 0 or a small positive number as the point cloud data of the selected target area.
[0011] Furthermore, in step 1, if the human body point cloud data model has defined triangular mesh data, it can be directly used for geodesic calculation. If it has not been defined, the triangular mesh model is first obtained through the Delaunay triangulation algorithm, and then the geodesic calculation is performed.
[0012] Furthermore, in step 2, the boundary normal vector calculation process of the boundary point cloud includes:
[0013] ① Triangular mesh subdivision: The intersection of the geodesic lines between adjacent feature points on the same boundary and the edges of the triangular mesh they pass through, together with the corresponding feature points, constitute the point cloud of the boundary line;
[0014] Depending on the intersection of the geodesic and the triangular mesh, connect the vertex with the intersection point on the opposite side to split the original triangle into two triangles, or connect the intersection point on two sides and the intersection point on one side with the opposite vertex to split the original triangle into three triangles;
[0015] After segmentation, the original triangles are deleted and the newly added triangular faces are saved. The storage order of the vertices of the newly added triangular faces is consistent with the triangular mesh model corresponding to the original point cloud data;
[0016] ② Calculate the boundary normal vector: For any point on the boundary line, there are two adjacent points. The vector pointing to the first adjacent point of the arbitrary point is cross-multiplied with the normal vector of the arbitrary point to obtain a vector. The vector pointing to the other adjacent point of the arbitrary point is cross-multiplied with the normal vector of the arbitrary point to obtain another vector. If these two vectors point to the inside of the selected target area, the directions are reversed. The sum of these two vectors is taken and normalized to obtain the boundary normal vector of the arbitrary point.
[0017] Furthermore, the triangular mesh is divided according to the intersection of the geodesic and the triangular mesh, which includes three specific cases:
[0018] (1) If the boundary line of a triangle mesh starts at a vertex and ends at a non-end point of its opposite side, the boundary line is used as the common edge to split the original triangle into two adjacent triangular faces;
[0019] (2) If the boundary line of a certain triangle mesh starts from a non-end point of one side and ends at the vertex of the opposite side, the boundary line is used as the common edge to split the original triangle into two adjacent triangular faces;
[0020] (3) If a boundary line passing through a certain triangular mesh starts from a non-end point of one side and ends at a non-end point of its adjacent side, then the starting point and the end point, and the starting point and the vertex opposite to it are connected to obtain two triangular sides, thus splitting the original triangle into three triangular faces.
[0021] Furthermore, it is determined whether the vector points to the inside of the selected target area. The specific methods include:
[0022] Calculate the angle between the vector and the vector pointing to the center point of the human body point cloud data model at any point. If the angle is less than 90°, it indicates that the vector points to the inside of the selected target area; otherwise, it indicates that the vector points to the outside of the selected target area.
[0023] Furthermore, in step 3, the coordinates {x i}={(x i ,y i ,z i )} and the corresponding boundary normal vector set {n i}={(n i,x ,n i,y ,n i,z )} is input, and the Hermite radial basis function of the boundary point cloud data is constructed as:
[0024]
[0025] Where N is the number of points in the boundary point cloud dataset, x is any point in the coordinate system, α i and β i The parameter of the implicit function of the entity is an unknown number; the conditions used during construction are: f(x i )=0,f(p i )=0, α i and β i are the unknown coefficients, the former is a scalar and the latter is a three-dimensional vector.
[0026] The Hermite radial basis function f(x) has the following properties: for any point p in the coordinate system, if f(p) < 0, then point p is located in the area surrounded by the boundary point cloud; if f(p) = 0, then point p is located on the surface of the area surrounded by the boundary point cloud; if f(p) > 0, then point p is located outside the area surrounded by the boundary point cloud.
[0027] Furthermore, in step 4, the Hermite radial basis function value of the selected point is calculated to determine the point cloud data of the selected target area, which specifically includes:
[0028] Step 4-1: Perform a preliminary rough segmentation of the human body point cloud data model according to the location of the area to be segmented;
[0029] Step 4-2: for each point p on the human body point cloud data model after preliminary coarse segmentation, determine whether it belongs to the selected target area. Specifically:
[0030] Calculate f(p) through the Hermite radial basis function constructed in step 3, select points with f(p) < δ, and incorporate them into the point cloud model of the selected target area together with their triangular mesh information. The δ is a set threshold, and the value of δ is 0 or a small positive number.
[0031] Compared with the prior art, the present invention has the following significant advantages:
[0032] 1) This method uses arbitrarily specified feature points as input, determines the boundary of the target region by calculating geodesics, and constructs an implicit function from this boundary: the Hermite radial basis function. The function value at any point is used to segment the region, thereby obtaining a selected region surrounded by the feature points on the solid surface point cloud. This method can arbitrarily select a target region on an irregular surface point cloud, and the segmented region is highly accurate.
[0033] 2) The point cloud data segmentation scheme adopted in the present invention has the following advantages: the feature points surrounding the target area can be arbitrarily selected, and there are no requirements for the curvature, normal vector, slope, distance and other attributes of the point cloud. The processed point cloud data is not restricted by the coordinate system, the position and posture of the human body point cloud; the geodesic lines between the feature points are used as boundary lines, which can fit closely to the surface of irregular point cloud models such as the human body, and are very suitable for customized applications in the fields of clothing design, wearable device ergonomics, etc., and provide support for the digitalization and automation of product design and manufacturing technology; the triangulation method used in segmentation can retain the polygonal mesh data of the point cloud data and maintain its flow characteristics. This segmentation method retains the point and surface information of the original point cloud data, which is convenient for processing by commonly used point cloud and triangular mesh data algorithms.
[0034] The present invention is further described in detail below with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] Figure 1 The figure is a flowchart of a method for segmenting human body point cloud data based on radial basis functions in one embodiment.
[0036] Figure 2 FIG. 1 is a schematic diagram of calculating the boundary of a selected area from feature points in one embodiment, wherein Figure 2 (1) shows four feature points on the neck. Figure 2 (2) in is the boundary line based on the geodesic, Figure 2 (3) is the boundary line of the sleeveless top wearing area.
[0037] Figure 3 Schematic diagram of a triangulation operation in one embodiment, wherein Figure 3 (1) to (3) are three cases of triangulation.
[0038] Figure 4 Schematic diagram of calculation of normal vectors of boundary points in one embodiment.
[0039] Figure 5 Schematic diagram of a point cloud data model after rough segmentation of the sleeveless top clothing area in one embodiment.
[0040] Figure 6 Schematic diagram of a point cloud data model after precise segmentation by Hermite radial basis function values in one embodiment. DETAILED DESCRIPTION
[0041] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.
[0042] It should be noted that if there are descriptions involving "first", "second", etc. in the embodiments of the present invention, the descriptions of "first", "second", etc. are only for descriptive purposes and cannot be understood as indicating or implying their relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined as "first" and "second" may explicitly or implicitly include at least one of such features. In addition, the technical solutions between the various embodiments can be combined with each other, but they must be based on the ability of ordinary technicians in this field to implement them. When the combination of technical solutions is contradictory or cannot be implemented, it should be deemed that such a combination of technical solutions does not exist and is not within the scope of protection required by the present invention.
[0043] The present invention provides a method for segmenting human body point cloud data based on radial basis function, which includes the following contents:
[0044] (1) Select feature points on the boundary of the area to be segmented on the human body point cloud model. The selection is based on the fact that each boundary line surrounding the selected area is determined by a set of feature points. The determination method is to use each set of feature points as input and calculate the path between two adjacent points based on the geodesic distance. The set of paths is a boundary line of the selected area; (2) Divide the triangular mesh through which the boundary line passes. The points on each boundary line constitute a boundary line point cloud. For each point in the boundary point cloud, calculate the boundary normal vector perpendicular to the boundary and outward along the triangular surface of the selected area where the point is located; (3) Merge the points on each boundary into a new point cloud, which is expressed as: {x i}={(x i ,y i ,z i )}, the corresponding boundary normal vector set is: {n i}={(n i,x ,n i,y ,n i,z )}, with {x i}={(x i ,y i ,z i )} and {n i}={(n i,x ,n i,y ,n i,z )} as input, calculate the parameters of the implicit function of the entity composed of the boundary point cloud based on the Hermite radial basis function: {(α i ,β i )};(4) For each point in the human body point cloud data, according to the edge {(α i ,β i )} parameter to calculate the value of the Hermite radial basis function {f i}, select the set of points with f value less than 0 as the point cloud data of the selected area.
[0045] Furthermore, in step 1, the human body point cloud data may already contain triangular mesh data, or the point cloud data may be triangulated using a Delaunay triangulation algorithm. In some applications, the triangles in the mesh may be numbered, and it is required to retain the original information during data processing. The area to be segmented is surrounded by a boundary. The boundary on the human body point cloud is a closed curve passing through a specific point on the point cloud model. A region to be segmented is determined by multiple boundaries, and the set of boundary curves is {b i}, each boundary is defined as The points in the point set that determines the boundary are ordered, starting from p1 and ending at p1. Given the feature point set of each boundary Feature points are points in the model point cloud data, and the number of feature points n jGenerally small, such as 4 points, the points in the feature point set are ordered, and the point set on the path curve between two adjacent feature points is calculated using the geodesic method. The last two adjacent points are and p1, the merging of the point sets is a boundary b i .
[0046] Furthermore, in step 2, the triangle mesh to be divided is located at the boundary {b i} on, b i The two adjacent points in the grid are located on the two sides of a mesh triangle, which may coincide with the vertices of the original triangle, or more likely to be located at the non-endpoints of the triangle edge. In this case, the triangles in the original model need to be split. When the two adjacent points on the boundary are not both located at the endpoints of the triangle edge, there are two cases. The first case: one is located at the endpoint on one side and the other is located at the non-endpoint. In this case, connect the two points and split the original triangle into two triangles. The second case: both points are located at the non-endpoints of the two sides of the triangle. In this case, connect the two points and connect one of the points to an endpoint of the opposite side (the connecting line does not coincide with the edge of the original triangle) to split the original triangle into three triangles. When splitting triangles, in order to ensure the consistency of the vertex normals of the model, the vertex storage order of the new triangle must be consistent with the vertex order of the triangles in the original model. The triangular face model after splitting is still fluid and still applicable to various processing algorithms of point clouds and polygonal mesh models. For boundary b i Every point p on i,j , whose previous point is p i,j-1 , the next point is p i,j+1 , calculate the boundary normal vector n i,j :n1 is point p i,j The normal vector in the triangle mesh, n2 is the normal vector from p i,j Point to p i,j+1 The vector of the point, n3=n2×n1, is pointing to the outside of the edge, and n4 is from p i,j Point to p i,j-1 The vector of the point, n5=n4×n1, is pointing to the outside of the edge, then n i,j =n3+n4. All boundary normal vectors n i,j Rearrange the order of the corresponding boundary points to obtain the boundary normal vector set {n i}={(n i,x ,n i,y ,n i,z )}.
[0047] Furthermore, in step 3, for the boundary point cloud {(x i ,y i ,z i )} and the boundary normal vector set {(ni,x ,n i,y ,n i,z )}, let point (x i ,y i ,z i )=x i , the corresponding boundary normal vector (n i,x ,n i,y ,n i,z )=n i , then the spatial coordinates and normal vector of each point in the point cloud constitute the Hermite dataset: Among them, N is the number of points in the point cloud dataset, x i is the coordinate of the i-th point in the boundary point cloud dataset, n i is the boundary normal vector of the i-th point. Function f:R 3 →R, satisfying the following two conditions:
[0048]
[0049] Then the Hermite radial basis function is (x∈R 3 ):
[0050]
[0051] in,
[0052] B i (x) is a 3×3 diagonal matrix,
[0053]
[0054] Where x = (x0, y0, z0),
[0055] By solving the following linear equation, we can get α i (scalar) and β i (3D vector):
[0056]
[0057] For a point on the surface of the human body model: f(x i )=0,f(p i )=0, The above equation can be written as follows A·x T =b T Form (where A is a (N·(d+1))×(N·(d+1))(N×4)×(N×4) matrix):
[0058]
[0059]
[0060] Among them, β i and n i is a 3-dimensional column vector, is a 4-dimensional row vector, dimensional matrix.
[0061] Furthermore, in step 4, let x∈R 3 , x is any point in space, and the Hermite radial basis function of the closed surface composed of the boundary point cloud and boundary normal vector of the selected area is:
[0062]
[0063] Substitute x into the above formula, calculate the value of f(x), and determine the positional relationship between point x and the surface enclosed by the boundary point cloud:
[0064]
[0065] f(x) can be written as the product of the following matrices:
[0066]
[0067] Among them, β i is a 3-dimensional column vector, f i T (x) is a 4-dimensional row vector.
[0068] The specific embodiments described herein can be extended to point cloud data models of other entities and are not intended to limit the present invention. There is no limit to the number of points in a point cloud model. For ease of illustration, a point cloud with 6449 points is selected for the entire human body model. A triangular mesh model can be generated from the point cloud data using the Delaunay triangulation algorithm.
[0069] In one embodiment, combined Figure 1 , provides a method for segmenting human point cloud data based on radial basis function, comprising the following steps:
[0070] (1) Calculate the geodesic lines of adjacent feature points and extract the boundary point cloud of the selected area.
[0071] The boundary line of the area to be segmented is selected on the human body surface point cloud. The boundary line is determined by several feature points, such as Figure 2As shown in (1), the boundary line of the neck on the human body surface point cloud is determined by 4 feature points. For two adjacent feature points, the geodesic of the triangular mesh model is calculated. The geodesic refers to the shortest path curve between two points on the triangular surface of the human body determined by the point cloud data. The calculation result is as follows: Figure 2 As shown in (2), the curves between the two feature points are connected end to end, forming a boundary line of the selected area. Except for the feature points, the intersection of the area where the boundary curve passes through and the triangle face may be the vertex of the triangle face, or more likely a non-vertex on the edge of the triangle, so it is necessary to divide the triangle face in step (2). Figure 2 (3) shows the four boundary lines when the sleeveless top wearing area is selected in the embodiment.
[0072] (2) Boundary triangle mesh generation and calculation of boundary normal vectors of boundary point clouds
[0073] To construct the Hermite radial basis function that surrounds the selected area, the coordinates of the boundary point cloud and the normal vector pointing outward are required. When calculating the normal vector of the boundary point, the triangular face through which the boundary line passes is first subdivided. The specific operation is as follows:
[0074] ① Such as Figure 3 As shown, the triangular face splitting operation is carried out in three cases: Figure 3 In (1), in the first case, the boundary line passing through a certain triangular face starts from the vertex and ends at the non-end point of its opposite side. Then the boundary line is used as the common edge and the original triangle is split into two adjacent triangular faces; Figure 3 In (2), in the second case, the boundary line passing through a certain triangular face starts from a non-end point of one side and ends at the vertex of the opposite side. Then the boundary line is used as the common edge and the original triangle is split into two adjacent triangular faces; Figure 3 In the third case, (3) of the preceding example, a boundary line passing through a triangular face starts at a non-endpoint on one side and ends at a non-endpoint on the adjacent side. Connecting the starting point to the end point and the vertex opposite the starting point yields two triangular edges, splitting the original triangle into three triangular faces. When storing the newly generated triangular faces, the order of the triangle vertices must be kept consistent with the original model (either counterclockwise or clockwise). This results in a popular triangular mesh model.
[0075] ② If Figure 4As shown, for any point A on the boundary line, point A is a vertex of a triangle that contains the boundary and is located within the selected area. Its adjacent point on the boundary is point B, which is also a vertex of a triangle that contains the boundary and is located within the selected area. n1 is the vertex normal vector of point A in the triangle mesh model, and n2 is the vector pointing from point A to point B. n3 = n2 × n1. If its direction points outside the edge, the original value is retained; if its direction points outside the edge, the original value is inverted. A also has an adjacent point on the boundary. Another vector n4 is calculated using the above method. The boundary normal vector of boundary point A is n3 + n4. Each normal vector is normalized.
[0076] (3) Constructing the Hermite radial basis function of the boundary point cloud
[0077] The radial basis function of the embodiment is:
[0078] like Figure 2 As shown in (3), the four boundaries enclose a selected area of the human body point cloud. Constructing the Hermite radial basis function of the selected area is to solve the linear equations:
[0079]
[0080] Among them, α i is a scalar, β i is a 3-dimensional vector, with a total of N×4 unknowns. In step (2)②, the N normal vectors {n i}={(n i,x ,n i,y ,n i,z )}, plus the N coordinate values of the boundary point cloud {x i}={(x i ,y i ,z i )}, the above linear equations are in the form of A·x T =b T , after solving, we get N α i and β i Therefore, the Hermite radial basis function of the selected area of the embodiment is defined as:
[0081]
[0082] Where, the known parameters are: {α i}, {β i}, {x i}={(x i ,y i ,z i )},{n i}={(n i,x ,n i,y ,n i,z )}.
[0083] (4) Calculate the Hermite radial basis function value of the selected point to determine the segmentation area
[0084] According to the location of the area to be segmented, the human body point cloud model is first roughly segmented, such as Figure 5 Shown is the point cloud data model after rough segmentation of the sleeveless top clothing area.
[0085] Then, for each point p on the roughly segmented point cloud data model, it is accurately determined whether it belongs to the target area. The process is as follows:
[0086] By Hermite radial basis function:
[0087]
[0088] The f(p) value is calculated. When f(p) < δ, point p is a point in the selected area and is incorporated into the point cloud model of the target area {p i The value of δ in f(p)<δ is generally 0. When segmenting different types of entities, its value can also be a very small positive number according to the segmentation effect. For example, the value of δ is one tenth to one twentieth of the average side length of the triangle mesh of the point cloud model. Figure 6 As shown, it is a point cloud data model for the sleeveless top clothing area after precise segmentation by the Hermite radial basis function value.
[0089] In one embodiment, a human body point cloud data segmentation system based on radial basis function is provided, the system comprising:
[0090] The first module is used to calculate the geodesic lines of adjacent feature points and extract the boundary point cloud of the selected target area of the human body point cloud data model;
[0091] The second module is used to perform boundary triangle meshing and calculate the boundary normal vector of the boundary point cloud of the selected target area;
[0092] The third module is used to construct the Hermite radial basis function of the boundary point cloud;
[0093] The fourth module calculates the Hermite radial basis function value of the selected point and determines the point cloud data of the selected target area.
[0094] Regarding the specific limitations of the human body point cloud data segmentation system based on radial basis functions, please refer to the limitations of the human body point cloud data segmentation method based on radial basis functions above, which will not be repeated here. The various modules in the above-mentioned human body point cloud data segmentation system based on radial basis functions can be implemented in whole or in part through software, hardware, and a combination thereof. The above-mentioned modules can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory of the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.
[0095] In one embodiment, a computer device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the following steps are performed:
[0096] Step 1: Calculate the geodesic lines of adjacent feature points and extract the boundary point cloud of the selected target area of the human point cloud data model: the selected target area on the human point cloud data model is surrounded by several boundary lines. The boundary lines are any closed curves on the surface of the human point cloud data model. Determine several feature points of each boundary line as follows: Among them, i' represents the boundary line number, j represents the feature point number, is the feature point j on the boundary line i', (x i',j ,y i',j ,y i',j ) is a feature point The coordinates of the selected target area are obtained by calculating the geodesic line passing through the adjacent feature points based on the feature points of each boundary line. The geodesic lines are connected end to end to form a closed boundary line, thereby obtaining the boundary point cloud of the selected target area. The point cloud within the boundary line is the point cloud data of the selected target area.
[0097] Step 2: Subdivide the boundary triangle mesh and calculate the boundary normal vector of the boundary point cloud of the selected target area: Subdivide the triangle mesh through which the boundary line passes according to the intersection position of the geodesic line and the edge of the triangular mesh. The points on the boundary line form a boundary line point cloud. For each point in the boundary line point cloud, calculate the boundary normal vector composed of the edge vector associated with the point and the normal vector of the point;
[0098] Step 3: Construct the Hermite radial basis function of the boundary point cloud: take the coordinates {x i}={(x i ,y i ,z i )} and the corresponding boundary normal vector set {n i}={(n i,x ,n i,y ,n i,z )} is input to construct the Hermite radial basis function of the boundary point cloud data; where xi is the coordinate of the i-th point in the boundary point cloud dataset, n i is the boundary normal vector of the i-th point;
[0099] Step 4, calculate the Hermite radial basis function value of the selected point and determine the point cloud data of the selected target area: according to the properties of the relationship between the value of the Hermite radial basis function and the point position, for each point in the human body point cloud data model, or the local point cloud data of the human body after preliminary segmentation, calculate the value of the Hermite radial basis function, and select a set of points with a value less than 0 or a small positive number as the point cloud data of the selected target area.
[0100] For the specific limitations of each step, please refer to the limitations of the human body point cloud data segmentation method based on radial basis function above, which will not be repeated here.
[0101] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the following steps are implemented:
[0102] Step 1: Calculate the geodesic lines of adjacent feature points and extract the boundary point cloud of the selected target area of the human point cloud data model: the selected target area on the human point cloud data model is surrounded by several boundary lines. The boundary lines are any closed curves on the surface of the human point cloud data model. Determine several feature points of each boundary line as follows: Among them, i' represents the boundary line number, j represents the feature point number, is the feature point j on the boundary line i', (x i',j ,y i',j ,y i',j ) is a feature point The coordinates of the selected target area are obtained by calculating the geodesic line passing through the adjacent feature points based on the feature points of each boundary line. The geodesic lines are connected end to end to form a closed boundary line, thereby obtaining the boundary point cloud of the selected target area. The point cloud within the boundary line is the point cloud data of the selected target area.
[0103] Step 2: Subdivide the boundary triangle mesh and calculate the boundary normal vector of the boundary point cloud of the selected target area: Subdivide the triangle mesh through which the boundary line passes according to the intersection position of the geodesic line and the edge of the triangular mesh. The points on the boundary line form a boundary line point cloud. For each point in the boundary line point cloud, calculate the boundary normal vector composed of the edge vector associated with the point and the normal vector of the point;
[0104] Step 3: Construct the Hermite radial basis function of the boundary point cloud: take the coordinates {x i}={(x i ,y i ,z i )} and the corresponding boundary normal vector set {ni}={(n i,x ,n i,y ,n i,z )} is input to construct the Hermite radial basis function of the boundary point cloud data; where x i is the coordinate of the i-th point in the boundary point cloud dataset, n i is the boundary normal vector of the i-th point;
[0105] Step 4, calculate the Hermite radial basis function value of the selected point and determine the point cloud data of the selected target area: according to the properties of the relationship between the value of the Hermite radial basis function and the point position, for each point in the human body point cloud data model, or the local point cloud data of the human body after preliminary segmentation, calculate the value of the Hermite radial basis function, and select a set of points with a value less than 0 or a small positive number as the point cloud data of the selected target area.
[0106] For the specific limitations of each step, please refer to the limitations of the human body point cloud data segmentation method based on radial basis function above, which will not be repeated here.
[0107] The present invention can accurately segment the target area surrounded by any boundary curve on the human body point cloud data model based on the boundary feature points. It is not restricted by the coordinate system, the position and posture of the human body point cloud. The boundary line obtained by calculating the feature points is close to the human body surface, and the polygonal mesh data of the point cloud data can be retained and maintained. It is suitable for application fields such as clothing design, automatic generation of clothing patterns, and ergonomics of wearable devices.
[0108] The above shows and describes the basic principles, main features and advantages of the present invention. Those skilled in the art should understand that the present invention is not limited to the above embodiments. The above embodiments and descriptions are only illustrative of the principles of the present invention. Without departing from the spirit and scope of the present invention, any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention shall be included in the scope of protection of the present invention.
Claims
1. A human body point cloud data segmentation method based on radial basis function, characterized in that: The method comprises the following steps: Step 1: Calculate the geodesic lines of adjacent feature points and extract the boundary point cloud of the selected target area of the human point cloud data model: the selected target area on the human point cloud data model is surrounded by several boundary lines. The boundary lines are any closed curves on the surface of the human point cloud data model. Determine several feature points of each boundary line as follows: Among them, i' represents the boundary line number, j represents the feature point number, is the feature point j on the boundary line i', (x i',j ,y i',j ,y i',j ) is a feature point The coordinates of the selected target area are obtained by calculating the geodesic line passing through the adjacent feature points based on the feature points of each boundary line. The geodesic lines are connected end to end to form a closed boundary line, thereby obtaining the boundary point cloud of the selected target area. The point cloud within the boundary line is the point cloud data of the selected target area. Step 2: Subdivide the boundary triangle mesh and calculate the boundary normal vector of the boundary point cloud of the selected target area: Subdivide the triangle mesh through which the boundary line passes according to the intersection position of the geodesic line and the edge of the triangular mesh. The points on the boundary line form a boundary line point cloud. For each point in the boundary line point cloud, calculate the boundary normal vector composed of the edge vector associated with the point and the normal vector of the point; Step 3: Construct the Hermite radial basis function of the boundary point cloud: take the coordinates {x i }={(x i ,y i ,z i )} and the corresponding boundary normal vector set {n i }={(n i,x ,n i,y ,n i,z )} is input to construct the Hermite radial basis function of the boundary point cloud data; where x i is the coordinate of the i-th point in the boundary point cloud dataset, n i is the boundary normal vector of the i-th point; Step 4, calculate the Hermite radial basis function value of the selected point and determine the point cloud data of the selected target area: according to the nature of the relationship between the value of the Hermite radial basis function and the point position, for each point in the human body point cloud data model, or the local point cloud data of the human body after preliminary segmentation, calculate the value of the Hermite radial basis function, and select a set of points with a value less than 0 or a positive number less than a preset threshold as the point cloud data of the selected target area.
2. The human body point cloud data segmentation method based on radial basis function according to claim 1, characterized in that: In step 1, if the human body point cloud data model has defined triangular mesh data, it can be directly used for geodesic calculation. If it has not been defined, the triangular mesh model is first obtained through the Delaunay triangulation algorithm, and then the geodesic calculation is performed.
3. The human body point cloud data segmentation method based on radial basis function according to claim 1, characterized in that: In step 2, the boundary normal vector calculation process of the boundary point cloud includes: ① Triangular mesh subdivision: The intersection of the geodesic lines between adjacent feature points on the same boundary and the edges of the triangular mesh they pass through, together with the corresponding feature points, constitute the point cloud of the boundary line; Depending on the intersection of the geodesic and the triangular mesh, connect the vertex with the intersection point on the opposite side to split the original triangle into two triangles, or connect the intersection point on two sides and the intersection point on one side with the opposite vertex to split the original triangle into three triangles; After segmentation, the original triangles are deleted and the newly added triangular faces are saved. The storage order of the vertices of the newly added triangular faces is consistent with the triangular mesh model corresponding to the original point cloud data; ② Calculate the boundary normal vector: For any point on the boundary line, there are two adjacent points. The vector pointing to the first adjacent point of the arbitrary point is cross-multiplied with the normal vector of the arbitrary point to obtain a vector. The vector pointing to the other adjacent point of the arbitrary point is cross-multiplied with the normal vector of the arbitrary point to obtain another vector. If these two vectors point to the inside of the selected target area, the directions are reversed. The sum of these two vectors is taken and normalized to obtain the boundary normal vector of the arbitrary point.
4. The human body point cloud data segmentation method based on radial basis function according to claim 3, characterized in that: The triangular mesh is generated based on the intersection of geodesics and triangular meshes. There are three specific cases: (1) If the boundary line of a triangle mesh starts at a vertex and ends at a non-end point of its opposite side, the boundary line is used as the common edge to split the original triangle into two adjacent triangular faces; (2) If the boundary line of a certain triangle mesh starts from a non-end point of one side and ends at the vertex of the opposite side, the boundary line is used as the common edge to split the original triangle into two adjacent triangular faces; (3) If a boundary line passing through a certain triangular mesh starts from a non-end point of one side and ends at a non-end point of its adjacent side, then the starting point and the end point, and the starting point and the vertex opposite to it are connected to obtain two triangular sides, thus splitting the original triangle into three triangular faces.
5. The human body point cloud data segmentation method based on radial basis function according to claim 3, characterized in that: Determine whether the vector points to the inside of the selected target area. Specific methods include: Calculate the angle between the vector and the vector pointing to the center point of the human body point cloud data model at any point. If the angle is less than 90°, it indicates that the vector points to the inside of the selected target area; otherwise, it indicates that the vector points to the outside of the selected target area.
6. The human body point cloud data segmentation method based on radial basis function according to claim 1, characterized in that: In step 3, the coordinates of the boundary point cloud data {x i }={(x i ,y i ,z i )} and the corresponding boundary normal vector set {n i }={(n i,x ,n i,y ,n i,z )} is input, and the Hermite radial basis function f(x) of the boundary point cloud data is constructed as follows: Where N is the number of points in the boundary point cloud dataset, is the basis function, x is any point in the coordinate system, α i and β i The parameter of the implicit function of the entity is an unknown number; the conditions used during construction are: f(x i )=0,f(p i )=0, The Hermite radial basis function f(x) has the following properties: for any point p in the coordinate system, if f(p) < 0, then point p is located in the area surrounded by the boundary point cloud; if f(p) = 0, then point p is located on the surface of the area surrounded by the boundary point cloud; if f(p) > 0, then point p is located outside the area surrounded by the boundary point cloud.
7. The human body point cloud data segmentation method based on radial basis function according to claim 6, characterized in that: In step 4, the Hermite radial basis function values of the selected points are calculated to determine the point cloud data of the selected target area, which specifically includes: Step 4-1: Perform a preliminary rough segmentation of the human body point cloud data model according to the location of the area to be segmented; Step 4-2: for each point p on the human body point cloud data model after preliminary coarse segmentation, determine whether it belongs to the selected target area. Specifically: The Hermite radial basis function constructed in step 3 is used to calculate f(p), and points with f(p) < δ are selected and incorporated into the point cloud model of the selected target area together with their triangular mesh information. The δ is a set threshold, and the value of δ is 0 or a positive number with a very small absolute value.
8. A human body point cloud data segmentation system based on radial basis functions according to the method of any one of claims 1 to 7, characterized in that: The system comprises: The first module is used to calculate the geodesic lines of adjacent feature points and extract the boundary point cloud of the selected target area of the human body point cloud data model; The second module is used to perform boundary triangle meshing and calculate the boundary normal vector of the boundary point cloud of the selected target area; The third module is used to construct the Hermite radial basis function of the boundary point cloud; The fourth module calculates the Hermite radial basis function value of the selected point and determines the point cloud data of the selected target area.
9. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 7 are implemented.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
A Method for Segmenting Point Cloud Data on Shield Tunnel Surface
AU2020103105A4
Accurate point cloud segmentation method based on feature template
CN114119628A