SlideShare une entreprise Scribd logo
1  sur  1
Télécharger pour lire hors ligne
Dynamic Painterly Droplets
Ivan Neulander
Google Inc.
We present a straightforward painterly rendering algorithm that
composites lightweight models of paint droplets onto a virtual canvas,
producing visually pleasing still images and animations. Our method
adapts the size, shape, density, and placement of these droplets to the
content of a single input image, typically a photograph. The droplets
can be rendered dynamically over multiple frames to produce tem-
porally coherent, loopable animations. Our implementation is GPU-
accelerated and runs on both desktop and mobile platforms.
Figure 1: A photograph and its rendering using our painterly droplets.
Paint Droplet Model
The basis of our painterly rendering algorithm is the model of a paint
droplet, which is derived from an arbitrarily sized and oriented el-
lipse, with radially varying color and opacity. Unlike a true ellipse,
a droplet’s perimeter is randomized to produce a consistent but noisy
outline. This shape variation is implemented in the shader. A droplet’s
orientation and thickness are governed by the gradient vectors of the
input image, and its color is based on the color of the input image over
the corresponding region. We implement a low-discrepancy random
number generator (RNG) using a multi-dimensional Halton sequence
in order to vary the position, shape, and color attributes of each droplet.
This reduces clumping and yields an approximately even coverage of
randomized values.
Rendering Pipeline
Prior to generating droplets, we construct a gradient image from the
input, and then apply blur and gamma adjustment to the gradient vec-
tors. These operations are implemented in Halide [Ragan-Kelley et al.
2012] to portably exploit multithreading and vectorization on our tar-
get platforms.
Our rendering pipeline generates droplets in several discrete stages:
First, a base layer consisting of large and highly opaque droplets is
created to efficiently cover the canvas. Second, a group of uniform
droplets are placed uniformly over the canvas at varying sizes, such
that the number of droplets at a given size varies inversely with the size.
Finally, a set of detail droplets are placed nonuniformly, with density
based on the input image gradients and proximity to human faces. The
placement of detail droplets follows the idea of [Wexler and Dezeustre
2012] by using an image-based importance sampler. The three droplet
types are shown in Figure 1. Each generated droplet is stored in a pri-
ority queue that provides rapid access to the largest (longest) droplet.
Once all droplets have been generated, they are composited onto a
fixed canvas layer in largest-to-smallest order, as proposed in [Hertz-
mann 1998]. Prior to compositing, each droplet is optionally per-
turbed, as described below, to produce temporally coherent animations.
Figure 2: From left: base layer, uniform droplets, detail droplets.
Figure 3: Core components of our painterly rendering pipeline.
Droplet Perturbation
The nominal position of each droplet is obtained either directly from
the RNG, or (for detail droplets) indirectly via the importance sampler.
In order to generate an animated output, we position the droplet dy-
namically by perturbing this position over time according to a closed
Lissajous curve of user-specified relative frequencies. The size of the
curve is based on the droplet’s length, producing smaller perturbations
for smaller droplets. This helps to preserve detail. While all droplets
use the same overall curve shape, their initial phases are uniquely de-
termined by the RNG. We adjust the droplet’s colors based on its per-
turbed position. To improve temporal coherence, we use the size and
orientation from the original, unperturbed position.
Figure 4: Above: painterly rendering of a scene in Strasbourg;
Below: crops of three successive frames from resulting animation.
References
HERTZMANN, A. 1998. Painterly rendering with curved brush strokes
of multiple sizes. In SIGGRAPH ’98, ACM, SIGGRAPH ’98.
RAGAN-KELLEY, J., ADAMS, A., PARIS, S., LEVOY, M., AMA-
RASINGHE, S., AND DURAND, F. 2012. Decoupling algorithms
from schedules for easy optimization of image processing pipelines.
ACM Trans. Graph. 31, 4 (July).
WEXLER, D., AND DEZEUSTRE, G. 2012. Intelligent brush strokes.
In ACM SIGGRAPH 2012 Talks, ACM, SIGGRAPH ’12.

Contenu connexe

Tendances

