Fast Maximal Poisson-Disk Sampling by Randomized Tiling

Slides:



Advertisements
Similar presentations
Wang Tiles for Image and Texture Generation
Advertisements

Line Segment Sampling with Blue-Noise Properties Xin Sun 1 Kun Zhou 2 Jie Guo 3 Guofu Xie 4,5 Jingui Pan 3 Wencheng Wang 4 Baining Guo 1 1 Microsoft Research.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energys National Nuclear.
Principal Component Analysis Based on L1-Norm Maximization Nojun Kwak IEEE Transactions on Pattern Analysis and Machine Intelligence, 2008.
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.
Searching on Multi-Dimensional Data
CS 551 / CS 645 Antialiasing. What is a pixel? A pixel is not… –A box –A disk –A teeny tiny little light A pixel is a point –It has no dimension –It occupies.
High-Quality Simplification with Generalized Pair Contractions Pavel Borodin,* Stefan Gumhold, # Michael Guthe,* Reinhard Klein* *University of Bonn, Germany.
Delaunay Triangulation on the GPU Dan Maljovec. CPU Delaunay Triangulation Randomized Incremental Algorithm 1.Construct Bounding triangle 2.Choose point.
Sampling Attila Gyulassy Image Synthesis. Overview Problem Statement Random Number Generators Quasi-Random Number Generation Uniform sampling of Disks,
Sampling, Aliasing, & Mipmaps
Multi-Class Blue Noise Sampling Li-Yi Wei 魏立一 Microsoft Research.
© University of Minnesota Data Mining for the Discovery of Ocean Climate Indices 1 CSci 8980: Data Mining (Fall 2002) Vipin Kumar Army High Performance.
reconstruction process, RANSAC, primitive shapes, alpha-shapes
FLANN Fast Library for Approximate Nearest Neighbors
1 A Novel Page-Based Data Structure for Interactive Walkthroughs Behzad Sajadi Yan Huang Pablo Diaz-Gutierrez Sung-Eui Yoon M. Gopi.
Zoltan Szego †*, Yoshihiro Kanamori ‡, Tomoyuki Nishita † † The University of Tokyo, *Google Japan Inc., ‡ University of Tsukuba.
Tal Mor  Create an automatic system that given an image of a room and a color, will color the room walls  Maintaining the original texture.
Antialiasing CptS 548 Advanced Computer Graphics John C. Hart.
1 Three dimensional mosaics with variable- sized tiles Visual Comput 2008 報告者 : 丁琨桓.
Introduction Tracking the corners Camera model and collision detection Keyframes Path Correction Controlling the entire path of a virtual camera In computer.
Chapter 3: Central Tendency. Central Tendency In general terms, central tendency is a statistical measure that determines a single value that accurately.
1 Adding charts anywhere Assume a cow is a sphere Cindy Grimm and John Hughes, “Parameterizing n-holed tori”, Mathematics of Surfaces X, 2003 Cindy Grimm,
A Spatial Data Structure for Fast Poisson-Disk Sample Generation SIGGRAPH 2006 Daniel Dunbar, Greg Humphreys. University of Virginia.
Computer Graphics and Image Processing (CIS-601).
Advances in digital image compression techniques Guojun Lu, Computer Communications, Vol. 16, No. 4, Apr, 1993, pp
Duy & Piotr. How to reconstruct a high quality image with the least amount of samples per pixel the least amount of resources And preserving the image.
Compiled By: Raj Gaurang Tiwari Assistant Professor SRMGPC, Lucknow Unsupervised Learning.
Delaunay Triangulation on the GPU
Spatial Indexing Techniques Introduction to Spatial Computing CSE 5ISC Some slides adapted from Spatial Databases: A Tour by Shashi Shekhar Prentice Hall.
CDS 301 Fall, 2008 Domain-Modeling Techniques Chap. 8 November 04, 2008 Jie Zhang Copyright ©
Mingze Zhang, Mun Choon Chan and A. L. Ananda School of Computing
Model Optimization Wed Nov 16th 2016 Garrett Morrison.
3.1 Clustering Finding a good clustering of the points is a fundamental issue in computing a representative simplicial complex. Mapper does not place any.
Greedy & Heuristic algorithms in Influence Maximization
CSC 421: Algorithm Design & Analysis
CSC 421: Algorithm Design & Analysis
Hybrid Ray Tracing and Path Tracing of Bezier Surfaces using a mixed hierarchy Rohit Nigam, P. J. Narayanan CVIT, IIIT Hyderabad, Hyderabad, India.
We propose a method which can be used to reduce high dimensional data sets into simplicial complexes with far fewer points which can capture topological.
POLYGON MESH Advance Computer Graphics
CS 551 / 645: Introductory Computer Graphics
Wavelets : Introduction and Examples
Parallel Density-based Hybrid Clustering
CSC 421: Algorithm Design & Analysis
Subject Name: File Structures
Haim Kaplan and Uri Zwick
Real-time Wall Outline Extraction for Redirected Walking
CS475 3D Game Development Level Of Detail Nodes (LOD)
Renjie Chen Craig Gotsman Technion – Israel Institute of Technology
Watermarking with Side Information
© University of Wisconsin, CS559 Fall 2004
3.1 Clustering Finding a good clustering of the points is a fundamental issue in computing a representative simplicial complex. Mapper does not place any.
Efficient Distance Computation between Non-Convex Objects
Other Algorithms Follow Up
Jianping Fan Dept of CS UNC-Charlotte
Localizing the Delaunay Triangulation and its Parallel Implementation
Domain-Modeling Techniques
Iterative Optimization
Primary Sample Space Path Guiding
Craig Schroeder October 26, 2004
Chapter 6. Large Scale Optimization
Chapter V Vertex Processing
APPLICATIONS of FRACTALS
Clustering Wei Wang.
CSC 421: Algorithm Design & Analysis
Clustering.
Intensity Transformation
CSC 421: Algorithm Design & Analysis
Rendering of trees and vegetation
Sampling Plans.
Presentation transcript:

