“Diffusion curves: a vector representation for smooth-shaded images” by Orzan, Bousseau, Winnemöller, Barla, Thollot, et al. …

  • ©Alexandrina Orzan, Adrien Bousseau, Holger Winnemöller, Pascal Barla, Joëlle Thollot, and David Salesin




    Diffusion curves: a vector representation for smooth-shaded images



    We describe a new vector-based primitive for creating smooth-shaded images, called the diffusion curve. A diffusion curve partitions the space through which it is drawn, defining different colors on either side. These colors may vary smoothly along the curve. In addition, the sharpness of the color transition from one side of the curve to the other can be controlled. Given a set of diffusion curves, the final image is constructed by solving a Poisson equation whose constraints are specified by the set of gradients across all diffusion curves. Like all vector-based primitives, diffusion curves conveniently support a variety of operations, including geometry-based editing, keyframe animation, and ready stylization. Moreover, their representation is compact and inherently resolution-independent. We describe a GPU-based implementation for rendering images defined by a set of diffusion curves in realtime. We then demonstrate an interactive drawing system for allowing artists to create artworks using diffusion curves, either by drawing the curves in a freehand style, or by tracing existing imagery. The system is simple and intuitive: we show results created by artists after just a few minutes of instruction. Furthermore, we describe a completely automatic conversion process for taking an image and turning it into a set of diffusion curves that closely approximate the original image content.


    1. Asente, P., Schuster, M., and Pettit, T. 2007. Dynamic planar map illustration. ACM TOG (Proc. of SIGGRAPH) 26, 3, 30. Google ScholarDigital Library
    2. Bertalmio, M., Sapiro, G., Caselles, V., and Ballester, C. 2000. Image inpainting. In Proc. of ACM SIGGRAPH 2000, 417–424. Google ScholarDigital Library
    3. Bertalmio, M., Fort, P., and Sanchez-Crespo, D. 2004. Real-time, accurate depth of field using anisotropic diffusion and programmable graphics cards. In Proc. of 3DPVT, 767–773. Google ScholarDigital Library
    4. Briggs, W. L., Henson, V. E., and McCormick, S. F. 2000. A multigrid tutorial (2nd ed.). Society for Industrial and Applied Mathematics, Philadelphia, PA, USA. Google ScholarDigital Library
    5. Canny, J. 1986. A computational approach to edge detection. IEEE PAMI 8, 6, 679–698. Google ScholarDigital Library
    6. Carlsson, S. 1988. Sketch based coding of grey level images. Signal Processing 15, 1, 57–83. Google ScholarDigital Library
    7. Douglas, D., and Peucker, T. 1973. Algorithms for the reduction of the number of points required for represent a digitzed line or its caricature. Cartographica: The International Journal for Geographic Information and Geovisualization 10, 2, 112–122.Google ScholarCross Ref
    8. Elder, J. H., and Goldberg, R. M. 2001. Image editing in the contour domain. IEEE PAMI 23, 3, 291–296. Google ScholarDigital Library
    9. Elder, J. H. 1999. Are edges incomplete? International Journal of Computer Vision 34, 2–3, 97–122. Google ScholarDigital Library
    10. Goodnight, N., Woolley, C., Lewin, G., Luebke, D., and Humphreys, G. 2003. A multigrid solver for boundary value problems using programmable graphics hardware. In Graphics Hardware, 102–111. Google ScholarDigital Library
    11. Kass, M., Witkin, A., and Terzopoulos, D. 1987. Snakes: Active contour models. International Journal of Computer Vision 1, 4, 321–331.Google ScholarCross Ref
    12. Koenderink, J. J., and Doorn, A. J. 1979. The internal representation of solid shape with respect to vision. Biological Cybernetics 32, 4, 211–216.Google ScholarDigital Library
    13. Lecot, G., and Levy, B. 2006. Ardeco: Automatic Region DE-tection and COnversion. In Proc. of EGSR, 349–360. Google ScholarCross Ref
    14. Lindeberg, T. 1996. Edge detection and ridge detection with automatic scale selection. In Proc. of CVPR, 465–470. Google ScholarDigital Library
    15. Marr, D., and Hildreth, E. C. 1980. Theory of edge detection. Proc. of the Royal Society of London. Biological Sciences 207, 187–217.Google ScholarCross Ref
    16. McCann, J., and Pollard, N. S. 2008. Real-time gradient-domain painting. ACM TOG (Proc. of SIGGRAPH) 27, 3. Google ScholarDigital Library
    17. Orzan, A., Bousseau, A., Barla, P., and Thollot, J. 2007. Structure-preserving manipulation of photographs. In NPAR, 103–110. Google ScholarDigital Library
    18. Pérez, P., Gangnet, M., and Blake, A. 2003. Poisson image editing. ACM TOG (Proc. of SIGGRAPH) 22, 3, 313–318. Google ScholarDigital Library
    19. Price, B., and Barrett, W. 2006. Object-based vectorization for interactive image editing. Visual Computer (Proc. of Pacific Graphics) 22, 9, 661–670. Google ScholarDigital Library
    20. Selinger, P. 2003. Potrace: a polygon-based tracing algorithm.Google Scholar
    21. Sun, J., Liang, L., Wen, F., and Shum, H.-Y. 2007. Image vectorization using optimized gradient meshes. ACM TOG (Proc. of SIGGRAPH) 26, 3, 11. Google ScholarDigital Library
    22. Sutherland, I. E. 1980. Sketchpad: A man-machine graphical communication system (Outstanding dissertations in the computer sciences). Garland Publishing, Inc., New York, NY, USA. Google ScholarDigital Library
    23. Zenzo, S. D. 1986. A note on the gradient of a multi-image. Computer Vision, Graphics, and Image Processing 33, 1, 116–125. Google ScholarDigital Library

ACM Digital Library Publication: