A Volumetric Method for Building Complex Models from Range Images Brian Curless Marc Levoy speaker:Cui Yunpeng 2017/5/16
Introduction Reconstruct from scan’s application: Industry Hospital Art
Introduction Input: a set of range images from scanner Output:a closely range surface of the model
Goal: A surface reconstruction algorithm owns such properties Representation of range uncertainty Utilization of all range data Incremental updates Time and space efficiency Robustness No restrictions on topological type Ability to fill holes in the reconstruction
Previous work Two dircetions: 1. unorganized points ①.parametric surfaces ②.implicit function(SDF) 2. exploits the underlying structure of the acquired data ②.implicit function(SDF) VRIP: use samples of a continuous function to combine structured data
Volumetric integration For a set range images, R1, R2, R3,…,Rn, construct signed distance funchtions(SDF) d1(x),d2(x),d3(x),…d4(x). Combine these functions to generate cumulative function,D(x).(In fact, combine the volume) Extract the disired manifold as isosurface, D(x)=0.
Volumetric integration The weight depend on the dot product between each vertex normal and the viewing direction. Now to prove: Isosurface of the weighted SDF = Minimization of squared distances between points on the range surfaces and points on the desired surfaces
Proof Assumption: 1.The range sensor is orthographic. 2.The range errors are independently distributed along sensor lines of sight. With the assumption, this is proved in another article: 𝐸 𝑓 = 𝑖=1 𝑁 𝑑 𝑖 2(𝑥,𝑦,𝑧,𝑓) ⅆ𝑥𝑑𝑦𝑑𝑧
Proof x,y,z is postion of surface point, v is directions of sensor, w is weight, s,t is the position of sensor.
Volumetric integration Result: Incremental calculation:
Volumetric integration Signed distance and weight functions in one dimension and their combine
Volumetric integration Signed distance and weight functions in two dimension and their combine
Volumetric integration Update voxel in three dimension 1. Set all voxel weights to zero 2. Tessellate each range image by constructing triangles 3. Compute a weight at each vertex 4. Cast a ray from the sensor to compute signed distance contribution of each voxel near the surface and intersect it by the triangles mesh 5. The weight is computed by linearly interpolating the weights stored at the intersection triangle’s vertices.
Volumetric integration d is the distance, each voxel has the distance from one range surface
Hole filling Unseen portions of the surface will appear as holes in the reconstruction. Fill them for continuous meshes and esthetics.
Hole filling Classifying all points in the volume as being in one of three states: unseen, empty, or near the surface.
Hole filling Extension of the algorithm in Update voxel in three dimension 1.Initialize the voxel space to the “unseen” state. 2. Update the voxels near the surface, and mark them as “near surface”. 3.Follow the lines of sight back from the observed surface and mark the corresponding voxels as “empty”. (space carving) 4. Perform an isosurface extraction at the zero-crossing of the signed distance function. Additionally, extract a surface between empty regions and unseen regions.
Implementation Software optimzations 1.Run-length encoding 2. Fast volume traversal 3. Fast surface extraction
Result Range surface Unorganized point Zippered mesh Volumetric mesh Scanning a 1.6 mm drill bit from 12 orientations at a 30 degree spacing using traditional optical triangulation methods
Result Zippered surface Volumetric surface
Result Hole filling without backdrop No hole filling Hole filling with backdrop Smoothed
Result Painted Original Range surface Before hole filling After hole filling Hardcopy
Result Statistics for the reconstruction of the dragon and Buddha models, with and without space carving.
Limitation Optical scanning Volumetric algorithm 1.Surface points must be accessible 2.Surface reflectance affects results Volumetric algorithm Thin surfaces and sharp corners
Future work Carving from video/image silhouettes Next best view, including backdrops Large-scale scenes Surface color acquisition
Question 1.Why the weight change in page11? The weight function taper off behind the range points for reasons discussed below. 2.What does the color line mean in page19 (b) figure? It means we get the range surface from different angle view . taper off behind
Question 3.How does it distinguish hole and back-ground when doing hole filling? By input a backdrop, the hole of surface don’t have backdrop’s color. We can see the different in page 21.
Question 4.The transition between unseen and empty is discontinuous. How does the paper get a better surface? In fact, they did post-filtering the mesh after reconstruction using weighted averages of nearest vertex neighbors. It can get a smooth surface.