Artistic Stylization of Images and Video Eurographics 2011 John Collomosse and Jan Eric Kyprianidis Centre for Vision Speech and Signal Processing (CVSSP)

Slides:



Advertisements
Similar presentations
Why is photorealism the aim? People paint! What is NPR? NPR issues NonPhotorealistic Rendering.
Advertisements

CS Spring 2009 CS 414 – Multimedia Systems Design Lecture 4 – Digital Image Representation Klara Nahrstedt Spring 2009.
Analysis of Contour Motions Ce Liu William T. Freeman Edward H. Adelson Computer Science and Artificial Intelligence Laboratory Massachusetts Institute.
Spatial Filtering (Chapter 3)
Image Processing Lecture 4
Image Segmentation Image segmentation (segmentace obrazu) –division or separation of the image into segments (connected regions) of similar properties.
Optimization & Learning for Registration of Moving Dynamic Textures Junzhou Huang 1, Xiaolei Huang 2, Dimitris Metaxas 1 Rutgers University 1, Lehigh University.
Segmentation Using Active Contour Model and Tomlab By: Dalei Wang 29/04/2003.
1Ellen L. Walker Edges Humans easily understand “line drawings” as pictures.
Instructor: Mircea Nicolescu Lecture 13 CS 485 / 685 Computer Vision.
Lapped Textures Emil Praun and Adam Finkelstien (Princeton University) Huges Hoppe (Microsoft Research) SIGGRAPH 2000 Presented by Anteneh.
Computer Graphics Laboratory – Winter
Artistic Stylization of Images and Video Part IV – Future Challenges Eurographics 2011 John Collomosse Centre for Vision Speech and Signal Processing (CVSSP),
Computer Generated Watercolor Curtis, Anderson, Seims, Fleisher, Salesin SIGGRAPH 1997 Presented by Yann SEMET Universite of Illinois at Urbana Champaign.
Fast, Multiscale Image Segmentation: From Pixels to Semantics Ronen Basri The Weizmann Institute of Science Joint work with Achi Brandt, Meirav Galun,
Today: Image Segmentation Image Segmentation Techniques Snakes Scissors Graph Cuts Mean Shift Wednesday (2/28) Texture analysis and synthesis Multiple.
Snakes Goes from edges to boundaries. Edge is strong change in intensity. Boundary is boundary of an object. –Smooth (more or less) –Closed. –…
Laurent Itti: CS599 – Computational Architectures in Biological Vision, USC Lecture 6: Low-level features 1 Computational Architectures in Biological.
Curve Analogies Aaron Hertzmann Nuria Oliver Brain Curless Steven M. Seitz University of Washington Microsoft Research Thirteenth Eurographics.
Suggestive Contours Final programming assignment Advanced topics in Computer Graphics.
Linear filters and edges. Linear Filters General process: Form new image whose pixels are a weighted sum of original pixel values, using the same set.
Texture Reading: Chapter 9 (skip 9.4) Key issue: How do we represent texture? Topics: –Texture segmentation –Texture-based matching –Texture synthesis.
Highlights Lecture on the image part (10) Automatic Perception 16
Interactive Hairstyle Modeling Using a Sketching Interface Xiaoyang Mao Kouichi Kashio Hiroyuki Kato Atsumi Imamiya CGGM 2002.
Processing Image and Video for An Impressionist Effect Peter Litwinowicz Apple Computer, Inc. Siggraph1997.
NPR - 2D to 3D, painting and rendering Daniel Teece Walt Disney Feature Animation Daniel Teece Walt Disney Feature Animation
Computer Vision P. Schrater Spring 2003
Painterly Rendering for Animation Barbara J. Meier Walt Disney Feature Animation SIGGRAPH 96.
Non-Photorealistic Rendering Greg Turk College of Computing and GVU Center.
Painterly Rendering for Animation – Barbara Meier
04/04/05© 2005 University of Wisconsin NPR Today "Processing Images and Video for an Impressionist Effect", Peter Litwinowicz, Proceedings of SIGGRAPH.
Input: Original intensity image. Target intensity image (i.e. a value sketch). Using Value Images to Adjust Intensity in 3D Renderings and Photographs.
Chapter 2. Image Analysis. Image Analysis Domains Frequency Domain Spatial Domain.
Multimodal Interaction Dr. Mike Spann
Light Using Texture Synthesis for Non-Photorealistic Shading from Paint Samples. Christopher D. Kulla, James D. Tucek, Reynold J. Bailey, Cindy M. Grimm.
Multiscale Moment-Based Painterly Rendering Diego Nehab and Luiz Velho
WIEN Stereo-based Image and Video Analysis for Multimedia Applications Application: “Computer-generated Stereoscopic Paintings“ M. Gelautz, E. Stavrakis,
Processing Images and Video for an Impressionist Effect Author: Peter Litwinowicz Presented by Jing Yi Jin.
Image Processing Edge detection Filtering: Noise suppresion.
Eurographics 2012, Cagliari, Italy 3D Material Style Transfer Chuong H. Nguyen 1, Tobias Ritschel 2, Karol Myszkowski 1, Elmar Eisemann 2, Hans-Peter Seidel.
Stylization and Abstraction of Photographs Doug Decarlo and Anthony Santella.
EECS 274 Computer Vision Segmentation by Clustering II.
Lumo: Illumination for Cel Animation Scott F. Johnston.
CSC508 What You Should Be Doing Code, code, code –Programming Gaussian Convolution Sobel Edge Operator.
Non-Photorealistic Rendering Motivation: Much of the graphical imagery created is not photographic in nature Particularly in some domains: –Art –Animation.
Andrew Nealen / Olga Sorkine / Mark Alexa / Daniel Cohen-Or SoHyeon Jeong 2007/03/02.
Non-Photorealistic Rendering and Content- Based Image Retrieval Yuan-Hao Lai Pacific Graphics (2003)
12/7/10 Looking Back, Moving Forward Computational Photography Derek Hoiem, University of Illinois Photo Credit Lee Cullivan.
03/28/03© 2005 University of Wisconsin NPR Today “Comprehensible Rendering of 3-D Shapes”, Takafumi Saito and Tokiichiro Takahashi, SIGGRAPH 1990 “Painterly.
1 Markov random field: A brief introduction (2) Tzu-Cheng Jen Institute of Electronics, NCTU
Orientable Textures for Image- Based Pen-And-Ink Illustration Michael P. Salisbury Michael T. Wong John F. Hughes David A. Salesin SIGGRAPH 1997 Andrea.
Edges.
Digital Image Processing
Nonphotorealistic rendering Computational Photography, Bill Freeman Fredo Durand May 9, 2006 Drawing from: NPR Siggraph 1999 course, Green et al.
Painterly Rendering for Animation Introduction speaks of focus and detail –Small brush strokes focus and provide detail –Large strokes are abstract and.
CS Spring 2010 CS 414 – Multimedia Systems Design Lecture 4 – Audio and Digital Image Representation Klara Nahrstedt Spring 2010.
Machine Vision Edge Detection Techniques ENT 273 Lecture 6 Hema C.R.
SIGGRAPH 2007 Hui Fang and John C. Hart.  We propose an image editing system ◦ Preserve its detail and orientation by resynthesizing texture from the.
Color Image Segmentation Mentor : Dr. Rajeev Srivastava Students: Achit Kumar Ojha Aseem Kumar Akshay Tyagi.
The NPR Assignment Everything is online off course web page List of papers: –Choose one –First to me gets the paper –Some pairings of tightly related.
Processing Images and Video for An Impressionist Effect Automatic production of “painterly” animations from video clips. Extending existing algorithms.
Spatial Filtering (Chapter 3) CS474/674 - Prof. Bebis.
Image-Guided Fracture David Mould University of Saskatchewan.
- photometric aspects of image formation gray level images
Computer Graphics.
A Look Into Photorealistic and Non-Photorealistic Rendering
DIGITAL SIGNAL PROCESSING
Mean Shift Segmentation
Color-Texture Analysis for Content-Based Image Retrieval
Detecting Artifacts and Textures in Wavelet Coded Images
Presentation transcript:

