CN111161267A - Segmentation method of three-dimensional point cloud model - Google Patents
Segmentation method of three-dimensional point cloud model Download PDFInfo
- Publication number
- CN111161267A CN111161267A CN201911249712.6A CN201911249712A CN111161267A CN 111161267 A CN111161267 A CN 111161267A CN 201911249712 A CN201911249712 A CN 201911249712A CN 111161267 A CN111161267 A CN 111161267A
- Authority
- CN
- China
- Prior art keywords
- point
- points
- point cloud
- dimensional
- skeleton
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
The invention discloses a method for segmenting a three-dimensional point cloud model, which is implemented according to the following steps: step 1, extracting and dividing skeleton points of a three-dimensional point cloud model; step 2, obtaining external characteristic points of the three-dimensional point cloud model; step 3, constructing a segmentation plane by combining the segmentation points of the skeleton points and the external characteristic points for segmentation; and 4, step 4: and (3) checking the external feature points after the step (2), if the external feature points are remained, supplementing the external feature points and then segmenting. Compared with the traditional segmentation method, the segmentation method of the three-dimensional point cloud model can segment the three-dimensional point cloud data with the micro convex surfaces on the surface on the premise of fully keeping the visual features, so that a more accurate result is obtained, the problem that the detail features cannot be segmented by the traditional segmentation method is solved, and the segmentation method has a certain value in the field of point cloud segmentation.
Description
Technical Field
The invention belongs to the technical field of three-dimensional virtual reconstruction, and relates to a segmentation method of a three-dimensional point cloud model.
Background
With the development of three-dimensional laser scanning technology, various three-dimensional laser scanning devices are in a variety, so that the acquisition of three-dimensional geometric data information of a target object is more convenient, and the accuracy of the acquired data is increased, thereby promoting the development of multiple fields such as remote sensing technology, cultural relic research, reverse engineering research and the like. Usually, the scanned three-dimensional point cloud data is also processed, wherein a point cloud segmentation is an important step. The point cloud segmentation means that the three-dimensional point cloud is divided according to the geometric characteristics and the spatial characteristics of the point cloud, so that the point clouds in the same region have similar attribute characteristics.
The existing point cloud segmentation method mainly comprises the following steps of aiming at the decomposition of an object external member: boundary-based, face-based, skeleton-based, and data-driven based segmentation methods. Starting from the surface based on the boundary and the surface based on the boundary, the segmented result is mostly a segmented curved surface, the geometric shape of the object structure is not considered, and each sub-part after the segmentation cannot be effectively guaranteed to be a meaningful part in the view of the whole model; the skeleton-based segmentation starts from the interior of a model mostly, an object space structure is segmented, the model can be segmented into independent parts, but the model lacks of model surface characteristic information, so that the connection details of different parts of the segmented object do not completely accord with human vision; the object segmentation method based on data driving needs a large amount of manually marked data to train a classifier, and under the condition of less data models, a satisfactory segmentation effect cannot be obtained, so that the universality is insufficient.
Disclosure of Invention
The invention aims to provide a segmentation method of a three-dimensional point cloud model, which solves the problem that in the prior art, detailed features of small-range convex surfaces existing on irregular data surfaces cannot be segmented.
The technical scheme adopted by the invention is that the method for segmenting the three-dimensional point cloud model is implemented according to the following steps:
step 1, extracting and dividing skeleton points of a three-dimensional point cloud model;
step 2, obtaining external characteristic points of the three-dimensional point cloud model;
step 3, constructing a segmentation plane by combining the segmentation points of the skeleton points and the external characteristic points for segmentation;
and 4, step 4: and (3) checking the external feature points after the step (2), if the external feature points are remained, supplementing the external feature points and then segmenting.
The step 1 specifically comprises the following steps:
step 1.1, extracting skeleton points from input point cloud data;
and 1.2, segmenting the skeleton points obtained in the step 1.1 by using an octree-based region growing algorithm.
In step 2.1, based on the directional gradient and angle of the two-dimensional image,
expanding the formula to a three-dimensional layer to obtain the gradient and the angle of one point in a three-dimensional space;
α represents the deviation angle of the two-dimensional transition to three-dimensional, since m2D is always positive, it can be found that α is located in the interval ofCompared with a two-dimensional image, one more parameter value is added, and the gradient direction in three dimensions is represented;
step 2.2, constructing a weighted histogram in the three-dimensional neighborhood of the given key point, dividing the three-dimensional neighborhood by utilizing warp and weft, and standardizing azimuth angles to avoid deviation generated by expanding two-dimensional data to three-dimensional data;
the actual values added to the histogram are shown in equation (4), where (x, y, z) represents the coordinates of the keypoint, (x)0,y0,z0) Representing the position added to the direction histogram, and calculating the actual value of the histogram by using a formula;
step 2.3, calculating the SIFT descriptor, and firstly rotating the three-dimensional neighborhood by taking the key point as a center, so that the main direction of the three-dimensional neighborhood points to the direction α (theta is 0), wherein the step is realized by matrix (6) conversion:
taking a key point as a center, dividing a neighborhood of the key point into 4 multiplied by 4 small neighborhood spaces, and calculating the accumulated value of 8 directional gradient histograms of each small neighborhood to obtain a 128(4 multiplied by 8) dimensional feature vector as an SIFT descriptor of the key point.
In step 3.1, the original point cloud data is read into a set A, the skeleton points are read into a set B, the external feature points are stored in a set C, each point in the set B is scanned, and if one point B in the set B is found, the original point cloud data is read into a set A, the skeleton points are read into a set B, each point in the set B is scanned, and if the original point cloud data isiIs a division point, then biPoint-centric scanning of keypoints in neighboring sets C, biAnd CiCo-fitting into a plane miNormal vector of viSo as to obtain the division plane,
step 3.2, for the division plane obtained in step 3.1, if the direction to be divided and the area range of the division plane are not standardized, it cannot be determined which part of the data is to be divided, or the divided part of the data contains data belonging to other parts; then to biJudging, if the bi point is an end point, storing the bi point in a set E; from endpoint eiThe set of all points starting from the point of connection at the other end of the branch is denoted as set P, the point of connection in this set is PiTraversing all the points in the set A, finding out the point m nearest to pi, and the point p of passingi+1And pipi+1Constructing a plane L for the normal vector, and carrying out regional growth on adjacent points from the point m until reaching the point of the plane L, and stopping the regional growth until the point is a segmented part;
in step 4.1, a certain point C is extracted from the remaining external feature point sets CiSince three points form a plane, with CiAs a center point, a maximum radius r, a search distance CiTwo nearest points CjAnd Cn;
Step 4.2, if two points can not be found in the radius r, stopping, and selecting another point Ci+1Restarting the previous step with Ci,Cj,CnConstituting a dividing plane.
Step 1.1, firstly, randomly down-sampling input point cloud data by using a shuffling algorithm; firstly, carrying out condition regularization, then carrying out skeleton contraction, then carrying out weighting based on density, and for point cloud data with deficiency, adding one step to define a central position to complete the whole process;
in step 1.1, the specific steps of conditional regularization are:
giving a series of out-of-order point setsAnd a set of points randomly down-sampled from QA series of skeleton point sets can be obtained by using an optimization formula,
When the energy gradient in the formula (1) is 0, substitution is madeWhereinThe following formula can be obtained:
in the formula: gamma rayiIs a balance parameter, σ, between the attractive force controlling the input point and the repulsive force controlling the sampling pointiIs a distribution measure;
in the formula (2), a solution set X ═ a for X can be obtained from linear algebra-1BQ, then iterated, whereinAnd k is 0, 1., the following equation can be obtained:
and then, setting the value of the parameter to finish condition regularization.
In step 1.1, the specific steps of iteratively contracting the skeleton are as follows:
given a neighborhood size h, a series of points X ═ X can be generatediI belongs to I and represents L of local neighborhood1The intermediate points, which may directly represent skeleton points in some cases, may represent only branch points of the skeleton in some complex data conditions, and then iterative contraction is required. Determining whether the marked points are shrunk points, determining sigma by using a conditional regularization stepiThe method of (1) first calculates all non-branch points xiThen, the points are smoothed and noisy points are culled.
In step 1.1, for some data with uneven point cloud density, the local center tends to be biased to a region with higher density, which causes the output point cloud skeleton point position to displace in the tangent plane direction, resulting in deviation of the result, and therefore the density needs to be weighted, and the specific steps of weighting based on the density are as follows:
collecting each point q in the input point cloudjThe weighted local density of (a) is defined as follows:
the obtained product is substituted into the formula (3) to obtain
The influence of contraction of the density-nonuniform region can be effectively reduced by weighting the local density in the first term of the formula (5), and further, the density of local points is determined by the function θ (| p)j-pj'| |) determined.
In step 1.1, under normal conditions, L is formed1The center is near the center point of the input point cloud, but if the input point cloud has a defect, for the point cloud data with the defect, the center position needs to be defined, the robustness of the system is enhanced, after down-sampling is carried out, the center position is realigned on each branch, then the branch is smoothly bent, and finally the center position is defined, and then the skeleton is shrunk.
In step 1.2, firstly carrying out voxelization on the point cloud, namely carrying out hierarchical decomposition based on octree, dividing a space structure, recursively dividing a root node into eight sub-nodes, continuously dividing non-empty pixels until the minimum pixel size is reached, searching a point with the minimum curvature in a skeleton point set by utilizing an octree algorithm, setting the point as a seed point, traversing points adjacent to the seed point, comparing the points with the seed point, setting a difference value between a certain point and a seed point normal vector in the neighborhood to be less than a set threshold value, wherein the point belongs to the current part, setting a minimum point cloud cluster according to the size of the point cloud set scale, namely, dividing the minimum number of the point cloud, and a maximum point cloud cluster, namely, if the maximum number of the point cloud is divided, repeating the steps, wherein the skeleton point is divided into a plurality of parts, and when the number of the remaining points is less than the preset minimum point cloud cluster number, the segmentation is stopped.
The method has the advantages that the method for segmenting the three-dimensional point cloud model combines a point cloud segmentation algorithm of point cloud skeleton points and external characteristic points, takes three-dimensional point cloud data as a research object, firstly extracts skeleton points from the point cloud data, and calculates segmentation points of the skeleton points; next, extracting external feature points of the point cloud data by using an SIFT algorithm, and constructing a primary segmentation plane by using the skeleton segmentation points obtained in the previous step and combining the external feature points; and finally, processing the remaining external feature points which are not combined with the skeleton points, and if a segmentation plane can be constructed, segmenting again. Compared with the traditional segmentation method, the method has the advantages that on the premise of fully keeping the visual features, the three-dimensional point cloud data with the micro convex bodies on the surface can be segmented to obtain a more accurate result, the problem that the detail features cannot be segmented by the traditional segmentation method is solved, and the method has a certain value in the field of point cloud segmentation.
Drawings
FIG. 1 is a flow chart of a method for segmenting a three-dimensional point cloud model according to the present invention;
FIG. 2(a) is a two-dimensional diagram depicting the present invention; FIG. 2(b) is a three-dimensional diagram depicting the present invention;
FIG. 3 is an octree hierarchy diagram in the segmentation method of the three-dimensional point cloud model according to the present invention;
FIG. 4 is a schematic diagram of a spatial decomposition in a segmentation method of a three-dimensional point cloud model according to the present invention;
FIG. 5 is a schematic diagram of a node feature in an octree space node in the segmentation method of the three-dimensional point cloud model according to the present invention;
FIG. 6(a) is a diagram of an original model of a tree according to an embodiment of the present invention; FIG. 6(b) shows the result of step 1 point cloud data skeleton points according to an embodiment of the present invention; FIG. 6(c) is the result of skeleton point segmentation after step 2 according to the embodiment of the present invention;
FIG. 7(a) is a diagram of an original model of an embodiment horse; FIG. 7(b) shows the result of the skeleton point of the point cloud data obtained in step 1 according to an embodiment of the present invention; FIG. 7(c) is the result of skeleton point segmentation after step 2 according to an embodiment of the present invention;
FIG. 8(a) is a dinosaur model original point cloud model; FIG. 8(b) is a result diagram of the dinosaur model of the present invention, and FIG. 8(c) is a result diagram of the dinosaur model of the conventional method;
FIG. 9(a) is an original point cloud model of an ant model, FIG. 9(b) is a result diagram of the ant model of the method of the present invention, and FIG. 9(c) is a result diagram of the ant model of the conventional method;
FIG. 10(a) is an original point cloud model of an airplane model, FIG. 10(b) is a result diagram of the airplane model of the method used in the invention, and FIG. 10(c) is a result diagram of the airplane model of the existing conventional method;
FIG. 11(a) is a hand model original point cloud model, FIG. 11(b) is a hand model result diagram of the method used in the present invention, and FIG. 11(c) is a hand model result diagram of the conventional method;
FIG. 12(a) is an original point cloud model of a bird model, FIG. 12(b) is a result diagram of the bird model according to the method of the present invention, and FIG. 12(c) is a result diagram of the bird model according to the conventional method;
FIG. 13(a) is a lamb model original point cloud model, FIG. 13(b) is a lamb model result diagram of the method used in the invention, and FIG. 13(c) is a lamb model result diagram of the existing traditional method;
FIG. 14(a) is a Giraffe model original point cloud model, FIG. 14(b) is a Giraffe model result graph of the method used in the present invention, and FIG. 14(c) is a Giraffe model result graph of the existing conventional method;
fig. 15(a) is an original point cloud model of a bear model, fig. 15(b) is a result graph of the bear model of the method used in the present invention, and fig. 15(c) is a result graph of the bear model of the existing conventional method;
FIG. 16(a) is an original point cloud model of a shark model, FIG. 16(b) is a shark model result diagram of the method used in the present invention, and FIG. 16(c) is a shark model result diagram of an existing conventional method;
fig. 17(a) is an original point cloud model of a monster model, fig. 17(b) is a result diagram of a monster model of the method used in the present invention, and fig. 17(c) is a result diagram of a conventional monster model.
Detailed Description
The present invention will be described in detail below with reference to the accompanying drawings and specific embodiments.
The invention discloses a method for segmenting a three-dimensional point cloud model, which is implemented by the following steps as shown in a flow chart shown in figure 1:
step 1, extracting and dividing skeleton points of a three-dimensional point cloud model;
step 1.1, extracting skeleton points of input point cloud data;
step 1.1, firstly, randomly down-sampling input point cloud data by using a shuffling algorithm; firstly, carrying out condition regularization, then carrying out skeleton contraction, then carrying out weighting based on density, and for point cloud data with deficiency, adding one step to define a central position to complete the whole process;
random downsampling using a shuffling algorithm, as shown in table 1;
table 1 shuffling algorithm random downsampling
Range | Roll | Scratch | Result |
1 2 3 4 5 6 7 8 | |||
1-8 | 6 | 1 2 3 4 5 8 7 | 6 |
1-7 | 2 | 1 7 3 4 5 8 | 2 6 |
1-6 | 6 | 1 7 3 4 5 | 8 2 6 |
1-5 | 1 | 5 7 3 4 | 1 8 2 6 |
1-4 | 3 | 5 7 4 | 3 1 8 2 6 |
1-3 | 3 | 5 7 | 4 3 1 8 2 6 |
1-2 | 1 | 7 | 5 4 3 1 8 2 6 |
As can be seen from the numerical results of table 1, a shuffling algorithm is used to generate a random permutation of an equal probability finite set, to perform random down-sampling of the point cloud data,
in step 1.1, the specific steps of conditional regularization are:
giving a series of out-of-order point setsAnd a set of points randomly down-sampled from QA series of skeleton point sets can be obtained by using an optimization formula,
When the energy gradient in the formula (1) is 0, substitution is madeWhereinThe following formula can be obtained:
in the formula: gamma rayiIs a balance parameter, σ, between the attractive force controlling the input point and the repulsive force controlling the sampling pointiIs a distribution measure;
in the formula (2), a solution set X ═ a for X can be obtained from linear algebra-1BQ, then iterated, whereinAnd k is 0, 1., the following equation can be obtained:
and then, setting the value of the parameter to finish condition regularization.
Randomly down-sampling the input point cloud data by using shuffling algorithm, and then using L to obtain sampling points1-central skeleton algorithm contraction to extract skeleton, generating new skeleton points, L1Central skeleton algorithms shrink by taking the median, rather than the mean, of a series of points, generate new skeleton points, iterate continuously and redistribute to the centre of the input point of the area where it is located, directly applying L1The central skeleton algorithm tends to generate sparse distribution, so that a cluster of points is generated by a central point in the result, and in order to avoid the phenomenon, condition regularization is performed, and then skeleton contraction is performed;
in step 1.1, under normal conditions, L is formed1The center is near the center point of the input point cloud, but if the input point cloud has a defect, for the point cloud data with the defect, the center position needs to be defined, the robustness of the system is enhanced, after down-sampling is carried out, the center position is realigned on each branch, then the branch is smoothly bent, and finally the center position is defined, and then the skeleton is shrunk.
In step 1.1, the specific steps of iteratively contracting the skeleton are as follows:
given a neighborhood size h, a series of points X ═ X can be generatediI belongs to I and represents L of local neighborhood1The intermediate points, which may directly represent skeleton points in some cases, may represent only branch points of the skeleton in some complex data conditions, and then iterative contraction is required. Determining whether the marked points are shrunk points, determining sigma by using a conditional regularization stepiThe method of (1) first calculates all non-branch points xiThen, the points are smoothed and noisy points are culled.
In step 1.1, for some data with uneven point cloud density, the local center tends to be biased to a region with higher density, which causes the output point cloud skeleton point position to displace in the tangent plane direction, resulting in deviation of the result, and therefore the density needs to be weighted, and the specific steps of weighting based on the density are as follows:
collecting each point q in the input point cloudjThe weighted local density of (a) is defined as follows:
the obtained product is substituted into the formula (3) to obtain
The influence of contraction of the density-nonuniform region can be effectively reduced by weighting the local density in the first term of the formula (5), and further, the density of local points is determined by the function θ (| p)j-pj'| |) determined.
1.2, segmenting the skeleton points obtained in the step 1.1 by using a region growing algorithm based on an octree;
in step 1.2, performing voxelization on the point cloud, wherein voxelization is hierarchical decomposition based on an octree, dividing a space structure, recursively dividing a root node into eight sub-nodes, and continuously dividing non-empty pixels until a minimum pixel size is reached, wherein the octree hierarchical structure diagram is shown in fig. 3; a space decomposition diagram, as shown in fig. 4, a node feature diagram in an octree space node, as shown in fig. 5;
and searching out a point with the minimum curvature in the skeleton point set by using an octree algorithm, setting the point as a seed point, traversing points adjacent to the seed point, comparing the points with the seed point, if the difference value between a certain point and a seed point normal vector in the adjacent domain is smaller than a set threshold value, setting a minimum point cloud cluster according to the size of the point cloud set scale, namely segmenting the minimum point cloud cluster and a maximum point cloud cluster, namely segmenting the maximum point cloud, repeating the steps, segmenting the skeleton point into a plurality of parts, and stopping segmenting when the number of the remaining points is smaller than the number of the preset minimum point cloud cluster points.
Step 2, obtaining external characteristic points of the three-dimensional point cloud model;
step 2.1, according to the direction gradient and the angle of the two-dimensional image
Expanding the formula to a three-dimensional layer to obtain the gradient and the angle of one point in a three-dimensional space;
from the comparison between the two-dimensional description and the three-dimensional description in fig. 2(a) and 2(b), it can be seen that α represents the deviation angle of the two-dimensional transition to the three-dimensional transition, and since m2D is always positive, it can be found that α is located in the interval of αCompared with a two-dimensional image, one more parameter value is added to represent the gradient direction in three dimensions;
step 2.2, constructing a weighted histogram in the three-dimensional neighborhood of the given key point, dividing the three-dimensional neighborhood by utilizing warp and weft, and standardizing azimuth angles to avoid deviation generated by expanding two-dimensional data to three-dimensional data;
the actual values added to the histogram are shown in equation (4), where (x, y, z) represents the coordinates of the keypoint, (x)0,y0,z0) Representing the position added to the direction histogram, and calculating the actual value of the histogram by using a formula;
step 2.3, calculating the SIFT descriptor, and firstly rotating the three-dimensional neighborhood by taking the key point as a center, so that the main direction of the three-dimensional neighborhood points to the direction α (theta is 0), wherein the step is realized by matrix (6) conversion:
with the key point as the center, dividing the neighborhood of the key point into 4 × 4 small neighborhood spaces, and calculating the accumulated values of 8 directional gradient histograms of each small neighborhood, thereby obtaining a 128(4 × 4 × 8) dimensional feature vector as the SIFT descriptor of the key point.
Step 3, constructing a segmentation plane by combining the segmentation points of the skeleton points and the external characteristic points for segmentation;
step 3.1, reading the original point cloud data into a new set A, reading the skeleton point into another new set B, storing the external feature point into a new set C, scanning each point in the set B, and if one point B in the set B isiIs a division point, then biPoint-centric scanning of keypoints in neighboring sets C, biAnd CiCo-fitting into a plane miNormal vector of viSo as to obtain the division plane,
step 3.2, for the division plane obtained in step 3.1, if the direction to be divided and the area range of the division plane are not standardized, it cannot be determined which part of the data is to be divided, or the divided part of the data contains data belonging to other parts; then to biMaking a decision if biPoint is an end point, then biPoints are stored in a set E; from endpoint eiThe set of all points starting from the connection point at the other end of the branch is denoted as set P, and the connection point in the set is PiTraversing all the points in the set A, finding out the point m nearest to pi, and the point p of passingi+1And pipi+1Constructing a plane L for the normal vector, performing region growth on adjacent points from the point m until reaching the point of the plane L, and stopping the region growth until the point is divided into a part;
and 4, step 4: and (3) checking the external feature points after the step (2), if the external feature points are remained, supplementing the external feature points and then segmenting.
Step 4.1, extracting a certain point C from the rest external feature point sets CiSince three points form a plane, with CiAs a center point, a maximum radius r, a search distance CiTwo nearest points CjAnd Cn;
Step 4.2, if two points can not be found in the radius r, stopping, and selecting another point Ci+1Restarting the previous step with Ci,Cj,CnConstituting a dividing plane.
By carrying out simulation experiments by the segmentation method of the three-dimensional point cloud model, the embodiment results are as follows:
FIG. 6 is a graph showing the results of skeletal point segmentation, and FIG. 7 is a graph showing the results at each stage in the segmentation process;
it can be seen from fig. 8-12 that the method has similar effect on processing point cloud data without micro convex surface on the surface compared with the conventional method;
however, it can be seen from fig. 13 to 17 that such point cloud data is more complex, and after two times of segmentation, a good segmentation result can be obtained, and the point cloud data with a micro convex surface on the surface has a better effect when the method is applied, and is better processed in detail.
Claims (10)
1. A three-dimensional point cloud model segmentation method is characterized by being implemented according to the following steps:
step 1, extracting and dividing skeleton points of a three-dimensional point cloud model;
step 2, obtaining external characteristic points of the three-dimensional point cloud model;
step 3, constructing a segmentation plane by combining the segmentation points of the skeleton points and the external characteristic points for segmentation;
and 4, step 4: and (3) checking the external feature points after the step (2), if the external feature points are remained, supplementing the external feature points and then segmenting.
2. The method for segmenting the three-dimensional point cloud model according to claim 1, wherein the step 1 specifically comprises:
step 1.1, extracting skeleton points from input point cloud data;
and 1.2, segmenting the skeleton points obtained in the step 1.1 by using an octree-based region growing algorithm.
3. The method for segmenting a three-dimensional point cloud model according to claim 1, wherein the step 2 specifically comprises:
step 2.1, according to the direction gradient and the angle of the two-dimensional image,
expanding the formula to a three-dimensional layer to obtain the gradient and the angle of one point in a three-dimensional space;
α represents the deviation angle of the two-dimensional transition to three-dimensional, since m2D is always positive, it can be found that α is located in the interval ofCompared with a two-dimensional image, one more parameter value is added, and the gradient direction in three dimensions is represented;
step 2.2, constructing a weighted histogram in the three-dimensional neighborhood of the given key point, dividing the three-dimensional neighborhood by using warps and wefts, and standardizing azimuth angles so as to avoid deviation generated by expanding two-dimensional data to three-dimensional data;
the actual values added to the histogram are shown in equation (4), where (x, y, z) represents the coordinates of the keypoint, (x)0,y0,z0) Representing the position added to the direction histogram, and calculating the actual value of the histogram by using a formula;
step 2.3, calculating the SIFT descriptor, and firstly rotating the three-dimensional neighborhood by taking the key point as the center, so that the main direction of the three-dimensional neighborhood points to the direction α which is theta 0, and the step is realized by matrix (6) conversion:
taking a key point as a center, dividing a neighborhood of the key point into 4 multiplied by 4 small neighborhood spaces, and calculating the accumulated value of 8 directional gradient histograms of each small neighborhood to obtain a 128(4 multiplied by 8) dimensional feature vector as an SIFT descriptor of the key point.
4. The method for segmenting a three-dimensional point cloud model according to claim 1, wherein in the step 3, the method specifically comprises:
step 3.1, reading the original point cloud data into a set A, reading the skeleton points into a set B, storing the external feature points into a set C, scanning each point in the set B, and if one point B in the set B isiIs a division point, then biPoint-centric scanning of keypoints in neighboring sets C, biAnd CiCo-fitting into a plane miNormal vector of viSo as to obtain the division plane,
step 3.2, for the division plane obtained in step 3.1, if the direction to be divided and the area range of the division plane are not standardized, it cannot be determined which part of the data is to be divided, or which part of the divided data is caused to be dividedContaining data that should belong to other parts; then to biJudging, if the bi point is an end point, storing the bi point in a set E; from endpoint eiThe set of all points starting from the point of connection at the other end of the branch is denoted as set P, the point of connection in this set is PiTraversing all points in the set A to find the distance piNearest point m, passing point pi+1And pipi+1And constructing a plane L for the normal vector, and performing region growing on adjacent points from the point m until the point of the plane L is reached, and stopping the region growing until the point of the plane L is reached, wherein the part is a divided part.
5. The method for segmenting a three-dimensional point cloud model according to claim 1, wherein in the step 4, the method specifically comprises:
step 4.1, extracting a certain point C from the rest external feature point sets CiSince three points form a plane, with CiAs the center point, the maximum radius is r, and the search distance CiTwo nearest points CjAnd Cn;
Step 4.2, if two points can not be found in the radius r, stopping, and selecting another point Ci+1Restarting the previous step with Ci,Cj,CnConstituting a dividing plane.
6. The segmentation method of a three-dimensional point cloud model according to claim 2, wherein the step 1.1 comprises randomly down-sampling the input point cloud data by using a shuffling algorithm; firstly, condition regularization is carried out, then skeleton contraction is carried out, weighting based on density is carried out, and for point cloud data with deficiency, one step is needed to be added to define a center position, so that the whole process can be completed.
7. The method for segmenting the three-dimensional point cloud model according to claim 6, wherein in the step 1.1, the conditional regularization comprises the following specific steps:
giving a series of out-of-order point setsAnd a set of points randomly down-sampled from QA series of skeleton point sets can be obtained by using an optimization formula,
When the energy gradient in the formula (1) is 0, substitution is madeWhereinThe following formula can be obtained:
in the formula: gamma rayiIs a balance parameter, σ, between the attractive force controlling the input point and the repulsive force controlling the sampling pointiIs a distribution measure;
in the formula (2), a solution set X ═ a for X can be obtained from linear algebra-1BQ, then iterated, whereinAnd k is 0, 1., the following equation can be obtained:
and then, setting the value of the parameter to finish condition regularization.
8. The method for segmenting the three-dimensional point cloud model according to claim 6, wherein in the step 1.1, the step of iteratively contracting the skeleton comprises the following specific steps:
given a neighborhood size h, a series of points X ═ X can be generatediI belongs to I and represents L of local neighborhood1The intermediate points can directly represent skeleton points in some cases, and under the condition of some complex data, the points only represent branch points of the skeleton, so that iterative contraction is needed; determining whether the marked points are shrunk points, determining sigma by using a conditional regularization stepiThe method of (1) first calculates all non-branch points xiThen smoothing the points and eliminating noise points;
in step 1.1, for some data with uneven point cloud density, the local center tends to be biased to a region with higher density, resulting in displacement of the output point cloud skeleton point position in the tangential direction, causing deviation of the result, and therefore the density needs to be weighted, and the specific steps of weighting based on the density are as follows:
collecting each point q in the input point cloudjThe weighted local density of (a) is defined as follows:
the obtained product is substituted into the formula (3) to obtain
The influence of shrinkage of the density unevenness region can be effectively reduced by weighting the local density in the first term of the formula (5), and further, the density of the local point is represented by the function θ (| p)j-pj'| |) determined.
9. The method as claimed in claim 6, wherein the step 1.1 is performed under normal conditions to generate L1The center is near the center point of the input point cloud, but if the input point cloud has a defect, for the point cloud data with the defect, the center position needs to be defined, the robustness of the system is enhanced, after down-sampling is carried out, the center position is realigned on each branch, then the branch is smoothly bent, and finally the center position is defined, and then the skeleton is shrunk.
10. The method as claimed in claim 2, wherein in step 1.2, the point cloud is first voxelized, voxelization is a hierarchical decomposition based on octree, the space structure is divided, the root node is recursively divided into eight sub-nodes, non-empty pixels are continuously divided until the minimum pixel size is reached, the octree algorithm is used to search out the point with the minimum curvature in the skeleton point set and set as the seed point, the points adjacent to the seed point are traversed and compared with the seed point, if the difference between a certain point and the normal vector of the seed point in the neighborhood is smaller than the set threshold, the point belongs to the current part, the minimum point cloud cluster is set according to the size of the point cloud set, the minimum number of point clouds is divided, and the maximum point cloud cluster is divided, the above steps are repeated, the skeleton point is divided into a plurality of parts, and when the number of the remaining points is less than the number of the preset minimum point cloud cluster points, stopping segmentation.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911249712.6A CN111161267A (en) | 2019-12-09 | 2019-12-09 | Segmentation method of three-dimensional point cloud model |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911249712.6A CN111161267A (en) | 2019-12-09 | 2019-12-09 | Segmentation method of three-dimensional point cloud model |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111161267A true CN111161267A (en) | 2020-05-15 |
Family
ID=70555781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911249712.6A Pending CN111161267A (en) | 2019-12-09 | 2019-12-09 | Segmentation method of three-dimensional point cloud model |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111161267A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110738669A (en) * | 2019-10-10 | 2020-01-31 | 武汉星珞科技有限公司 | Adaptive octree partitioning algorithm |
CN112465832A (en) * | 2020-11-25 | 2021-03-09 | 重庆大学 | Single-sided tree point cloud skeleton line extraction method and system based on binocular vision |
CN113838069A (en) * | 2021-09-27 | 2021-12-24 | 上海景吾智能科技有限公司 | Point cloud segmentation method and system based on flatness constraint |
CN115272615A (en) * | 2022-08-10 | 2022-11-01 | 新乡学院 | Medical semantic segmentation method for femoral point cloud model and application of medical semantic segmentation method |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102222315A (en) * | 2011-06-11 | 2011-10-19 | 广州大学 | Method for protecting three-dimensional point cloud model |
CN108961271A (en) * | 2018-06-27 | 2018-12-07 | 西安工程大学 | A kind of super voxel bumps partitioning algorithm of colour 3D point cloud |
CN109064471A (en) * | 2018-07-18 | 2018-12-21 | 中北大学 | A kind of three-dimensional point cloud model dividing method based on skeleton |
CN110232698A (en) * | 2019-04-20 | 2019-09-13 | 北京工业大学 | One kind is based on model segmentation and L1The successive frame 3 D human body curve skeleton extracting method of intermediate value skeleton |
-
2019
- 2019-12-09 CN CN201911249712.6A patent/CN111161267A/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102222315A (en) * | 2011-06-11 | 2011-10-19 | 广州大学 | Method for protecting three-dimensional point cloud model |
CN108961271A (en) * | 2018-06-27 | 2018-12-07 | 西安工程大学 | A kind of super voxel bumps partitioning algorithm of colour 3D point cloud |
CN109064471A (en) * | 2018-07-18 | 2018-12-21 | 中北大学 | A kind of three-dimensional point cloud model dividing method based on skeleton |
CN110232698A (en) * | 2019-04-20 | 2019-09-13 | 北京工业大学 | One kind is based on model segmentation and L1The successive frame 3 D human body curve skeleton extracting method of intermediate value skeleton |
Non-Patent Citations (2)
Title |
---|
李仁忠 等: "基于点云内骨架的分割算法", 《激光与光电子学进展》 * |
李仁忠,刘哲闻: "一种新的结合三维点云骨架和特征点的分割方法", 《HTTP://KNS.CNKI.NET/KCMS/DETAIL/31.1690.TN.20191119.1701.032.HTML》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110738669A (en) * | 2019-10-10 | 2020-01-31 | 武汉星珞科技有限公司 | Adaptive octree partitioning algorithm |
CN112465832A (en) * | 2020-11-25 | 2021-03-09 | 重庆大学 | Single-sided tree point cloud skeleton line extraction method and system based on binocular vision |
CN112465832B (en) * | 2020-11-25 | 2024-04-16 | 重庆大学 | Single-side tree point cloud skeleton line extraction method and system based on binocular vision |
CN113838069A (en) * | 2021-09-27 | 2021-12-24 | 上海景吾智能科技有限公司 | Point cloud segmentation method and system based on flatness constraint |
CN113838069B (en) * | 2021-09-27 | 2024-02-06 | 杭州景吾智能科技有限公司 | Point cloud segmentation method and system based on flatness constraint |
CN115272615A (en) * | 2022-08-10 | 2022-11-01 | 新乡学院 | Medical semantic segmentation method for femoral point cloud model and application of medical semantic segmentation method |
CN115272615B (en) * | 2022-08-10 | 2023-09-08 | 新乡学院 | Femur point cloud model medical semantic segmentation method and application thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111161267A (en) | Segmentation method of three-dimensional point cloud model | |
CN110222642B (en) | Plane building component point cloud contour extraction method based on global graph clustering | |
CN108038906B (en) | Three-dimensional quadrilateral mesh model reconstruction method based on image | |
CN105740798B (en) | A kind of point cloud object scene recognition methods based on structural analysis | |
CN109255781B (en) | Object-oriented multispectral high-resolution remote sensing image change detection method | |
CN110610505A (en) | Image segmentation method fusing depth and color information | |
CN109615581B (en) | Splicing recovery method of three-dimensional fragments fusing expanded Gaussian balls and color geometric features | |
CN109712143B (en) | Rapid image segmentation method based on superpixel multi-feature fusion | |
CN110334762A (en) | A kind of feature matching method combining ORB and SIFT based on quaternary tree | |
CN111242221A (en) | Image matching method, system and storage medium based on image matching | |
CN113409332B (en) | Building plane segmentation method based on three-dimensional point cloud | |
Biasotti et al. | SHREC'18 track: Recognition of geometric patterns over 3D models | |
CN109034065B (en) | Indoor scene object extraction method based on point cloud | |
CN111524168A (en) | Point cloud data registration method, system and device and computer storage medium | |
CN111127622B (en) | Three-dimensional point cloud outlier rejection method based on image segmentation | |
CN116664892A (en) | Multi-temporal remote sensing image registration method based on cross attention and deformable convolution | |
CN110942077A (en) | Feature line extraction method based on weight local change degree and L1 median optimization | |
CN112884884A (en) | Candidate region generation method and system | |
Omidalizarandi et al. | Segmentation and classification of point clouds from dense aerial image matching | |
Tran et al. | 3D point cloud registration based on the vector field representation | |
CN117315518A (en) | Augmented reality target initial registration method and system | |
CN116452604A (en) | Complex substation scene segmentation method, device and storage medium | |
Shui et al. | Automatic planar shape segmentation from indoor point clouds | |
Lev et al. | Principal curvature of point cloud for 3d shape recognition | |
Tseng et al. | Surface reconstruction from LiDAR data with extended snake theory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200515 |