meshes from point clouds triangulating point clouds

8
1 University of University of British Columbia British Columbia Meshes from Point Clouds University of University of British Columbia British Columbia Triangulating Point Clouds General Idea Connect neighboring points into triangles Issues Who are the neighbors? connectivity/topology Efficiency – (David 32GIGA)

Upload: dangkiet

Post on 30-Dec-2016

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Meshes from Point Clouds Triangulating Point Clouds

1

University ofUniversity ofBritish ColumbiaBritish Columbia

Meshes from Point Clouds

University ofUniversity ofBritish ColumbiaBritish Columbia

Triangulating Point Clouds

General Idea Connect neighboring points into triangles

IssuesWho are the neighbors?

connectivity/topologyEfficiency – (David 32GIGA)

Page 2: Meshes from Point Clouds Triangulating Point Clouds

2

University ofUniversity ofBritish ColumbiaBritish Columbia

Basic Reconstruction - Zippering

Use range scanner properties for reconstruction

Single scan from given direction produces regular lattice of points in X and Y with changing depth (Z)

Register/Combine multiple scans to create complete model

Find “optimal” registration

Variations of this setup used by commercial scanners

University ofUniversity ofBritish ColumbiaBritish Columbia

Algorithm steps

Generate separate mesh from each scan Use X & Y adjacency info

CombineRegister positionsMerge meshes

Page 3: Meshes from Point Clouds Triangulating Point Clouds

3

University ofUniversity ofBritish ColumbiaBritish Columbia

Single Mesh from Range Image

Find quadruples of lattice pointsForm triangles

Find shortest diagonalForm two triangles (test depth)

S

University ofUniversity ofBritish ColumbiaBritish Columbia

Single Mesh from Range Image

Avoid connecting depth discontinuities:

Test 3D distance between points when generating triangles

Do not generate if depth >> S

Page 4: Meshes from Point Clouds Triangulating Point Clouds

4

University ofUniversity ofBritish ColumbiaBritish Columbia

Registration of Range Images

Align corresponding portions of different range images

Variation of Iterated closest-point (ICP) algorithm

Initial alignment from camera positions (user)

University ofUniversity ofBritish ColumbiaBritish Columbia

Alignment (ICP)

Find nearest position on mesh A to each vertex of mesh BDiscard pairs of points that are too far apartFind rigid transformation that minimizes weighted least-squared distanceIterate until convergence

EliminateEliminate

Page 5: Meshes from Point Clouds Triangulating Point Clouds

5

University ofUniversity ofBritish ColumbiaBritish Columbia

Point Matching

Input: 2 matching sets of 3D points (M, D)

Find rigid transformation (rotation+translation) which minimizes the distance between M and D

Use Least-Squares

University ofUniversity ofBritish ColumbiaBritish Columbia

After registration have two overlapping meshes

Need to combine into single connectivity

ZipperingRemove overlapping portion of the mesh

Use for consensus geometryClip one mesh against anotherRemove triangles introduced during clipping

Integration: Mesh Zippering

A

B

Page 6: Meshes from Point Clouds Triangulating Point Clouds

6

University ofUniversity ofBritish ColumbiaBritish Columbia

The Telephone Handset Example

Info : 10 range images, more than 160,000 triangles.

Zippering results

consensus geometry

University ofUniversity ofBritish ColumbiaBritish Columbia

The Dinosaur Example

Info : 14 range images, more than 360,000 polygons.

plastic dinosaur model

polygon mesh

Page 7: Meshes from Point Clouds Triangulating Point Clouds

7

University ofUniversity ofBritish ColumbiaBritish Columbia

Some Related Algebra – Matrix Decomposition

Or how to solve for orthonormaltransformation matrices...

University ofUniversity ofBritish ColumbiaBritish Columbia

Singular Value Decomposition

Any m by n matrix A may be factored such thatA = UΣVT

U: m by m, orthogonal, columns are the eigenvectors of AAT

V: n by n, orthogonal, columns are the eigenvectors of ATAΣ: m by n, diagonal, r singular values are the square roots of the eigenvalues of both AAT and ATA

Page 8: Meshes from Point Clouds Triangulating Point Clouds

8

University ofUniversity ofBritish ColumbiaBritish Columbia

Application: Pseudoinverse

Given y = Ax, x = A+yFor square A, A+ = A-1

For any A…

A+ = VΣ-1UT

A+ is called pseudoinverse of A.x = A+y - least-squares solution of y = Ax

University ofUniversity ofBritish ColumbiaBritish Columbia

Polar Decomposition

A = UΣVT

P = VΣVT

Polar or QR DecompositionA=QP

Q=UVT

Q is orthonormal