Notes
Slide Show
Outline
1
Announcements
    • Guest lecture today:  Aseem Agarwala
    • Final project out today
      • you and your partner must submit a proposal by this Friday



  • Today’s Reading
    • Alexei A. Efros and Thomas K. Leung, “Texture Synthesis by Non-parametric Sampling,” Proc. International Conference on Computer Vision (ICCV), 1999.
      • http://www.cs.berkeley.edu/~efros/research/NPS/efros-iccv99.pdf
2
Modeling Texture
  • What is texture?


  • How can we model it?
3
Markov Chains
  • Markov Chain
    • a sequence of random variables


    •       is the state of the model at time t




    • Markov assumption:  each state is dependent only on the previous one
      • dependency given by a conditional probability:



    • The above is actually a first-order Markov chain
    • An N’th-order Markov chain:
4
Markov Chain Example:  Text
  • “A dog is a man’s best friend. It’s a dog eat dog world out there.”
5
Text synthesis
  • Create plausible looking poetry, love letters, term papers, etc.
  • Most basic algorithm
    • Build probability histogram
      • find all blocks of N consecutive words/letters in training documents
      • compute probability of occurance
    • Given words
      • compute          by sampling from



  • Example on board...


6
[Scientific American, June 1989, Dewdney]
  • “I Spent an Interesting Evening Recently with a Grain of Salt”
  •                      - Mark V. Shaney
  • (computer-generated contributor to UseNet News group called net.singles)


7
Modeling Texture
  • What is texture?
    • An image obeying some statistical properties
    • Similar structures repeated over and over again
    • Often has some degree of randomness
8
Markov Random Field
9
Texture Synthesis [Efros & Leung, ICCV 99]
  • Can apply 2D version of text synthesis
10
Synthesizing One Pixel
    • What is                                                                           ?
    • Find all the windows in the image that match the neighborhood
      • consider only pixels in the neighborhood that are already filled in
    • To synthesize x
      • pick one matching window at random
      • assign x to be the center pixel of that window
11
Really Synthesizing One Pixel


12
Growing Texture


13
Window Size Controls Regularity
14
More Synthesis Results
15
More Results
16
Failure Cases
17
Image-Based Text Synthesis
18
Speed


19
 
20
 
21
 
22
 
23
Texture Transfer
24
 
25
 
26
 
27
Issues
  • Imposes artificial grid of overlapping blocks on synthesized image, and greedily chooses blocks in left-right, top-bottom order
  • Dynamic programming limits applicability to related problems.
  • Solution: use graph cuts instead
  • Let’s explore two examples, first.
28
Combining two images
29
Graph cut setup
30
Spatio-temporal texture synthesis
31
Graphcut textures (Kwatra ’03)
32
Progressive Refinement
33
Comparison
34
Image Analogies (Hertzmann ’01)
35
 
36
Artistic Filters
37
Texture-by-numbers
38
Other applications of Image Analogies
  • Texture synthesis
  • Super-resolution
  • Texture transfer
  • Image colorization
  • Simple filters (blur, emboss)
  • More details
    • http://mrl.nyu.edu/projects/image-analogies/
39
Applications of Texture Modeling
  • Super-resolution
    • Freeman & Pasztor, 1999
    • Baker & Kanade, 2000
  • Image/video compression
  • Texture recognition,
  • segmentation
    • DeBonet
  • Restoration
    • removing scratches, holes, filtering
    • Zhu et al.
  • Art/entertainment