Artistic Stylization of Images and Video Eurographics 2011 John Collomosse and Jan Eric Kyprianidis Centre for Vision Speech and Signal Processing (CVSSP) University of Surrey, United Kingdom Hasso-Plattner-Institut, University of Potsdam, Germany

Artistic Stylization Resources  Texts Eurographics 2011 Artistic Stylization of Images and Video Part I 2  Tutorials  Main Publication Forums  Web Bibliographies SIGGRAPH 99 (Green et al.) – 2D/3D NPR SIGGRAPH 02 (Hertzmann) – 2D NPR SIGGRAPH 03 (Sousa et al.) – 2D/3D NPR Eurographics 05,06 and... SIGGRAPH 06 (Sousa et al) – 3D NPR SIGGRAPH 10 (McGuire) – 3D NPR for Games Strothotte & Schlechtweg ISBN: Gooch & Gooch ISBN: Romero & Machado ISBN: ib/index.php magdeburg.de/~stefans/npr/nprpapers.html (dated) NPAR (Symposium on Non-photorealistic Animation) Held in Annecy even years, at SIGGRAPH odd years. IEEE Trans Visualization and Comp. Graphics (TVCG) IEEE Computer Graphics and Applications (CG&A) Eurographics and Computer Graphics Forum SIGGRAPH, SIGGRAPH Asia and ACM ToG EG Symposium on Rendering (EGSR) ACM/EG Symposium on Computer Animation (EGSA)