Fast Maximal Poisson-Disk Sampling by Randomized Tiling TONG WANG, REIJI SUDA, IST, University of Tokyo

Maximal Poisson Disk Sampling

Poisson-disk sampling Definition: Poisson-disk sampling pattern is a group of samples with no two of them within a specified distance r. Considered a good property in many applications. Essentials in many computer graphics applications. Texture generation, Object placement, Rendering and anti-aliasing, Image stippling, etc. Sample r d Random Poisson-disk

Blue noise property One reason that Poisson-disk sampling is good for many applications is because of its blue noise spectral properties [1]. Frequency Power Samples Power Spectrum Radial Mean [1] Gamito M N, Maddock S C. Accurate multidimensional Poisson-disk sampling[J]. ACM Transactions on Graphics (TOG), 2009, 29(1): 8.

Maximal Poisson-disk samples (MPS) A Poisson-disk sample set is maximal coverage iff. For sample set as X in domain D. Guaranteed the quality of samples. No big gaps and clusters. Evenly distributed sampling density. r Maximal Poisson-disk samples ensured that there are no such points in the sample plane that are not covered by a sample disk with radius r.

Generate Poisson-disk samples Dart throw Relaxation r Often need many iterations to reach maximal coverage.

Tile based method … Preprocessing. Generate tile set, etc. Sample Plane Tile Set … Preprocessing. Generate tile set, etc. Choose a tile from tile set. Tile on the plane.

Tile based method Extremely fast to fill the sample plane. But Preprocessing takes a long time. Regular artifacts are not desirable in many applications. Tiling methods more or less have regular artifacts.

Add more randomness in tiling Design the tile sets and tiling techniques: [1][2]. Affect preprocessing and tiling performance. Transform and rotate tiles to make tiles non-periodic: [3]. But [3] didn’t deal with sample conflicts, which is not acceptable in many applications. Randomly subdivide the space and fetch tiles on-the-fly. Our method. [1]. Kopf J, Cohen-Or D, Deussen O, et al. Recursive Wang tiles for real-time blue noise[M]. ACM, 2006. [2]. Wachtel F, Pilleboue A, Coeurjolly D, et al. Fast tile-based adaptive sampling with user-specified Fourier spectra[J]. ACM Transactions on Graphics (TOG), 2014, 33(4): 56. [3]. Kalantari N K, Sen P. Fast generation of approximate blue noise point sets[C]//Computer Graphics Forum. Blackwell Publishing Ltd, 2012, 31(4): 1529-1535.Transactions on Graphics (TOG), 2012, 31(6): 171. To solve the regular artifacts, people are trying to add more randomness in tiling.

