Sara McMains UC Berkeley

Slides:



Advertisements
Similar presentations
Arc-length computation and arc-length parameterization
Advertisements

GRAPP, Lisbon, February 2009 University of Ioannina Skeleton-based Rigid Skinning for Character Animation Andreas Vasilakis and Ioannis Fudos Department.
Fast Algorithms For Hierarchical Range Histogram Constructions
IIIT Hyderabad Hybrid Ray Tracing and Path Tracing of Bezier Surfaces using a mixed hierarchy Rohit Nigam, P. J. Narayanan CVIT, IIIT Hyderabad, Hyderabad,
Extended Gaussian Images
Robust Global Registration Natasha Gelfand Niloy Mitra Leonidas Guibas Helmut Pottmann.
Albert Mas Ignacio Martín Gustavo Patow Fast Inverse Reflector Design FIRD Graphics Group of Girona Institut d’Informàtica i Aplicacions Universitat de.
Learn how to make your drawings come alive…  Lecture 3: SKETCH RECOGNITION Analysis, implementation, and comparison of sketch recognition algorithms,
Afrigraph 2004 Interactive Ray-Tracing of Free-Form Surfaces Carsten Benthin Ingo Wald Philipp Slusallek Computer Graphics Lab Saarland University, Germany.
High-Quality Simplification with Generalized Pair Contractions Pavel Borodin,* Stefan Gumhold, # Michael Guthe,* Reinhard Klein* *University of Bonn, Germany.
Comparing Images Using the Hausdorff Distance Mark Bouts 6th April 2006.
An Optimization Approach to Improving Collections of Shape Maps Andy Nguyen, Mirela Ben-Chen, Katarzyna Welnicka, Yinyu Ye, Leonidas Guibas Computer Science.
Surface to Surface Intersection N. M. Patrikalakis, T. Maekawa, K. H. Ko, H. Mukundan May 25, 2004.
Offset of curves. Alina Shaikhet (CS, Technion)
Iterative closest point algorithms
Pauly, Keiser, Kobbelt, Gross: Shape Modeling with Point-Sampled GeometrySIGGRAPH 2003 Shape Modeling with Point-Sampled Geometry Mark Pauly Richard Keiser.
Adapted from: CULLIDE: Interactive Collision Detection Between Complex Models in Large Environments using Graphics Hardware Naga K. Govindaraju, Stephane.
Docking of Protein Molecules
Randomized Cuts for 3D Mesh Analysis
Data Structures for Orthogonal Range Queries
CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Collision Detection and Distance Computation.
OBBTree: A Hierarchical Structure for Rapid Interference Detection Gottschalk, M. C. Lin and D. ManochaM. C. LinD. Manocha Department of Computer Science,
Efficient simplification of point-sampled geometry Mark Pauly Markus Gross Leif Kobbelt ETH Zurich RWTH Aachen.
Geometry Image-based Shadow Volume Algorithm for Subdivision Surfaces Min Tang, Jin-Xiang Dong College of Computer Science, Zhejiang University {tang_m,
Spectral Processing of Point-sampled Geometry
Introduction to Boolean Operations on Free-form Solids CS284, Fall 2004 Seung Wook Kim.
NEW APPROACH TO CALCULATION OF RANGE OF POLYNOMIALS USING BERNSTEIN FORMS.
FAST AND SIMPLE AGGLOMERATIVE LBVH CONSTRUCTION
A Performance and Energy Comparison of FPGAs, GPUs, and Multicores for Sliding-Window Applications From J. Fowers, G. Brown, P. Cooke, and G. Stitt, University.
Hybrid Bounding Volumes for Distance Queries Distance Query returns the minimum distance between two geometric models Major application is path planning.
Accurate, Dense and Robust Multi-View Stereopsis Yasutaka Furukawa and Jean Ponce Presented by Rahul Garg and Ryan Kaminsky.
Gwangju Institute of Science and Technology Intelligent Design and Graphics Laboratory Feature-Aware Filtering for Point-Set Surface Denoising Min Ki Park*Seung.
Managing Multi-Configuration Hardware via Dynamic Working Set Analysis By Ashutosh S.Dhodapkar and James E.Smith Presented by Kyriakos Yioutanis.
An Effective Dynamic Scheduling Runtime and Tuning System for Heterogeneous Multi and Many-Core Desktop Platforms Authous: Al’ecio P. D. Binotto, Carlos.
Computer Graphics Group Tobias Weyand Mesh-Based Inverse Kinematics Sumner et al 2005 presented by Tobias Weyand.
Gwangju Institute of Science and Technology Intelligent Design and Graphics Laboratory Multi-scale tensor voting for feature extraction from unstructured.
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
Computer-Aided Design and Manufacturing Laboratory: 3D Minkowski sum computation Sara McMains UC Berkeley.
1 Subdivision Termination Criteria in Subdivision Multivariate Solvers Iddo Hanniel, Gershon Elber CGGC, CS, Technion.
Quick-CULLIDE: Efficient Inter- and Intra- Object Collision Culling using Graphics Hardware Naga K. Govindaraju, Ming C. Lin, Dinesh Manocha University.
Institute of C omputer G raphics, TU Braunschweig Hybrid Scene Structuring with Application to Ray Tracing 24/02/1999 Gordon Müller, Dieter Fellner 1 Hybrid.
1 efficient simplification of point-sampled geometry From the paper “Efficient Simplification of Point-Sampled Surfaces” by Mark Pauly, Markus Gross, Leif.
Saarland University, Germany B-KD Trees for Hardware Accelerated Ray Tracing of Dynamic Scenes Sven Woop Gerd Marmitt Philipp Slusallek.
1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3.
Extraction and remeshing of ellipsoidal representations from mesh data Patricio Simari Karan Singh.
Artistic Surface Rendering Using Layout Of Text Tatiana Surazhsky Gershon Elber Technion, Israel Institute of Technology.
CS270 Project Overview Maximum Planar Subgraph Danyel Fisher Jason Hong Greg Lawrence Jimmy Lin.
Stable 6-DOF Haptic Rendering with Inner Sphere Trees René Weller, Gabriel Zachmann Clausthal University, Germany IDETC/CIE.
CSE 185 Introduction to Computer Vision Feature Matching.
Compact, Fast and Robust Grids for Ray Tracing Ares Lagae & Philip Dutré 19 th Eurographics Symposium on Rendering EGSR 2008Wednesday, June 25th.
CSE554Contouring IISlide 1 CSE 554 Lecture 5: Contouring (faster) Fall 2015.
CSE554Contouring IISlide 1 CSE 554 Lecture 5: Contouring (faster) Fall 2013.
Ship Computer Aided Design
1 Development of a Numerical Optimisation Method for Blowing Glass Parison Shapes Hans Groot.
GMProf: A Low-Overhead, Fine-Grained Profiling Approach for GPU Programs Mai Zheng, Vignesh T. Ravi, Wenjing Ma, Feng Qin, and Gagan Agrawal Dept. of Computer.
CSE 554 Lecture 5: Contouring (faster)
Stable 6-DOF Haptic Rendering with Inner Sphere Trees
Hybrid Ray Tracing and Path Tracing of Bezier Surfaces using a mixed hierarchy Rohit Nigam, P. J. Narayanan CVIT, IIIT Hyderabad, Hyderabad, India.
Recognizing Deformable Shapes
Distance Computation “Efficient Distance Computation Between Non-Convex Objects” Sean Quinlan Stanford, 1994 Presentation by Julie Letchner.
Core-Sets and Geometric Optimization problems.
Real-Time Ray Tracing Stefan Popov.
Geometrically Stable Sampling for the ICP Algorithm
Supporting Fault-Tolerance in Streaming Grid Applications
Efficient Methods for Roots of Univariate Scalar Beziers
Mesh Parameterization: Theory and Practice
Introduction to Data Structures
ECE 498AL Lecture 15: Reductions and Their Implementation
CSE 185 Introduction to Computer Vision
GPAT – Chapter 7 Physics.
Presentation transcript:

Sara McMains UC Berkeley Computer-Aided Design and Manufacturing Laboratory: GPU-accelerated Hausdorff Distance Computation for Freeforms Sara McMains UC Berkeley

Outline Numerical Iteration Algorithm Bounding-Box Algorithm Introduction Numerical Iteration Algorithm Results 16 April 2019

Directed Hausdorff Distance Measure of similarity from one geometric object to another Asymmetric Can be extended to 3D surfaces and meshes [Alt et al., Barton et al., Elber & Grandine, Tang et al., Guthe et al.] Computes maximum deviation from one set to another Applications include shape matching, penetration depth, mesh optimization, etc. From A to B 16 April 2019

Outline Numerical Iteration Algorithm Bounding-Box Algorithm Introduction Numerical Iteration Algorithm Results 16 April 2019

BB Algorithm Overview Surface bounding-boxes Build bounding-box hierarchies Bottom-up Traverse hierarchy top-down & cull bounding-box pairs Compute min-max distance ranges Perform culling of bounding-box pairs at each level Compute HD for unculled sub-patches Finest level of hierarchy SA SB 16 April 2019

Min-Max Distance Ranges Between BB-Pairs Surface SB = Distance Range ∞ Max Min Surface SA Min/Max distance ranges 16 April 2019

Culling Tests Surface SB Min/Max distance matrix Surface SA Perform culling of bounding-box pairs based on the distance ranges Surface SB Surface SA In our CUDA implementation, we store it as a 2D array to increase the maximum number of BBox pairs Min/Max distance matrix 16 April 2019

Bounding Box Hierarchy B Bounding Box Hierarchy A Hierarchy Traversal Extend culling tests to each level of AABB hierarchy E F I J G H K L M N Q R O P S T A B A B C D Efficiently group together the non-culled bounding-box pairs for GPU execution C D Example starting at base level Bounding Box Hierarchy B Create next level address array 4 5 8 9 6 7 10 11 12 13 16 17 14 18 19 1 1 2 3 2 3 Bounding Box Hierarchy A 4F 4S 5E 5F 5T 9F 7R 12H 13G 17F 14F 18G 17J 17N 18J 18N 19P 0A 0B 0C 0D 1A 1B 1C 1D 2A 2B 2C 2D 3A 3B 3C 3D 0A 0B 0C 0D 1A 1B 1C 1D 2A 2B 2C 2D 3A 3B 3C 3D 0A 0D 1A 2A 2C 3A 3B 3C Cull Bounding-box Pairs Address Array 16 April 2019

GPU Indirection int arrayIndex = arrayIndexData[index]; float arrayVal; if (arrayIndex >= 0) { arrayVal = arrayData[arrayIndex]; } //// process arrayVal //// int arrayIndex = arrayIndexData[index]; bool arrayValInit = true; if (arrayIndex < 0) { arrayIndex = 0; arrayValInit = false; } float arrayVal = arrayData[arrayIndex]; if (arrayValInit) //// process arrayVal //// 16 April 2019

Outline Numerical Iteration Algorithm Bounding-Box Algorithm Introduction Numerical Iteration Algorithm Results 16 April 2019

Numerical Iteration Algorithm Split surface SB into Bezier patches (less branching) Sample points on surface SA Surface SB From each point on surface SA For each Bezier patch Find the closest point in the patch using numerical iteration Ping-pong Bezier patches to find closest point on surface SB Thrust reduction to find Hausdorff (max) distance Surface SA 16 April 2019

Projection and Numerical Iteration Find closest control point Evaluate (u,v) point corresponding to this control point Find parameterized tangent plane Find projection of the point to the tangent plane Use the parameterization of the projection point to find new (u,v) point Stop iteration when distance between two consecutive projection points is less than the stopping distance k du kdu 16 April 2019

Outline Numerical Iteration Algorithm Bounding-Box Algorithm Introduction Numerical Iteration Algorithm Results 16 April 2019

Bounding-Box Method Timing Position Position 16 April 2019

Timing Comparison 16 April 2019

Bounding-Box Method Failure Cases 16 April 2019

Future Work Bounding-box method Numerical Iteration method Time dependent on positions of the surfaces Slow or fails for certain cases such as offset surfaces Numerical Iteration method Often slower particularly for surfaces with many knots Constant computation time for different positions Future directions Hybrid method for Hausdorff distance computations if offset surfaces are detected Multi-level method for Hausdorff distances of objects consisting of multiple surfaces 16 April 2019

Conclusions Interactively compute Hausdorff distances Dynamic deformable surfaces Novel hierarchical culling tests Novel iterative solver 16 April 2019

Acknowledgements Adarsh Krishnamurthy Iddo Hanniel SolidWorks NSF

Questions? 16 April 2019

16 April 2019

Accuracy 16 April 2019

Theoretical Bounds Based on K, curvature based maximum deviation for each surface Curved Surface Linear Approximation h(A,ΔB) a1 a3 a2 b1 b3 b2 h(A,B) Bounds between the actual HD and the HD between the triangular linear approximation of the surface HD bounded by KA +KB h(ΔA, ΔB) h(A, ΔB) ΔB b1 b2 a1 a2 ΔA KA 16 April 2019

Outline Numerical Iteration Algorithm Bounding-Box Algorithm Introduction Numerical Iteration Algorithm Results 16 April 2019