Artistic Stylization Eurographics 2011 Artistic Stylization of Images and Video Part I 3 Anatomy of the Human Body H. Gray, 1918 Stylized Rendering Non-Photorealistic Rendering (NPR) Coined by Salesin et al., 1994 Non-Photorealistic Rendering (NPR) Coined by Salesin et al., 1994 Aesthetic Rendering Artistic Stylization Artistic Rendering

Motivation Eurographics 2011 Artistic Stylization of Images and Video Part I 4  Why? Comprehension Communication Aesthetics Visualization Animation  Artistic Stylization can  Simplify and structure the presentation of content  Selectively guide attention to salient areas of content and influence perception  Learn and emulate artistic styles  Provide assistive tools to artists and animators (not replace the artist!)  Help us to design effective visual interfaces Tatzgurn et al. NPAR 2010 Artistic Stylization

Motivation Eurographics 2011 Artistic Stylization of Images and Video Part I 5  Rendering real images/video footage in to pseudo-artistic styles  Convergence of Computer Vision, Graphics (and HCI) AnalysisRender Image Processing / VisionComputer Graphics Representation  Visual analysis enables new graphics. Graphical needs motivate new vision. User Interaction Artistic Stylization

Chronology Eurographics 2011 Artistic Stylization of Images and Video Part I 6 Semi-automatic painting systems P. Haeberli (SIGGRAPH 90) Semi-automatic painting systems P. Haeberli (SIGGRAPH 90) Perceptual UI & segmentation D. Decarlo [SIGGRAPH 02] Perceptual UI & segmentation D. Decarlo [SIGGRAPH 02] Automatic perceptual J. Collomosse [EvoMUSART 05] Automatic perceptual J. Collomosse [EvoMUSART 05] Anisotropy / filters H. Winnemoeller [SIGGRAPH 06] J. Kyprianidis [TPCG 08] Anisotropy / filters H. Winnemoeller [SIGGRAPH 06] J. Kyprianidis [TPCG 08] User evaluation T. Isenberg [NPAR 06] User evaluation T. Isenberg [NPAR 06] NPAR 2010 Grand challenges NPAR 2010 Grand challenges Late 1980s Advances in media emulation D. Strassman (SIGGRAPH 86) Late 1980s Advances in media emulation D. Strassman (SIGGRAPH 86) Video painting P. Litwinowicz (SIGGRAPH 97) Video painting P. Litwinowicz (SIGGRAPH 97) Fully automatic painting A. Hertzmann (SIGGRAPH 98) Treveatt/Chen [EGUK 97] P. Litwinowicz [SIGGRAPH 97] Fully automatic painting A. Hertzmann (SIGGRAPH 98) Treveatt/Chen [EGUK 97] P. Litwinowicz [SIGGRAPH 97] Space-time video J. Wang [SIGGRAPH 04] J. Collomosse [TVCG 05] Space-time video J. Wang [SIGGRAPH 04] J. Collomosse [TVCG 05]

