Numerical geometry of non-rigid shapes

Slides:



Advertisements
Similar presentations
Signal-Specialized Parametrization Microsoft Research 1 Harvard University 2 Microsoft Research 1 Harvard University 2 Steven J. Gortler 2 Hugues Hoppe.
Advertisements

Steady-state heat conduction on triangulated planar domain May, 2002
Lecture 15. Graph Algorithms
Problem solving with graph search
Fast Marching on Triangulated Domains
Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
Approximations of points and polygonal chains
Differential geometry I
Multiple Shape Correspondence by Dynamic Programming Yusuf Sahillioğlu 1 and Yücel Yemez 2 Pacific Graphics 2014 Computer Eng. Depts, 1, 2, Turkey.
Graphs Graphs are the most general data structures we will study in this course. A graph is a more general version of connected nodes than the tree. Both.
Data Structure and Algorithms (BCS 1223) GRAPH. Introduction of Graph A graph G consists of two things: 1.A set V of elements called nodes(or points or.
Extended Gaussian Images
Topology-Invariant Similarity and Diffusion Geometry
Discrete Geometry Tutorial 2 1
Inter-Surface Mapping John Schreiner, Arul Asirvatham, Emil Praun (University of Utah) Hugues Hoppe (Microsoft Research)
MATHIEU GAUTHIER PIERRE POULIN LIGUM, DEPT. I.R.O. UNIVERSITÉ DE MONTRÉAL GRAPHICS INTERFACE 2009 Preserving Sharp Edges in Geometry Images.
Corp. Research Princeton, NJ Cut Metrics and Geometry of Grid Graphs Yuri Boykov, Siemens Research, Princeton, NJ joint work with Vladimir Kolmogorov,
Discrete geometry Lecture 2 1 © Alexander & Michael Bronstein
1 Numerical geometry of non-rigid shapes Consistent approximation of geodesics in graphs Consistent approximation of geodesics in graphs Tutorial 3 © Alexander.
Shape reconstruction and inverse problems
Fast marching methods The continuous way 1
1 Processing & Analysis of Geometric Shapes Shortest path problems Shortest path problems The discrete way © Alexander & Michael Bronstein, ©
CENG 789 – Digital Geometry Processing 05- Smoothing and Remeshing
Numerical Optimization
Fast marching methods Lecture 3 1 © Alexander & Michael Bronstein
1 GEOMETRIE Geometrie in der Technik H. Pottmann TU Wien SS 2007.
1 Bronstein 2 and Kimmel Extrinsic and intrinsic similarity of nonrigid shapes Michael M. Bronstein Department of Computer Science Technion – Israel Institute.
1 Numerical geometry of non-rigid shapes Lecture II – Numerical Tools Numerical geometry of shapes Lecture II – Numerical Tools non-rigid Alex Bronstein.
Randomized Planning for Short Inspection Paths Tim Danner Lydia E. Kavraki Department of Computer Science Rice University.
Numerical geometry of non-rigid shapes
Shortest path algorithm. Introduction 4 The graphs we have seen so far have edges that are unweighted. 4 Many graph situations involve weighted edges.
1 Numerical geometry of non-rigid shapes A journey to non-rigid world objects Numerical methods non-rigid Alexander Bronstein Michael Bronstein Numerical.
Non-Euclidean Embedding
1 Numerical geometry of non-rigid shapes Numerical Geometry Numerical geometry of non-rigid shapes Numerical geometry Alexander Bronstein, Michael Bronstein,
Numerical geometry of non-rigid shapes
1 University of Denver Department of Mathematics Department of Computer Science.
1 Numerical Geometry of Non-Rigid Shapes Invariant shape similarity Invariant shape similarity © Alexander & Michael Bronstein, © Michael Bronstein,
1 Numerical geometry of non-rigid shapes Non-Euclidean Embedding Non-Euclidean Embedding Lecture 6 © Alexander & Michael Bronstein tosca.cs.technion.ac.il/book.
1 Numerical geometry of non-rigid shapes Shortest Path Problems Shortest Path Problems Alexander Bronstein, Michael Bronstein © 2008 All rights reserved.
CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2014.
1 Shortest Path Calculations in Graphs Prof. S. M. Lee Department of Computer Science.
Domain decomposition in parallel computing Ashok Srinivasan Florida State University COT 5410 – Spring 2004.
CS 450: Computer Graphics REVIEW: OVERVIEW OF POLYGONS
Computing the shortest path on a polyhedral surface Presented by: Liu Gang
1 Fast Marching Method for generic Shape From Shading E. Prados & S. Soatto RFIA 2006 January 2006, Tours, France.
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
1 Numerical geometry of non-rigid shapes Shortest path problems Shortest path problems Lecture 2 © Alexander & Michael Bronstein tosca.cs.technion.ac.il/book.
Computing Geodesic Paths on Manifolds R. Kimmel J.A. Sethian Department of Mathematics Lawrence Berkeley Laboratory University of California, Berkeley.
Algorithms for Triangulations of a 3D Point Set Géza Kós Computer and Automation Research Institute Hungarian Academy of Sciences Budapest, Kende u
Geometric Modeling using Polygonal Meshes Lecture 1: Introduction Hamid Laga Office: South.
Interactive surface reconstruction on triangle meshes with subdivision surfaces Matthias Bein Fraunhofer-Institut für Graphische Datenverarbeitung IGD.
Scalable and Fully Distributed Localization With Mere Connectivity.
Geometry Images Xiang Gu Harvard University Steven J. Gortler Harvard university Hugues Hoppe Microsoft Research Some slides taken from Hugues Hoppe.
CSC 213 – Large Scale Programming. Today’s Goals  Discuss what is meant by weighted graphs  Where weights placed within Graph  How to use Graph ’s.
Graph Algorithms. Definitions and Representation An undirected graph G is a pair (V,E), where V is a finite set of points called vertices and E is a finite.
CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2013.
GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider.
CSE554Fairing and simplificationSlide 1 CSE 554 Lecture 6: Fairing and Simplification Fall 2012.
Extraction and remeshing of ellipsoidal representations from mesh data Patricio Simari Karan Singh.
L3-Network Algorithms L3 – Network Algorithms NGEN06(TEK230) – Algorithms in Geographical Information Systems by: Irene Rangel, updated Nov by Abdulghani.
Using simplified meshes for crude registration of two partially overlapping range images Mercedes R.G.Márquez Wu Shin-Ting State University of Matogrosso.
CENG 789 – Digital Geometry Processing 04- Distances, Descriptors and Sampling on Meshes Asst. Prof. Yusuf Sahillioğlu Computer Eng. Dept,, Turkey.
Mesh Resampling Wolfgang Knoll, Reinhard Russ, Cornelia Hasil 1 Institute of Computer Graphics and Algorithms Vienna University of Technology.
Assoc. Prof. Yusuf Sahillioğlu
Morphing and Shape Processing
Single-Source Shortest Paths
Shortest Paths.
Route Inspection Which of these can be drawn without taking your pencil off the paper and without going over the same line twice? If we introduce a vertex.
Shortest Paths.
Presentation transcript:

Numerical geometry of non-rigid shapes Shortest path problems Alexander Bronstein, Michael Bronstein, Ron Kimmel © 2007 All rights reserved

Shortest path problem 943 1542 902 1146 Brussels 566 Prague 183 Paris 504 1542 194 407 902 285 346 Vienna 271 1146 Munich Bern

Shortest paths in graphs Object is sampled at vertices Approximated as undirected graph Edges represent adjacent samples Length function measures local length that can be approximated as Path in graph between two vertices and given by Path length – sum of lengths of all edges

Shortest paths in graphs Approximate the intrinsic metric as the shortest path length in graph Alternative formulation: given a source point , compute the distance function Bellman’s principle of optimality: if is the shortest path between and , and is a point on it, then the sub-paths and are the shortest paths between and , and and , respectively.

Shortest paths in graphs Consequence: there exists some such that How to select such a point ? Since has to be the shortest distance, Problem of computing is reduced to smaller sub-problems of computing Dynamic programming

Dijkstra’s algorithm Dynamic programming successive approximation procedure Initially, set ; for the rest of the vertices, set Mark all vertices as unprocessed While there are still unprocessed vertices Select with the smallest Update all adjacent points Mark as processed Return the distance function

Dijkstra’s algorithm Every vertex is processed only once Update step propagates distance to adjacent vertices If the previously computed distance is shorter, value is not updated Typically, there are vertices in the graph Extraction of the minimum distance can be done in using a heap Total algorithm complexity

Metrication error “True” distance is Distance measured in graph Error persists, no matter how the sampling is refined

Metrication error No flaw in Dijkstra’s algorithm The graph induced the metric, inconsistent with the Euclidean metric Problem can be resolved by changing the sampling So far the path was restricted to graph edges Represent the surface as a triangle mesh Allow the path to pass on mesh faces Fast marching – a “continuous Dijkstra” algorithm Numerical solution of the eikonal equation

Fast marching Dijkstra Path restricted to graph edges Adjacent vertices are updated A vertex is updated from another vertex Fast marching Path can pass on mesh edges Adjacent triangles are updated A vertex is updated from two vertices within a triangle

Fast marching update step Given a triangle with vertices , , Given distances and We need to compute Model planar source described by Wavefront propagates from the source Hits at time

Fast marching update step From triangle geometry and , find the source parameters Propagation direction: (1 DOF) Offset: (1 DOF) Solve Quadratic equation with two solutions corresponding to Smallest solution is inconsistent and is discarded Compute

Consistency & monotonicity Consistency condition: Wavefront hits and before hitting Monotonicity condition: Increase of or increases

Geometric interpretation Consistent & Monotone Monotone Consistent Consistency condition: update direction must form acute angles with normals to triangle edges Monotonicity condition: update direction must come from within the triangle

Monotonicity Monotonicity: update must come from within the triangle If is not within the triangle, force it to lie inside The update direction will coincide with one of the edges Dijkstra-type update

Consistency: acute triangle When triangle is acute, both conditions hold for any direction

Consistency: obtuse triangle When triangle is obtuse, some consistency condition is violated for some directions

Fast marching on obtuse meshes Inconsistent solution if the mesh contains obtuse triangles Remeshing is costly Solution: split obtuse triangles by adding virtual connections to non-adjacent vertices Done as a pre-processing step in

Fast marching algorithm Set and mark it as processed Mark all other vertices as unprocessed and set While there are still unprocessed vertices Select with the smallest Update all triangles sharing Mark as processed Return the distance function

Fast marching algorithm Geodesic distances Minimal geodesics Voronoi tessellation

Fast marching on parametric surfaces Object is given as a parametric surface Parametrization domain is sampled on a regular grid (geometry image) Fast marching can be performed entirely in the parametrization domain Update step accounts for the surface first fundamental form to measure geodesic distances on the surface Surface itself is not required, knowledge of the first fundamental form and grid connectivity is sufficient Obtuse triangles are split by adding virtual connections to non-adjacent grid points

Heap-based grid update Fast marching on triangular meshes and geometric images both use Dijstra-type heap-based grid update Update order is unknown and data-dependent Inefficient use of memory system and cache Inherently sequential algorithm – next update depends on previous one

Raster scan fast marching Update the grid in a raster scan order Dates back to Danielsson’s algorithm In Euclidean case, geodesics are straight lines Each raster scan covers ¼ of the possible directions of the geodesics Four raster scans covering four quadrants are sufficient to compute a Euclidean distance map

Raster scan fast marching 1 iteration 2 iterations 3 iterations Generally, geodesics are curved in parametrization domain Raster scans have to be repeated to produce a convergent solution Number of iterations depends on geometry and parametrization Practically, few iterations are required

Raster scan fast marching What we lost: No more a one-pass algorithm Computational complexity is data-dependent What we gained: Coherent memory access, efficient use of cache No heap, each iteration is Raster scans can be parallelized

Marching even faster All updates performed on a diagonal are independent Can be computed simultaneously Uneven load

Marching even faster Rotate scan directions by 45 degrees All updates performed along a row or column can be parallelized Balanced load Suitable for SIMD architecture and GPUs x100 speedup with comparable accuracy

Conclusions so far… We have all numerical tools required to approximate the intrinsic geometry of objects Graph representation may introduce metrication error Intrinsic metric approximated using Dijkstra’s algorithm may be inconsistent Fast marching is a consistent numerical tool for measuring geodesic distances Fast marching can be parallelized