Sampling Gabor Noise in the Spatial Domain Victor Charpenay Bernhard Steiner Przemyslaw Musialski Vienna University of Technology
Gabor Noise - Motivation Procedural noise extensively used, no ultimate noise definition. Gabor noise enables the design of an extremely large panel of textures (wood, skin, rust, fabric, marble). Advantages: Intuitive noise control Isotropic/anisotropic Does not require parameterization Linear filtering Real-time evaluation (in the GPU) Image: [Lagae 09] 11/27/2018 Sampling Gabor Noise in the Spatial Domain
Sampling Gabor Noise in the Spatial Domain Noise Classification Spectral control over the noise function ? Type of noise Generation Spectral Control Lattice-based (Perlin noise) Fourier transform-based Sparse convolution process 0.1 0.6 0.7 0.5 Interpolation None DFT Intricate Perlin Noise & Lattice-based noises Fourier transform-based noises Sparse convolution process Noise parameters ? (function composition – Perlin, Probability distribution – Fourier-based, Kernel parameters – Sparse convolution) Goal: provide spectral control over the noise Lattice-based: Value, Gradient, Value-gradient, Lattice convolution noise (impulses are at the lattice nodes) Fourier transform: pseudo-random discrete spetrum (following a probability distribution) -> FFT Sparse convulution: Lewis (1984) Gaussian kernel Easy but limited Noise classification: [Ebert 03] 11/27/2018 Sampling Gabor Noise in the Spatial Domain
+ + Gabor Noise Definition Sparse Convolution Process Orientation Randomization Gabor Kernel + + Did not show the frequency domain representation 11/27/2018 Sampling Gabor Noise in the Spatial Domain
Sampling Gabor Noise in the Spatial Domain Definition 𝑦 Gabor noise parameters 𝐾, 𝑎, 𝐹 0 , 𝜔 0 , 𝜔 𝑠 ,( 𝐹 𝑠 ) 1 𝑎 𝜔 0 𝑥 1 𝐹 0 Gaussian amplitude Frequency spread Gaussian width Angle spread Did not show the frequency domain representation Sine frequency Sine orientation 𝑔 𝑥,𝑦 =𝐾 𝑒 −𝜋 𝑎 2 ( 𝑥 2 + 𝑦 2 ) cos (2 𝜋 𝐹 0 (𝑥 cos 𝜔 0 +𝑦 sin (𝜔 0 ) ) ) Gaussian envelope 2D sine wave 11/27/2018 Sampling Gabor Noise in the Spatial Domain
Other Works on Gabor Noise Filtering Solid Gabor Noise [Lagae 11a] Continuous solid noise Improving Gabor Noise [Lagae 11b] Efficient isotropic noise Noise error estimation function Spatially varying noise (based on interpolation) Gabor Noise by Example [Galerne 12] Allows generation of noise functions from example textures [Lagae 11a] phase-augmented Gabor noise (slicing instead of projecting) [Lagae 11b] isotropic noise: new kernel that speeds up noise generation by 2 (radial sine wave) Kernel truncation error estimation. Automatic kernel radius estimation according to the wanted level of error Interpolation of a parameter [Galerne 12] bandwidth quantization (a parameter defined as series of harmonic, then, during rendering, randomly chosen) 11/27/2018 Sampling Gabor Noise in the Spatial Domain
Sampling Gabor Noise in the Spatial Domain Illustration Sparse Convolution Process in Detail y 5 impulses 𝑥 11/27/2018 Sampling Gabor Noise in the Spatial Domain
Sampling Gabor Noise in the Spatial Domain Illustration Sparse Convolution Process in Detail y 15 impulses 𝑥 11/27/2018 Sampling Gabor Noise in the Spatial Domain
Sampling Gabor Noise in the Spatial Domain Illustration Sparse Convolution Process in Detail y 40 impulses 𝑥 11/27/2018 Sampling Gabor Noise in the Spatial Domain
Sampling Gabor Noise in the Spatial Domain Illustration Sparse Convolution Process in Detail y 80 impulses 𝑥 11/27/2018 Sampling Gabor Noise in the Spatial Domain
Spatially Varying Gabor Noise Sparse Convolution Process Lattice-Based Interpolation y y 𝑦 ′ 2 0.256 0.84 0.7 0.2 𝑦 2 0.44 0.8 0.1 𝑦 1 𝑦 ′ 1 0.29 0.5621 0.6 𝑥 𝑥 𝑥 1 𝑥 2 𝑥 ′ 1 𝑥 ′ 2 Noise aspect at ( 𝑥 1 , 𝑦 1 ) ? Noise aspect at ( 𝑥 ′ 1 , 𝑦 ′ 1 ) ? Gabor noise is spatially controllable 11/27/2018 Sampling Gabor Noise in the Spatial Domain
Spatially Varying Gabor Noise Surface Gabor noise defined without parameterization (setup-free)… …but parameterization helps spatial control Our idea: attach parameter values to model’s UV-space Basic control map Elaborated design tools Image: [ZBrush] 11/27/2018 Sampling Gabor Noise in the Spatial Domain
Sampling Gabor Noise in the Spatial Domain Spatial Variation in 2D 𝐹 0 (Sine frequency) 𝑎=59.0, 𝜔 0 =0, 𝐹 𝑠 =0, 𝜔 𝑠 =0 65 𝜔 𝑠 (Angle spread) 𝑎=26.9, 𝐹 0 =25.9, 𝜔 0 =0, 𝐹 𝑠 =0 𝜋 4 11/27/2018 Sampling Gabor Noise in the Spatial Domain
Our Perception of the Noise Range on 𝐹 0 has been doubled 65 130 Image: http://www.cns.nyu.edu/~david/courses/perception/lecturenotes/channels/channels.html 11/27/2018 Sampling Gabor Noise in the Spatial Domain
Our Perception of the Noise Contrast sensitivity function [Landy 04] Spatial frequency contrast 𝑥 𝑦 𝜔 0 1 𝐹 0 𝑟 𝑘 ≈ 1 𝑎 𝐹 𝑘 ≈2 Image: http://www.cns.nyu.edu/~david/courses/perception/lecturenotes/channels/channels.html 𝐹 0 represents an absolute frequency Our perception is relative to the kernel radius 𝑟 𝑘 = 1 𝑎 ln(20) 𝜋 𝐹 𝑘 = 𝐹 0 ∙ 𝑟 𝑘 11/27/2018 Sampling Gabor Noise in the Spatial Domain
Our Perception of the Noise A more intuitive evolution of the parameter 𝐹 0 65 Image: http://www.cns.nyu.edu/~david/courses/perception/lecturenotes/channels/channels.html 𝐹 𝑘 7 11/27/2018 Sampling Gabor Noise in the Spatial Domain
Sampling Gabor Noise in the Spatial Domain Application Procedural variation of 𝜔 0 Interlacing patches 11/27/2018 Sampling Gabor Noise in the Spatial Domain 17
Sampling Gabor Noise in the Spatial Domain Application Textures and 3D models UV control mapping Noise layers Purely procedural 20-30 FPS On the GPU 11/27/2018 Sampling Gabor Noise in the Spatial Domain
Sampling Gabor Noise in the Spatial Domain Application Textures and 3D models More natural effects Expressiveness of Gabor noise 11/27/2018 Sampling Gabor Noise in the Spatial Domain
Sampling Gabor Noise in the Spatial Domain Conclusion Contribution UV spatial control over Gabor noise A design-oriented set of parameters 𝑟 𝑘 = 1 𝑎 ln(20) 𝜋 𝐹 𝑘 = 𝐹 0 ∙ 𝑟 𝑘 Underlines one advantage of Gabor noise, its controllability 11/27/2018 Sampling Gabor Noise in the Spatial Domain
Sampling Gabor Noise in the Spatial Domain Future Work Possible improvements on Gabor noise ? Faster rendering Optimal impulse density (perceived by humans) Automatic parameter ranges Based on Contrast Sensitivity function, Gestalt laws… Non-linear filtering Underlines one advantage of Gabor noise, its controllability 11/27/2018 Sampling Gabor Noise in the Spatial Domain
Thanks for your attention Conclusion Thanks for your attention ? 11/27/2018 Sampling Gabor Noise in the Spatial Domain
Sampling Gabor Noise in the Spatial Domain References [Ebert 03] David S. Ebert, F. Kenton Musgrave, Darwyn Peachey, Ken Perlin, Steve Worley. 2003. Texturing and Modeling: A Procedural Approach [Lagae 09] Ares Lagae, Sylvain Lefebvre, George Drettakis, and Philip Dutré. 2009. Procedural noise using sparse Gabor convolution. ACM Trans. Graph. 28, 3, Article 54 (July 2009), 10 pages. [Lagae 11a] Ares Lagae and George Drettakis. 2011. Filtering solid Gabor noise. ACM Trans. Graph. 30, 4, Article 51 (July 2011), 6 pages [Lagae 11b] Ares Lagae, Sylvain Lefebvre, and Philip Dutre. 2011. Improving Gabor Noise. IEEE Transactions on Visualization and Computer Graphics 17, 8 (August 2011), 1096-1107. [Galerne 12] Bruno Galerne, Ares Lagae, Sylvain Lefebvre, and George Drettakis. 2012. Gabor noise by example. ACM Trans. Graph. 31, 4, Article 73 (July 2012), 9 pages. [Landy 04] Michael Landy. 2004. Spatial Frequency Channels. Lecture notes. New York University Center for Neural Science. 22 May 2014. <http://www.cns.nyu.edu/~david/courses/perception/lecturenotes/channels/channels.html> [ZBrush] Josh Tiefer. UV Master in production - Case Study with Josh Tiefer. Pixologic. 27 May 2014. <http://pixologic.com/zbrush/features/Case-Studies/> 11/27/2018 Sampling Gabor Noise in the Spatial Domain