Interactions with Vision Eurographics 2011 Artistic Stylization of Images and Video Part I 7 Semi-automatic painting systems P. Haeberli (SIGGRAPH 90) Semi-automatic painting systems P. Haeberli (SIGGRAPH 90) Perceptual UI & segmentation D. Decarlo [SIGGRAPH 02] Perceptual UI & segmentation D. Decarlo [SIGGRAPH 02] Automatic perceptual J. Collomosse [EvoMUSART 05] Automatic perceptual J. Collomosse [EvoMUSART 05] Anisotropy / filters H. Winnemoeller [SIGGRAPH 06] J. Kyprianidis [TPCG 08] Anisotropy / filters H. Winnemoeller [SIGGRAPH 06] J. Kyprianidis [TPCG 08] User evaluation T. Isenberg [NPAR 06] User evaluation T. Isenberg [NPAR 06] NPAR 2010 Grand challenges NPAR 2010 Grand challenges Late 1980s Advances in media emulation D. Strassman (SIGGRAPH 86) Late 1980s Advances in media emulation D. Strassman (SIGGRAPH 86) Video painting P. Litwinowicz (SIGGRAPH 97) Video painting P. Litwinowicz (SIGGRAPH 97) Fully automatic painting A. Hertzmann (SIGGRAPH 98) Treveatt/Chen [EGUK 97] P. Litwinowicz [SIGGRAPH 97] Fully automatic painting A. Hertzmann (SIGGRAPH 98) Treveatt/Chen [EGUK 97] P. Litwinowicz [SIGGRAPH 97] Space-time video J. Wang [SIGGRAPH 04] J. Collomosse [TVCG 05] Space-time video J. Wang [SIGGRAPH 04] J. Collomosse [TVCG 05] User concious interaction Low-level image processing Rendering process is guided by... Higher level computer vision Direct Anisotropic filtering User subconscious interaction

Tutorial Structure Eurographics 2011 Artistic Stylization of Images and Video Part I 8 Semi-automatic painting systems P. Haeberli (SIGGRAPH 90) Semi-automatic painting systems P. Haeberli (SIGGRAPH 90) Perceptual UI & segmentation D. Decarlo [SIGGRAPH 02] Perceptual UI & segmentation D. Decarlo [SIGGRAPH 02] Automatic perceptual J. Collomosse [EvoMUSART 05] Automatic perceptual J. Collomosse [EvoMUSART 05] Anisotropy / filters H. Winnemoeller [SIGGRAPH 06] J. Kyprianidis [TPCG 08] Anisotropy / filters H. Winnemoeller [SIGGRAPH 06] J. Kyprianidis [TPCG 08] User evaluation T. Isenberg [NPAR 06] User evaluation T. Isenberg [NPAR 06] NPAR 2010 Grand challenges NPAR 2010 Grand challenges Late 1980s Advances in media emulation D. Strassman (SIGGRAPH 86) Late 1980s Advances in media emulation D. Strassman (SIGGRAPH 86) Video painting P. Litwinowicz (SIGGRAPH 97) Video painting P. Litwinowicz (SIGGRAPH 97) Fully automatic painting A. Hertzmann (SIGGRAPH 98) Treveatt/Chen [EGUK 97] P. Litwinowicz [SIGGRAPH 97] Fully automatic painting A. Hertzmann (SIGGRAPH 98) Treveatt/Chen [EGUK 97] P. Litwinowicz [SIGGRAPH 97] Space-time video J. Wang [SIGGRAPH 04] J. Collomosse [TVCG 05] Space-time video J. Wang [SIGGRAPH 04] J. Collomosse [TVCG 05] User concious interaction Low-level image processing Rendering process is guided by... Higher level computer vision Direct Anisotropic filtering User subconscious interaction Part I: Classical algorithms (30 min) Part II: Vision for Stylisation (60 min) Part III: Anisotropy and Filtering (70 min) Part IV: Future Challenges (20 min) BREAK!

