COMP37111 Advanced Computer Graphics 4: Model Acquisition - 2 - - PDF document

comp37111 advanced computer graphics
SMART_READER_LITE
LIVE PREVIEW

COMP37111 Advanced Computer Graphics 4: Model Acquisition - 2 - - PDF document

COMP37111 Toby Howard COMP37111 Advanced Computer Graphics 4: Model Acquisition - 2 toby.howard@manchester.ac.uk 1 Surface fitting using triangulation The raw range data is triangulated , to form an approximate surface We need


slide-1
SLIDE 1

COMP37111 Toby Howard School of Computer Science The University of Manchester 1

4: Model Acquisition - 2

COMP37111 Advanced Computer Graphics

toby.howard@manchester.ac.uk

1

Surface fitting using triangulation

§ We need a tolerance, so unrelated distant points are not connected § This leads to holes, but holes can be filled (see later)

2

§ The raw range data is triangulated, to form an approximate surface

This point is too far away to join in

slide-2
SLIDE 2

COMP37111 Toby Howard School of Computer Science The University of Manchester 2

How to triangulate?

3

§ We can guess a simple algorithm to triangulate this: § But what about this point set (more likely):

Example point set

4

slide-3
SLIDE 3

COMP37111 Toby Howard School of Computer Science The University of Manchester 3

Example point set

5

0.001565 26.307560 151.121063 91.730026 106.553444 43.791836 9.408923 135.772949 135.859283 186.938583 76.700417 103.883278 166.193069 6.914422 10.692327 105.940041 134.229874 1.539637 76.683128 13.368447 83.497200 137.354538 117.795326 186.087296 169.233383 105.385757 18.392979 130.783798 83.199867 140.238113 182.064163 152.439606 52.490597 9.492903 147.216385 65.646843 126.527718 151.282089 198.207474 73.067734 49.407776 196.510056 144.532089 150.671173 130.303711 14.537176 126.326942 176.941437 54.541992 87.282280 153.298950 95.546356 47.554886 54.981369 71.852997 33.301441 97.303474 179.531250 181.841629 12.112865 180.930618 100.904587 103.258392 63.806587 197.328430 98.795334 53.228905 18.146580 189.552856 14.749815 100.141418 76.828430 55.416359 182.763489 105.949471 92.889168 188.195984 10.016797 152.302856 154.040909 165.563461 25.073074 3.173540 137.691055 173.649429 125.908684 147.244904 145.082397 199.891586 177.714447 46.638973 61.264366 70.203049 102.654739 118.222717 169.196304 82.416153 168.302124 53.863453 83.078918 107.460800 93.583473

A triangulation algorithm

6

Convex hull

slide-4
SLIDE 4

COMP37111 Toby Howard School of Computer Science The University of Manchester 4

Examples of triangulations

7

Triangulation § This is a hard problem § Many possible solutions for a given set § What makes a particular solution “desirable” ?

§ Regularity: roughly similar-sized triangles § No “degenerate” triangles ( v1==v2 (==v3) ) § Speed of algorithm (time/space complexity)

8

slide-5
SLIDE 5

COMP37111 Toby Howard School of Computer Science The University of Manchester 5

Delaunay Triangulation § Invented by Boris Delaunay in 1934 § A special kind of triangulation… § …with some useful properties

9

Delaunay Triangulation properties

§ The boundary of the triangulation is the convex hull of the points § The circumcircle of each triangle overlaps no other triangles § Triangles have the largest possible interior angles (so long, thin, triangles are rare) § A Deluanay triangulation of a point set P is a triangulation where every edge E is a “Delaunay edge”

10

slide-6
SLIDE 6

COMP37111 Toby Howard School of Computer Science The University of Manchester 6

Delauney edges

§ Given a set of points P § An edge P1P2 is a “Delaunay edge”… § …IFF it is possible to draw a circle through P1P2 such that the circle contains no other vertices from P

11

P1 P2 Examples of possible circles though P1P2

12

a Delaunay edge a Delaunay edge NOT a Delaunay edge: it’s impossible to draw a circle passing through edge AB which doesn’t enclose any other vertices

Let’s look at a few edges…

A B

slide-7
SLIDE 7

COMP37111 Toby Howard School of Computer Science The University of Manchester 7

Delaunay triangle

§ Following the definition of a Delaunay edge, a triangle T is called a Delaunay triangle IFF its circumcircle does not enclose any

  • ther vertices in P

13

T1 T2

§ T1 is not a Delaunay triangle. But T2 is.

Delaunay Triangle algorithm

§ Create a big dummy triangle that surrounds the entire point set. Mark all Pi as “not done”. Then:

  • 1. Choose a random “not done” point Pi, and

find a triangle T which encloses it.

  • 2. Split T into smaller triangles T1,T2,T3 with Pi

as a vertex.

  • 3. For each triangle, check its circumcircle to

see if it is Delaunay. If it is, OK. If it isn’t, swap edges around (the fiddly bit, details ignored) until it is.

  • 4. Mark Pi “done”.
  • 5. Repeat from step 1 until all Pi are “done”.

§ Efficiency of algorithm is crucial for huge datasets

14

T1 T Pi T T2 T3 T1 T2 T3

slide-8
SLIDE 8

COMP37111 Toby Howard School of Computer Science The University of Manchester 8

