• No results found

We have shown in chapter 5 that adding a point cloud velocity function to the original deformable simplicial complex code base, adjusting its parameters accordingly, subtracting curvature, and refining the mesh can all contribute to create a final product converging on the point cloud from a Wavefront .obj file. As discussed in the previous chapter, our implementation using the DSC to reconstruct surfaces from point clouds has certainly produced some good initial results, but there is easily more to be done.

One problem to tackle is the double-edged sword that is subtracting mean curvature from the speed function. By design, it is intended to help flatten out convex or concave points in the mesh, where a vertex’s normal vector has perhaps fallen orthogonal to its desired point cloud position and resulted in a speed function nearing zero. Similar situations where this could be useful in the reconstructions we have presented are the minor webbing near the teapot’s handle and the clump of additional tetrahedra near the bottom of the cow’s hind legs. Subtracting curvature can certainly accomplish this goal well—in trials where even 1% of implicit fairing curvature was removed from the speed function, the entire mesh was eventually smoothed into an ovoid shape.

Obviously, much lower values of the constant 𝛽 (see equation 4) must be used to present an overly ovoid result, but even then, the same curvature reduction that moves unwanted vertices into place also causes naturally convex or concave surfaces to flatten out as well. This effect has been seen in our experiments to shift the cow’s horns and ears back towards the sides of its head and remove the tip of the teapot’s spout entirely. We therefore postulate that subtracting mean curvature from the point cloud velocity function’s speed is sometimes desirable for certain

36

interface vertices, but not always for others. The challenge lies in determining which vertices to affect, and when such modifications are likely to help the most.

Another problem lies with the fundamental nature of our algorithm when the point cloud extracted from the .obj file contains a cache of points in the same general location, or

unnecessary vertices in the interior region of where we desire the mesh interface to be. Both of these situations can be found in the teapot.obj mesh and were discussed in chapter 6. As the teapot is not a watertight mesh but is separated into four different components, one can already assume that the vertex density around the lid area is easily twice as high as other areas of the teapot, since the vertices located on the edge of the lid are probably co-located with the ones that are part of the top of its body, where the lid rests. Furthermore, the two ends of the handle and especially the spout contain a ring of points that are firmly positioned within the teapot’s body segment. In both of these cases, our algorithm’s decision to gravitate each vertex towards its closest neighbor in the point cloud—no matter which point it is—more often than not introduces dents in the tetrahedral mesh where we would otherwise expect it to be flat. For instance, the section of the mesh below the teapot’s spout is attracted to the final ring of the spout instead of the outside base of the teapot, but because those interface vertices have already successfully aligned themselves with other point cloud positions, they have no motivation to move away from where they are already stationed. A similar situation occurred with the cow mesh, where the separated rings of vertices representing the cow’s tail were so far apart that the deformed mesh was instead attracted to the back of the cow.

While this problem is a difficult one to resolve, we feel it can be partially diminished by taking more data into account than just the point cloud alone, if such data is readily available.

The rings of the cow’s tail, for instance, are connected by faces in the .obj file, whereas they are

37

not connected to the back of the cow. The sets of vertices in the ring around the teapot’s lid are intended to connect to each other in a circle, but we currently provide our implementation with no way of knowing this to be the case. If more data than the point cloud itself is not present, we may still be able to exclude certain points to enhance our results. As our implementation ignores the faces of the .obj mesh anyway, we would not suffer any penalty if we simply removed the final ring of vertices of the teapot’s spout, allowing the deformable simplicial complex to attach the spout to the rest of the teapot by sheer proximity. Doing this would help the mesh interface not descend into the teapot itself in search of those inner points, causing them to stay outside on the teapot’s boundary instead. Again, what makes this solution complicated is needing to know explicit details regarding the .obj file the point cloud is based on, including which vertices should be more likely to connect to each other than others, and which ones may be able to be removed entirely in order to improve the overall quality of the final result.

Since the splitting of mesh faces was a major factor in the quality of our results, we have planned additional work in the area of adaptive resolution. Specifically, we would like the mesh to be able to detect when quality could be improved via face splits between time steps. The current plan is to evaluate, for each triangular face on the interface of the mesh, the speed function of not only all three of the face’s vertices, but also its centroid. If the speed of all three vertices is close to zero while the centroid’s speed is sufficiently large, it may indicate a face that is out-of-place, but whose endpoints are happy where they are. Such faces are common in areas with a webbing effect, such as the teapot’s handle. By splitting that face (and therefore the two tetrahedra that share it), we create a new vertex that will subsequently begin to move towards its nearest point cloud neighbor.

38 REFERENCES

[1] Amenta, N., Bern, M., & Eppstein, D. (1998). The crust and the β-skeleton:

Combinatorial curve reconstruction. Graphical models and image processing, 60(2), 125-135.

[2] Amenta, N., Bern, M., & Kamvysselis, M. (1998, July). A new Voronoi-based surface reconstruction algorithm. In Proceedings of the 25th annual conference on Computer graphics and interactive techniques (pp. 415-421). ACM.

[3] Bajaj, C. L., Bernardini, F., & Xu, G. (1995, September). Automatic reconstruction of surfaces and scalar fields from 3D scans. In Proceedings of the 22nd annual

conference on Computer graphics and interactive techniques (pp. 109-118). ACM.

