Everyone can be Vango

  • Published on
    23-Jan-2018

  • View
    86

  • Download
    1

Embed Size (px)

Transcript

  1. 1. Everyone can be van Gogh Introduction to Neural Art 2016. 11. 08
  2. 2. Reference Leon A. Gatys, Alexander S. Ecker, Matthias Bethge, A Neural Algorithm of Artistic Style Mark Changs slide, http://www.slideshare.net/ckmarkohchang/a- neural-algorithm-of-artistic-style?next_slideshow=1
  3. 3. Outline Few examples of Neural Art Introduction to CNN Implement Neural Art Application Conclusion
  4. 4. Paintings of van Gogh
  5. 5. Can we paint like van Gogh? (Im not 9.2%)
  6. 6. Yes! (Use Convolutional Neural Network) Ref: Mark Changs slide
  7. 7. Neural Network
  8. 8. Partial CNN Process Image (Input) Convolution Max Pooling
  9. 9. CNN Convolution 0 0 1 1 0 0 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0.5 0.5 0 0 0 0 0.5 0.5 0 0 0 0 1 0 0 1 0 0 1 Filter_2 Number of filters depends on Users ! 0 0 1 0 0.5 0 1 0 0 Filter_1 Find pattern Input image
  10. 10. Filter -- Element wise matrix multiplication 0 0 1 1 0 0 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0.5 0.5 0 0 0 0 0.5 0.5 0 0 0 0 1 0 0.5 0 1 0 0 0 0 1 0 0 1 0 0 1 2.5
  11. 11. CNN -- convolution 0 1 2 3 4 5 6 w0 = 11 0 1 2 3 4 5 6 7 8 9 10 11 0 0 1 1 0 0 0 1 1 1 1 0 Corresponding Index 2.5 w1 = 12 w2 = 13 w6 = 21
  12. 12. 0 0 1 1 0 0 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0.5 0.5 0 0 0 0 0.5 0.5 0 0 0 0 1 0 0.5 0 1 0 0 0 0 1 0 0 1 0 0 1 2.5
  13. 13. CNN Max Pooling 2.5 2.5 1.5 1.5 2.5 2.5 2.5 1.5 1.5 1.5 2 2 1 1.5 1.75 1.5 2.5 2.5 1.5 2 0 0 1 1 0 0 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0.5 0.5 0 0 0 0 0.5 0.5 0 0 0 0 1 0 0.5 0 1 0 0 Max pooling 2.5
  14. 14. Repeat Convolution + Max pooling Input Image Convolution Max pooling Convolution Max pooling
  15. 15. Whole CNN Process Image Convolution Max Pooling N times Flatten Fully Connected Neural Network
  16. 16. Neural Art Content Style
  17. 17. Neural Art- Create Content 0.3 0.7 1 0 0.6 0.2 0.8 0.7 0.4 0.4 0.7 0.1 0.2 0.3 0.5 0.8 0 0.3 0.9 0.1 0.5 0.9 0.6 1 0.8 CNN CNN Canvas x Output X Output P = 1 2 ,(, ,)2 Gradient Descent (Back Propagation) Photo p Canvas x: Our paintings CNN: Already trained by other people
  18. 18. CNN Neural Art Create Style 0.3 0.7 1 0 0.6 0.2 0.8 0.7 0.4 0.4 0.7 0.1 0.2 0.3 0.5 0.8 0 0.3 0.9 0.1 0.5 0.9 0.6 1 0.8 CNN Canvas x Output Output = 1 2 ,(, ,)2 Gradient Descent (Back Propagation) Style s Gram S Gram X G G , = Gram S_00 =
  19. 19. Update Canvas = + x = x -
  20. 20. Application -- DeepDream Ref: Deep Dream
  21. 21. Application -- Prisma Ref: Prisma
  22. 22. Real time Neural Art Ref: Fast Style transfer in Tensorflow
  23. 23. Conclusion Yeah! Computer can paint by themselves! Really? They still need a photo for painting.
  24. 24. Thank You For Your Listening !