Multi-Class Blue Noise Sampling Li-Yi Wei 魏立一 Microsoft Research Blue noise distribution random & uniform applications sampling stippling meshing texturing object placement [Ostromoukhov et 2004] [Balzer al.al. 2009] [Turket1992] Previous work half-toning [Ulichney 1986; Wang and Parker 1999; Ostromoukhov 2001; Zhou and Fang 2003; Pang et al. 2008; Chang et al. 2009] dart throwing [Cook 1986; Mitchell 1987; McCool and Fiume 1992; Jones 2006; Dunbar and Humphreys 2006; White et al. 2007; Wei 2008; Fu and Zhou 2008; Cline et al. 2009; Gamito and Maddock 2010] relaxation [Lloyd 1982; Turk 1992; Balzer et al. 2009; Tung et al. 2010; Liu et al. 2010; Levy and Liu 2010] tiling [Cohen et al. 2003; Ostromoukhov et al. 2004; Kopf et al. 2006; Lagae and Dutre 2006; Ostromoukhov 2007] Prior art mostly for 1 sample class scenarios with multi-class samples sampling (retina cells) stippling (pointillism) texturing (flowers) Apply 1 class blue noise to > 1 class Uniform per class X O O total set class 0 class 1 Apply 1 class blue noise to > 1 class Uniform total set O total set X class 0 X class 1 Multi-class blue noise sampling uniform & random for each class & their unions O total set O class 0 O class 1 Background of blue noise random & uniform controlled by spacing r r -1 r -1 r 1 r radial mean power spectrum anisotropy Dart throwing [Dippe and Wold 1985; Cook 1986] loop: random sample conflict check r Relaxation [Lloyd 1982] indirectly specify r through sample count N given a set of N sample loop: Voronoi for each sample move sample to centroid Core idea for multi-class blue noise replace scalar spacing r by a matrix r r11 c0 c1 c2 c0 c1 c2 r00 r10 r20 r01 r11 r21 r02 r12 r22 r00 r01 Generating multi-class blue noise hard disk sampling control sample spacing r (like dart throwing) soft disk sampling control sample count N (like Lloyd relaxation) Multi-class hard disk sampling like 1-class dart throwing, but r matrix for conflict check c0 c1 c2 c0 0.40 0.18 0.09 c1 0.18 0.20 0.09 c2 0.09 0.09 0.10 consistent fill rate 1:4:16 01221220122122 may kill existing samples Soft disk: single class Gaussian blob per sample minimize max(E) → uniform distribution Soft disk: multi class minimize max(E) → uniform distribution R/G/B: E(c0 /c1 /c2) Multi-class soft disk sampling ~ best candidate dart throwing [Mitchell 1987] loop for each trial: random k samples pick one with min max(E) X Lloyd relaxation stuck in multi-class setting Build r matrix diagonal entries {rii}i=0:c-1 given how to compute off-diagonal entries {rij}i≠j? (symmetry: rij = rji ) see paper r00 r10 r20 r30 r01 r11 r21 r31 r02 r12 r22 r32 r03 r13 r23 r33 Analysis [Lagae and Dutre 2008] spatial uniformity σ ideal σ in [0.65 0.85]; our σ in [0.65 0.70] soft disk sampling has larger σ total set class 0 class 1 class 2 Analysis [Lagae and Dutre 2008] spectral analysis (good quality; radial mean diff from 1-class) - 1-class - multi-class power spectrum radial mean anisotropy Object placement: uniform Object placement: uniform Object placement: more classes Object placement: adaptive Color stippling RGBCMYB dots input Sensor layout zoneplate sin(x2+y2) Bayer mosaic Penrose pixel our method Discrete layout noisy Bayer mosaic random soft disk Tradeoff Hard disk sampling Soft disk sampling O control sample spacing X control sample spacing X control sample count O control sample count O continuous space O continuous space X discrete space O discrete space X less uniform O more uniform O faster X slower Future work applications & extensions 3D or higher dimensions surfaces or other non-Euclidean domains anisotropy acceleration tiling parallelization [Bowers et al. 2010] isotropic aniso [Li et al. 2010] Acknowledgement Yin Li Brandon Lloyd Kun Zhou Bill Baxter Xin Tong Naga Govindaraju Eric Stollnitz John Manferdelli Jason Fondran Reviewers http://www.giffavicon.com/ http://store.got3d.com/