550 likes | 927 Views
Discrete geometry. © Alexander & Michael Bronstein, 2006-2009 © Michael Bronstein, 2010 tosca.cs.technion.ac.il/book. 048921 Advanced topics in vision Processing and Analysis of Geometric Shapes EE Technion , Spring 2010. ‘. ‘. ‘. ‘. The world is continuous,.
E N D
Discrete geometry © Alexander & Michael Bronstein, 2006-2009 © Michael Bronstein, 2010 tosca.cs.technion.ac.il/book 048921 Advanced topics in vision Processing and Analysis of Geometric Shapes EE Technion, Spring 2010
‘ ‘ ‘ ‘ The world is continuous, but the mind is discrete David Mumford
Discretization Continuous world Discrete world • Surface • Metric • Topology • Sampling • Discrete metric (matrix of distances) • Discrete topology (connectivity)
Sampling density • How to quantify density of sampling? • is an -covering ofif Alternatively: for all , where is the point-to-set distance.
Sampling efficiency • Are all points necessary? • An -covering may be unnecessarily dense (may even not be a discrete set). • Quantify how well the samples are separated. • is -separated if for all . • For , an -separated set is finite if is compact. Also an r-covering!
Farthest point sampling • Good sampling has to be dense and efficient at the same time. • Find and -separated -covering of . • Achieved using farthest point sampling. • We defer the discussion on • How to select ? • How to compute ?
Farthest point sampling Farthest point
Farthest point sampling • Start with some . • Determine sampling radius • If stop. • Find the farthest point from • Add to
Farthest point sampling • Outcome: -separated -covering of . • Produces sampling with progressively increasing density. • A greedy algorithm: previously added points remain in . • There might be another -separated -covering containing less points. • In practice used to sub-sample a densely sampled shape. • Straightforward time complexity: number of points in dense sampling, number of points in . • Using efficient data structures can be reduced to .
Sampling as representation • Sampling represents a region on as a single point . • Region of points on closer to than to any other • Voronoi region (a.k.a. Dirichlet or Voronoi-Dirichlet region, Thiessen polytope or polygon, Wigner-Seitz zone, domain of action). • To avoid degenerate cases, assume points in in general position: • No three points lie on the same geodesic. (Euclidean case: no three collinear points). • No four points lie on the boundary of the samemetric ball. (Euclidean case: no four cocircular points).
Voronoi decomposition Voronoi region Voronoi edge Voronoi vertex • A point can belong to one of the following • Voronoi region ( is closer to than to any other ). • Voronoi edge ( is equidistant from and ). • Voronoi vertex ( is equidistant from three points ).
Voronoi decomposition • Voronoi regions are disjoint. • Their closure covers the entire . • Cutting along Voronoi edges produces a collection of tiles . • In the Euclidean case, the tiles are convex polygons. • Hence, the tiles are topological disks (are homeomorphic to a disk).
Voronoi tesellation • Tessellation of (a.k.a. cell complex): a finite collection of disjoint open topological disks, whose closure cover the entire . • In the Euclidean case, Voronoi decomposition is always a tessellation. • In the general case, Voronoi regions might not be topological disks. • A valid tessellation is obtained is the sampling is sufficiently dense.
Non-Euclidean Voronoi tessellations • Convexity radius at a point is the largest for which the closed ball is convex in , i.e., minimal geodesics between every lie in . • Convexity radius of = infimum of convexity radii over all . • Theorem (Leibon & Letscher, 2000): An -separated -covering of with convexity radius of is guaranteed to produce a valid Voronoi tessellation. • Gives sufficient sampling density conditions.
Sufficient sampling density conditions Invalid tessellation Valid tessellation
MATLAB® intermezzo Farthest point sampling and Voronoi decomposition
Representation error • Voronoi decomposition replaces with the closest point . • Mapping copying each into . • Quantify the representation error introduced by . • Let be picked randomly with uniform distribution on . • Representation error = variance of
Optimal sampling • In the Euclidean case: (mean squared error). • Optimal sampling: given a fixed sampling size , minimize error Alternatively: Given a fixed representation error , minimize sampling size
Centroidal Voronoi tessellation • In a sampling minimizing , each has to satisfy (intrinsic centroid) • In the Euclidean case – center of mass • In general case: intrinsic centroid of . • Centroidal Voronoi tessellation (CVT): Voronoi tessellation generated by in which each is the intrinsic centroid of .
Lloyd-Max algorithm • Start with some sampling (e.g., produced by FPS) • Construct Voronoi decomposition • For each , compute intrinsic centroids • Update • In the limit , approaches the hexagonal honeycomb shape – the densest possible tessellation. • Lloyd-Max algorithms is known under many other names: vector quantization, k-means, etc.
Sampling as clustering Partition the space into clusters with centers to minimize some cost function • Maximum cluster radius • Average cluster radius In the discrete setting, both problems are NP-hard Lloyd-Max algorithm, a.k.a. k-means is a heuristic, sometimes minimizing average cluster radius (if converges globally – not guaranteed)
Farthest point sampling encore • Start with some , • For • Find the farthest point • Compute the sampling radius Lemma • .
Proof For any
Proof (cont) Since , we have
Almost optimal sampling Theorem (Hochbaum & Shmoys, 1985) Let be the result of the FPS algorithm. Then In other words: FPS is worse than optimal sampling by at most 2.
Idea of the proof Let denote the optimal clusters, with centers Distinguish between two cases One of the clusters contains two or more of the points Each cluster contains exactly one of the points
Proof (first case) Assume one of the clusters contains two or more of the points , e.g. triangle inequality Hence:
Proof (second case) Assume each of the clusters contains exactly one of the points , e.g. Then, for any point triangle inequality
Proof (second case, cont) We have: for any , for any point In particular, for
Connectivity • Neighborhood is a topological definition independent of a metric • Two points are adjacent (directly connected) if they belong to the same neighborhood • The connectivity structure can be represented as an undirected graph with vertices and edges Vertices Edges • Connectivity graph can be represented as a matrix
Shape representation Graph Cloud of points
Connectivity in the plane Four-neighbor Six-neighbor Eight-neighbor
Delaunay tessellation Define connectivity as follows: a pair of points whose Voronoi cells are adjacent are connected The obtained connectivity graph is dual to the Voronoi diagram and is called Delaunay tesselation Boris Delaunay (1890-1980) Voronoi regions Connectivity Delaunay tesselation
Delaunay tessellation For surfaces, the triangles are replaced by geodesic triangles [Leibon & Letscher]: under conditions that guarantee the existence of Voronoi tessellation, Delaunay triangles form a valid tessellation Replacing geodesic triangles by planar ones gives Delaunay triangulation Geodesic triangles Euclidean triangles
Shape representation Graph Cloud of points Triangular mesh
Triangular meshes A structure of the form consisting of • Vertices • Edges • Faces is called a triangular mesh The mesh is a purely topological object and does not contain any geometric properties The faces can be represented as an matrix of indices, where each row is a vector of the form , and
Triangular meshes The geometric realization of the mesh is defined by specifying the coordinates of the vertices for all The coordinates can be represented as an matrix The mesh is a piece-wise planar approximation obtained by gluing the triangular faces together, Triangular face
Example of a triangular mesh Vertices Coordinates Edges Faces Topological Geometric
Barycentric coordinates Any point on the mesh can be represented providing • index of the triangle enclosing it; • coefficients of the convex combination of the triangle vertices Vector is called barycentric coordinates
Manifold meshes • is a manifold • Neighborhood of each interior vertex is homeomorphic to a disc • Neighborhood of each boundary vertex is homeomorphic to a half-disc • Each interior edge belongs to two triangles • Each boundary edge belongs to one triangle
Non-manifold meshes Edge shared by four triangles Non-manifold mesh
Geometry images Surface Geometry image Global parametrization Sampling of parametrization domain on a Cartesian grid
Geometry images Six-neighbor Eight-neighbor Manifold mesh Non-manifold mesh
Geometric validity Topologically valid Geometrically invalid Topological validity (manifold mesh) is insufficient! Geometric validity means that the realization of the triangular mesh does not contain self-intersections
Skeleton For a smooth compact surface , there exists an envelope (open set in containing ) such that every point is continuously mappable to a unique point on The mapping is realized as the closest point on from Problem when is equidistant from two points on (such points are called medial axis or skeleton of ) If the mesh is contained in the envelope (does not intersect the medial axis), it is valid
Skeleton Points equidistant from the boundary form the skeleton of a shape
Local feature size Distance from point on to the medial axis of is called the local feature size, denoted Local feature size related to curvature (not an intrinsic property!) [Amenta&Bern, Leibon&Letscher]: if the surface is sampled such that for every an open ball of radius contains a point of , it is guaranteed that does not intersect the medial axis of Conclusion: there exists sufficiently dense sampling guaranteeing that is geometrically valid