[4] Boissonnat, J. D. (1984). Geometric structures for three-dimensional shape representation. ACM Transactions on Graphics (TOG), 3(4), 266-286.

[5] Boissonnat, J. D., & Cazals, F. (2000, May). Smooth surface reconstruction via natural neighbour interpolation of distance functions. In Proceedings of the sixteenth annual symposium on Computational geometry (pp. 223-232). ACM.

[6] Breen, D. E., Mauch, S., & Whitaker, R. T. (1998, October). 3D scan conversion of CSG models into distance volumes. In Proceedings of the 1998 IEEE symposium on Volume visualization (pp. 7-14). ACM.

[7] Curless, B., & Levoy, M. (1996, August). A volumetric method for building complex models from range images. In Proceedings of the 23rd annual conference on

Computer graphics and interactive techniques (pp. 303-312). ACM.

[8] Desbrun, M., Meyer, M., Schröder, P., & Barr, A. H. (1999, July). Implicit fairing of irregular meshes using diffusion and curvature flow. In Proceedings of the 26th annual conference on Computer graphics and interactive techniques (pp. 317-324).

ACM Press/Addison-Wesley Publishing Co..

[9] Eck, M., & Hoppe, H. (1996, August). Automatic reconstruction of B-spline surfaces of arbitrary topological type. In Proceedings of the 23rd annual conference on Computer graphics and interactive techniques (pp. 325-334). ACM.

[10] Edelsbrunner, H. (1998). Shape reconstruction with Delaunay complex. In LATIN'98:

Theoretical Informatics (pp. 119-132). Springer Berlin Heidelberg.

[11] Edelsbrunner, H., & Mücke, E. P. (1994). Three-dimensional alpha shapes. ACM Transactions on Graphics (TOG), 13(1), 43-72.

39

[12] Fischler, M. A., & Bolles, R. C. (1981). Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography.

Communications of the ACM, 24(6), 381-395.

[13] Hann, Philip. (2014). Robust Implementation of the Deformable Simplicial Complex.

Undergraduate Senior Thesis, University of Illinois at Urbana-Champiagn.

[14] Hoppe, H., DeRose, T., Duchamp, T., McDonald, J., & Stuetzle, W. (1992). Surface reconstruction from unorganized points (Vol. 26, No. 2, pp. 71-78). ACM.

[15] Hoppe, H., DeRose, T., Duchamp, T., McDonald, J., & Stuetzle, W. (1993, September). Mesh optimization. In Proceedings of the 20th annual conference on Computer graphics and interactive techniques (pp. 19-26). ACM.

[16] Ma, W., & Kruth, J. P. (1995). Parameterization of randomly measured points for least squares fitting of B-spline curves and surfaces. Computer-Aided Design, 27(9), 663-675.

[17] Misztal, M. K., & Bærentzen, J. A. (2012). Topology-adaptive interface tracking using the deformable simplicial complex. ACM Transactions on Graphics (TOG), 31(3), 24.

[18] Mitra, N. J., Nguyen, A., & Guibas, L. (2004). Estimating surface normals in noisy point cloud data. International Journal of Computational Geometry & Applications, 14(04n05), 261-276.

[19] Muraki, S. (1991, July). Volumetric shape description of range data using “Blobby Model”. In ACM SIGGRAPH Computer Graphics (Vol. 25, No. 4, pp. 227-235).

ACM.

[20] Ning, P., & Bloomenthal, J. (1993). An evaluation of implicit surface tilers.

Computer Graphics and Applications, IEEE, 13(6), 33-41.

[21] Osher, S., & Sethian, J. A. (1988). Fronts propagating with curvature-dependent speed: algorithms based on Hamilton-Jacobi formulations. Journal of computational physics, 79(1), 12-49.

[22] Park, I. K., Yun, I. D., & Lee, S. U. (1999). Constructing nurbs surface model from scattered and unorganized range data. In 3-D Digital Imaging and Modeling, 1999.

Proceedings. Second International Conference on (pp. 312-320). IEEE.

[23] Schnabel, R., Wahl, R., & Klein, R. (2007, June). Efficient RANSAC for Point‐Cloud Shape Detection. In Computer graphics forum (Vol. 26, No. 2, pp. 214-226).

Blackwell Publishing Ltd.

40

[24] Sethian, J. A. (1996). A fast marching level set method for monotonically advancing fronts. Proceedings of the National Academy of Sciences, 93(4), 1591-1595.

[25] Sethian, J. A. (1999). Level set methods and fast marching methods: evolving interfaces in computational geometry, fluid mechanics, computer vision, and materials science (Vol. 3). Cambridge university press.

[26] Vosselman, G., Gorte, B. G., Sithole, G., & Rabbani, T. (2004). Recognising structure in laser scanner point clouds. International archives of photogrammetry, remote sensing and spatial information sciences, 46(8), 33-38.

[27] Weisstein, Eric W. "Angular Defect." From MathWorld--A Wolfram Web Resource.

http://mathworld.wolfram.com/AngularDefect.html

[28] Zhao, H. K., Osher, S., & Fedkiw, R. (2001). Fast surface reconstruction using the level set method. In Variational and Level Set Methods in Computer Vision, 2001.

Proceedings. IEEE Workshop on (pp. 194-201). IEEE.

Related documents