Академический Документы
Профессиональный Документы
Культура Документы
CLOUD OF 2D IMAGES
INTRODUCTION
3D object reconstruction has been in research for a long period of
time. Over the years, many methods have been devised, so as to make
the 3D image as perfect as possible. In this project report, we present a
method to procure a 3D image out of a point cloud, which is generated
from a set of 2D images. The softwares used for this purpose are:
VisualSFM, Meshlab, and Blender.
THEORETICAL TERMS
POINT CLOUD
A point cloud is a set of data points in some coordinate system.
In a three-dimensional coordinate system, these points are usually
defined by X, Y and Z coordinates, and often are intended to represent
the external surface of an object.
Point clouds may be created by 3D scanners. These devices
measure a large number of points on an object's surface, and often
output a point cloud as a data file. The point cloud represents the set of
points that the device has measured.
As the result of a 3D scanning process point clouds are used for
many purposes, including to create 3D CAD models for manufactured
parts, metrology/quality inspection, and a multitude of visualization,
animation, rendering and mass customization applications.
While point clouds can be directly rendered and inspected, usually
point clouds themselves are generally not directly usable in most 3D
applications, and therefore are usually converted to polygon
mesh or triangle mesh models, NURBS surface models, or CAD models
through a process commonly referred to as surface reconstruction.
There are many techniques for converting a point cloud to a 3D
surface. Some approaches, like Delaunay triangulation, alpha shapes,
and ball pivoting, build a network of triangles over the existing vertices
of the point cloud, while other approaches convert the point cloud into a
volumetric distance field and reconstruct the implicit surface so defined
through a marching cubes algorithm.
POLYGON MESH
A polygon mesh is a collection of vertices, edges and faces that
defines the shape of a polyhedral object in 3D computer graphics and
solid modeling. The faces usually consist of triangles (triangle mesh),
quadrilaterals, or other simple convex polygons, since this simplifies
rendering, but may also be composed of more general concave
polygons, or polygons with holes.
The study of polygon meshes is a large sub-field of computer
graphics and geometric modeling. Different representations of polygon
meshes are used for different applications and goals.
As polygonal meshes are extensively used in computer graphics,
algorithms also exist for ray tracing, collision detection, and rigid-body
dynamics of polygon meshes.
A vertex is a position along with other information such as color,
normal vector and texture coordinates. An edge is a connection between
two vertices. A face is a closed set of edges, in which a triangle face has
three edges, and a quad face has four edges. A polygon is a coplanar set
of faces. In systems that support multi-sided faces, polygons and faces
are equivalent. However, most rendering hardware supports only 3- or 4sided faces, so polygons are represented as multiple faces.
Mathematically a polygonal mesh may be considered an unstructured
grid, or undirected graph, with additional properties of geometry, shape
and topology.
The set of 2D images is first fed into the software: Visual SFM. The
software will create a sparse/dense cloud for the set of input images
along with the Polygon Mesh file i.e. .ply file.
This .ply file, which we got from VisualSFM, is fed into the software:
Mesh lab, which will process the polygon mesh and will give a 3D
image/object as output.
Finally, the output from Mesh Lab is fed into Blender which will do
the texturing of the 3D image, which will make it seem realistic.
RESULTS
Screenshots & Images
CONCLUSION
The proposed method provides really good results on 3D image
reconstruction even though no additional hardware is used. The 3D
image is reconstructed out of dense point cloud generated by VisualSFM
software from a set of 2D images input. The software Meshlab is used to
process the mesh and provide the 3D image as the output. Blender does
the finishing touch by applying texturing on the output provided by
Meshlab.