atomic volumes for mesh completion joshua podolak szymon rusinkiewicz princeton university

Post on 18-Dec-2015

217 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Atomic Volumes for Atomic Volumes for Mesh CompletionMesh Completion

Joshua PodolakJoshua Podolak

Szymon RusinkiewiczSzymon Rusinkiewicz

Princeton UniversityPrinceton University

OutlineOutline

Problem DescriptionProblem Description

BackgroundBackground

AlgorithmAlgorithm

ResultsResults

MotivationMotivation

Scanners usually need two unobstructed lines of sight Scanners usually need two unobstructed lines of sight between the cameras and the modelbetween the cameras and the model

Even with multiple scans, there are areas containing no Even with multiple scans, there are areas containing no depth information that need to be filleddepth information that need to be filled

Holes bounded by ring of half-edges.Holes bounded by ring of half-edges.

Filling HolesFilling Holes

Holes bounded by ring of half-edges.Holes bounded by ring of half-edges.

In simple cases, it is sufficient to create a patch by In simple cases, it is sufficient to create a patch by triangulating the half-edge loops around the holes.triangulating the half-edge loops around the holes.

Triangulate?Triangulate?

ChallengeChallenge

Triangulation is not enough.Triangulation is not enough.

Triangulation is not enough.Triangulation is not enough.

ChallengeChallenge

Talk OverviewTalk Overview

Problem DescriptionProblem Description

BackgroundBackground

AlgorithmAlgorithm

ResultsResults

Related WorkRelated Work

Point cloud reconstructionPoint cloud reconstruction[[Amenta01Amenta01, Kolluri04], Kolluri04]

Half-edge boundary triangulationHalf-edge boundary triangulation[Berg97, Liepa03][Berg97, Liepa03]

Implicit hole fillingImplicit hole filling[Curless96, Davis02, Masuda04, Ju04, Sharf04][Curless96, Davis02, Masuda04, Ju04, Sharf04]

Volumetric hole fillingVolumetric hole filling[Murali97][Murali97]

Related WorkRelated Work

Point cloud reconstructionPoint cloud reconstruction[Amenta01, Kolluri04][Amenta01, Kolluri04]

Half-edge boundary triangulationHalf-edge boundary triangulation[Berg97,[Berg97, Liepa03 Liepa03]]

Implicit hole fillingImplicit hole filling[Curless96, Davis02, Masuda04, Ju04, Sharf04][Curless96, Davis02, Masuda04, Ju04, Sharf04]

Volumetric hole fillingVolumetric hole filling[Murali97][Murali97]

Related WorkRelated Work

Point cloud reconstructionPoint cloud reconstruction[Amenta01, Kolluri04][Amenta01, Kolluri04]

Half-edge boundary triangulationHalf-edge boundary triangulation[Berg97, Liepa03][Berg97, Liepa03]

Implicit hole fillingImplicit hole filling[Curless96, [Curless96, Davis02Davis02, Masuda04, Ju04, Sharf04], Masuda04, Ju04, Sharf04]

Volumetric hole fillingVolumetric hole filling[Murali97][Murali97]

Related WorkRelated Work

Point cloud reconstructionPoint cloud reconstruction[Amenta01, Kolluri04][Amenta01, Kolluri04]

Half-edge boundary triangulationHalf-edge boundary triangulation[Berg97, Liepa03][Berg97, Liepa03]

Implicit hole fillingImplicit hole filling[Curless96, Davis02, Masuda04, Ju04, Sharf04][Curless96, Davis02, Masuda04, Ju04, Sharf04]

Volumetric hole fillingVolumetric hole filling[[Murali97Murali97]]

Talk OverviewTalk Overview

Problem DescriptionProblem Description

BackgroundBackground

AlgorithmAlgorithm

ResultsResults

Definition: Atomic VolumeDefinition: Atomic Volume

A volume is A volume is atomicatomic if it cannot be intersected by the if it cannot be intersected by the surface of the model.surface of the model.

An atomic volume must be either completely inside or An atomic volume must be either completely inside or completely outside the model.completely outside the model.

2 atomic volumes

Overview of ApproachOverview of Approach

1.1. Divide all of space into Divide all of space into atomic volumesatomic volumes. . Regions of space that will either be wholly in or wholly out of Regions of space that will either be wholly in or wholly out of

the reconstructed solid.the reconstructed solid.

2.2. For each atomic volume, decide whether it is inside For each atomic volume, decide whether it is inside the mesh or outside.the mesh or outside.

3.3. The boundary between interior volumes and exterior The boundary between interior volumes and exterior volumes is the new surface.volumes is the new surface.

Step 1: Spatial PartitioningStep 1: Spatial Partitioning

Step 1: Spatial PartitioningStep 1: Spatial Partitioning

Blank Region

Blank cubes do not contain any part of the input model.Blank cubes do not contain any part of the input model.

Blank cubes

Step 1: Spatial PartitioningStep 1: Spatial Partitioning

In Region

Out Region

Blank Region

InsideInside//OutsideOutside ( (IIOO): Cubes containing elements of the surface): Cubes containing elements of the surfaceaway from the holes. away from the holes.

IO cubes

Step 1: Spatial PartitioningStep 1: Spatial Partitioning

In Region

Out Region

Hole Region

Blank Region

Hole Hole cubes are subdivided until they can be cubes are subdivided until they can be trivially triangulated trivially triangulated [Mitchell92][Mitchell92] ..

Hole cubes

Step 2: Label AssignmentStep 2: Label Assignment

Most of the volumes can be labeled as inside or outside based on Most of the volumes can be labeled as inside or outside based on the normals of the input mesh.the normals of the input mesh.

Filling the hole requires labeling the remaining volumes as inside Filling the hole requires labeling the remaining volumes as inside and outside.and outside.

Outside

Inside

Step 2: Label AssignmentStep 2: Label Assignment

Atomic volumes correspond to nodes in the graph with edges Atomic volumes correspond to nodes in the graph with edges between neighboring volumes.between neighboring volumes.

Step 2: Label AssignmentStep 2: Label Assignment

Atomic volumes correspond to nodes in the graph with edges Atomic volumes correspond to nodes in the graph with edges between neighboring volumes.between neighboring volumes.

Atomic volumes on either side of a surface are not connected.Atomic volumes on either side of a surface are not connected.

Step 2: Label AssignmentStep 2: Label Assignment

Atomic volumes corresponds nodes in the graph Atomic volumes corresponds nodes in the graph with edges with edges between neighboring volumes.between neighboring volumes.

Atomic volumes on either side of a surface are not connected.Atomic volumes on either side of a surface are not connected.

The mesh graph can be split into two disjoint sub graphs.The mesh graph can be split into two disjoint sub graphs.

Mesh GraphMesh Graph

In Region

Out Region

Hole Region

Blank Region

Blank cube

Mesh GraphMesh Graph

I/O cube

In Region

Out Region

Hole Region

Blank Region

Mesh GraphMesh Graph

Hole cube

In Region

Out Region

Hole Region

Blank Region

In a watertight surface, there can be noIn a watertight surface, there can be no path path between inside and outside nodes.between inside and outside nodes.

Mesh GraphMesh Graph

In Region

Out Region

Hole Region

Blank Region

Step 2: Label AssignmentStep 2: Label Assignment

Splitting the graph into two sub graphs is equivalent to Splitting the graph into two sub graphs is equivalent to labeling each of the atomic volumes. labeling each of the atomic volumes.

Initially labeled atomic volumes must retain original Initially labeled atomic volumes must retain original labeling. labeling.

Minimum Cut Minimum Cut – Add source and sink nodes.Add source and sink nodes.– Constraint edges have a weight of infinity.Constraint edges have a weight of infinity.

