Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.

Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.

1,863 views

Published on

study

Published in:
Technology

No Downloads

Total views

1,863

On SlideShare

0

From Embeds

0

Number of Embeds

12

Shares

0

Downloads

40

Comments

0

Likes

1

No embeds

No notes for slide

- 1. Diffusion Curves: A Vector Representation for Smooth-Shaded Image<br />Alexandrina Orzan<br />AdrienBousseau<br />HolgerWinnem¨oller<br />Pascal Barla<br />Jo¨elleThollot<br />David Salesin3<br />SIGGRAPH08<br />
- 2. Abstract<br /><ul><li>Diffusion curve represent smooth shaded image
- 3. Manual, assisted or automatic extraction for the diffusion curve
- 4. GPU-based multi-grid gradient solution</li></li></ul><li>Outline<br />Introduction<br />Relative Work<br />Diffusion Curves<br />Creating Diffusion Curves<br />Results<br />Discussion & Future Work<br />
- 5. Introduction<br />Benefits of vector-based primitives <br />More compact representation, resolution-independence, geometric editability,easity animated, more readily stylized <br />Limited to represent complex color gradients<br />Only support linear or radial gradients<br />Fail in soft shadows, defocus blur, diffuse shading, glossy reflection …<br />
- 6. Introduction – cont.<br />Gradient mesh(Adobe Illustrator and Corel CorelDraw)<br />A lattice with colors at each vertex that are linearly interpolated across the mesh<br />Difficult to create meshes<br />Optimized gradient mesh<br />[Sun et al.,SIGGRAPH07]<br />A semi-automatic method for optimizing a manually initialized mesh<br />
- 7. Diffusion Curve<br />A curve that diffuses colors on both sides<br />Support traditional freehand drawing<br />Artists sketch lines first as color boundaries<br />Most color variations can be assumed to caused by edges<br />Edges constitute a near-complete and natural primitive for encoding and editing images <br /> [Carlsson 88; Elder 99; Elder and Goldberg 01]<br />
- 8. Contribution<br />A prototype allowing manual creation and editing of diffusion curves<br />A full automatic conversion from a bitmap to diffusion curves <br />
- 9. Relative work<br />
- 10. Gradient Tools<br />Optimized Gradient Meshes<br />[Sun el al. SIGGRAPH07]<br />A manually initialized mesh<br />Sample and estimate color of control points on Ferguson patches<br />Optimize the reconstruct image with constrains – smooth, vector line guided and boundary constrained<br />Initial mesh<br />Optimized mesh<br />reconstructed<br />photographic<br />
- 11. Gradient Tools<br />Gradient Brush<br />[McCann & Pollard, SIGGRAPH08]<br />Interactive edge-focused drawing tools on gradient domain G <br />Brush, edge copy, clone<br /> I = G<br />Solve as Poisson Eq. with GPU-based multigridmethod<br /> I = ‧G<br />Gradient brush<br />Edge brush<br />Clone brush<br />
- 12. GPU-Based Multigrid Method for Gradient-Domain<br />Multi-grid method<br />Use a coarse version of the domain to efficiently solve for the low frequency components of the solution, <br />Use a fine version of the domain to refine the high frequency components. <br />GPU-based multigrid method<br />[Kazhdan and Hoppe, SIGGRAPH08]<br />[Goodnight et al.,03]<br />[Briggs et al.,00]<br />
- 13. Standard Multigrid V-cycle<br /><ul><li>u= F </li></ul>Figure 1 of “Streaming Multigrid for Gradient-Domain Operations on Large Images”, SIGGRAPH 08<br />
- 14. Diffusion Curves<br />Diffusion curve<br />Final image <br />
- 15. Rendering<br />Diffusion curve<br />Final image <br />Color source (CL, CR)<br />2.Diffuse<br />Sharp color image <br />1. Rasterize sources<br />3. Reblur<br />Wy<br />Wx<br />Blur sources<br />Blur map (B)<br />Smoothness of the transition between Left and Right<br />
- 16. 1. Rasterize sources<br />Diffusion curve<br />(similar to edge-based representation [Elder 99])<br />P<br />Bezier spline<br />CR<br />CL<br />Color source - interpolation<br />Σ<br />Blur source - interpolation<br />
- 17. Gradient Field<br />Compute the gradient of RGB 3 channels on the edges<br />wx,y = (CL – CR) N<br />P<br />0 0 0 …<br />0 ..<br />….<br />….<br />0 ..<br />0 0 0 ..<br />CR<br />CL<br />N<br />
- 18. 2. Diffusion<br />I<br />C<br />Sharp color image <br />Compute I from gradient w with color source C as constrain<br />Apply GPU-based multigrid method<br />Use Jocobi relaxation to solve each level of multigrid<br />Limit the number of relaxation iteration, <br />ex: 512x512 image<br />5i Jacobi iteration per multigrid level<br />i is the level no. (fine coarse)<br />w = (wx, wy)<br />Solve Poisson equation with color constrain C<br /> I =‧w<br />I(x,y) = C(x,y) <br />where pixel (x,y) store color value<br />
- 19. 3. Reblurring<br />Diffuse the Blur map [Elder 99] to define blur kernel size with multigrid method<br />Blur each pixel with the blur kernel defined in blur map<br />Final image <br />Sharp color image <br />B = 0<br />B(x,y) = σ(x,y) <br />if pixel (x,y) is on a curve<br />σ<br />B<br />
- 20. Panning and Zooming<br />Require to solve a global eq. <br />How to pan&zoom without a full Poisson solution at a higher resolution ?<br />Compute a low-resolution diffusion on the un-zoomed image domain<br />Use the obtained solution to define Dirichlet boundary conditions around the zooming window<br /> I =‧w<br />I(x,y) = C(x,y)<br />Curves outside the current viewport still influence the viewport’s content !<br />
- 21. Creating diffusion curves<br />
- 22. Creating Diffusion Curves<br />Manual<br />artists can create an image with our tool by sketching the lines of the drawing and then filling in the color<br />Assisted<br />artists can trace manually over parts of an image and we recover the colors of the underlying content<br />Automatic<br />artists can automatically convert an image into our representation and possibly post-edit it<br />
- 23. Assisted <br />Extracting color control points along a drawn curve<br />Identify color outliers<br />Sample colors along the curve at distance d in N<br />Measure σ of the neighborhoodeach sample. Identify outliers where if it deviates too much from mean<br />Fit a polyline to the color points usingDouglasPeucker algorithm<br />Start from the first and the last pt.<br />Repeatedly subdivide the line into smaller segments until the max diff < є<br />The end points of the final polyline yield the color controls points<br />N<br />d<br />working on L*a*b channels<br />
- 24. Original image<br />Stylistic tracing using color sampling (drawing time < 1 min.)<br />Original image<br />Active contours and color sampling (drawing time 90 min.)<br />
- 25. Automatic Extraction<br />Original bitmap<br />Automatic reconstruction<br />
- 26.
- 27. 1. Data Extraction<br />Structure-preserving manipulation[Orzan et al.,07]<br />Extract edge locations and blur values for edge pixels after scale space analysis<br />Extract colors at both side of edge<br />
- 28. 1. Data Extraction<br />Structure-preserving manipulation[Orzan et al.,07]<br />Extract edge locations and blur values for edge pixels after scale space analysis<br />Extract colors at both edge<br />Connect pixel-chains from the edge map and proceed to sample colors in the original image on both sides of edge<br />Hard to detect the color on blur edges – pick the colors at 3σ<br />
- 29. 2. Conversion to Diffusion Curve<br />Open source Portraces.w. [Selinger 03]<br />Approximate a pixel chain with a polyline that has a min. number of segments<br />Least approximation error<br />Transform the polyline into a smooth curve made from end-to-end connected Bezier curve<br />Least square Bezier fitting based on a max. user-specified fitting error and degree of smoothness<br />
- 30. Result<br />NvidiaGeForce 8800<br />Realtime performance<br />512 x 512 grid<br />Several thousands curves<br />website<br />
- 31. Global Shape Stylization<br />
- 32. Low Lifetime<br />
- 33. Discussion & Future Work<br />
- 34. photograph<br />Manually created gradient mesh. 340 vertices<br />Our drawing – manually tracing, <br />38 diffusion curves, 365 geometric, 176 CL, 156 CR control point<br />
- 35. Comparison with Gradient Meshes<br />Representation efficiency<br />D seems more compact. But G has more regular mesh<br />Usability<br />D are more natural drawing tool<br />D requires good understanding of the final combination. The meshes are often overlapping <br />Topology<br />Dis hard to move a part of an image or warp the entire mesh<br />Relevant edges have to be selected<br />Hard to make sure how the colors of outer edges should interact with their new surrounds for D<br />
- 36. Future Challenges<br />Layered system<br />Interaction of multi layers (a global Poisson solution)<br />Blending layers with gradual transparency<br />Intersections<br />Curve splitting<br />Color editing<br />Still poor to create texture<br />The colors attached to intersecting curves compete with each other creating a smooth color gradient after diffusion<br />Diffusion curves at intersection can be corrected by curve splitting and color editing<br />
- 37. Conclusion<br />Introduce Diffusion Curve as s new image representation<br />Offer most benefit of vector primitives<br />Allow to create highly complex image<br />Compared with gradient mesh<br />Comparable both in quality and coding efficiency<br />Simpler to create<br />Diffusion curves can be capture automatically<br />
- 38. END<br />

No public clipboards found for this slide

×
### Save the most important slides with Clipping

Clipping is a handy way to collect and organize the most important slides from a presentation. You can keep your great finds in clipboards organized around topics.

Be the first to comment