SlideShare a Scribd company logo
Diffusion Curves: A Vector Representation for Smooth-Shaded ImageAlexandrina OrzanAdrienBousseauHolgerWinnem¨ollerPascal BarlaJo¨elleThollotDavid Salesin3SIGGRAPH08
AbstractDiffusion curve  represent smooth shaded image
Manual, assisted or automatic extraction for the diffusion curve
GPU-based multi-grid gradient solutionOutlineIntroductionRelative WorkDiffusion CurvesCreating Diffusion CurvesResultsDiscussion & Future Work
IntroductionBenefits of vector-based primitives More compact representation, resolution-independence, geometric editability,easity animated, more readily stylized Limited to represent complex color gradientsOnly support linear or radial gradientsFail in soft shadows, defocus blur, diffuse shading, glossy reflection …
Introduction – cont.Gradient mesh(Adobe Illustrator and Corel CorelDraw)A lattice with colors at each vertex that are linearly interpolated across the meshDifficult to create meshesOptimized gradient mesh[Sun et al.,SIGGRAPH07]A semi-automatic method for optimizing a manually initialized mesh
Diffusion CurveA curve that diffuses colors on both sidesSupport traditional freehand drawingArtists sketch lines first as color boundariesMost color variations can be assumed to caused by edgesEdges constitute a near-complete and natural primitive for encoding and editing images 	[Carlsson 88; Elder 99; Elder and Goldberg 01]
ContributionA prototype allowing manual creation and editing of diffusion curvesA full automatic conversion from a bitmap to diffusion curves
Relative work
Gradient ToolsOptimized Gradient Meshes[Sun el al. SIGGRAPH07]A manually initialized meshSample and estimate color of control points on Ferguson patchesOptimize the reconstruct image with constrains – smooth, vector line guided and boundary constrainedInitial meshOptimized meshreconstructedphotographic
Gradient ToolsGradient Brush[McCann & Pollard,  SIGGRAPH08]Interactive edge-focused  drawing tools on gradient domain G Brush,  edge copy, clone I = GSolve  as Poisson  Eq. with GPU-based multigridmethod  I = ‧GGradient brushEdge brushClone brush
GPU-Based Multigrid Method for Gradient-DomainMulti-grid methodUse a coarse version of the domain to efficiently solve for the low frequency components of the solution, Use a fine version of the domain to refine the high frequency components. GPU-based multigrid method[Kazhdan and Hoppe, SIGGRAPH08][Goodnight et al.,03][Briggs et al.,00]
Standard Multigrid V-cycleu= F Figure 1 of “Streaming Multigrid for Gradient-Domain Operations on Large Images”,  SIGGRAPH 08
Diffusion CurvesDiffusion curveFinal image
RenderingDiffusion curveFinal image Color source (CL, CR)2.DiffuseSharp color image 1. Rasterize sources3. ReblurWyWxBlur sourcesBlur map (B)Smoothness of the transition  between Left and Right
1. Rasterize sourcesDiffusion curve(similar to edge-based representation [Elder 99])PBezier splineCRCLColor source - interpolationΣBlur source - interpolation
Gradient FieldCompute the gradient of RGB 3 channels on the edgeswx,y = (CL – CR) NP0 0 0 …0 ..….….0 ..0 0 0 ..CRCLN
2. DiffusionICSharp color image Compute I from gradient w with color source C as constrainApply GPU-based multigrid methodUse Jocobi relaxation to solve each level of multigridLimit the number of relaxation iteration, ex: 512x512 image5i Jacobi iteration per multigrid leveli  is the level no. (fine  coarse)w = (wx, wy)Solve Poisson equation with color constrain C I =‧wI(x,y) = C(x,y)  where pixel (x,y) store color value
3. ReblurringDiffuse the Blur map [Elder 99]  to define blur kernel size with multigrid methodBlur each pixel with the blur kernel defined in blur mapFinal image Sharp color image B = 0B(x,y) = σ(x,y)  if pixel (x,y) is on a curveσB
Panning and ZoomingRequire to solve a global eq. How to pan&zoom without a full Poisson solution at a higher resolution ?Compute a low-resolution diffusion on the un-zoomed image domainUse the obtained solution to define Dirichlet boundary conditions around the zooming window I =‧wI(x,y) = C(x,y)Curves outside the current viewport still influence the viewport’s content !
Creating diffusion curves
Creating Diffusion CurvesManualartists can create an image with our tool by sketching the lines of the drawing and then filling in the colorAssistedartists can trace manually over parts of an image and we recover the colors of the underlying contentAutomaticartists can automatically convert  an image into our representation and possibly post-edit it
Assisted Extracting color control points along a drawn curveIdentify color outliersSample colors along the curve at distance d in NMeasure σ of the neighborhoodeach sample. Identify outliers where if it deviates too much from meanFit a polyline to the color points usingDouglasPeucker algorithmStart from the first and the last pt.Repeatedly subdivide the line into smaller segments until the max diff  < єThe end points of the final polyline yield the color controls pointsNdworking on L*a*b channels
Original imageStylistic tracing using color sampling (drawing time < 1 min.)Original imageActive contours and color sampling (drawing time 90 min.)
Automatic ExtractionOriginal bitmapAutomatic reconstruction
study Diffusion Curves: A Vector Representation for Smooth-Shaded Images
1. Data ExtractionStructure-preserving manipulation[Orzan et al.,07]Extract edge locations and blur values for edge pixels after scale space analysisExtract colors at both side of edge
1. Data ExtractionStructure-preserving manipulation[Orzan et al.,07]Extract edge locations and blur values for edge pixels after scale space analysisExtract colors at both edgeConnect pixel-chains from the edge map and proceed to sample colors in the original image on both sides of edgeHard to detect the color on blur edges –  pick the colors at 3σ
2. Conversion to Diffusion CurveOpen source Portraces.w. [Selinger 03]Approximate a pixel chain with a polyline that has a min. number of segmentsLeast approximation errorTransform the polyline into a smooth curve made from end-to-end connected Bezier curveLeast square Bezier fitting based on a max. user-specified fitting error and degree of smoothness
ResultNvidiaGeForce 8800Realtime performance512 x 512 gridSeveral thousands curveswebsite
Global Shape Stylization
Low Lifetime

