The present invention generally relates to point cloud data obtained by laser scan device in the area of computer graphics and computer vision, especially relates to methods of global parameterization and quad meshing on point cloud.
Point cloud has been widely used in CAD and computer graphics communities due to the development of fast and accurate laser scan devices. Usually, there is no topological information in the raw scan points, and an amount of research work focus on meshing the point cloud while exhibiting the original surface well. Although most of the previous work produce high quality triangle meshes, there is little consideration about how to control the shape and orientation of triangles. A quad dominant mesh is preferred rather than a triangle mesh in many applications due to their tensor-product nature, such as in texturing, simulation with finite elements and B-spline fitting. And the quad mesh following principle directions is particularly useful in modeling as they capture the symmetries of natural geometry.
Global parameterization is a useful tool to design quadrangulation. Ray et al. propose periodic global parameterization guided by principle directions to parameterize the input model (Ray, N., Li, W. C., Levy, B., Sheffer, A., Alliez, P. 2006; Periodic global parameterization; ACM Trans. Graph. 25, 4, 1460-1485). Thus a quadrilateral mesh can be got by tracking the iso-lines in the parameterize domain. This method can generate a high quality quad mesh without any user's interaction. However, this method is limited to a triangle mesh; for a point cloud without connection information, it is difficult to use the method in the art directly to processing point cloud data.
The subject of the invention is to provide a method of global parameterization and quad meshing on a point cloud, comprising:
1) Calculating and smoothing principal direction field;
2) Performing Global parameterization of point cloud;
3) Constructing a Quad mesh from the resultant parameterization.
The present invention provides a robust and automatic global parameterization for unorganized point cloud data obtained from laser scan devices, and then extracting a feature-aligned quad mesh from the resultant parameterization.
Embodiments of the invention are explained in greater detail by way of the drawings. However the description itself is not intended to limit the scope of the invention.
As illustrated in
As illustrated in
For estimating the normal of a point, 15 or 30 neighboring points are selected; if these points are almost in the same plane, the tangent plane at this point can be obtained by fitting a weighted sum of the distances of the neighboring points to the fitting plane. The weight for each neighboring point is defined as the reciprocal of the Euclidean distance to this point. A plane is obtained by least square fitting and then the normal vector of this plane is defined as the normal at this point.
A smooth and accurate principal direction field is necessary since the global parameterization is constrained by the principal direction field. The construction of a principal direction field comprises two steps as in the last two steps of
To calculate the curvature tensor, local coordinates are first constructed for each point. Let {right arrow over (N)} denote the normal vector of point p, then p is the original point of the local coordinates. Let {right arrow over (u)}, {right arrow over (v)}, {right arrow over (w)} represent the three directions of local coordinates, {right arrow over (N)}i is the normal of p's neighboring point pi , then the curvature tensor at p satisfy the following constraints:
15 neighboring points are chosen to provide a set of linear constraints on the elements of the curvature tensor, which may be determined using least squares, and then the principal directions at p are calculated.
Local triangulation is to construct topological connections in a small area of each point p in the point cloud. For each point p of point cloud, the 15 neighboring points are projected to the tangent plane and then a local Delaunay triangulation is performed in the tangent plane. A local triangulation near point p is derived from this 2D local Delaunay triangulation in the tangent plane by keeping topological connections. The edges and triangulations used in the following sections are based on this local Delaunay triangulation.
The global smoothing of principal direction field makes the principal direction more consistent. The present invention defines an energy function to measure the difference between the principal directions of neighboring points, and then the principal direction is smoothed through minimizing this energy function.
The energy function is defined as follows:
here αi are the unknown angles between the principle directions and a reference direction in the tangent plane, and βij represents the angle between the projection of edge i, j into the tangent plane and the reference direction. The user-defined parameter ρ indicates the smooth intensity. The function can be solved as an optimization problem using Newton's method, and then a smooth direction field is achieved.
The goal of global parameterization is to find two scalar functions θ and φ, whose gradients align with the principal directions as much as possible. Global parameterization comprises three steps as illustrated in
F=∫
S(∥∇θT−ω{right arrow over (K)}∥2+∥∇φT−ω{right arrow over (K)}⊥∥2)dS
The gradient of a scalar function at a point is defined as the sum of the gradients of its adjacent triangles, and the gradient in each triangle is defined as the sum of the gradient of each edge. In practice, the above equation is calculated as:
here, θi and φi denote the two scalar functions at point i, and K and K⊥ denote the principal directions, eij denote the vector between and w is a user-defined parameter to control the density of parameterization.
The function can be solved as a quadratic optimization problem using Newton's method, and then a global parameterization of the point cloud is achieved.
Since the iso-lines of the resultant parameterization align the principal directions, the curve nets of iso-lines are a good start for quadrangulation. The intersection points of iso-lines are the vertices of final quad mesh, and the connection relationship among these vertices are determined by their connection relationship in the iso-lines.
To remesh the point cloud, as illustrated in
Here the iso-lines comprise iso-segments in each triangle. Let the scalar value of the three points of a triangle is θi, θj, and θk, and the iso-value is θiso, for each edge eij of the triangle, if min (θi, θj)<θiso<max ( θi, θj), the intersection vertex of iso-line and this edge is
Here, pi, pj are the end points of eij. For each triangle, if min (θi, θj, θk)<θiso<max (θi, θj, θk), two intersection points are produced, the iso-segments are obtained by connecting these two points. For a triangle, if the iso-segments corresponding to θ and φ exist simultaneously, then the intersection vertex of these two iso-segments is calculated, which is the intersection of iso-lines.
Redundant triangles exist due to the overlapping triangles produced by local Delaunay triangulation. To handle the irregular points in the iso-lines, three rules are adopted to clean the iso-lines:
1. In the first case, a triangle does not overlay any adjacent triangles as shown in
2. In the second case, a triangle overlays one of its adjacent triangles as shown in
3. In the third case, a triangle overlaps its one adjacent triangle and two intersection points of iso-segments appear in both of them as shown in
After the processing of iso-lines, each intersection point in the iso-lines is connected with its neighboring intersection points according to the iso-segment connections, and thus a quad mesh is constructed.
The algorithm described in this invention is implemented in C++ programming language and tested on several models on a PC with Intel® Core™2 Quad CPU Q6600 and 4GB memory. OpenGL is used for the visualization. Table 1 gives the size of some models (number of points) and the time cost of the main steps (Curvature Estimation, Local triangulation, Global Parameterization) of our algorithm.
In
The innovation of this invention is a direct quad meshing method on point cloud without a mesh reconstruction step. And this method is fully automatic; the density of quad mesh can be controlled easily by adjusting the parameter.
The present invention can be applied to point cloud data for both global parameterization and quad meshing. The present invention may be used in other computer graphics applications and is of high practical value.
Although the present invention has been specifically described on the basis of a preferred embodiment and a preferred method, the invention is not to be construed as being limited thereto. Various changes or modifications may be made to said embodiment and method without departing from the scope and spirit of the invention.
| Filing Document | Filing Date | Country | Kind | 371c Date |
|---|---|---|---|---|
| PCT/CN2009/001591 | 12/30/2009 | WO | 00 | 12/29/2010 |