Delaunay triangulation result

15

… compared to some random triangulations:

Delaunay Triangulation applets

§ http://www.cs.cornell.edu/home/chew/Delaunay.html § Comparison of different algorithms: http://goanna.cs.rmit.edu.au/~gl/research/ comp_geom/delaunay/delaunay.html (excellent example of algorithms with different complexities) § http://www.cse.unsw.edu.au/~lambert/java/3d/ delaunay.html

16

slide-9
SLIDE 9

COMP37111 Toby Howard School of Computer Science The University of Manchester 9

Laser scanning

17

Raw range data

Laser scanning

18

Triangulated range data

slide-10
SLIDE 10

COMP37111 Toby Howard School of Computer Science The University of Manchester 10

Mesh simplification

19

§ In many cases we have too much data § Space complexity § Time complexity § Difficult to render in real-time § So we simplify the mesh by removing vertices, but preserving shape § Many methods have been developed, still ongoing field of research § The following example uses “Quadratic Edge Collapse” – see “Surface Simplification Using Quadratic Error Metrics, http://www1.cs.columbia.edu/~cs4162/html05s/garland97.pdf (the paper itself is not examinable).

Simplification by edge collapse

20

§ We collapse edges between P1 and P2 into a single point and adjust triangulation § We select candidate points based on an estimation of error – for example || P2-P1 ||, but many different approaches used to quantify error

P1 P2

slide-11
SLIDE 11

COMP37111 Toby Howard School of Computer Science The University of Manchester 11

21

P1 P2

§ P1 and P2 are removed and replaced by their mid-point M § The two green triangles will be removed § Edges which previously connected to P1 or P2 will be moved to M (and duplicates removed)

M

Simplification by edge collapse

22

M

§ The resulting mesh retains its convex hull § Changes are localised within the mesh § The key to the success of the method is the computation of a suitable error metric for vertices, for choosing which to collapse

Simplification by edge collapse

slide-12
SLIDE 12

COMP37111 Toby Howard School of Computer Science The University of Manchester 12

23

Example of Simplification Triangles = 25000

FOR YOU TO DO These simplification examples were produced using Meshlab (meshlab.sourceforge.net) Download it and try some simplification experiments with its sample objects

24

Example of Simplification Triangles = 12000

slide-13
SLIDE 13

COMP37111 Toby Howard School of Computer Science The University of Manchester 13

25

Example of Simplification Triangles = 6000

26

Example of Simplification Triangles = 3000

slide-14
SLIDE 14

COMP37111 Toby Howard School of Computer Science The University of Manchester 14

27

Example of Simplification Triangles = 500

Surface fitting

28

Raw range data Approximated surface

slide-15
SLIDE 15

COMP37111 Toby Howard School of Computer Science The University of Manchester 15

Integration of texture

29 www.impactstudiostv.com

Integration of texture

30 http://www.impactstudiostv.com

slide-16
SLIDE 16

COMP37111 Toby Howard School of Computer Science The University of Manchester 16 § Left: photograph of model § Right: reconstruction:

  • cclusions lead to

sparse range data

31 graphics.stanford.edu/papers/volrange/

Solving the occlusion problem Solving the occlusion problem

§ Most models self-occlude… § … so no single range image can capture a model § Parts of the captured model will be missing § We need to take multiple range images and combine them… how? § Basic approach: § Sets of range data are registered § Data is filtered § Attempt to estimate a new “ideal” surface that is “closest” to as many range points as possible § Remesh “ideal” surface into triangles § Paper: “Zippered Polygon Meshes from Range Images” (required reading, examinable)

32

slide-17
SLIDE 17

COMP37111 Toby Howard School of Computer Science The University of Manchester 17 Case Study: Digital Michelangelo Project

§ Stanford University, from 1999 and ongoing

33

graphics.stanford.edu/projects/mich/

§ Scan depth resolution = 0.1mm § Scan sample resolution = 0.29mm

34

slide-18
SLIDE 18

COMP37111 Toby Howard School of Computer Science The University of Manchester 18

Remote rendering of large data sets

35

ScanView: graphics.stanford.edu/software/scanview

FOR YOU TO DO: download Scanview and try it

Scanview: remote rendering of large data sets

36

Client Local interaction with free low-res model Secure server Computes high-res rendering on demand Client requests high-res rendering, sending parameters Server returns high-res rendering as a texture internet internet

slide-19
SLIDE 19

COMP37111 Toby Howard School of Computer Science The University of Manchester 19

Filling in holes

§ A different method for dealing with holes caused by occlusions is “volumetric diffusion” § http://graphics.stanford.edu/papers/holefill-3dpvt02

37 38

Photograph of original Acquired model: 1mm resolution, 4m polygons

slide-20
SLIDE 20

COMP37111 Toby Howard School of Computer Science The University of Manchester 20

David: some statistics

§ 460 separate scans § 2 billion polygons § 7,000 colour images § 32 gigabytes of data § 1,080 person-hours

  • f processing

§ 22 people in team

39

Summary

§ Laser range scanning can rapidly extract the 3D geometry of real objects § Problems:

§ Complex objects require multiple scans which must be aligned and connected § Occlusions cause holes which must be “intelligently” filled § Data sets are huge § Polygon soup or structured model?

40