Artistic Stylization of Images and Video Part I – Classical Algorithms / Stroke Based Rendering Eurographics 2011 John Collomosse Centre for Vision Speech and Signal Processing (CVSSP), University of Surrey, United Kingdom

References  Paint by numbers: Abstract image representations P. Haeberli, SIGGRAPH 1990  Almost Automatic Computer Painting P. Haggerty, IEEE CG & A 1991  Orientable Textures for Image based Pen-and-Ink Illustration D. Salisbury et al., SIGGRAPH 1997  Processing images and video for an impressionist effect P. Litwinowicz, SIGGRAPH 1997  Statistical techniques for the automated synthesis of non-photorealistic images S. Treavett and M. Chen, Eurographics UK  Automatic Painting based on Local Source Image Approximation Shiraishi and Yamaguchi, NPAR  Painterly Rendering with Curved Strokes of Multiple Sizes A. Hertzmann, SIGGRAPH  Paint by Relaxation A. Hertzmann, CGI 2001  Fast Paint Texture A. Hertzmann, NPAR 2002 Eurographics 2011 Artistic Stylization of Images and Video Part I 10

Time to Palette  Early painting systems lacked appropriate UI for rich digital painting Eurographics 2011 Artistic Stylization of Images and Video Part I 11 Xerox superpaint (1980s) Windows Vista Paint 2007

Paint by numbers: Abstract Image Representations Haeberli. (1990)  Stroke based rendering (SBR)  Painting is a manually ordered list of strokes, placed interactively.  Stroke attributes sampled from the photo. Eurographics 2011 Artistic Stylization of Images and Video Part I 12 PhotoCanvas stroke click same geometry

Paintings with / without orientable strokes Orientation Paint by numbers: Abstract Image Representations Haeberli. (1990)  Stroke colour and orientation are sampled from the source image  Stroke order and scale are user-selected  Addition of RGB noise generates an impressionist effect Edge Mag. Sobel Edge detection Edge orient. Photo credit: Haeberli ’90. Eurographics 2011 Artistic Stylization of Images and Video Part I 13

Orientation field Painterly Rendering Paint by numbers: Abstract Image Representations Haeberli. (1990)  More stylised orientation effects with a manually defined orientation field Photo credit: Haeberl ’90. Eurographics 2011 Artistic Stylization of Images and Video Part I 14

Eurographics 2011 Artistic Stylization of Images and Video Part I 15 All tutorial code at Paint by numbers: Abstract Image Representations Haeberli. (1990)

Orientable Textures for Image-based Pen-and-Ink Illustration Salisbury et al. (1997)  Very similar system for pen-and-ink rendering of photos  User defined orientation field. Regions manually drawn and marked up with orientation  Stroke (line) placement automatic. Strokes clipped to keep within regions. Manually defining regions of the orientation field Photo credit: Salisbury’97. Eurographics 2011 Artistic Stylization of Images and Video Part I 16