GRPHICS02 - Creating 3D Graphics
GRPHICS02 - Creating 3D GraphicsGRPHICS02 - Creating 3D Graphics
GRPHICS02 - Creating 3D GraphicsMichael Heron
 
Texture mapping overview
Texture mapping overviewTexture mapping overview
Texture mapping overviewJ Le Rossignol
 
Shaders - Graeme Smedley
Shaders - Graeme SmedleyShaders - Graeme Smedley
Shaders - Graeme SmedleyPartyMix
 
6 texture mapping computer graphics
6 texture mapping computer graphics6 texture mapping computer graphics
6 texture mapping computer graphicscairo university
 
Shading and two type of shading flat shading and gauraud shading with coding ...
Shading and two type of shading flat shading and gauraud shading with coding ...Shading and two type of shading flat shading and gauraud shading with coding ...
Shading and two type of shading flat shading and gauraud shading with coding ...Adil Mehmoood
 
3D Graphics
3D Graphics3D Graphics
3D GraphicsViTAly
 
Basic rendering techniques
Basic rendering techniquesBasic rendering techniques
Basic rendering techniquesCharles Flynt
 
Three Dimensional Space
Three Dimensional SpaceThree Dimensional Space
Three Dimensional Spacecjoyce104
 
190410 sc fegan-face_editing_generative_adversarial_network_with_users_sketch...
190410 sc fegan-face_editing_generative_adversarial_network_with_users_sketch...190410 sc fegan-face_editing_generative_adversarial_network_with_users_sketch...
190410 sc fegan-face_editing_generative_adversarial_network_with_users_sketch...亮宏 藤井
 
The complete process of animation industry
The complete process of animation industryThe complete process of animation industry
The complete process of animation industryVeetil Digital Service
 
Motion graphics Terminology
Motion graphics TerminologyMotion graphics Terminology
Motion graphics TerminologyJoe Nasr
 

Tendances (19)

GRPHICS02 - Creating 3D Graphics
GRPHICS02 - Creating 3D GraphicsGRPHICS02 - Creating 3D Graphics
GRPHICS02 - Creating 3D Graphics
 
Texture mapping overview
Texture mapping overviewTexture mapping overview
Texture mapping overview
 
Shaders - Graeme Smedley
Shaders - Graeme SmedleyShaders - Graeme Smedley
Shaders - Graeme Smedley
 
6 texture mapping computer graphics
6 texture mapping computer graphics6 texture mapping computer graphics
6 texture mapping computer graphics
 
Shading and two type of shading flat shading and gauraud shading with coding ...
Shading and two type of shading flat shading and gauraud shading with coding ...Shading and two type of shading flat shading and gauraud shading with coding ...
Shading and two type of shading flat shading and gauraud shading with coding ...
 
Rendering
RenderingRendering
Rendering
 
Datt 2500 week 10
Datt 2500 week 10Datt 2500 week 10
Datt 2500 week 10
 
3D Graphics
3D Graphics3D Graphics
3D Graphics
 
Basic rendering techniques
Basic rendering techniquesBasic rendering techniques
Basic rendering techniques
 
Graphics a buffer
Graphics a bufferGraphics a buffer
Graphics a buffer
 
Depth Buffer Method
Depth Buffer MethodDepth Buffer Method
Depth Buffer Method
 
Datt 2501 week 10
Datt 2501 week 10Datt 2501 week 10
Datt 2501 week 10
 
Three Dimensional Space
Three Dimensional SpaceThree Dimensional Space
Three Dimensional Space
 
Psudo color
Psudo colorPsudo color
Psudo color
 
190410 sc fegan-face_editing_generative_adversarial_network_with_users_sketch...
190410 sc fegan-face_editing_generative_adversarial_network_with_users_sketch...190410 sc fegan-face_editing_generative_adversarial_network_with_users_sketch...
190410 sc fegan-face_editing_generative_adversarial_network_with_users_sketch...
 
The complete process of animation industry
The complete process of animation industryThe complete process of animation industry
The complete process of animation industry
 
Datt2500 week3
Datt2500 week3Datt2500 week3
Datt2500 week3
 
