Artistic Stylization and Rendering Aaron Hertzmann Adobe Research - - PowerPoint PPT Presentation

artistic stylization and rendering
SMART_READER_LITE
LIVE PREVIEW

Artistic Stylization and Rendering Aaron Hertzmann Adobe Research - - PowerPoint PPT Presentation

Artistic Stylization and Rendering Aaron Hertzmann Adobe Research San Francisco class Nullspace implements Constants, Cloneable { /** The rows of the nullspace */ Vector rows = new Vector(); /** A list of the variables currently contained


slide-1
SLIDE 1

Artistic Stylization and Rendering

Aaron Hertzmann Adobe Research San Francisco

slide-2
SLIDE 2

class Nullspace implements Constants, Cloneable { /** The rows of the nullspace */ Vector rows = new Vector(); /** A list of the variables currently contained in the nullspace */ Vector variables = new Vector(); /** Add a constraint to the nullspace * * @param c The new constraint * @return True if the new constraint is already consistent with the * existing nullspace */ boolean add(Constraint c) { // Convert the Constraint into a Row // do this first to combine equivalent angles; might zero Row newRow = new Row(c); // Check if c contains any variables that the nullspace doesn't // If so, add them for(int i=0;i<newRow.sources.size();i++) { Object src = newRow.sources.elementAt(i); if (src instanceof AngleMeasure) src = ((AngleMeasure)src).getEquivalent(); if (variables.indexOf(src) < 0) addVariable(src); } int nk = rows.size(); // n-k = num vars - num constraints int[] Nx = new int[nk]; boolean zero = true; int pivot = -1; // compute N * x, where N is the nullspace and x is the new row for(int i=0;i<nk;i++) { Nx[i] = Row.dot((Row)rows.elementAt(i),newRow); if (Nx[i] != 0) { zero = false; pivot = i; } } // test if the new constraint was already consistent if (zero) return true;

slide-3
SLIDE 3
slide-4
SLIDE 4
slide-5
SLIDE 5
slide-6
SLIDE 6
slide-7
SLIDE 7

Litwinowicz 1997

slide-8
SLIDE 8

Input Image

slide-9
SLIDE 9
slide-10
SLIDE 10
slide-11
SLIDE 11
slide-12
SLIDE 12

Hertzmann, SIGGRAPH 1998

slide-13
SLIDE 13

Hertzmann, NPAR 2000

slide-14
SLIDE 14
slide-15
SLIDE 15

Non-photorealistic rendering: computer graphics and animation inspired by natural artistic media

slide-16
SLIDE 16
  • 1. Scientific models for art

Research goals

slide-17
SLIDE 17
  • 2. Rendering algorithms

Research goals

slide-18
SLIDE 18
  • 3. New artistic tools

Research goals

slide-19
SLIDE 19

The development of art and technology have always gone hand-in-hand

slide-20
SLIDE 20

3D Non-Photorealistic Rendering

Smooth surface Occluding contours Stylized rendering

slide-21
SLIDE 21

Occluding Contours

Weiss 1966

slide-22
SLIDE 22

Suggestive Contours

DeCarlo et al. SIGGRAPH 2003

Camera view Contours Contours+SC

slide-23
SLIDE 23

Studies on line drawing

Cole et al. SIGGRAPH 2008

slide-24
SLIDE 24

Stylized Contour Algorithms

[Hertzmann and Zorin 2000] [Grabli et al. 2010] [Kalnins et al. 2003] [Buchholz et al. 2011] [Eisemann et al. 2008]

slide-25
SLIDE 25

Bénard et al. NPAR 2012

slide-26
SLIDE 26

Disney’s Paperman

slide-27
SLIDE 27

Procedural methods

Pro: lovely results, very controllable Cons: hard to design styles, 
 complex to implement

slide-28
SLIDE 28

What is texture?

slide-29
SLIDE 29
slide-30
SLIDE 30

What is texture?

slide-31
SLIDE 31

Early Texture models

Haralick 1973

slide-32
SLIDE 32

Higher-Order Statistics

Portilla and Simoncelli 2000

slide-33
SLIDE 33

Higher-Order Statistics

Portilla and Simoncelli 2000

slide-34
SLIDE 34

Higher-Order Statistics

Portilla and Simoncelli 2000

slide-35
SLIDE 35

Higher-Order Statistics

Portilla and Simoncelli 1999

slide-36
SLIDE 36

Patch-Based Texture

Efros and Leung 1999

Input texture Output texture

slide-37
SLIDE 37

Patch-Based Texture

Efros and Leung 1999

Input texture Output texture

slide-38
SLIDE 38

Input texture Output texture

Efros and Leung 1999, Wei and Levoy 2000

slide-39
SLIDE 39

Results

Efros and Leung 1999, Wei and Levoy 2000

slide-40
SLIDE 40

Curve stylization

slide-41
SLIDE 41

Curve Propagation

Frame 1

?


Frame 2

slide-42
SLIDE 42

Image Analogies

Goal: Process an image by example

?

: : ::

B B’ A A’

Hertzmann et al. SIGGRAPH 2001

slide-43
SLIDE 43

:

A’

: ::

A B’ B

Hertzmann et al. SIGGRAPH 2001

slide-44
SLIDE 44

: :

A’ A B’ B

::

Hertzmann et al. SIGGRAPH 2001

slide-45
SLIDE 45

Blur

A A’ B B’

Hertzmann et al. SIGGRAPH 2001

slide-46
SLIDE 46

Superresolution

Hertzmann et al. SIGGRAPH 2001

slide-47
SLIDE 47

Texture transfer

A A’ (same texture) B

Closer to texture Closer to photo

B’s

slide-48
SLIDE 48
slide-49
SLIDE 49

Color channels

Input image Luminance Color channels

slide-50
SLIDE 50

Color channels

Luminance Blurry color

slide-51
SLIDE 51

Color channels

Blurry luminance Color channels

slide-52
SLIDE 52

Color transfer

Example luminance Input luminance Input photo Input colors Output luminance

+

Output
 image

slide-53
SLIDE 53
slide-54
SLIDE 54
slide-55
SLIDE 55
slide-56
SLIDE 56
slide-57
SLIDE 57
slide-58
SLIDE 58

A A’ B B’

slide-59
SLIDE 59
slide-60
SLIDE 60
slide-61
SLIDE 61

:

A A’

:

B B’

::

slide-62
SLIDE 62

:

A A’ B

::

B’

:

slide-63
SLIDE 63
slide-64
SLIDE 64
slide-65
SLIDE 65

Image Analogies for Animation

Bénard et al. SIGGRAPH 2013

slide-66
SLIDE 66

Illumination-Guided Example-Based Stylization of 3D Renderings

StyLit

1 CTU in Prague, FEE 2Adobe

Research

Jakub Fišer 1
 Eli Shechtman 2 Ondřej Jamriška 1 Paul Asente 2 Daniel Sýkora 1 Michal Lukáč 1 Jingwan Lu 2

slide-67
SLIDE 67

Neural texture

slide-68
SLIDE 68

Can we model statistical textures with neural networks?

slide-69
SLIDE 69

Texture synthesis

Gatys et al., NIPS 2015

slide-70
SLIDE 70

Texture synthesis

Gatys et al., NIPS 2015

slide-71
SLIDE 71

Neural stylization

slide-72
SLIDE 72

Neural Style Transfer

slide-73
SLIDE 73

Results

slide-74
SLIDE 74
slide-75
SLIDE 75

Where are we?

Procedural NPR Patch-Based (Analogies) Neural How do we get the best of each?

slide-76
SLIDE 76

Adding control to neural stylization

slide-77
SLIDE 77

Color Control - Color Preservation

Gatys et al., arXiv 2016

slide-78
SLIDE 78

Color Preservation

slide-79
SLIDE 79

Color Preservation

slide-80
SLIDE 80

Color Control - Luminance Style Transfer

(a) (b)

Stylize

Gatys et al., arXiv 2016

slide-81
SLIDE 81

Color Preservation

slide-82
SLIDE 82

Spatial Control

Gatys et al., arXiv 2016

slide-83
SLIDE 83

Spatial Control

Gatys et al., arXiv 2016

slide-84
SLIDE 84

Spatial Control

Guidance Channels No control

slide-85
SLIDE 85

Spatial Control

Gatys et al., arXiv 2016

slide-86
SLIDE 86

Neural animation

slide-87
SLIDE 87

Where are we?

Procedural NPR Patch-Based (Analogies) Neural Open question: How do we get the best of each?

slide-88
SLIDE 88

Open problems

How do we author images? Learning style from large datasets Detailed control of style Creating 3D animation Making the details look good Make the fast methods better What is style? What is texture?