Title: Objectbased Vectorization for Interactive Image Editing
1Object-based Vectorization for Interactive Image
Editing
- Brian Price and William Barrett
- Brigham Young University
2What is vectorization?
- Traditional vectorization involves fitting curves
to binary raster line images.
3Object-based Vectorization
- Object-based vectorization creates and renders
meshes extracted from individual objects
contained in grayscale or color raster images.
4Applications
- Creating editable graphics from photographs
- Layered object editing
- Reverse-engineering graphics
5Related Works
- Current Vectorization Techniques
- Adobe Illustrator Live Trace
- Macromedia Flash
- Corel CorelTRACE
- Siame Vector Eye
- Autotrace
6Related Works
- Image Segmentation
- Intelligent Scissors (Mortensen, Barrett 1995)
- Intelligent Paint (Reese 2002)
- Min Graph Cut Techniques
- Boykov and Kolmogorov 2001
- Lazy Snapping (Li et al 2004)
- GrabCut (Rother et al 2004)
7Related Works
- Image Editing
- Commercial Products (Photoshop, The Gimp)
- Object-based Image Editing (Cheney, Barrett)
- Texture Synthesis
- Texture Synthesis by Non-parametric Sampling
(Efros, Leung) - Inpainting (Bertalmio)
- Non-photorealistic Rendering
- Stylization of Photographs (DeCarlo, Santella)
- Paint by Relaxation (Hertzmann)
8Video
9Method
Select Object
Original
Create mesh
Final Render
Subobject Segmentation
10Object Selection
- Interactive graph cut
- Continuous foreground seeding (background
pre-seeded) - Selected object updated with each mouse stroke
- Immediate user feedback
11Mesh Creation
- Find corners
- Create mesh recursively
- Render
-
12Mesh Creation
- Find corners
- Create mesh recursively
- Render
13Mesh Creation
- Find corners
- Create mesh recursively
- Render
14Mesh Creation
- Find corners
- Create mesh recursively
- Render
15Automatic Recursive Subobject Segmentation
Render coarsely
Assemble final render
Fill background
Create new foreground objects
16Layered Object Hierarchy
- Allows hierarchical control of objects
- Edits on parent objects automatically propagated
to children objects
17Background fill
- Rows and columns of mesh filled using least
squares fit to both interpolate and extrapolate
across occluded regions
18Object Editing
19Progressive Levels of Detail
20Results
21Results
- Comparison to other Vectorization Techniques
- Top - Image Vectorization
- Bottom Adobe Illustrator
22Results
- Comparison to other Vectorization Techniques
- Top - Image Vectorization
- Bottom Macromedia Flash
23Results
- Comparison to other Vectorization Techniques
- Top - Image Vectorization
- Bottom Siame Vector Eye
24Results - Reverse Engineering
- Created by artist with Adobe Illustrator
25Results - Reverse Engineering
- Vector graphic created from raster image
26Results - Reverse Engineering
27Results - Reverse Engineering
28Results - Reverse Engineering
29Results - Reverse Engineering
30Results - Editing
31Results - Editing
32Results - Editing
33Results - Editing
34Results Level of Detail
Level 0 133 Patches 5.73 error per pixel
Level 5 2984 Patches 2.81 error per pixel
Level 2 1361 Patches 3.40 error per pixel
35Contributions
- Fully layered editable object-based vector
graphic from a raster image - Hierarchical object tree
- Automatic recursive subobject segmentation
- Improvements to min graph cut user segmentation
36Limitations
- Complex Textures
- Revert to OBIE-style textures
- Procedural textures
- Seams created from gaps between adjacent regions
- Complex Shapes
- Better representation of such objects
37Future Work
- Explore higher-order texture-based background
filling - Support complex shapes
- Automatic segmentation without vectorization
- Video vectorization
38Conclusion
- Works well on a variety of objects
- Captures natural shading better than current
vectorization techniques - Provides advanced hierarchical object control