Motion graphics Terminology
Motion graphics TerminologyMotion graphics Terminology
Motion graphics Terminology
 
Presentation space1
Presentation space1Presentation space1
Presentation space1
 

Similaire à painterly_droplets_2015

study Diffusion Curves: A Vector Representation for Smooth-Shaded Images
study Diffusion Curves: A Vector Representation for Smooth-Shaded Imagesstudy Diffusion Curves: A Vector Representation for Smooth-Shaded Images
study Diffusion Curves: A Vector Representation for Smooth-Shaded ImagesChiamin Hsu
 
JonathanWestlake_ComputerVision_Project1
JonathanWestlake_ComputerVision_Project1JonathanWestlake_ComputerVision_Project1
JonathanWestlake_ComputerVision_Project1Jonathan Westlake
 
User Interactive Color Transformation between Images
User Interactive Color Transformation between ImagesUser Interactive Color Transformation between Images
User Interactive Color Transformation between ImagesIJMER
 
Locally_adaptive.ppt
Locally_adaptive.pptLocally_adaptive.ppt
Locally_adaptive.pptgrssieee
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...ijceronline
 
A PROJECT REPORT ON REMOVAL OF UNNECESSARY OBJECTS FROM PHOTOS USING MASKING
A PROJECT REPORT ON REMOVAL OF UNNECESSARY OBJECTS FROM PHOTOS USING MASKINGA PROJECT REPORT ON REMOVAL OF UNNECESSARY OBJECTS FROM PHOTOS USING MASKING
A PROJECT REPORT ON REMOVAL OF UNNECESSARY OBJECTS FROM PHOTOS USING MASKINGIRJET Journal
 
Visual Hull Construction from Semitransparent Coloured Silhouettes
Visual Hull Construction from Semitransparent Coloured Silhouettes  Visual Hull Construction from Semitransparent Coloured Silhouettes
Visual Hull Construction from Semitransparent Coloured Silhouettes ijcga
 
Visual Hull Construction from Semitransparent Coloured Silhouettes
Visual Hull Construction from Semitransparent Coloured Silhouettes  Visual Hull Construction from Semitransparent Coloured Silhouettes
Visual Hull Construction from Semitransparent Coloured Silhouettes ijcga
 
Shader X³: Image Space - Color Grading
Shader X³: Image Space - Color GradingShader X³: Image Space - Color Grading
Shader X³: Image Space - Color GradingRonny Burkersroda
 
A Combined Model for Image Inpainting
A Combined Model for Image InpaintingA Combined Model for Image Inpainting
A Combined Model for Image Inpaintingiosrjce
 
Visual hull construction from semitransparent coloured silhouettes
Visual hull construction from semitransparent coloured silhouettesVisual hull construction from semitransparent coloured silhouettes
Visual hull construction from semitransparent coloured silhouettesijcga
 
Conception_et_realisation_dun_site_Web_d.pdf
Conception_et_realisation_dun_site_Web_d.pdfConception_et_realisation_dun_site_Web_d.pdf
Conception_et_realisation_dun_site_Web_d.pdfSofianeHassine2
 
Volume Rendering in Unity3D
Volume Rendering in Unity3DVolume Rendering in Unity3D
Volume Rendering in Unity3DMatias Lavik
 
Decomposing image generation into layout priction and conditional synthesis
Decomposing image generation into layout priction and conditional synthesisDecomposing image generation into layout priction and conditional synthesis
Decomposing image generation into layout priction and conditional synthesisNaeem Shehzad
 
Developing 3D Viewing Model from 2D Stereo Pair with its Occlusion Ratio
Developing 3D Viewing Model from 2D Stereo Pair with its Occlusion RatioDeveloping 3D Viewing Model from 2D Stereo Pair with its Occlusion Ratio
Developing 3D Viewing Model from 2D Stereo Pair with its Occlusion RatioCSCJournals
 
Variable length signature for near-duplicate
Variable length signature for near-duplicateVariable length signature for near-duplicate
Variable length signature for near-duplicatejpstudcorner
 
