Non-photorealistic Rendering with Cartesian Genetic Programming Using Graphics Processing Units

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10783)


A non-photorealistic rendering system implemented with Cartesian genetic programming (CGP) is discussed. The system is based on Baniasadi’s NPR system using tree-based GP. The CGP implementation uses a more economical representation of rendering expressions compared to the tree-based system. The system borrows their many-objective fitness evaluation scheme, which uses a model of aesthetics, colour testing, and image matching. GPU acceleration of the paint stroke application results in up to 6 times faster rendering times compared to CPU-based renderings. The convergence dynamics of CGP’s \(\mu +\lambda \) evolutionary strategy was more unstable than conventional GP runs with large populations. One possible reason may be the sensitivity of the smaller \(\mu +\lambda \) population to the many-objective ranking scheme, especially when objectives are in conflict with each other. This instability is arguably an advantage as an exploratory tool, especially when considering the subjectivity inherent in evolutionary art.


Non-photorealistic rendering Cartesian genetic programming Graphics processing units Evolutionary art 



This research was supported by NSERC Discovery Grant RGPIN-2016-03653.


  1. 1.
    Bentley, P., Corne, D.: Creative Evolutionary Systems. Morgan Kaufmann, San Francisco (2002)Google Scholar
  2. 2.
    Romero, J., Machado, P.: The Art of Artificial Evolution. Natural Computing Series. Springer, Heidelberg (2008). CrossRefGoogle Scholar
  3. 3.
    Dorin, A.: Aesthetic fitness and artificial evolution for the selection of imagery from the mythical infinite library. In: Kelemen, J., Sosík, P. (eds.) ECAL 2001. LNCS (LNAI), vol. 2159, pp. 659–668. Springer, Heidelberg (2001). CrossRefGoogle Scholar
  4. 4.
    Dawkins, R.: The Blind Watchmaker. W. W. Norton & Company Inc., New York (1986)Google Scholar
  5. 5.
    Sims, K.: Interactive evolution of equations for procedural models. Visual Comput. 9, 466–476 (1993)CrossRefGoogle Scholar
  6. 6.
    Graf, J., Banzhaf, W.: Interactive evolution of images. In: Proceedings of the International Conference on Evolutionary Programming, pp. 53–65 (1995)Google Scholar
  7. 7.
    Yip, C.: Evolving image filters. Master’s thesis, Imperial College of Science, Technology, and Medicine, September 2004Google Scholar
  8. 8.
    Bergen, S., Ross, B.: Aesthetic 3D model evolution. Genet. Program Evolvable Mach. 4(3), 339–367 (2013)CrossRefGoogle Scholar
  9. 9.
    Gooch, B., Gooch, A.: Non-photorealistic Rendering. A.K. Peters, Natick (2001)zbMATHGoogle Scholar
  10. 10.
    Strothotte, T., Schlechtweg, S.: Non-photorealistic Computer Graphics: Modeling, Rendering, and Animation. Morgan Kaufmann, San Francisco (2002)Google Scholar
  11. 11.
    Kang, H., Chakraborty, U., Chui, C., He, W.: Multi-scale stroke-based rendering by evolutionary algorithm. In: Proceedings of the International Workshop on Frontiers of Evolutionary Algorithms, JCIS, pp. 546–549 (2005)Google Scholar
  12. 12.
    Barile, P., Ciesielski, V., Trist, K.: Non-photorealistic rendering using genetic programming. In: Li, X., et al. (eds.) SEAL 2008. LNCS, vol. 5361, pp. 299–308. Springer, Heidelberg (2008). CrossRefGoogle Scholar
  13. 13.
    Colton, S., Torres, P.: Evolving approximate image filters. In: Giacobini, M., et al. (eds.) EvoWorkshops 2009. LNCS, vol. 5484, pp. 467–477. Springer, Heidelberg (2009). CrossRefGoogle Scholar
  14. 14.
    Izadi, A., Ciesielski, V.: Evolved strokes in non photorealistic rendering. In: Proceedings of the World Academy of Science Engineering and Technology (WASET), vol. 67, pp. 1–6 (2010)Google Scholar
  15. 15.
    Neufeld, C., Ross, B., Ralph, W.: The evolution of artistic filters. In: Romero, J., Machado, P. (eds.) The Art of Artificial Evolution. Natural Computing Series, pp. 335–356. Springer, Heidelberg (2008). CrossRefGoogle Scholar
  16. 16.
    Baniasadi, M.: Genetic programming for non-photorealistic rendering. MSc thesis, Department of Computer Science, Brock University (2013)Google Scholar
  17. 17.
    Baniasadi, M., Ross, B.J.: Exploring non-photorealistic rendering with genetic programming. Genet. Program Evolvable Mach. 16(2), 211–239 (2015)CrossRefGoogle Scholar
  18. 18.
    Bakurov, I.: Non-photorealistic rendering with Cartesian genetic programming using graphic processing units. Master’s thesis, Department of Computer Science, Brock University (2017)Google Scholar
  19. 19.
    Miller, J.F.: Cartesian genetic programming. In: Miller, J. (ed.) Cartesian Genetic Programming. Natural Computing Series, pp. 17–34. Springer, Heidelberg (2011). CrossRefGoogle Scholar
  20. 20.
    Harding, S., Leitner, J., Schmidhuber, J.: Cartesian genetic programming for image processing. In: Riolo, R., Vladislavleva, E., Ritchie, M., Moore, J. (eds.) Genetic Programming Theory and Practice X, pp. 31–44. Springer, New York (2013). CrossRefGoogle Scholar
  21. 21.
    Ashmore, L., Miller, J.F.: Evolutionary art with Cartesian genetic programming (2004). Accessed 20 Sept 2016
  22. 22.
    Shiraishi, M., Yamaguchi, Y.: An algorithm for automatic painterly rendering based on local source image approximation. In: Proceedings of NPAR 2000, pp. 53–58. ACM Press (2000)Google Scholar
  23. 23.
    Langdon, W.: Graphics processing units and genetic programming: an overview. Soft. Comput. 15, 1657–1669 (2011)CrossRefGoogle Scholar
  24. 24.
    NVIDIA: CUDA enabled GPUs. Accessed 18 June 2017
  25. 25.
    Maghoumi, M.: Real-time automatic object classification and tracking using genetic programming and NVIDIA CUDA. Master’s thesis, Department of Computer Science, Brock University (2014)Google Scholar
  26. 26.
    Maghoumi, M.: CudaGP. Accessed 18 Oct 2017
  27. 27.
    Hutter, M.: jCUDA framework. Accessed 31 July 2017
  28. 28.
    Ross, B., Ralph, W., Zong, H.: Evolutionary image synthesis using a model of aesthetics. In: CEC 2006, pp. 1087–1094, July 2006Google Scholar
  29. 29.
    Smith, J., Chang, S.F.: VisualSEEk: a fully automated content-based image query system. In: Proceedings of the ACM-MM, pp. 87–98 (1996)Google Scholar
  30. 30.
    Bentley, P.J., Wakefield, J.P.: Finding acceptable solutions in the Pareto-optimal range using multiobjective genetic algorithms. In: Chawdhry, P.K., Roy, R., Pant, R.K. (eds.) Soft Computing in Engineering Design and Manufacturing, pp. 231–240. Springer, London (1998). CrossRefGoogle Scholar
  31. 31.
    Corne, D., Knowles, J.: Techniques for highly multiobjective optimisation: some nondominated points are better than others. In: Proceedings of the GECCO 2007, pp. 773–780. ACM Press (2007)Google Scholar
  32. 32.
    Bergen, S., Ross, B.J.: Evolutionary art using summed multi-objective ranks. In: Riolo, R., McConaghy, T., Vladislavleva, E. (eds.) Genetic Programming - Theory and Practice VIII. Genetic and Evolutionary Computation, vol. 8, pp. 227–244. Springer, New York (2010). CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Department of Computer ScienceBrock UniversitySt. CatharinesCanada

Personalised recommendations