bounded-distortion piecewise mesh parameterization olga sorkine, daniel cohen-or tel-aviv university...

42
Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University of Jerusalem

Post on 19-Dec-2015

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

Bounded-distortion Piecewise Mesh Parameterization

Olga Sorkine, Daniel Cohen-OrTel-Aviv University

Rony Goldenthal, Dani LischinskiThe Hebrew University of Jerusalem

Page 2: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

2

Overview

Parameterization – definition Applications Distortion and partition Previous work Our approach Results

Page 3: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

3

Parameterization - definition

S R3 - given surface

D R2 - parameter domain

s : D S 1-1 and onto

),(

),(

),(

),(

vuz

vuy

vux

vus

Page 4: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

4

Mesh parameterization

Uniquely defined by mapping the mesh vertices to the parameter domain:

U : {v1, v2, …, vn} → D R2

U(vi) = (ui, vi)

No two edges cross in the plane U is piecewise linear (linear inside each face) Mesh parameterization mesh embedding

Page 5: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

5

Applications

Texture mapping, 3D painting Resampling, remeshing Digital geometry processing Multi-resolution analysis

Using parameterization, we can operate on the 3D surface as if it were flat.

Remeshing images taken from “Interactive Geometry Remeshing”, P. Alliez, M. Meyer and M. Desbrun, SIGGRAPH 2002

Page 6: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

6

Distortion and partition

Ideal parameterization is an isometry General surfaces cannot be embedded without distortion

– Surfaces with non-zero Gaussian curvature– Non-disk topology

Partitioning the surface reduces distortion But: the parameterization is not continuous over the

boundaries between the patches of the partition

Page 7: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

7

Previous work

Partition/cut the mesh in pre-process– Interactive user input– Normals bucketing– Region growing from feature curves (Lévy et al. 02)

Flatten each patch by energy minimization– Convex mapping (Floater 97)

– Harmonic mapping (Maillot et al. 93, Eck et al 95)

– Conformal mapping (Lévy et al. 02, Desbrun et al. 02)

– Non-linear Jacobian energy minimization (Sander et al. 01)

Page 8: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

8

Previous work – partial list

Maillot et al. 93 Eck et al. 95 Floater 97 Lévy and Mallet 98 Lee et al. 98 Haker et al. 00 Sander et al. 01 Gu et al. 02 Sheffer 02 Lévy et al. 02 Desbrun et al. 02 Zigelman et al. 02

Bennis et al. 91

Page 9: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

9

Previous framework - discussion

A-priori partition sets lower bound on the distortion cannot comply with preset upper bound on the distortion.

If the distortion is too high, need to subdivide the partition and recompute the parameterization.

Most of the methods cannot prevent triangle flips and global self-intersections (overlaps).

High computational cost (for non-linear optimizations).

Page 10: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

10

Bennis et al. 91

Works on C2 surfaces sampled on regular grid, even geodesic spacing in both u and v directions.

Surface Plane

If distortion > threshold stop

Page 11: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

11

Our contribution

Parameterization with bounded distortion Simultaneous partition and parameterization Valid parameterization – no self-intersections Simple and fast algorithm Generic scheme

Page 12: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

12

Algorithm overview

Greedy algorithm: grow one patch at a time, until no more vertices can be added.

At each step, attempts to flatten the “best” vertex adjacent to the current patch – local criteria.

The distortion of each mesh triangle is guaranteed to be below specified threshold.

Page 13: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

13

Algorithm overview

Select random seed triangle, flatten it.

Maintain a priority queue of the vertices adjacent to the current patch.

Flatten triangles adjacent to current patch:– At each step, take the best vertex off the queue– Check for self-intersections

Stop when no triangles can be added to the patch, and start a new one.

Page 14: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

14

The 3D surface

Patch Growth

Page 15: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

15

The planar patch

Patch Growth

The 3D surface

Page 16: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

16

Patch Growth

The planar patchThe 3D surface

Page 17: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

17

Patch Growth

The planar patchThe 3D surface

Page 18: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

18

Patch Growth

The planar patchThe 3D surface

Page 19: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

19

Patch Growth

The planar patchThe 3D surface

Page 20: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

20

Patch Growth

The planar patchThe 3D surface

Page 21: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

21

Patch Growth

The planar patchThe 3D surface

Page 22: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

22

Patch Growth

The planar patchThe 3D surface

Page 23: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

23

Patch Growth

The planar patchThe 3D surface

Page 24: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

24

Patch Growth

The planar patchThe 3D surface

Page 25: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

25

22min

22max

42

1

42

1

bcaca

bcaca

t

S

t

Sc

t

S

s

Sb

s

S

s

Sa

The Jacobian distortion metric

D(T, T’) = max{max , 1/ min }

max and min are the singular values of the Jacobian [S/s S/t]:

The values max and min are the maximal stretching and shrinking caused to a unit-length vector by the mapping S

We want to equally “punish” stretch and shrink Any other reasonable metric can be used!

ST T’

In 2D In 3D

Page 26: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

26

T1 T2

V

v

t1 t2t1 t2

v1 v2

Flattening a single vertex

Page 27: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

27

Vertex grade components

Maximal distortion caused to the triangles flattened with the vertex. If it’s greater than the threshold, the grade is set to zero and the vertex can’t be flattened in the current patch!

The ratio between patch area and squared perimeter (to create round patches with small boundary length).

Crease angles or other segmentation information.

More criteria…

Page 28: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

28

Local self-intersection – triangle flipping

V

1

1 2

2

Checking self-intersections

Page 29: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

29

Global self-intersections: maintain space partition data structure, check the new triangles with the existing boundary edges.

Checking self-intersections

Page 30: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

30

Adding seams

After the patch is finished, we may add seams as a post-process, to benefit from cylinder-like structure.

Page 31: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

31

Adding seams

After the patch is finished, we may add seams as a post-process, to benefit from cylinder-like structure.

Page 32: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

32

Results

11,000 triangles, 1.3 seconds, unoptimized code

Page 33: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

33

1.01.0

1.51.5

2.02.0

3.03.03.03.0

1.01.0

1.51.5

2.02.0

3.03.0

1.01.0

1.51.5

2.02.0

3.03.0

Results

Page 34: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

34

Bounding the area/perimeter2 ratio...

Results

40,000 triangles, 4 seconds, unoptimized code

Page 35: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

35

Results

100,000 triangles, 9 seconds, unoptimized code

Page 36: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

36

Results

Page 37: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

37

Comparison with global relaxation technique, normal bucketing partition

Conclusions from the comparison:– Much faster– Lower average distortion– Boundary length – sometimes the same, sometimes longer…

Page 38: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

38

Texture mapping with our parameterization

Page 39: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

39

3D painting with our parameterization

Page 40: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

40

Summary

A simple and fast method for surface parameterization Simultaneously computes the partition and the

parameterization Employs local (generic) criteria rather than global ones No self-intersections

No explicit control on the number and the size of the patches

Future work: to incorporate segmentation information to gain some “global” properties

Page 41: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

41

Acknowledgements

Israel Science Foundation founded by the Israel Academy of Sciences and Humanities

Israeli Ministry of Science German Israel Foundation (GIF) Deutsch Institute

Page 42: Bounded-distortion Piecewise Mesh Parameterization Olga Sorkine, Daniel Cohen-Or Tel-Aviv University Rony Goldenthal, Dani Lischinski The Hebrew University

Thank you!