Performance and Regularity For Poisson-disk sample generation: Performance Regular Sampling Regular Tiling Approximate Tiling[3] [1]. [Kopf J, Cohen-Or D, Deussen O, et al. Recursive Wang tiles for real-time blue noise[M]. ACM, 2006. [2]. Ip C Y, Yalçin M A, Luebke D, et al. Pixelpie: Maximal poisson-disk sampling with rasterization[C]//Proceedings of the 5th High-Performance Graphics Conference. ACM, 2013: 17-26. [3]. Kalantari N K, Sen P. Fast generation of approximate blue noise point sets[C]//Computer Graphics Forum. Blackwell Publishing Ltd, 2012, 31(4): 1529-1535.Transactions on Graphics (TOG), 2012, 31(6): 171. [4]. Balzer M, Schlömer T, Deussen O. Capacity-constrained point distributions: a variant of Lloyd's method[M]. ACM, 2009. [5]. Ebeida M S, Mitchell S A, Patney A, et al. A Simple Algorithm for Maximal Poisson‐Disk Sampling in High Dimensions[C]//Computer Graphics Forum. Blackwell Publishing Ltd, 2012, 31(2pt4): 785-794. Ours PixelPie[2] Wang Tiles[1] Regularity Artifact Flat Quad-tree Dart Throw[5] Capacity Constrained Relaxation[4] Lloyd’s Relaxation Dart Throw

Our algorithm

Algorithm Outline Prepare a pre-generated MPS pattern. KD-tree based randomized tiling (KDRT) is divide-and-conquer based. Divide: Subdivide the sampling plane using KD-tree. Each leaf node square (2d case) is called a building block of the entire sampling plane. Tile: Fill each building block with points clipped from a pre-generated MPS pattern. Conquer: Eliminate conflicts on the edge, and insert new samples in the gap to ensure maximal coverage property. Divide and clipping from MPS pattern are randomized, no regular artifacts. Conquering process is determined and easy to convergence.

Prepare pre-generated pattern Use any unbiased Poisson-disk sampling method to generate a pattern. Here we use algorithm described in [1] to generate a pattern. Define a scale factor ratio as how many times samples that the final sampling plane contains compared with the pattern. The final sample set size is controlled by manipulate this parameter. Pattern Result Ratio=4 Result Ratio=2 [1]. Ebeida M S, Mitchell S A, Patney A, et al. A Simple Algorithm for Maximal Poisson‐Disk Sampling in High Dimensions[C]//Computer Graphics Forum. Blackwell Publishing Ltd, 2012, 31(2pt4): 785-794.

Divide: Subdivide the sampling plane Building blocks of the sampling plane. Conflict area that will be processed in conquering.

Tiling: Filling building block with samples Size of the leaf node will be controlled such that all dimensions of the leaf node will be smaller than 1/ratio.

Tiling: Filling building block with samples MPS Pattern Tilled Sampling Domain (a) (b) Tile Tile Clipping Tile Tile Tile Clipping Clipping Tile Clipping Tile Tile

Tiling: Filling building block with samples It is maximal coverage, easy to prove. But it is not conflict-free, which is not acceptable. Next step is to conquer all building blocks into one single sample set by elimination and insertion.

Conquering: Outline Tile A Tile B Conquer Conflict Area Tile A Tile B : Inserted : Eliminated Conquering Conquered Result

Conquering: Necessary Redundant width+2r height+2r (b) height Notice that we have some necessary redundant to keep the final result maximal. width (a)

Conquering: Gap detection Gap detection[1]: A gap exist among three disks centered at i,j,k ( i,j,k ∈ C ), if the circumcenter c of the triangle i,j,k is not covered by any disks. i j k [1]. Yan D M, Wonka P. Gap processing for adaptive maximal Poisson-disk sampling[J]. ACM Transactions on Graphics (TOG), 2013, 32(5): 148.

Conquering: Elimination Processing yellow point. Eliminate red point to avoid conflicts. Insert blue point to ensure maximal coverage.

Conquering: Insertion Notice that there are circumstances that if GapDetectionAndInsertion being applied on all sample points p ∈ C , it is not guaranteed that all gaps could be covered. (a) Gaps that cannot be covered by single insertion (1). Processing yellow disk (2). Red disk eliminated gap generated (3). Green disk inserted in gap

Conquering: Insertion Notice that there are circumstances that if GapDetectionAndInsertion being applied on all sample points p ∈ C , it is not guaranteed that all gaps could be covered. (b) Gaps that cannot be detected by current processing sample (1). Processing yellow disk (2). Red disk eliminated gap generated (3). No gaps detected, No insertion

Conquering: Insertion All samples are marked as gap detector New gaps detected by the green disk Gap detected by triangle i,j,k while dealing one of the vertex i j k To solve these problems, introduce gap detector. When a sample point is eliminated from the original set due to conficts with pivot point, we mark all disks intersecting the eliminated sample point as GapDetectors. All gaps are formed by arcs of gap detectors.

Conquering: Insertion All gaps can be detected this way. Type N Gap Type N-1 Gap Type 1 Gap No Gap If we defne a gap that need at most N inserted points to cover as type N gap, then each iteration solves the type 1 gap, and reduce the type of other gaps by 1. As each gap must have a fnite number of type, in this case, the algorithm is able to meet a termination condition, which is all gap type decreased to 1, and then solved by a single insertion loop.

Results

Results Rendering and anti-aliasing may not be the best application for MPS, but it shows that the samples generated with our method performs quite similar to the unbiased MPS samples.

Results

Results Time taken by each procedure to generate 1 million samples.

Combining MPS sample sets Vertical Zipping Result 9 MPS set each 1017625 samples Vertical Zipping 3 MPS set each 2991817 samples Horizontal Zipping Result with 8795941 samples Combining Size CPU Time (ms) 3751372 85 4689216 102 5861520 144 7326900 158 9158625 202

Conclusion KDST is a tile based method that can generate maximal Poisson-disk samples. KDST is a divide and conquer method, including: Divide: Randomly divide the sample plane into building blocks. Tiling: Fill the building blocks with samples clipped from a pre-generated pattern. Conquer: Eliminate conflict points and insert new points in the gap. Conquering step can be used to combine MPS sample sets together to form a larger one. KDST performs fast on CPU and GPU, and is very easy to implement.

Thank you! Thanks for all reviewers for your constructive comments. Special thanks to Anjul Patney for his efforts to help the author to get the U.S. visa.