CN108986218B - PMVS-based rapid building dense point cloud reconstruction method - Google Patents
PMVS-based rapid building dense point cloud reconstruction method Download PDFInfo
- Publication number
- CN108986218B CN108986218B CN201810575339.2A CN201810575339A CN108986218B CN 108986218 B CN108986218 B CN 108986218B CN 201810575339 A CN201810575339 A CN 201810575339A CN 108986218 B CN108986218 B CN 108986218B
- Authority
- CN
- China
- Prior art keywords
- diffusion
- vertex
- triangle
- point cloud
- mesh
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
The invention discloses a PMVS-based rapid building dense point cloud reconstruction method, which uses quasi-dense point cloud to replace PMVS algorithm self-built sparse point cloud as a diffusion seed point under the application scene of building three-dimensional reconstruction, and the main flow of the method comprises the following steps: firstly, an initial space triangular mesh model of a building is built, operations such as spatial interpolation diffusion, optimization and filtering of a surface patch, triangular mesh information updating and the like are carried out on a triangular mesh cycle, accurate quasi-dense point cloud is obtained, and the quasi-dense point cloud is used for replacing a self-built sparse point cloud of a PMVS algorithm as a diffusion seed point, so that the PMVS algorithm reconstruction process is accelerated. The invention can effectively improve the operation efficiency of the PMVS algorithm. The invention has certain filtering function on point cloud noise brought by natural landscape and point cloud noise of other non-building main bodies.
Description
Technical Field
The invention relates to the field of image processing, in particular to a PMVS-based rapid building dense point cloud reconstruction method.
Background
The PMVS (patch-based multi-view stereo) algorithm proposed by Furukawa et al is one of the mainstream dense point cloud reconstruction algorithms that currently perform well. The basic flow of the algorithm is as follows: detecting characteristic points of an input image set by using Harris and DoG operators, obtaining sparse seed point clouds by using characteristic matching and triangularization reconstruction, iteratively performing steps of surface patch diffusion, optimization, filtering and the like by using the seed points, and finally reconstructing a dense surface patch set which has normal information and is tightly covered on the surface of an object to be reconstructed. The algorithm has the advantages that: (1) No initial information such as convex hull, bounding box, etc. is required; (2) The algorithm has a wide application range, and can be applied from single object reconstruction to large-scale complex scene reconstruction; (3) The algorithm has high reconstruction precision and good reconstruction efficiency.
Although the PMVS algorithm has good performance, there are some disadvantages, one of which is that the operation efficiency of the algorithm is low, and when processing high resolution image data and large scale scene reconstruction, the operation efficiency of the PMVS algorithm is obviously reduced, so that the PMVS algorithm cannot meet the requirement of fast reconstruction of large scale urban scenes in smart cities.
One of the reasons that the PMVS algorithm operates less efficiently is that: the PMVS algorithm uses weak constraint conditions to carry out feature matching on the image to reconstruct sparse point cloud of an object to be reconstructed, the process has no global optimality due to the weak constraint conditions of the feature matching, and the reconstructed sparse point cloud is full of noise. The subsequent surface patch diffusion optimization operation performed by using the sparse point cloud rich in noise as a seed point can cause more meaningless diffusion, and the surface patch diffusion and optimization process is a main time-consuming process in the PMVS algorithm, which increases the PMVS algorithm running time to a certain extent.
Various improvements have been proposed by many scholars for the efficiency problem of the PMVS algorithm, but there is no precedent for improving the efficiency of the PMVS algorithm from the viewpoint of improving the density and precision of seed points by using the geometric characteristics of buildings at present. The existing PMVS algorithm is low in operation efficiency and cannot meet the requirement of quick reconstruction of large-scale city scenes in smart cities.
Disclosure of Invention
The invention aims to overcome the defects of the prior art and provide a PMVS-based rapid building dense point cloud reconstruction method, which can rapidly acquire dense point clouds of buildings with higher precision.
The invention adopts the following technical scheme for solving the technical problems:
the invention provides a PMVS-based rapid building dense point cloud reconstruction method, which comprises the following steps:
step a, using a point cloud plane cluster obtained by a hypothesis plane fitting algorithm as input data, constructing an initial space triangular mesh model of a building to be reconstructed by using a Delaunay triangulation algorithm, and performing information initialization on the triangular mesh;
b, performing diffusion encryption on the initial space triangular mesh model by using a triangular mesh space interpolation diffusion algorithm;
c, performing patch optimization and filtering on the point cloud formed by the diffused triangular mesh vertexes by using an improved patch optimization and filtering algorithm;
the improved patch optimization algorithm specifically comprises the following steps:
reducing three variables in the nonlinear optimization of PMVS into one variable; the nonlinear optimization variable is only one patch position c (p), and the normal vector of the patch keeps the initial value unchanged in the optimization process; limiting the position of the dough sheet on a normal vector of the dough sheet, wherein the dough sheet can only move along the direction of the normal vector of the dough sheet in the optimization process;
the improved patch filtering algorithm specifically comprises the following steps:
for the a-th initial spatial triangular mesh T in the hypothetical planar model a The point cloud P is obtained after interpolation diffusion and surface patch optimization a First, P is clustered by mean shift algorithm a Performing clustering, calculating a clustering center c of a cluster with the largest number of three-dimensional points in a clustering result, and calculating P a "all points in the hypothetical plane normal vector direction are the average distance to the cluster center cThen traverse P a "each new diffusion point v in j Calculating v j Distance d from the plane of the parent triangle j If is greater or greater>Then v will be j Judging to be a mixed point and filtering the mixed point;
d, reconstructing a triangular mesh for the point cloud after the improved surface patch optimization and filtering, and updating mesh vertex normal information and diffusion punishment values;
step e, circulating steps b, c and d, and step n 1 And thirdly, taking the obtained quasi dense point cloud as a seed point of the PMVS algorithm, and repeatedly performing the three-step flow n of surface patch diffusion, surface patch optimization and surface patch filtering of the PMVS algorithm 2 And obtaining a final dense point cloud.
As a further optimization scheme of the PMVS-based rapid building dense point cloud reconstruction method, the step a comprises the following steps:
a1, point cloud P contained in the a-th plane in the hypothetical plane model a A point cloud P a All three-dimensional point coordinates in the three-dimensional point coordinate system are converted into a two-dimensional local coordinate system of a hypothetical plane where the three-dimensional point coordinates are located from a three-dimensional global coordinate system to obtain a two-dimensional point set P a ′;
Definition ofO-xyz is a global coordinate system, O-x ' y ' z ' is a target local coordinate system, the two coordinate systems both use O as an origin, and unit vectors in three coordinate axis directions of O-xyz are respectively as follows:P a the unit normal vector of the plane is ^ 4>The unit vector in the direction of the three coordinate axes o-x ' y ' z ' is determined-> And &>Is perpendicular to>Any two mutually perpendicular unit vectors on the plane of (a); by v b Represents P a The (b) th three-dimensional point, based on the comparison of the measured values>Respectively represent v b Global coordinates and local coordinates of (a); p is expressed according to the formula (1) a By>Is converted into->Taking or combining>As P, the x 'coordinate and the y' coordinate of a The two-dimensional plane coordinates of (a) and (b),thereby obtaining a two-dimensional point set P a ′;
a2, collecting P with two-dimensional points a ' and P a The plane contains a line segment set E a As input data, P is constructed using a two-dimensional finite Delaunay triangulation algorithm a ' obtaining an initial triangular mesh Wherein n is 3 Represents the number of triangles in the triangular grid, and>is T a M in 1 A plurality of triangles; due to the point cloud in P a And P a The arrangement order in ` does not change, so T a The represented triangular mesh relationships apply directly to P a I.e. T a Represents P a An initial spatial triangular mesh of the assumed plane;
a3, to T a Initializing information; the triangular mesh information includes: grid vertex coordinates, normal vectors, visual information and diffusion penalty values; due to T a Is equal to P a Three-dimensional point of (1), so using v b Representing the b-th mesh vertex byCoordinates representing a vertex of the b-th grid in &>Unit normal vector representing the b-th mesh vertex, denoted by V b Visual information, V, representing the b-th mesh vertex b I.e. set of indices of visual pictures, using f b Denotes the b-thA diffusion penalty value for each mesh vertex;
the coordinates of all mesh vertices use their corresponding P a Initializing global coordinates of the medium three-dimensional points; the diffusion penalty values of all the grid vertexes are initialized to 0; initializing the visual information of all the grid vertexes by the visual information of the three-dimensional line segment in the reconstruction result of the three-dimensional line segment model reconstruction algorithm, wherein the visual information of each vertex is consistent with the visual information of the three-dimensional line segment where the vertex is located; the normal vector initialization process for the mesh vertices is as follows:
traverse T a Calculating a normal vector of a plane unit of each triangle; m th 1 A triangleHas a plane unit normal vector of->And ensures that it is taken up or taken up>And/or>The included angle is an acute angle; wherein->Is triangular>Is calculated as shown in equation (2), and is based on the equation (2)>And &>Respectively triangular>Coordinate of three vertices of (1), normal () tableRepresenting the unitization of vectors;
traverse T a Calculating a unit normal vector of each grid vertex; unit normal vector of b-th grid vertexThat is, the normal vector of any mesh vertex is the average of the plane unit normal vectors of all triangles including the vertex; wherein->Is expressed as v b Is the m-th of the vertex 2 Plane unit normal vector of individual triangle, n 4 Is expressed as v b The total number of triangles that are vertices;
and a4, traversing all planes in the assumed plane model of the building, and repeating the steps a1 to a3.
As a further optimization scheme of the PMVS-based rapid building dense point cloud reconstruction method, the step b comprises the following steps:
b1, for the initial spatial triangular mesh T a M in 1 A triangleCalculating the area threshold valueWherein->Represents the average triangle area of the triangle mesh, loop represents the preset diffusion times, and fine represents ^ greater than or equal to ^ greater than>Has a formula &>Wherein the content of the first and second substances,respectively represent->A diffusion penalty value for three vertices; using two sets of UT and UT' to represent a triangle set to be diffused and a temporary triangle set generated in the diffusion intermediate process; calculate->Area of (4)>If/or>Will->Adding into UT; if/or>Then to T a C, performing the operation of the step b1 on the next triangle;
b2, m-th in the set UT 2 A triangleCalculate->Central point v of c Its coordinate->The calculation is shown in formula (2); centering the center point v c Added as a new diffusion vertex to the point cloud P a V according to the following method c Updating the normal vector and the visual information: v. of c Is equal to->A plane normal vector of (a); v. of c Visual information V of c =V 0 ∪V 1 ∪V 2 In which V is 0 、V 1 、V 2 Respectively represent->Visual information of three vertices;
b3, insertion point v c After that, point v c And triangleThree new triangles are respectively formed by the three vertexes, and the three new triangles are added into the set UT';
b4, traversing each triangle in the set UT, repeating the steps b2 and b3, and exchanging the set UT and UT' after traversing;
b5, if the set UT is not empty, repeating the step b4; if the set UT is empty, repeating the steps b1 to b5 for the next triangle until T is traversed a Up to all triangles in (1).
As a further optimization scheme of the PMVS-based rapid building dense point cloud reconstruction method, the method for reconstructing the triangular mesh and updating the normal information of the mesh vertex in step d is as follows:
constructing a triangular mesh for the point cloud after the improved patch optimization and filtering operation by using the method shown in the steps a1 to a2, wherein the visual information of the mesh vertex is kept unchanged; and then, using the normal vector updating method of the grid vertex in the step a3 to update the normal information of the vertex of the grid.
As a further optimization scheme of the PMVS-based rapid building dense point cloud reconstruction method, the method for updating the diffusion penalty value in the step d specifically comprises the following steps:
using T a ' representing an initial spatial triangular mesh T a Passing through the gridA new triangular mesh reconstructed after the steps of interpolation diffusion, improved patch optimization and filtering;
d1, calculating an initial space triangular grid T a The diffusion success rate r of all triangles in the tree is determined;
using the diffusion success rate r as the basis for judging whether a triangle receives punishment or not, and regarding T a M in 1 A triangleIts success rate of diffusion->Wherein n is a Indicates that the triangle is greater or less>Total number of diffusion vertexes n obtained after diffusion r Representing triangles @afterimproved patch optimization and filtering>The survival number of the contained diffusion vertexes; success rate of diffusionReflect->Possibility of being in a hollow area, based on the status of the device>The smaller the>The more likely it is in a hole region, the more>The included vertexes are punished, so that the included vertexes are weakened in diffusion strength in the next round of diffusion;
d2, for the new triangular mesh T a ' the b-th mesh vertex v b ', if v b ' is the diffusion vertex, then v is found b ' mother triangle t p ,t p I.e. diffusion of v b ' and performing step d3; if v is b If the vertex is the initial vertex, the diffusion penalty value is kept unchanged;
d3 if v b ' mother triangle t p Diffusion success rate ofThen it is necessary to point v b ' punishing, updating v according to equation (3) b 'diffusion penalty value f' b (ii) a If t is p Has a diffusion success rate>Then v is not aligned with the point b ' punishment is carried out, and the diffusion punishment value f ' is updated according to a formula (4) ' b (ii) a Based on the formula (3) and (4->Respectively represent a parent triangle t p Diffusion penalty, f, of three vertices u Is a preset penalty value;
d4, traverse T a ' repeating steps d2 to d3 for each mesh vertex in T a ' the updating of the mesh vertex diffusion penalty value.
The invention relates to a further optimization scheme of a PMVS-based rapid building dense point cloud reconstruction method, wherein n 1 Is an integer of 1 or more, n 2 Is an integer of 1 or more.
As an originalThe invention relates to a PMVS-based building dense point cloud rapid reconstruction method further optimization scheme, n 1 Is 3,n 2 Is 2.
Compared with the prior art, the invention adopting the technical scheme has the following technical effects:
(1) The invention fully utilizes the multi-plane geometric characteristics of the building, and provides a PMVS (pulse-modulated visual system) improvement method based on spatial triangular mesh interpolation diffusion based on plane priori knowledge provided by a hypothetical plane model of the building, so that the operation efficiency of the PMVS method can be effectively improved, and experiments prove that the improvement of the PMVS method provided by the invention can achieve 15% -23% of improvement of the operation speed of the original PMVS method when the loss rate of the reconstructed point cloud is lower than 5%;
(2) The method has a certain filtering effect on point cloud noise caused by natural landscapes, and compared with the reconstruction result of the original PMVS (passive matrix visual simulation) method, the point cloud noise of a non-building main body contained in the dense point cloud of the building reconstructed by the improved method provided by the invention is obviously reduced;
(3) The space grid interpolation algorithm based on the building hypothesis plane model provided by the method can quickly acquire the quasi-dense point cloud of the building with higher precision.
Drawings
FIG. 1 is a flow chart of the method of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention will be described in detail with reference to the accompanying drawings and specific embodiments.
As shown in FIG. 1, the invention discloses a PMVS (pseudo-symmetric triangular space) improvement method based on spatial triangular mesh interpolation diffusion, which is characterized in that a triangular mesh is constructed by utilizing a building hypothesis plane model, accurate and effective quasi-dense point clouds are quickly obtained by carrying out spatial interpolation diffusion on the triangular mesh, and the quasi-dense point clouds are used as diffusion seed points instead of self-constructed sparse point clouds of a PMVS algorithm, so that the operation efficiency of the PMVS algorithm can be effectively improved, and the PMVS improvement method comprises the following steps:
step a, using a point cloud plane cluster obtained by a hypothesis plane fitting algorithm as input data, using a Delaunay triangulation algorithm to construct an initial space triangular mesh model of a building to be reconstructed, and initializing information of the triangular mesh, wherein the specific steps are as follows:
a1. for the point cloud P contained in the a-th plane in the hypothetical plane model a A point cloud P a All three-dimensional point coordinates in the three-dimensional point coordinate system are converted into a two-dimensional local coordinate system of a hypothetical plane where the three-dimensional point coordinates are located from a three-dimensional global coordinate system to obtain a two-dimensional point set P a ′;
Defining O-xyz as a global coordinate system, O-x ' y ' z ' as a target local coordinate system, taking O as an origin in both coordinate systems, and respectively setting unit vectors in three coordinate axis directions of O-xyz as:P a the unit normal vector of the plane is ^ 4>The unit vector in the direction of the three coordinate axes o-x ' y ' z ' is determined-> And &>Is perpendicular to>Any two mutually perpendicular unit vectors on the plane of (a); by v b Represents P a The (b) th three-dimensional point, based on the comparison of the measured values>Respectively represent v b Global coordinates and local coordinates of; p is expressed according to the formula (1) a By>Is converted into->Fetch and hold>As P, the x 'coordinate and the y' coordinate of a To obtain a two-dimensional point set P a ′;
a2. With two-dimensional point set P a ' and P a The plane contains a line segment set E a As input data, P is constructed using a two-dimensional finite Delaunay triangulation algorithm a ' obtaining an initial triangular mesh Wherein n is 3 Represents the number of triangles in the triangular grid, and>is T a M in 1 A triangle; due to point cloud in P a And P a The arrangement order in ` does not change, so T a The represented triangular mesh relationship can be directly applied to P a I.e. T a Represents P a An initial spatial triangular mesh of the assumed plane;
a3. for T a Initializing information; the triangular mesh information includes: grid vertex coordinates, normal vectors, visual information and diffusion penalty values; due to T a Is equal to P a Three-dimensional point of (1), so using v b Representing the b-th mesh vertex byDenotes the coordinates of the vertex of the b-th grid in->Unit normal vector representing the b-th mesh vertex, denoted by V b Visual information (i.e., set of indices of the visible slice) representing the b-th mesh vertex, using f b Representing a diffusion penalty value for the b-th mesh vertex;
coordinates of all mesh vertices use their corresponding P a Initializing global coordinates of the medium three-dimensional points; the diffusion penalty values of all the grid vertexes are initialized to 0; initializing the visual information of all the grid vertexes by the visual information of the three-dimensional line segment in the reconstruction result of the three-dimensional line segment model reconstruction algorithm, wherein the visual information of each vertex is consistent with the visual information of the three-dimensional line segment where the vertex is located; the normal vector initialization process for the mesh vertices is as follows:
traverse T a Calculating a normal vector of a plane unit of each triangle; m th 1 A triangleHas a plane unit normal vector of>And ensures that it is taken up or taken up>And/or>The included angle is an acute angle; wherein +>Is triangular>Is calculated as shown in equation (2), and is based on the equation (2)>And &>Are respectively triangular>The normaize () represents the unitization of the vector;
traverse T a Calculating a unit normal vector of each grid vertex; unit normal vector of b-th grid vertexThat is, the normal vector of any mesh vertex is the average of the plane unit normal vectors of all triangles including the vertex; wherein->Is expressed as v b Is the m-th of the vertex 2 Plane unit normal vector of individual triangle, n 4 Is expressed as v b The total number of triangles that are vertices;
a4. and traversing all planes in the building hypothesis plane model, and repeating the steps a1 to a3.
B, using a triangular mesh space interpolation diffusion algorithm to perform diffusion encryption on the initial space triangular mesh model, wherein the specific steps are as follows:
b1. for the initial spatial triangular mesh T a M in m 1 A triangleCalculating its area thresholdWherein->Represents the average triangle area of the triangle mesh, loop represents a predetermined number of diffusion times, fine represents +>Is calculated by ^ 4>Wherein the content of the first and second substances,respectively represent->A diffusion penalty value for three vertices; using two sets of UT and UT' to represent a triangle set to be diffused and a temporary triangle set generated in the diffusion intermediate process; counting/or>Area of (4)>If it isWill then >>Adding into UT; if/or>Then to T a The next triangle is processed by the operation of step b1,
b2. For m in the set UT 2 A triangleCalculate->Central point v of c Its coordinate->The calculation is shown in formula (2); centering the center point v c Added as a new diffusion vertex to the point cloud P a V is prepared by the following method c Updating the normal vector and the visual information: v. of c Is equal to->A plane normal vector of (a); v. of c Visual information V of c =V 0 ∪V 1 ∪V 2 In which V is 0 、V 1 、V 2 Respectively represent->Visual information of three vertices;
b3. insertion point v c After that, point v c And triangleThree new triangles are respectively formed by the three vertexes of the three triangles, and the three new triangles are added into the set UT';
b4. traversing each triangle in the set UT, repeating the steps b2 and b3, and exchanging the sets UT and UT' after traversing;
b5. if the set UT is not empty, repeating the step b4; if the set UT is empty, repeating steps b1 to b5 for the next triangle until T is traversed a Up to all triangles in (1).
C, performing patch optimization and filtering on the point cloud formed by the diffused triangular mesh vertexes by using an improved patch optimization and filtering algorithm, wherein the method specifically comprises the following steps of:
step c uses an improved patch optimization algorithm, which specifically comprises the following steps:
three variables in the nonlinear optimization of PMVS were reduced to one variable. The three optimization variables of the original PMVS algorithm are: the patch position c (p) and two Euler angles related to the normal vector n (p) of the patch, while the nonlinear optimization variable of the invention is only one patch position c (p), and the normal vector of the patch keeps the initial value unchanged in the optimization process. The position of a patch of the original PMVS algorithm is limited on a connecting line of the center of the patch and the optical center of a camera corresponding to the reference picture, and the position of the patch can only move along the line; the algorithm limits the position of the dough sheet on the normal vector of the dough sheet, and the dough sheet can only move along the direction of the normal vector of the dough sheet in the optimization process.
The patch filtering algorithm used in the step c is added with a mean shift clustering-based median filtering algorithm on the basis of the original PMVS patch filtering algorithm, and the specific flow is as follows:
for the a-th initial spatial triangular mesh T in the hypothetical planar model a The point cloud P is obtained after interpolation diffusion and surface patch optimization a First, P is clustered by mean shift algorithm a "clustering, calculating c of the cluster center of the cluster containing the largest number of three-dimensional points in the clustering result, and calculating P a All points in "average distance to cluster center c in the direction of the hypothetical plane normal vectorThen traverse P a "each new diffusion point v in j Calculating v j Distance d from the plane of the parent triangle j If is greater or greater>Then v will be j And judging as the mixed point and filtering the mixed point.
D, reconstructing a triangular mesh for the point clouds after the improved surface patch optimization and filtering, and updating point cloud normal information and a diffusion penalty value, wherein the method specifically comprises the following steps:
the method for reconstructing the triangular mesh and updating the normal information of the mesh vertex in the step d comprises the following steps:
and (3) performing triangular mesh construction on the point cloud after the improved patch optimization and filtering operation by using the method shown in the steps a1 to a2, wherein the visual information of the mesh vertexes is kept unchanged. And then, updating normal information of the mesh by using the mesh vertex normal vector updating method in the step a3.
The grid vertex diffusion penalty value updating method used in the step d specifically comprises the following steps:
using T a ' representing an initial spatial triangular mesh T a Reconstructing a new triangular mesh after the steps of mesh interpolation diffusion, patch optimization and filtering;
d1. computing an initial spatial triangular mesh T a The diffusion success rate r of all triangles in the tree is determined;
using the diffusion success rate r as the basis for judging whether a triangle receives punishment or not, and regarding T a M in 1 A triangleIts success rate of diffusion->Wherein n is a Indicates that the triangle is greater or less>Total number of diffusion vertexes, n, obtained after diffusion r Representing triangles pickafter patch optimization and filtering>The survival number of the contained diffusion vertexes; success rate of diffusion>Reflect the fact thatPossibility of being in a hole area>The smaller the>The more likely it is in a hole region, the more>The included vertexes are punished, so that the included vertexes are weakened in diffusion strength in the next round of diffusion;
d2. for new triangular mesh T a ' the b-th mesh vertex v b ', if v b ' is the diffusion vertex, then v is found b ' mother triangle t p (i.e., diffusion of v) b ' triangle), and step d3; if v is b If the vertex is the initial vertex, the diffusion penalty value is kept unchanged;
d3. if v is b ' mother triangle t p Success rate of diffusionThen it is necessary to point v b ' punishing, updating v according to equation (3) b 'diffusion penalty value f' b (ii) a If t is p Has a diffusion success rate>Then v is not aligned with the point b ' punishment is carried out, and the diffusion punishment value f ' is updated according to a formula (4) ' b (ii) a Based on the formula (3) and (4->Respectively represent a parent triangle t p Diffusion penalty, f, for three vertices u Is a preset penalty value; />
d4. Traverse T a ' Each mesh vertex inRepeating the steps d2 to d3 to finish T a ' the updating of the mesh vertex diffusion penalty value.
Step e, circulating the three steps of b, c and d, and n 1 And thirdly, taking the obtained quasi dense point cloud as a seed point of the PMVS algorithm, and repeatedly performing the three-step process n of surface patch diffusion, surface patch optimization and surface patch filtering of the original PMVS algorithm 2 Secondly, obtaining a final dense point cloud; in the experiment n 1 3,n can be taken 2 It is possible to take 2.
Claims (4)
1. A PMVS-based building dense point cloud rapid reconstruction method is characterized by comprising the following steps:
step a, using a point cloud plane cluster obtained by a hypothesis plane fitting algorithm as input data, constructing an initial space triangular mesh model of a building to be reconstructed by using a Delaunay triangulation algorithm, and performing information initialization on the triangular mesh;
b, performing diffusion encryption on the initial space triangular mesh model by using a triangular mesh space interpolation diffusion algorithm;
c, performing patch optimization and filtering on the point cloud formed by the diffused triangular mesh vertexes by using an improved patch optimization and filtering algorithm;
the improved patch optimization algorithm specifically comprises the following steps:
reducing three variables in the nonlinear optimization of PMVS into one variable; the nonlinear optimization variable is only one patch position c (p), and the normal vector of the patch keeps the initial value unchanged in the optimization process; limiting the position of the dough sheet on a normal vector of the dough sheet, wherein the dough sheet can only move along the direction of the normal vector of the dough sheet in the optimization process;
the improved patch filtering algorithm specifically comprises the following steps:
for the a-th initial spatial triangular mesh T in the hypothetical planar model a The point cloud P is obtained after interpolation diffusion and surface patch optimization a First, P is clustered by mean shift algorithm a "clustering", calculating the clustering center c of the cluster with the most three-dimensional points in the clustering result, and calculating P a All points in "are in the direction of the hypothetical planar normal vectorAverage distance to cluster center cThen go through P a "each new diffusion point v in j Calculating v j Distance d from the plane of the parent triangle j If, ifThen v will be j Judging to be a mixed point and filtering the mixed point;
d, reconstructing a triangular mesh for the point cloud subjected to the improved patch optimization and filtering, and updating mesh vertex normal information and a diffusion penalty value;
step e, circulating step b, step c and step d 1 And thirdly, taking the obtained quasi dense point cloud as a seed point of the PMVS algorithm, and repeatedly performing the three-step flow n of surface patch diffusion, surface patch optimization and surface patch filtering of the PMVS algorithm 2 Secondly, obtaining a final dense point cloud;
the step a comprises the following steps:
a1, point cloud P contained in the a-th plane in the hypothetical plane model a The point cloud P a All three-dimensional point coordinates in the three-dimensional point coordinate system are converted into a two-dimensional local coordinate system of a hypothetical plane where the three-dimensional point coordinates are located from a three-dimensional global coordinate system to obtain a two-dimensional point set P a ′;
Defining o-xyz as a global coordinate system, o-x ' y ' z ' as a target local coordinate system, taking 0 as an origin in both coordinate systems, and respectively setting unit vectors in three coordinate axis directions of o-xyz as:P a the unit normal vector of the plane is ^ 4>The unit vector in the direction of the three coordinate axes o-x ' y ' z ' is determined-> And &>Is perpendicular to>Any two mutually perpendicular unit vectors on the plane of (a); by v b Represents P a The (b) th three-dimensional point, based on the comparison of the measured values>Respectively represent v b Global coordinates and local coordinates of; p is expressed according to the formula (1) as By>Convert to>Taking or combining>As P, the x 'coordinate and the y' coordinate of a To obtain a two-dimensional point set P a ′;
a2, collecting P with two-dimensional points a ' and P a The plane contains a line segment set E a As input data, P is constructed using a two-dimensional finite Delaunay triangulation algorithm a ' obtaining an initial triangular mesh Wherein n is 3 Represents the number of triangles in the triangular grid, and>is T a M in 1 A triangle; due to point cloud in P a And P a The arrangement order in ` does not change, so T a The represented triangular mesh relationships apply directly to P a I.e. T a Represents P a An initial spatial triangular mesh of the assumed plane;
a3, to T a Initializing information; the triangular mesh information includes: grid vertex coordinates, normal vectors, visual information and diffusion penalty values; due to T a Is equal to P a Three-dimensional point of (1), so using v b Representing the b-th mesh vertex byCoordinates representing a vertex of the b-th grid in &>Unit normal vector representing the b-th mesh vertex, denoted by V b Visual information, V, representing the b-th mesh vertex b I.e. set of indices of visual pictures, using f b Represents a diffusion penalty value for the b-th mesh vertex;
coordinates of all mesh vertices use their corresponding P a Initializing global coordinates of the medium three-dimensional points; the diffusion penalty values of all the grid vertexes are initialized to 0; initializing the visual information of all the grid vertexes by the visual information of the three-dimensional line segments in the reconstruction result of the three-dimensional line segment model reconstruction algorithm, wherein the visual information of each vertex is consistent with the visual information of the three-dimensional line segment where the vertex is located; the mesh vertices' normal vector initialization process is as follows:
traverse T a Calculating the normal vector of the plane unit of each triangle(ii) a M th 1 A triangleHas a plane unit normal vector of>And ensures that it is taken up or taken up>And/or>The included angle is an acute angle; wherein->Is triangular>Is calculated as shown in equation (2), and is based on the equation (2)>And &>Respectively triangular>The normaize () represents the unitization of the vector;
traverse T a Calculating a unit normal vector of each grid vertex; unit normal vector of b-th grid vertexThat is, the normal vector of any mesh vertex is the average of the plane unit normal vectors of all triangles including the vertex; wherein->Is expressed as v b Is the m-th of the vertex 2 Plane unit normal vector of individual triangle, n 4 Is expressed as v b The total number of triangles that are vertices;
a4, traversing all planes in the assumed plane model of the building, and repeating the steps a1 to a3;
the step b comprises the following steps:
b1. For the initial spatial triangular mesh T a M in 1 A triangleCalculate its area threshold->Wherein->Represents the average triangle area of the triangle mesh, loop represents the preset diffusion times, and fine represents ^ greater than or equal to ^ greater than>Is calculated by ^ 4>Wherein +>Respectively represent->Diffusion penalty values for three vertices; tabulated with two sets of UT and UTShowing a triangle set to be diffused and a temporary triangle set generated in the middle process of diffusion; counting/or>Area (d)>If/or>Will->Adding into UT; if it isThen to T a C, performing the operation of the step b1 on the next triangle;
b2, m-th in the set UT 2 A triangleCalculate->Central point v of c Its coordinate->The calculation is shown in formula (2); centering the center point v c Added as a new diffusion vertex to the point cloud P a V is prepared by the following method c Updating the normal vector and the visual information: v. of c Is equal to->The plane normal vector of (a); v. of c Visual information V of c =V 0 ∪V 1 ∪V 2 In which V is 0 、V 1 、V 2 Respectively represent/>Visual information of three vertices;
b3, insertion point v c After that, point v c And triangleThree new triangles are respectively formed by the three vertexes of the three triangles, and the three new triangles are added into the set UT';
b4, traversing each triangle in the set UT, repeating the steps b2 and b3, and exchanging the sets UT and UT' after traversing;
b5, if the set UT is not empty, repeating the step b4; if the set UT is empty, repeating steps b1 to b5 for the next triangle until T is traversed a Until all triangles in (1);
the diffusion penalty value updating method in the step d comprises the following specific steps:
using T a ' representing an initial spatial triangular mesh T a Reconstructing a new triangular mesh after the steps of mesh interpolation diffusion, improved patch optimization and filtering;
d1, calculating an initial space triangular mesh T a The diffusion success rate r of all triangles in the tree is determined;
using the diffusion success rate r as the basis for judging whether a triangle receives punishment or not, and regarding T a M in 1 A triangleIts diffusion success rate>Wherein n is a Indicates that the triangle is greater or less>Total number of diffusion vertexes n obtained after diffusion r Representation in improved patch optimization and filteringAfter which triangle is>The survival number of the contained diffusion vertexes; success rate of diffusion>Reflect->Possibility of being in a hollow area, based on the status of the device>The smaller the>The more likely it is in a hole region, the more>The included vertexes are punished, so that the included vertexes are weakened in diffusion strength in the next round of diffusion;
d2, for the new triangular mesh T a ' the b-th mesh vertex v b ', if v b ' is the diffusion vertex, then v is found b ' mother triangle t p ,t p I.e. diffusion v b ' and performing step d3; if v is b ' if the vertex is initial, the diffusion penalty value is kept unchanged;
d3, if v b ' mother triangle t p Success rate of diffusionThen point v needs to be pointed to b ' punishing, updating v according to equation (3) b ' diffusion penalty f b '; if t is p Success rate of diffusion of>Then v is not aligned with the point b ' punishment is carried out, and the diffusion punishment value f is updated according to the formula (4) b '; +in equations (3) and (4)>Respectively represent a parent triangle t p Diffusion penalty, f, of three vertices u Is a preset penalty value;
d4, traverse T a ' repeating steps d2 to d3 for each mesh vertex in T a ' the updating of the mesh vertex diffusion penalty value.
2. The PMVS-based rapid reconstruction method for dense point cloud of building according to claim 1, wherein the method for reconstructing triangular mesh and updating normal information of mesh vertex in step d is as follows:
constructing a triangular mesh for the point cloud after the improved patch optimization and filtering operation by using the method shown in the steps a1 to a2, wherein the visual information of the mesh vertex is kept unchanged; and then, using the normal vector updating method of the grid vertex in the step a3 to update the normal information of the vertex of the grid.
3. The PMVS-based rapid building dense point cloud reconstruction method as claimed in claim 1, wherein n is 1 Is an integer of 1 or more, n 2 Is an integer of 1 or more.
4. The PMVS-based building dense point cloud fast reconstruction method as claimed in claim 1Characterized in that n is 1 Is 3,n 2 Is 2.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810575339.2A CN108986218B (en) | 2018-06-06 | 2018-06-06 | PMVS-based rapid building dense point cloud reconstruction method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810575339.2A CN108986218B (en) | 2018-06-06 | 2018-06-06 | PMVS-based rapid building dense point cloud reconstruction method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108986218A CN108986218A (en) | 2018-12-11 |
CN108986218B true CN108986218B (en) | 2023-03-31 |
Family
ID=64540791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810575339.2A Active CN108986218B (en) | 2018-06-06 | 2018-06-06 | PMVS-based rapid building dense point cloud reconstruction method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108986218B (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111445472B (en) * | 2020-03-26 | 2023-05-12 | 达闼机器人股份有限公司 | Laser point cloud ground segmentation method, device, computing equipment and storage medium |
CN112084288A (en) * | 2020-09-16 | 2020-12-15 | 广东电网有限责任公司 | Visual map management device |
CN114429047B (en) * | 2022-01-27 | 2023-08-22 | 成都理工大学 | Triangular mesh-based interpolation method for travel time of quadratic circle equation |
CN117523132B (en) * | 2023-08-01 | 2024-05-03 | 中铁建大桥工程局集团第四工程有限公司 | Steel truss arch bridge buckling tower verticality adjusting system and method |
CN116681767B (en) * | 2023-08-03 | 2023-12-29 | 长沙智能驾驶研究院有限公司 | Point cloud searching method and device and terminal equipment |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103021017B (en) * | 2012-12-04 | 2015-05-20 | 上海交通大学 | Three-dimensional scene rebuilding method based on GPU acceleration |
CN104200517A (en) * | 2014-08-06 | 2014-12-10 | 北京工业大学 | Three-dimensional reconstruction method |
CN105825543B (en) * | 2016-03-31 | 2018-06-19 | 武汉大学 | Point off density cloud generation method and system are regarded based on low altitude remote sensing image more |
CN106023312B (en) * | 2016-05-13 | 2019-02-22 | 南京大学 | Three-dimensional building object model automatic reconstruction method based on aviation LiDAR data |
CN106097436B (en) * | 2016-06-12 | 2019-06-25 | 广西大学 | A kind of three-dimensional rebuilding method of large scene object |
CN106570468B (en) * | 2016-10-25 | 2019-11-22 | 中国人民解放军空军工程大学 | A method of rebuilding LiDAR original point cloud contour of building line |
-
2018
- 2018-06-06 CN CN201810575339.2A patent/CN108986218B/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN108986218A (en) | 2018-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108986218B (en) | PMVS-based rapid building dense point cloud reconstruction method | |
Kato et al. | Neural 3d mesh renderer | |
JP5111638B2 (en) | Apparatus and method for dividing a parametric curve into smaller subpatches | |
US20080238919A1 (en) | System and method for rendering of texel imagery | |
CN111445581A (en) | Mesh reconstruction using data-driven priors | |
CN111640180B (en) | Three-dimensional reconstruction method and device and terminal equipment | |
CN113781667A (en) | Three-dimensional structure simplified reconstruction method and device, computer equipment and storage medium | |
CN104157000B (en) | The computational methods of model surface normal | |
Lionar et al. | Neuralblox: Real-time neural representation fusion for robust volumetric mapping | |
CN116721231A (en) | Three-dimensional reconstruction method and system for extensible scene based on unmanned aerial vehicle-mounted positioning | |
CN113421336B (en) | Method and device for volume rendering of dynamic water area, storage medium and electronic device | |
US20240096022A1 (en) | Low-poly mesh generation for three-dimensional models | |
Vyatkin | Method of binary search for image elements of functionally defined objects using graphics processing units | |
Ma et al. | Rapid reconstruction of a three-dimensional mesh model based on oblique images in the Internet of Things | |
CN110738726B (en) | Robot vision-guided three-dimensional object reconstruction method based on octree | |
CN116543117B (en) | High-precision large-scene three-dimensional modeling method for unmanned aerial vehicle images | |
Lin et al. | Multiview textured mesh recovery by differentiable rendering | |
CN116452748A (en) | Implicit three-dimensional reconstruction method, system, storage medium and terminal based on differential volume rendering | |
CN115631317A (en) | Tunnel lining ortho-image generation method and device, storage medium and terminal | |
Fu et al. | Reconstruct 3D geometry of target using differentiable SAR renderer | |
Seinturier et al. | Towards a 3D based platform for cultural heritage site survey and virtual exploration | |
Poux | How to represent 3D Data? | |
CN116229005B (en) | Geodesic determining method and device for three-dimensional roadway model | |
CN117876625A (en) | Multi-view reconstruction method and device combining explicit and implicit surface expression | |
Wei et al. | Real-time rendering of algebraic B-spline surfaces via Bézier point insertion |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |