Realtime Image Vectorization on GPU Xiaoliang Xiong Jie
- Slides: 39
Real-time Image Vectorization on GPU Xiaoliang Xiong, Jie Feng, Bingfeng Zhou Institute of Computer Science and Technology, Peking University, China
Introduction l Image Representation Raster form ü Use a large pixel matrix Vector form ü Use geometry primitives, ü Require much more space more compact in ü Rendered with high representation efficiency ü Suffer seriously from aliasing or loss of details when scaled ü Require less space to store ü Convenient to transmit and edit ü Artifact-free in display
Introduction • • Convert a raster key frame into its vector form Generate in-betweens by shape matching and interpolation [Zou and Yan, 2001] [Zhang et al. , 2009] Document Image Processing Shape From Silhouette Cartoon Animation • • • Estimating 3 D shape of an object from its silhouette images Visual Hull Visual cones intersection [Laurentini, 1994] [Matusik et al. , 2000] • • • Converting the text on image into features the computer can recognize Skeletons Contours [Chang et al. , 1999] [Smith, 1987]
Motivation • Shape From Silhouette • Silhouettes are approximated by line segments • Conversion from pixels to line segments • Originally a vectorization problem
Motivation • Shape From Silhouette • Silhouettes are approximated by line segments • Conversion from pixels to line segments • Originally a vectorization problem
Motivation • Shape From Silhouette • Silhouettes are approximated by line segments • Conversion from pixels to line segments • Originally a vectorization problem • Accelerate vectorization to achieve dynamic visual hull rendering • Distribute vectorization onto GPU
Related Work: Vectorization • Crude Vectorization • Representing the original image with primary geometry like skeleton and contour polygon Thinning based methods [Smith, 1987] Non-thinning based methods [Jimenez and Navalon, 1982]
Related Work: Vectorization • Advanced vectorization • Accurate approximation for both sharp and smooth features • Constructing high-quality vector representation with less geometry primitives Triangle mesh based methods • Points sampling • Triangulation [Zhao et al. , 2013, Xia et al. , 2009] Diffusion curve based methods • Detect the edges • Convert into diffusion curves Gradient mesh based methods • Generate gradient mesh [Orzan et al. , 2013] [Sun et al. , 2009] • Semi-automatic
Related Work: GPU-based Shape From Silhouette • Visual hull parallelization [Ladikos et al. , 2008] [Waizenegger et al. 2009] [Yous et al. , 2007] • GPU-acceleration Vectorized Image Rendering High efficiency rendering [Nehab and Hoppe, 2008] [Xia et al. , 2009] [Orzan et al. , 2013]
Overview Thresholding Input raster image Binary silhouettes Boundary detecting Preontouring Contour Vectorization result Silhouettes vectorization
Our Algorithm Input silhouette image • Boundary Pixel Detecting • Like scanline filling • Parallel between each line • Each thread for one scanline
Algorithm • Boundary Pixel Detecting 3 intervals 4 intervals
Algorithm • Boundary Pixel Detecting • Pre-contouring • Compute connectivity relationship between adjacent lines • Parallel between each two scanlines
Algorithm • Boundary Pixel Detecting • Pre-contouring • Connectivity relationship 0 1 1 n m n
Algorithm • Boundary Pixel Detecting • Pre-contouring
Algorithm • Boundary Pixel Detecting • Pre-contouring • Contouring
Contouring rules. Loop Initialization(1: 0) Loop Termination(0: 1) Loop Extension(1: 1) Loop Merging(1: n) Loop Branching(n: 1) Loop Merging, then Branching(m: n)
Algorithm Loop Initialization • Boundary Pixel Detecting • Pre-contouring • Contouring
Algorithm • Boundary Pixel Detecting Loop extension • Pre-contouring • Contouring
Algorithm • Boundary Pixel Detecting Loop extension • Pre-contouring • Contouring
Algorithm • Boundary Pixel Detecting • Pre-contouring • Contouring Loop extension
Algorithm • Boundary Pixel Detecting • Pre-contouring • Contouring Loop extension
Algorithm • Boundary Pixel Detecting • Pre-contouring • Contouring Loop termination Note: Loop branching and merging do not appear in this demo.
Algorithm • Boundary Pixel Detecting • Pre-contouring • Contour vectorization • Approximate the contour by line segments • Active Contour Modeling [Kass et al. , 1988]
Algorithm • p 2 p 1 p. M pi
Algorithm • Boundary Pixel Detecting • Pre-contouring • Contour vectorization
Experiment & Result • Implement our algorithm using CUDA • Common PC with Quad CPU 2. 5 GHz, 2. 75 GB RAM • Ge. Force GTX 260+ graphic card • Boundary Detection, Pre-contouring, Contour Vectorization are parallelized onto GPU
Result Character Vectorization
Evaluation Image Resolution #Points #edges #loops Time(ms) Char. B 600 x 600 626 84 3 6. 51 Digit 4 600 x 600 414 24 2 5. 93 Pegion 400 x 400 439 86 2 5. 89 Skater 400 x 400 596 104 4 6. 56 Bird 600 x 480 833 83 1 8. 92 Yang 600 x 480 982 203 2 9. 75 Winnie 500 x 500 2761 432 26 8. 54
Comparison l Floodfill-based method vs our method l Difference: strategy of boundary pixel detection and ordering Pigeon Skater Bird 2002 4002 6002 8002 10002 FBM 29. 9 105. 4 306. 4 510. 1 799. 8 Ours 4. 6 7. 8 9. 7 13. 1 FBM 18. 8 67. 6 168 293. 5 420. 8 Ours 5. 6 7. 7 8. 5 11. 6 14. 2 FBM 14. 5 90. 5 158. 3 419. 9 583. 3 Ours 4. 9 6. 5 8. 1 11. 2 14. 1
Application
Video Vectorization l Silhouettes are extracted by background subtraction l Temporal coherence is not considered l Average frame rate: 48 fps
Visual Hull l Contour vectorization among 8 -channel multi-view video streams l Temporal coherence is not considered Channel-1 Channel-2 l reconstruct and render dynamic. Channel-3 VH 20 fps …Channel 8 Input video Vecorized silhouette Frame sequence: VHs
Document Image Vectorization • Large number of contours • Difficulties in data storing and transferring on GPU
Document Image Vectorization Input Vectorization Result
Real-time Image Vectorization on GPU Xiaoliang Xiong, Jie Feng, Bingfeng Zhou Institute of Computer Science and Technology, Peking University l Boundary Pixel Detecting l Pre-contouring l Contour vectorization ü Future work ü Parallelize the contouring step ü Postprocess the vectorization result Contact info: {jonny_xiong, feng_jie, cczbf}@pku. edu. cn
- Xiong jie
- Vectorisation.org
- Vectorization matlab
- Sala de congresos valencia
- Vong xiong
- Nadsvd
- Li xiong
- Vang xiong
- Unforgettable journey quotes
- Weiwei xiong
- Nalee xiong
- Jie rodo nuo daikto atsietą ypatybę
- Verkleinwoord van venster
- Cho lược đồ quan hệ q(abcdegh)
- Anthony badea
- Bbi dictionary of english word combinations
- Jie wu
- Jie wu
- Wusome
- Jie qin
- Ziwo jieshao
- Gv tu jie
- Ams realtime weather maps central
- Realtime
- Cac realtime
- Rendering realtime compositing
- Rtim wave 2020
- Realtime iep
- Realtime big data
- Realtime it
- Firebase realtime notification
- Realtime interaction
- Rto real time optimization
- Realtime forex
- Realtime operating system
- Lightning realtime
- Real-time messaging protocol
- Realtime etl
- Ad hoc realtime
- Realtime it