More Related Content

DOCX
Antialiasing
PPT
Lecture15 anti aliasing
PPTX
Image enhancement
PPTX
GRPHICS02 - Creating 3D Graphics
PPTX
Color Image Processing
PPTX
Psuedo color
PPTX
Data hiding using image interpolation
PPTX
Understanding neural radiance fields
Antialiasing
Lecture15 anti aliasing
Image enhancement
GRPHICS02 - Creating 3D Graphics
Color Image Processing
Psuedo color
Data hiding using image interpolation
Understanding neural radiance fields

What's hot (20)

PPTX
GRPHICS01 - Introduction to 3D Graphics
PDF
Computer Graphics Notes
PDF
4 image enhancement in spatial domain
PPTX
rs and gis
DOCX
Multimedia digital images
PPTX
On constructing z dimensional Image By DIBR Synthesized Images
PDF
digital image processing, image processing
PPT
Gradient free
DOCX
ResearchPaper_Final
PPT
03 digital image fundamentals DIP
PPTX
Chapter 6 color image processing
PPTX
Color image processing Presentation
PPT
Spatial filtering
PPTX
Image Interpolation Techniques with Optical and Digital Zoom Concepts
PDF
Contrast enhancement in digital images
PDF
Image Printing Based on Halftoning
PPT
Image enhancement in the spatial domain1
PDF
painterly_droplets_2015
PPTX
Digital image processing
PPT
GRPHICS05 - Rendering (2)
GRPHICS01 - Introduction to 3D Graphics
Computer Graphics Notes
4 image enhancement in spatial domain
rs and gis
Multimedia digital images
On constructing z dimensional Image By DIBR Synthesized Images
digital image processing, image processing
Gradient free
ResearchPaper_Final
03 digital image fundamentals DIP
Chapter 6 color image processing
Color image processing Presentation
Spatial filtering
Image Interpolation Techniques with Optical and Digital Zoom Concepts
Contrast enhancement in digital images
Image Printing Based on Halftoning
Image enhancement in the spatial domain1
painterly_droplets_2015
Digital image processing
GRPHICS05 - Rendering (2)
Ad