Calculation of sinuosity in GRASS GIS
Calculation of sinuosity in GRASS GISCalculation of sinuosity in GRASS GIS
Calculation of sinuosity in GRASS GISSkyler Sorsby
 
Machine Intelligence.html
Machine Intelligence.htmlMachine Intelligence.html
Machine Intelligence.htmlJohnChan191
 

Similaire à painterly_droplets_2015 (20)

study Diffusion Curves: A Vector Representation for Smooth-Shaded Images
study Diffusion Curves: A Vector Representation for Smooth-Shaded Imagesstudy Diffusion Curves: A Vector Representation for Smooth-Shaded Images
study Diffusion Curves: A Vector Representation for Smooth-Shaded Images
 
JonathanWestlake_ComputerVision_Project1
JonathanWestlake_ComputerVision_Project1JonathanWestlake_ComputerVision_Project1
JonathanWestlake_ComputerVision_Project1
 
User Interactive Color Transformation between Images
User Interactive Color Transformation between ImagesUser Interactive Color Transformation between Images
User Interactive Color Transformation between Images
 
Locally_adaptive.ppt
Locally_adaptive.pptLocally_adaptive.ppt
Locally_adaptive.ppt
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
 
A PROJECT REPORT ON REMOVAL OF UNNECESSARY OBJECTS FROM PHOTOS USING MASKING
A PROJECT REPORT ON REMOVAL OF UNNECESSARY OBJECTS FROM PHOTOS USING MASKINGA PROJECT REPORT ON REMOVAL OF UNNECESSARY OBJECTS FROM PHOTOS USING MASKING
A PROJECT REPORT ON REMOVAL OF UNNECESSARY OBJECTS FROM PHOTOS USING MASKING
 
Visual Hull Construction from Semitransparent Coloured Silhouettes
Visual Hull Construction from Semitransparent Coloured Silhouettes  Visual Hull Construction from Semitransparent Coloured Silhouettes
Visual Hull Construction from Semitransparent Coloured Silhouettes
 
Visual Hull Construction from Semitransparent Coloured Silhouettes
Visual Hull Construction from Semitransparent Coloured Silhouettes  Visual Hull Construction from Semitransparent Coloured Silhouettes
Visual Hull Construction from Semitransparent Coloured Silhouettes
 
Shader X³: Image Space - Color Grading
Shader X³: Image Space - Color GradingShader X³: Image Space - Color Grading
Shader X³: Image Space - Color Grading
 
I017265357
I017265357I017265357
I017265357
 
A Combined Model for Image Inpainting
A Combined Model for Image InpaintingA Combined Model for Image Inpainting
A Combined Model for Image Inpainting
 
Visual hull construction from semitransparent coloured silhouettes
Visual hull construction from semitransparent coloured silhouettesVisual hull construction from semitransparent coloured silhouettes
Visual hull construction from semitransparent coloured silhouettes
 
Dj31747750
Dj31747750Dj31747750
Dj31747750
 
Conception_et_realisation_dun_site_Web_d.pdf
Conception_et_realisation_dun_site_Web_d.pdfConception_et_realisation_dun_site_Web_d.pdf
Conception_et_realisation_dun_site_Web_d.pdf
 
Volume Rendering in Unity3D
Volume Rendering in Unity3DVolume Rendering in Unity3D
Volume Rendering in Unity3D
 
Decomposing image generation into layout priction and conditional synthesis
Decomposing image generation into layout priction and conditional synthesisDecomposing image generation into layout priction and conditional synthesis
Decomposing image generation into layout priction and conditional synthesis
 
Developing 3D Viewing Model from 2D Stereo Pair with its Occlusion Ratio
Developing 3D Viewing Model from 2D Stereo Pair with its Occlusion RatioDeveloping 3D Viewing Model from 2D Stereo Pair with its Occlusion Ratio
Developing 3D Viewing Model from 2D Stereo Pair with its Occlusion Ratio
 
Variable length signature for near-duplicate
Variable length signature for near-duplicateVariable length signature for near-duplicate
Variable length signature for near-duplicate
 