Almost automatic computer painting Haggerty (1991)  Stroke colour and orientation are sampled from the source image  Stroke order and scale are user-selected  Scale sampled from Sobel edge magnitude  Regularly place strokes. Order of strokes randomly generated Pseudo-random (as Haggerty) Interactive (Haeberli) Photo credit: Haeberli ’90. Fully automated Loss of detail in important regions Eurographics 2011 Artistic Stylization of Images and Video Part I 17

Processing Images & Video for Impressionist Effect Litwinowicz (1997) Eurographics 2011 Artistic Stylization of Images and Video Part I 18 Stroke grows from seed point bidirectionaly until edge pixels encountered Image edge Sobel edge direction seed No clippingClipping Photo credit: Litwinowicz ‘97

 Common recipe for SBR in the 1990s Sobel edge detection on blurred image Regular seeding of strokes on canvas Scale strokes inverse to edge magnitude Orient strokes along edge tangent Place strokes in a specific way using this data  An interesting alternative uses 2 nd order moments within local window to orient strokes. Extended to multi-scale strokes by Shiraishi and Yamaguchi (NPAR 2000) Statistical techniques for automated synthesis of NPR Treavett and Chen (1997) Photo credit: Shiraishi / Yamaguchi ‘00 Eurographics 2011 Artistic Stylization of Images and Video Part I 19

Automatic Painting based on Local Source Image Approximation Shiraishi and Yamaguchi (2000)  2D zero-moments for greyscale image I(x,y)  1 st order moments provide centre of mass.  2 nd order moments describe grey variance.  Orient strokes orthogonal to the direction of greatest variance about the centre of mass. w w l l   Local window centred at seed pixel Eurographics 2011 Artistic Stylization of Images and Video Part I 20

 The canvas is built up in layers from coarse to fine Analysis window scale, and stroke scale are varied in proportion Eurographics 2011 Artistic Stylization of Images and Video Part I 21 Photo credit: Shiraishi / Yamaguchi ‘00 Automatic Painting based on Local Source Image Approximation Shiraishi and Yamaguchi (2000)

Painterly Rendering With Curved Brush Strokes Hertzmann (1998)  Artists do not paint with uniformly shaped short strokes (pointillism excepted!)  Two key contributions (1998) Multi-layer (coarse to fine) painting Painting using  -spline strokes  Spline strokes can be bump mapped for an improved painterly look (NPAR 2002) Texture mapBump map Photo credit: Hertzman ‘02 Eurographics 2011 Artistic Stylization of Images and Video Part I 22

Painterly Rendering With Curved Brush Strokes Hertzmann (1998)  Greedy algorithm for stroke placement  Regularly sample the canvas to seed strokes  Build a list of control points for each stroke by “hopping” between pixels* * In practice, best to use float coordinates and interpolate edge orientation seed point 1)Pick a direction arbitrarily (some implementations explore both) directional ambiguity

Painterly Rendering With Curved Brush Strokes Hertzmann (1998)  Greedy algorithm for stroke placement  Regularly sample the canvas to seed strokes  Build a list of control points for each stroke by “hopping” between pixels* * In practice, best to use float coordinates and interpolate edge orientation seed point 2)Make another hop, resolving directional ambiguity by hopping in the direction of min  ambiguity  

Painterly Rendering With Curved Brush Strokes Hertzmann (1998)  Greedy algorithm for stroke placement  Regularly sample the canvas to seed strokes  Build a list of control points for each stroke by “hopping” between pixels* * In practice, best to use float coordinates and interpolate edge orientation Until termination criteria met 3)Keep hopping until end land on a pixel whose RGB colour differs (> threshold) from mean colour of stroke, or the stroke length is > a second threshold.   B-spline control points

