CN111161267A - Segmentation method of three-dimensional point cloud model - Google Patents

Segmentation method of three-dimensional point cloud model Download PDF

Info

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
Application number
CN201911249712.6A
Other languages
Chinese (zh)
Inventor
李仁忠
刘哲闻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Polytechnic University
Original Assignee
Xian Polytechnic University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian Polytechnic University filed Critical Xian Polytechnic University
Priority to CN201911249712.6A priority Critical patent/CN111161267A/en
Publication of CN111161267A publication Critical patent/CN111161267A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

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

Segmentation method of three-dimensional point cloud model
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,
Figure BDA0002308679890000021
expanding the formula to a three-dimensional layer to obtain the gradient and the angle of one point in a three-dimensional space;
Figure BDA0002308679890000031
Figure BDA0002308679890000032
α 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 of
Figure BDA0002308679890000033
Compared 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;
Figure BDA0002308679890000034
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;
Figure BDA0002308679890000035
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:
Figure BDA0002308679890000036
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 sets
Figure BDA0002308679890000051
And a set of points randomly down-sampled from Q
Figure BDA0002308679890000052
A series of skeleton point sets can be obtained by using an optimization formula,
Figure BDA0002308679890000053
in the formula: i, J is the number of points, θ (r) is a Gaussian weight function
Figure BDA0002308679890000054
When the energy gradient in the formula (1) is 0, substitution is made
Figure BDA0002308679890000055
Wherein
Figure BDA0002308679890000056
The following formula can be obtained:
Figure BDA0002308679890000057
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, wherein
Figure BDA0002308679890000058
And k is 0, 1., the following equation can be obtained:
Figure BDA0002308679890000059
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:
Figure BDA0002308679890000061
the obtained product is substituted into the formula (3) to obtain
Figure BDA0002308679890000062
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 sets
Figure BDA0002308679890000101
And a set of points randomly down-sampled from Q
Figure BDA0002308679890000102
A series of skeleton point sets can be obtained by using an optimization formula,
Figure BDA0002308679890000103
in the formula: i, J is the number of points, θ (r) is a Gaussian weight function
Figure BDA0002308679890000104
When the energy gradient in the formula (1) is 0, substitution is made
Figure BDA0002308679890000105
Wherein
Figure BDA0002308679890000106
The following formula can be obtained:
Figure BDA0002308679890000107
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, wherein
Figure BDA0002308679890000111
And k is 0, 1., the following equation can be obtained:
Figure BDA0002308679890000112
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:
Figure BDA0002308679890000121
the obtained product is substituted into the formula (3) to obtain
Figure BDA0002308679890000122
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
Figure BDA0002308679890000131
Expanding the formula to a three-dimensional layer to obtain the gradient and the angle of one point in a three-dimensional space;
Figure BDA0002308679890000132
Figure BDA0002308679890000133
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 α
Figure BDA0002308679890000134
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;
Figure BDA0002308679890000141
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;
Figure BDA0002308679890000142
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:
Figure BDA0002308679890000143
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,
Figure FDA0002308679880000011
expanding the formula to a three-dimensional layer to obtain the gradient and the angle of one point in a three-dimensional space;
Figure FDA0002308679880000012
Figure FDA0002308679880000021
α 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 of
Figure FDA0002308679880000022
Compared 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;
Figure FDA0002308679880000023
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;
Figure FDA0002308679880000024
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:
Figure FDA0002308679880000025
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 sets
Figure FDA0002308679880000041
And a set of points randomly down-sampled from Q
Figure FDA0002308679880000042
A series of skeleton point sets can be obtained by using an optimization formula,
Figure FDA0002308679880000043
in the formula: i, J is the number of points, θ (r) is a Gaussian weight function
Figure FDA0002308679880000044
When the energy gradient in the formula (1) is 0, substitution is made
Figure FDA0002308679880000045
Wherein
Figure FDA0002308679880000046
The following formula can be obtained:
Figure FDA0002308679880000047
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, wherein
Figure FDA0002308679880000048
And k is 0, 1., the following equation can be obtained:
Figure FDA0002308679880000049
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:
Figure FDA0002308679880000051
the obtained product is substituted into the formula (3) to obtain
Figure FDA0002308679880000052
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.
CN201911249712.6A 2019-12-09 2019-12-09 Segmentation method of three-dimensional point cloud model Pending CN111161267A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
李仁忠 等: "基于点云内骨架的分割算法", 《激光与光电子学进展》 *
李仁忠,刘哲闻: "一种新的结合三维点云骨架和特征点的分割方法", 《HTTP://KNS.CNKI.NET/KCMS/DETAIL/31.1690.TN.20191119.1701.032.HTML》 *

Cited By (7)

* Cited by examiner, † Cited by third party
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
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
CN110334762A (en) A kind of feature matching method combining ORB and SIFT based on quaternary tree
CN109034065B (en) Indoor scene object extraction method based on point cloud
CN109712143B (en) Rapid image segmentation method based on superpixel multi-feature fusion
Biasotti et al. SHREC'18 track: Recognition of geometric patterns over 3D models
CN111242221A (en) Image matching method, system and storage medium based on image matching
CN111524168A (en) Point cloud data registration method, system and device and computer storage medium
CN110942077B (en) Feature line extraction method based on weight local change degree and L1 median optimization
CN113409332B (en) Building plane segmentation method based on three-dimensional point cloud
CN109300115B (en) Object-oriented multispectral high-resolution remote sensing image change detection method
CN111127622B (en) Three-dimensional point cloud outlier rejection method based on image segmentation
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
Li A super voxel-based Riemannian graph for multi scale segmentation of LiDAR point clouds
CN116664892A (en) Multi-temporal remote sensing image registration method based on cross attention and deformable convolution
CN116452604A (en) Complex substation scene segmentation method, device and storage medium
Shui et al. Automatic planar shape segmentation from indoor point clouds
CN112884884A (en) Candidate region generation method and system
Lev et al. Principal curvature of point cloud for 3d shape recognition

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