Similar to study Diffusion Curves: A Vector Representation for Smooth-Shaded Images (20)

PPTX
Lecture 06 - image processingcourse1.pptx
PPT
M.sc. m hassan
PPT
A Practical and Robust Bump-mapping Technique for Today’s GPUs (slides)
PPT
CS 354 Pixel Updating
PPT
Shadow Techniques for Real-Time and Interactive Applications
PPT
Lect14 lines+circles
PPTX
Image segmentation for high resolution images
PPTX
2. filtering basics
PPT
Advanced Lighting for Interactive Applications
PPTX
Defocus magnification
PPTX
Coastal erosion management using image processing and Node Oriented Programming
PPTX
image_enhancement-NDVI-5.pptx
PDF
A PROJECT REPORT ON REMOVAL OF UNNECESSARY OBJECTS FROM PHOTOS USING MASKING
DOCX
Bt9301, computer graphics
PDF
Computer vision lane line detection
PPT
CS 354 More Graphics Pipeline
PPT
YARCA (Yet Another Raycasting Application) Project
PPT
Image segmentation
PPTX
Digital image processing
PPTX
DDGK: Learning Graph Representations for Deep Divergence Graph Kernels
Lecture 06 - image processingcourse1.pptx
M.sc. m hassan
A Practical and Robust Bump-mapping Technique for Today’s GPUs (slides)
CS 354 Pixel Updating
Shadow Techniques for Real-Time and Interactive Applications
Lect14 lines+circles
Image segmentation for high resolution images
2. filtering basics
Advanced Lighting for Interactive Applications
Defocus magnification
Coastal erosion management using image processing and Node Oriented Programming
image_enhancement-NDVI-5.pptx
A PROJECT REPORT ON REMOVAL OF UNNECESSARY OBJECTS FROM PHOTOS USING MASKING
Bt9301, computer graphics
Computer vision lane line detection
CS 354 More Graphics Pipeline
YARCA (Yet Another Raycasting Application) Project
Image segmentation
Digital image processing
DDGK: Learning Graph Representations for Deep Divergence Graph Kernels
Ad

More from Chiamin Hsu (12)

PPTX
study Domain Transform for Edge-Aware Image and Video Processing
PPTX
study Image and video abstraction by multi scale anisotropic kuwahara
PPTX
study Accelerating Spatially Varying Gaussian Filters
PPTX
stduy Edge-Based Image Coarsening
PPT
study Streaming Multigrid For Gradient Domain Operations On Large Images
PPTX
study Shading Based Surface Editing
PPTX
study Image Vectorization using Optimized Gradeint Meshes
PPTX
study Seam Carving For Content Aware Image Resizing
PPT
study Latent Doodle Space
PPTX
study Coded Aperture
PPTX
study Active Refocusing Of Images And Videos
PPTX
study Dappled Photography
study Domain Transform for Edge-Aware Image and Video Processing
study Image and video abstraction by multi scale anisotropic kuwahara
study Accelerating Spatially Varying Gaussian Filters
stduy Edge-Based Image Coarsening
study Streaming Multigrid For Gradient Domain Operations On Large Images
study Shading Based Surface Editing
study Image Vectorization using Optimized Gradeint Meshes
study Seam Carving For Content Aware Image Resizing
study Latent Doodle Space
study Coded Aperture
study Active Refocusing Of Images And Videos
study Dappled Photography

Recently uploaded (20)

PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Spectroscopy.pptx food analysis technology
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Machine learning based COVID-19 study performance prediction
Review of recent advances in non-invasive hemoglobin estimation
NewMind AI Weekly Chronicles - August'25 Week I
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Spectroscopy.pptx food analysis technology
Understanding_Digital_Forensics_Presentation.pptx
Spectral efficient network and resource selection model in 5G networks
The Rise and Fall of 3GPP – Time for a Sabbatical?
Mobile App Security Testing_ A Comprehensive Guide.pdf
Unlocking AI with Model Context Protocol (MCP)
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Network Security Unit 5.pdf for BCA BBA.
Per capita expenditure prediction using model stacking based on satellite ima...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx

study Diffusion Curves: A Vector Representation for Smooth-Shaded Images

  • 1. Diffusion Curves: A Vector Representation for Smooth-Shaded ImageAlexandrina OrzanAdrienBousseauHolgerWinnem¨ollerPascal BarlaJo¨elleThollotDavid Salesin3SIGGRAPH08
  • 2. AbstractDiffusion curve represent smooth shaded image
  • 3. Manual, assisted or automatic extraction for the diffusion curve
  • 4. GPU-based multi-grid gradient solutionOutlineIntroductionRelative WorkDiffusion CurvesCreating Diffusion CurvesResultsDiscussion & Future Work
  • 5. IntroductionBenefits of vector-based primitives More compact representation, resolution-independence, geometric editability,easity animated, more readily stylized Limited to represent complex color gradientsOnly support linear or radial gradientsFail in soft shadows, defocus blur, diffuse shading, glossy reflection …
  • 6. Introduction – cont.Gradient mesh(Adobe Illustrator and Corel CorelDraw)A lattice with colors at each vertex that are linearly interpolated across the meshDifficult to create meshesOptimized gradient mesh[Sun et al.,SIGGRAPH07]A semi-automatic method for optimizing a manually initialized mesh
  • 7. Diffusion CurveA curve that diffuses colors on both sidesSupport traditional freehand drawingArtists sketch lines first as color boundariesMost color variations can be assumed to caused by edgesEdges constitute a near-complete and natural primitive for encoding and editing images [Carlsson 88; Elder 99; Elder and Goldberg 01]
  • 8. ContributionA prototype allowing manual creation and editing of diffusion curvesA full automatic conversion from a bitmap to diffusion curves
  • 10. Gradient ToolsOptimized Gradient Meshes[Sun el al. SIGGRAPH07]A manually initialized meshSample and estimate color of control points on Ferguson patchesOptimize the reconstruct image with constrains – smooth, vector line guided and boundary constrainedInitial meshOptimized meshreconstructedphotographic
  • 11. Gradient ToolsGradient Brush[McCann & Pollard, SIGGRAPH08]Interactive edge-focused drawing tools on gradient domain G Brush, edge copy, clone I = GSolve as Poisson Eq. with GPU-based multigridmethod  I = ‧GGradient brushEdge brushClone brush
  • 12. GPU-Based Multigrid Method for Gradient-DomainMulti-grid methodUse a coarse version of the domain to efficiently solve for the low frequency components of the solution, Use a fine version of the domain to refine the high frequency components. GPU-based multigrid method[Kazhdan and Hoppe, SIGGRAPH08][Goodnight et al.,03][Briggs et al.,00]
  • 13. Standard Multigrid V-cycleu= F Figure 1 of “Streaming Multigrid for Gradient-Domain Operations on Large Images”, SIGGRAPH 08
  • 15. RenderingDiffusion curveFinal image Color source (CL, CR)2.DiffuseSharp color image 1. Rasterize sources3. ReblurWyWxBlur sourcesBlur map (B)Smoothness of the transition between Left and Right
  • 16. 1. Rasterize sourcesDiffusion curve(similar to edge-based representation [Elder 99])PBezier splineCRCLColor source - interpolationΣBlur source - interpolation
  • 17. Gradient FieldCompute the gradient of RGB 3 channels on the edgeswx,y = (CL – CR) NP0 0 0 …0 ..….….0 ..0 0 0 ..CRCLN
  • 18. 2. DiffusionICSharp color image Compute I from gradient w with color source C as constrainApply GPU-based multigrid methodUse Jocobi relaxation to solve each level of multigridLimit the number of relaxation iteration, ex: 512x512 image5i Jacobi iteration per multigrid leveli is the level no. (fine  coarse)w = (wx, wy)Solve Poisson equation with color constrain C I =‧wI(x,y) = C(x,y) where pixel (x,y) store color value
  • 19. 3. ReblurringDiffuse the Blur map [Elder 99] to define blur kernel size with multigrid methodBlur each pixel with the blur kernel defined in blur mapFinal image Sharp color image B = 0B(x,y) = σ(x,y) if pixel (x,y) is on a curveσB
  • 20. Panning and ZoomingRequire to solve a global eq. How to pan&zoom without a full Poisson solution at a higher resolution ?Compute a low-resolution diffusion on the un-zoomed image domainUse the obtained solution to define Dirichlet boundary conditions around the zooming window I =‧wI(x,y) = C(x,y)Curves outside the current viewport still influence the viewport’s content !
  • 22. Creating Diffusion CurvesManualartists can create an image with our tool by sketching the lines of the drawing and then filling in the colorAssistedartists can trace manually over parts of an image and we recover the colors of the underlying contentAutomaticartists can automatically convert an image into our representation and possibly post-edit it
  • 23. Assisted Extracting color control points along a drawn curveIdentify color outliersSample colors along the curve at distance d in NMeasure σ of the neighborhoodeach sample. Identify outliers where if it deviates too much from meanFit a polyline to the color points usingDouglasPeucker algorithmStart from the first and the last pt.Repeatedly subdivide the line into smaller segments until the max diff < єThe end points of the final polyline yield the color controls pointsNdworking on L*a*b channels
  • 24. Original imageStylistic tracing using color sampling (drawing time < 1 min.)Original imageActive contours and color sampling (drawing time 90 min.)
  • 27. 1. Data ExtractionStructure-preserving manipulation[Orzan et al.,07]Extract edge locations and blur values for edge pixels after scale space analysisExtract colors at both side of edge
  • 28. 1. Data ExtractionStructure-preserving manipulation[Orzan et al.,07]Extract edge locations and blur values for edge pixels after scale space analysisExtract colors at both edgeConnect pixel-chains from the edge map and proceed to sample colors in the original image on both sides of edgeHard to detect the color on blur edges – pick the colors at 3σ
  • 29. 2. Conversion to Diffusion CurveOpen source Portraces.w. [Selinger 03]Approximate a pixel chain with a polyline that has a min. number of segmentsLeast approximation errorTransform the polyline into a smooth curve made from end-to-end connected Bezier curveLeast square Bezier fitting based on a max. user-specified fitting error and degree of smoothness
  • 30. ResultNvidiaGeForce 8800Realtime performance512 x 512 gridSeveral thousands curveswebsite
  • 34. photographManually created gradient mesh. 340 verticesOur drawing – manually tracing, 38 diffusion curves, 365 geometric, 176 CL, 156 CR control point
  • 35. Comparison with Gradient MeshesRepresentation efficiencyD seems more compact. But G has more regular meshUsabilityD are more natural drawing toolD requires good understanding of the final combination. The meshes are often overlapping TopologyDis hard to move a part of an image or warp the entire meshRelevant edges have to be selectedHard to make sure how the colors of outer edges should interact with their new surrounds for D
  • 36. Future ChallengesLayered systemInteraction of multi layers (a global Poisson solution)Blending layers with gradual transparencyIntersectionsCurve splittingColor editingStill poor to create textureThe colors attached to intersecting curves compete with each other creating a smooth color gradient after diffusionDiffusion curves at intersection can be corrected by curve splitting and color editing
  • 37. ConclusionIntroduce Diffusion Curve as s new image representationOffer most benefit of vector primitivesAllow to create highly complex imageCompared with gradient meshComparable both in quality and coding efficiencySimpler to createDiffusion curves can be capture automatically
  • 38. END