Calculation of sinuosity in GRASS GIS
Calculation of sinuosity in GRASS GISCalculation of sinuosity in GRASS GIS
Calculation of sinuosity in GRASS GIS
 
Machine Intelligence.html
Machine Intelligence.htmlMachine Intelligence.html
Machine Intelligence.html
 

painterly_droplets_2015

  • 1. Dynamic Painterly Droplets Ivan Neulander Google Inc. We present a straightforward painterly rendering algorithm that composites lightweight models of paint droplets onto a virtual canvas, producing visually pleasing still images and animations. Our method adapts the size, shape, density, and placement of these droplets to the content of a single input image, typically a photograph. The droplets can be rendered dynamically over multiple frames to produce tem- porally coherent, loopable animations. Our implementation is GPU- accelerated and runs on both desktop and mobile platforms. Figure 1: A photograph and its rendering using our painterly droplets. Paint Droplet Model The basis of our painterly rendering algorithm is the model of a paint droplet, which is derived from an arbitrarily sized and oriented el- lipse, with radially varying color and opacity. Unlike a true ellipse, a droplet’s perimeter is randomized to produce a consistent but noisy outline. This shape variation is implemented in the shader. A droplet’s orientation and thickness are governed by the gradient vectors of the input image, and its color is based on the color of the input image over the corresponding region. We implement a low-discrepancy random number generator (RNG) using a multi-dimensional Halton sequence in order to vary the position, shape, and color attributes of each droplet. This reduces clumping and yields an approximately even coverage of randomized values. Rendering Pipeline Prior to generating droplets, we construct a gradient image from the input, and then apply blur and gamma adjustment to the gradient vec- tors. These operations are implemented in Halide [Ragan-Kelley et al. 2012] to portably exploit multithreading and vectorization on our tar- get platforms. Our rendering pipeline generates droplets in several discrete stages: First, a base layer consisting of large and highly opaque droplets is created to efficiently cover the canvas. Second, a group of uniform droplets are placed uniformly over the canvas at varying sizes, such that the number of droplets at a given size varies inversely with the size. Finally, a set of detail droplets are placed nonuniformly, with density based on the input image gradients and proximity to human faces. The placement of detail droplets follows the idea of [Wexler and Dezeustre 2012] by using an image-based importance sampler. The three droplet types are shown in Figure 1. Each generated droplet is stored in a pri- ority queue that provides rapid access to the largest (longest) droplet. Once all droplets have been generated, they are composited onto a fixed canvas layer in largest-to-smallest order, as proposed in [Hertz- mann 1998]. Prior to compositing, each droplet is optionally per- turbed, as described below, to produce temporally coherent animations. Figure 2: From left: base layer, uniform droplets, detail droplets. Figure 3: Core components of our painterly rendering pipeline. Droplet Perturbation The nominal position of each droplet is obtained either directly from the RNG, or (for detail droplets) indirectly via the importance sampler. In order to generate an animated output, we position the droplet dy- namically by perturbing this position over time according to a closed Lissajous curve of user-specified relative frequencies. The size of the curve is based on the droplet’s length, producing smaller perturbations for smaller droplets. This helps to preserve detail. While all droplets use the same overall curve shape, their initial phases are uniquely de- termined by the RNG. We adjust the droplet’s colors based on its per- turbed position. To improve temporal coherence, we use the size and orientation from the original, unperturbed position. Figure 4: Above: painterly rendering of a scene in Strasbourg; Below: crops of three successive frames from resulting animation. References HERTZMANN, A. 1998. Painterly rendering with curved brush strokes of multiple sizes. In SIGGRAPH ’98, ACM, SIGGRAPH ’98. RAGAN-KELLEY, J., ADAMS, A., PARIS, S., LEVOY, M., AMA- RASINGHE, S., AND DURAND, F. 2012. Decoupling algorithms from schedules for easy optimization of image processing pipelines. ACM Trans. Graph. 31, 4 (July). WEXLER, D., AND DEZEUSTRE, G. 2012. Intelligent brush strokes. In ACM SIGGRAPH 2012 Talks, ACM, SIGGRAPH ’12.