Eurographics 2011 Artistic Stylization of Images and Video Part I 26  Paint coarsest layer with large strokes  Paint next layer with smaller strokes Only paint regions that differ between the layers Use RGB difference Painterly Rendering With Curved Brush Strokes Hertzmann (1998) Compositing order  Painting is laid down in multiple layers (coarse to fine)  Band-pass pyramid (= differenced layers of low-pass)  Strokes from early layers are visible in final layer

 Tips and tricks Non-linear diffusion* instead of Gaussian blur sharpens the painting – preserves edges and accuracy of edge orientation. Build Gaussian pyramid at octave intervals,  =(1,2,4,8). 4 layers sufficient. Stroke thickness also at octave intervals Low-pass filter the hop direction  Painterly Rendering With Curved Brush Strokes Hertzmann (1998) * “Scale-Space and Edge Detection using Anisotropic Diffusion”. P. Perona and J. Malik. PAMI 12:629– Eurographics 2011 Artistic Stylization of Images and Video Part I 27

Paint by Relaxation Hertzmann. (2001)  Global Optimization to Iteratively Produce “Better” Paintings Hertzmann 1998 (Greedy stroke placement) Hertzmann 1998 (Greedy stroke placement) Hertzmann 2001 (Global stroke optimization) Hertzmann 2001 (Global stroke optimization) Eurographics 2011 Artistic Stylization of Images and Video Part I 28 Photo credit: Hertzman ’01

 How to define the optimality of a painting ‘P’ derived from a photo ‘G’ Weighted sum of Heuristics Painting similar to photo - weighted Stroke area (“paint used by artist”) Number of strokes Fraction of canvas covered by strokes Paint by Relaxation Hertzmann. (2001)  The right strokes in the right place will minimize the energy function E(P)  Weighting  app is derived from a Sobel edge magnitude (or user defined) Eurographics 2011 Artistic Stylization of Images and Video Part I 29

Eurographics 2011 Artistic Stylization of Images and Video Part I 30 Active Contours (Snakes) Kass et al. (1987) 2n-D Solution space x1x1 y1y1 x2x2 y2y2... ynyn X Y 2-D Image (x 1,y 1 ) (x 2,y 2 ) (x 3,y 3 ) etc... (x n,y n ) Internal energyExternal energy

 Strokes selected at random and modified by local optimization to minimize E(P)  Strokes modelled as active contours (“snakes”) … but energy has no 1 st /2 nd order derivative terms E(P) is approximated under control points Eurographics 2011 Artistic Stylization of Images and Video Part I 31 Paint by Relaxation Hertzmann. (2001) Weighted sum of Heuristics Painting similar to photo - weighted Stroke area (“paint used by artist”) Number of strokes Fraction of canvas covered by strokes

 Simplest solution (gradient descent) Can be unstable for this weighted heuristic function Eurographics 2011 Artistic Stylization of Images and Video Part I 32 Paint by Relaxation Hertzmann. (2001) X Y Canvas (x 1,y 1 ) (x 2,y 2 ) (x 3,y 3 ) etc... (x n,y n )  E(x 1 ) /  x 1  E(y 1 ) /  y 1  E(x 2 ) /  x 2  E(y 2 ) /  y 2  E(x 3 ) /  x 3  E(y 3 ) /  y 3  E(x 4 ) /  x 4  E(y 4 ) /  y 4...  E(x n ) /  x n  E(y n ) /  y n GRADIENT x1x1 y1y1 x2x2 y2y2... ynyn GRADIENT

 Dynamic programming solution (Amini et al. ‘90) Move each control point to obtain locally optimal position (5x5) E(P) at control point dependent only on current v i and previous v i-1 Eurographics 2011 Artistic Stylization of Images and Video Part I 33 Paint by Relaxation Hertzmann. (2001)

 Sobel magnitude can be replaced with a manually sketched mask to alter emphasis Emphasis on people vs. wall Eurographics 2011 Artistic Stylization of Images and Video Part I 34 Photo credit: Hertzman ‘01

Stroke Rendering Library (C/C++)  Quick Start: OpenGL research code for bump-mapped paint strokes  Strokes as Catmull-Rom (interpolating) splines  Bump mapping via Multi-texturing (can be disabled)  Dependency on OpenCV to load images (can substitute this trivially)  Code used in “Empathic Painting” Collomosse et al. NPAR