Labeling VolumesLabeling Volumes

Sink

(outside)

Source

(inside)Constraint edges

Creating PatchCreating Patch

Every edge cut in the graph corresponds to a surface Every edge cut in the graph corresponds to a surface added to the model.added to the model.

In Region

Out Region

Hole Region

Blank Region

Topological ControlTopological Control

A graph allows adding additional constraints based on A graph allows adding additional constraints based on other sources of information such as Space Carving, other sources of information such as Space Carving, Shadow Carving, or direct user input.Shadow Carving, or direct user input.

Adding an edge with weight infinity between an atomic Adding an edge with weight infinity between an atomic volume to the sink node constrains that volume to be volume to the sink node constrains that volume to be outside the model.outside the model.

Atomic volumes containing points with contradicting Atomic volumes containing points with contradicting constraints may be subdivided.constraints may be subdivided.

Topological ControlTopological Control

In the figure on the right, points are added manually to In the figure on the right, points are added manually to indicate that the space between the two toes is outside.indicate that the space between the two toes is outside.

Initial mesh Unconstrained solution

Constrained solution

SmoothingSmoothing

Big atomic volumes cause faceting of the surfaceBig atomic volumes cause faceting of the surface..

We introduce a smoothing step to address faceting.We introduce a smoothing step to address faceting.

In Region

Out Region

Hole Region

Blank Region

SmoothingSmoothing

Big atomic volumes cause faceting of the surfaceBig atomic volumes cause faceting of the surface..

We introduce a smoothing step to address faceting.We introduce a smoothing step to address faceting.

SmoothingSmoothing

Big atomic volumes cause faceting of the surfaceBig atomic volumes cause faceting of the surface..

We introduce a smoothing step to address faceting.We introduce a smoothing step to address faceting.

Unsmoothed Smoothed

SmoothingSmoothing

Coarse smoothing will changes the labeling of entire Coarse smoothing will changes the labeling of entire atomic volumes.atomic volumes.

Fine smoothing keeps the topology of the mesh graph Fine smoothing keeps the topology of the mesh graph constant, but allows the boundary between adjacent constant, but allows the boundary between adjacent atomic volumes to change. atomic volumes to change.

Unsmoothed Smoothed

SmoothingSmoothing

Constrained Laplacian Smoothing.

We do not move vertices that cause the mesh graph to change.

Result after five iterations

Talk OverviewTalk Overview

Problem DescriptionProblem Description

BackgroundBackground– Related WorkRelated Work– Volumetric RepresentationVolumetric Representation

AlgorithmAlgorithm

ResultsResults

ResultsResults

Cross section of spiral torus.Half-torus filled with two different patches.

ResultsResults

Bunny: 70k faces. 78 sec.

Angel: 350k faces. 15 min.

ConclusionsConclusions

Atomic Volumes is a discrete volumetric method for Atomic Volumes is a discrete volumetric method for mesh completion.mesh completion.

The use of an adaptive subdivision of space allows the The use of an adaptive subdivision of space allows the algorithm to focus on target areas. algorithm to focus on target areas.

Using a mesh-graph provides flexibility in determining Using a mesh-graph provides flexibility in determining the patch.the patch.

Future WorkFuture Work

Soft constraints.Soft constraints.

Advanced smoothing.Advanced smoothing.– Flexible atomic volumes.Flexible atomic volumes.– Thin plate energy.Thin plate energy.– Texture Synthesis.Texture Synthesis.

Signal processing.Signal processing.– Localized filtering.Localized filtering.– Deformation.Deformation.

Thank youThank you

Mesh GraphMesh Graph

A mesh graph contains a node for each atomic volume.A mesh graph contains a node for each atomic volume.

An edge between neighboring atomic volumes represents the An edge between neighboring atomic volumes represents the strength of the belief that they will be labeled similarly.strength of the belief that they will be labeled similarly.

top related