Raster to Vector Conversion of Images for Efficient SVG Representation

Keywords: Raster to Vector, image segmentation, trixel, Delaunay triangulation, polygonization, SVG, perceptual grouping

Dr. Lakshman Prasad
Technical Staff Member
Los Alamos National Laboratory
P. O. Box 1663, Bikini Atoll Road
Los Alamos
New Mexico
U. S. A.
prasad@lanl.gov

Biography

Lakshman Prasad received his M.S. degree in Mathematics in 1986 from the Indian Institute of Technology, Kanpur, India, and his Ph.D. in Computer Science in 1995 from the Louisiana state University, Baton Rouge, U. S. A. From 1995 to 1998 he was a Director's postdoctoral fellow at the Theoretical division of Los Alamos National Laboratory. He is currently a research scientist in the Space and Remote Sensing Sciences group at Los Alamos National Laboratory. His research interests are in the areas of digital signal and image processing, image understanding, artificial perception, computational geometry, wavelet transforms and multiscale methods.

Dr. Alexei Skourikhine
Technical Staff Member
Los Alamos National Laboratory
P. O. Box 1663, Bikini Atoll Road
Los Alamos
New Mexico
U. S. A.
alexei@lanl.gov

Biography

Alexei N. Skourikhine received his M.S. degree in Computer Science in 1987 from the Institute of Nuclear Engineering, Russia, and his Ph.D. in 1996 from the Institute of Theoretical and Experimental Biophysics of Russian Academy of Science. From 1987 to 1997, he was a research scientist at the State Research Center of Russian Federation Institute of Physics and Power Engineering. Since 1997, he has been with Los Alamos National Laboratory, USA, where he is a research scientist in the Space and Remote Sensing Sciences group. His technical research and experience includes evolutionary optimization, digital image processing, image vectorization, visual perception-based approaches to image analysis and understanding.


Abstract


We present an efficient and general scheme for converting a raster image comprised of pixels into a vector image comprised of polygons in SVG format. This conversion results in a high quality vector image with an average compression of about 1:3 for JPEG raster images. The polygons constituting the vector images not only support the visual quality of the image, but are also faithful to the image structures and may be used to detect, extract, and annotate features of interest from the SVG representation directly. The method is based on the extraction of edge features from raster images, and subsequent simultaneous completion of extracted edges as well as reconstruction of smooth regions of uniform color. This is achieved by algorithmically modeling principles of visual perceptual organization as a set of filters on an adaptive triangular mesh of the extracted edge set. The filters may be modified to obtain different qualities of vectorization as well as adapted to suit different classes of imagery.


Table of Contents


1. Introduction
2. Background
3. Approach
4. Perceptual Filtering of Trixel Edges
5. SVG Representation
6. Computational Complexity
7. Example Results
8. Conclusion
9. Acknowledgment
10. References

1. Introduction

The pervasive power and popularity of the Internet as a universal information assimilation and dissemination medium has spawned a new generation of data representation, manipulation, and communication tools. Of all forms of data, image data is arguably the richest and most tangible form of information from the human point of view. However, in general, it is also the hardest of data to automatically analyze and efficiently store or transmit because of its complexity. Moreover, the proliferation of heterogeneous wireless and portable devices underscores bandwidth and rendering constraints as challenges that must be dealt with for effective utilization of images. In this context, the SVG standard proposed by W3C is a welcome and promising development that holds exciting new possibilities for image representation, manipulation, transmission, and rendering. In particular, its support of powerful vector geometric primitives holds the potential for realizing image representations that are not only efficient but characterize images at a higher semantic level. This latter feature adds a new dimension to image information in that it enables object and feature based image parsing, indexing, querying, and rendering. Indeed, it would not be too presumptuous to say that SVG may well play a key role in the development of smart image search engines of the future. In this paper we present an efficient and general algorithm for converting a raster image comprised of pixels into a vector image comprised of polygons in SVG format. This conversion results in a vector image of good visual quality, with an average compression of about 1:3 for JPEG raster images. The polygons constituting the vector images not only support the visual quality of the image, but are also faithful to the image structures and may be used to detect, extract, and annotate features of interest from the SVG representation directly.

2. Background

Several efforts have focused on the problem of vectorizing raster images for the purposes of further manipulation or rendering, notably in the areas of CAD and text document analysis. More recent efforts have been applied to the problem of vectorizing complex color and intensity raster images such as digital photographs. Antoniou et al [1] treat each pixel as a vectorized square with a color attribute to obtain a vector rendering of raster images. Battiato et al [2] use triangulation of each pixel to detect edges pixels and group non-edge pixels by merging triangles using simple heuristics. The first method is a literal rendering of each pixel as an SVG rectangle element with an associated fill color. While this is a direct translation of raster to SVG, it does not provide scaling and is not an economical representation in SVG. The second method has a higher processing cost as it deals with twice as many triangles as pixels in an image. It uses simple heuristics to merge triangles into larger regions based on local neighborhood regularities. SVG rendering primitives such as gradient fills are used to improve the visual quality of the images. They give preference to high-quality rendering over scalability.

We believe a good vectorization method must support scalability, quality rendering, achieve compression, provide semantically useful image decompositions, and have a low computational cost. The key to achieving such a vectorization method lies in obtaining good image segmentations.

Image segmentation is the most important image processing step to automating image understanding by computers. Segmentation is the decomposition an image into constituent features and objects that define the semantic content of the image. Good image segmentation enables object detection and recognition by providing a semantically higher-level representation of an image in terms of regions of visual salience. Objects in images are typically contiguous subsets of such regions. Image segmentation converts an image from a low-level pixel-based representation to an intermediate-level region-based representation that enables the piecing together of the “jigsaw puzzle” of regions into individual objects of the image. Image segmentation can be thought of as representing the process of perception in human vision. This representation does not assume a priori knowledge of the objects in an image; rather it uses local regularities and structure in an image to parse the image into visually distinct parts.

Although there are several segmentation methods developed over the decades, almost all can be classified, broadly speaking, into one of two categories: 1) methods that seek structure by decomposing an image into regions of uniform color or intensity, generally assuming that, to a large extent, parts of an object are dominated by one color; 2) methods that seek structure by identifying parts of an image that exhibit rapid change in color/intensity, generally assuming that boundaries of objects are sites of such rapid changes in intensity. Digital images are made up of pixels of varying intensities that are dithered to produce the effects of shade and gradation of color. Since methods of the first kind rely on binning pixels into fewer classes, this in general results in speckle noise due to neighboring pixel differences being enhanced. It also has the effect of marring edges that have more gradual variation in intensity across them, or creating false edges due to gradual variation in intensity across a perceptually smooth region. While methods of the second kind do produce edges that belong to object boundaries, these edges are typically fragmented and as such do not bear any relationship to one another. Thus, additional work is required to group and interrelate edges belonging to the same object.

3. Approach

Structures in images manifest through regional uniformities and boundary discontinuities. We recognize that both these characterizations are closely related and are jointly responsible for delineation of objects and features in images. Yet, it is seldom possible in practice to completely and correctly extract all regions without consideration of edges and vice versa.

We have developed [3,4] a region-contour segmentation scheme that takes into consideration contours resulting from color gradients in an image, as well as their interrelationships in terms of bounding a common region, to identify structures that stand out in the image. The ensemble of all such structures yields a segmentation of the image. These structures are specified as polygons, by means of a sequence of vectors corresponding to chains of vertices along polygon boundaries, and associated with a color vector that is the estimated aggregate color of the segmented structure. Thus, the resulting segmented image is a vectorized non-overlapping collage of polygons that completely tile the image domain. An object in an image is comprised of one or several polygonal structures in the segmentation of the image. Our method of segmentation outlined here sets the stage for higher level image analysis. In particular, it provides a general scheme for vectorizing raster images efficiently while providing good visual quality and compression.

In our previous work [5-7] we employed constrained Delaunay triangulations (CDTs) of closed polygonal contours of shapes to characterize the shapes in terms of their visually salient parts. In more recent work [3,4] we use CDTs of open contours that are derived from gradient-based edge detection on images to obtain an irregular tessellation of the inter-contour regions. The triangles and their edges so obtained serve to relate contour fragments that bound a common region. They also help interpolate missing edge and region information to attain completions of object contours. We use this geometric paradigm to implement “perceptual” filters that model certain well-known criteria for perceptual organization employed in human vision. Some examples of such criteria are proximity, continuity, and closure. The criteria are implemented via nonlinear filters that jointly determine whether the edge between two adjacent triangles should be deleted or retained, or, what is the same, whether two adjacent triangles should be merged into a single polygon or not. Thus, whenever an edge is deleted, a region continuation is achieved. Similarly, whenever an edge is retained a contour continuation is achieved. Thus, our approach to segmentation explicitly accounts for the region-contour duality of inferring form from images. We briefly outline the key steps of our segmentation scheme below:

A digital image (Fig. 1) is subjected to edge detection, and contours comprised of contiguous edge pixel chains are extracted as an initial incomplete set of feature primitives (Fig. 2).

A constrained Delaunay triangulation is applied to the planar straight line graph (PSLG) defined by these contours (Fig. 3), with the resulting triangle vertices anchored at contour pixels and with no triangle edge crossing a contour. The edges of the triangles establish correspondences between contours bounding the same region, while the triangles define elements of regions flanked by these contours.

The triangles are sampled randomly in a few places in their interiors for the average color or intensity of the pixels in them. Indeed, it is reasonable to assume that the colo/intensity in each of the triangles is reasonably uniform as a significant variation would have resulted in contour elements in the region, thus resulting in a different triangulation than the one at hand. Each triangle is attributed the aggregate color/intensity of the pixels sampled in its interior. We call these color-attributed elements TRIangular eXcision ELements, or trixels. The trixels form a tessellation of the image (Fig. 4).

The edges of the trixels are attributed the adjacency information of trixels flanking them, their colors/intensities, and local contour correspondences determined by them. The attributed trixel edges are inputs to perceptual grouping filters that determine whether two adjacent trixels should be merged along their common edge. Thus, in general, whenever a trixel edge is deleted (due to merging of two trixels) two regional elements are connected into a single region. Likewise, whenever a trixel edge is retained two contours are connected into a single contour with the retained trixel edge serving as the interpolating contour element. The effective action of the perceptual grouping filters is to determine whether each trixel edge is to be deleted or retained. Each such determination results in either a region continuation or a contour continuation. The edges of the Delaunay triangulation thus act as switches that explicitly model and control the region-contour duality in the perceptual organization of low-level features. We will describe in some detail some exemplary perceptual edge filters and their combinations in the next section.

A trixel grouping graph is defined wherein the vertices represent trixels and two vertices are joined by an edge if the corresponding two trixels are adjacent and the triangle edge common to them is selected for deletion by the joint action of the perceptual filters (Fig 5).

The connected components of the trixel grouping graph correspond to contiguous groups of edge-adjacent trixels that define polygonal regions which conform to the image edges as well as to the spectral uniformity of image regions (Fig. 6). These polygons are attributed with the area-weighted average color of the constituent trixels and structural information such as orientation, average width, skeleton, etc., that can be easily computed from the underlying triangulation. This representation will enable further high-level processing of structural information to extract and recognize objects, detect features of interest based on generic structure or color properties, and efficiently represent images in terms of objects with high visual fidelity for purposes of transmission and archival.

sign.BMP

Figure 1: Raster image

signcrop1_canny.jpg

A Canny edge detection algorithm is applied and contour chains of contiguous edge pixels are extracted and optionally subsampled (shown in red)

Figure 2: Canny edge detection

signcrop1_delaunay.jpg

The vertices of the triangles (shown with blue edges) are anchored at the vertices of the contour chains (red) and do not cross a contour chain

Figure 3: Constrained Delaunay triangulation

signcrop1_montecarlo.jpg

A Monte Carlo sampling of triangles is performed to obtain average pixel color of the corresponding trixels, which are color attributed triangles

Figure 4: Sampling triangle colors to obtain trixels

signcrop1_trigpgraph.jpg

A trixel grouping graph is constructed (shown in yellow) wherein the vertices represent trixels and edges go between adgacent trixels that are to be merged according to the composite critirion of all perceptual filters

Figure 5: Construction of the Trixel grouping graph

signcrop1_seg.jpg

The grouping of trixels in the grouping graph by a graph traversal results in polygonal regions whose color is the area-weighted mean color of all constituent trixels

Figure 6: Polygonal segmentation

4. Perceptual Filtering of Trixel Edges

We model certain elementary perceptual cues via Boolean filters on trixel edges. These cues are then combined via Boolean expressions to obtain composite edge filters that selectively retain edges to achieve image segmentation. We briefly describe below four broad categories of perceptual cues implemented on trixel edges. These are spatial proximity, spectral proximity, contour continuity, and region continuity. Each Boolean filter identified below characterizes a perceptual cue or the negation of it. The action of each Boolean filter on the edge list results in a Boolean vector with a 1 in the ith position if the ith edge satisfies the property modeled by the filter, and 0 otherwise.

1a.

Cue Type: Spatial proximity

Filter Name: TooLong

Cue Support: Negative

Filter Description: Length above a threshold (e.g., 2.5 times median triangle edge length)

1b.

Cue Type: Spatial proximity

Filter Name: NotShortest

Cue Support: Negative

Filter Description: Shortest edge of neither flanking trixel (Fig. 7)

NotShortest.JPG

The dashed edge is not the shortest edge of either flanking trixel and hence should be deleted as it does not support proximity

Figure 7: NotShortest

1c.

Cue Type: Spatial proximity

Filter Name: Longest

Cue Support: Negative

Filter Description: Longest edge of at least one flanking trixel (Fig. 8)

Longest.JPG

The dashed line is the longest edge of the trixel on the left and hence should be deleted as it does not support proximity

Figure 8: Longest

2

Cue Type: Spectral proximity

Filter Name: NearColor

Cue Support: Positive

Filter Description: Scaled intensities of flanking trixels are within threshold distance for intensity images, or inner product of unit RGB vectors of flanking trixels is within threshold distance of 1 for color images (Fig. 9)

NearColor.JPG

The two trixels have proximate gray values and hence their common edge shuld be deleted

Figure 9: NearColor

3a.

Cue Type: Contour Continuity

Filter Name: Canny

Cue Support: Positive

Filter Description: Coincides with a contour chain edge

3b.

Cue Type: Contour Continuity

Filter Name: EndLink1

Cue Support: Positive

Filter Description: Connects (with minimum turn) end point of a contour to the interior of another contour (transversality) (Fig. 10)

EndLink1.JPG

The bold edge connects the endpoint of a contour to the interior of another contour with minimum turn, signifying a transversality of possibly occluding object contours and hence should be preserved

Figure 10: EndLink1

3c.

Cue Type: Contour Continuity

Filter Name: EndLink2

Cue Support: Positive

Filter Description: Connects two contour endpoints (Fig. 11)

EndLink2.JPG

The bold edge connects two proximate contour endpoints possibly closing or continuing an object contour and hence should be preserved

Figure 11: EndLink2

4a.

Cue Type: Region Continuity

Filter Name: SameContour

Cue Support: Positive

Filter Description: At least one flanking trixel has all its vertices lying on the same contour chain, and at least one vertex of the edge is not a contour end point (Fig. 12)

SameContour.JPG

The dashed edges connect points on the same contour without closing it and hence should be deleted for region continuity

Figure 12: SameContour

4b.

Cue Type: Region Continuity

Filter Name: Just2Contours

Cue Support: Positive

Filter Description: At least one flanking trixel has all its vertices on one of two contours and at least one vertex of the edge is not a contour end (Fig. 13)

Jus2Contours.JPG

The dashed edges connect interior points of two contours and hence should be deleted for region continuity

Figure 13: Just2Contours

4c.

Cue Type: Region Continuity

Filter Name: Junction

Cue Support: Negative

Filter Description: At least one flanking trixel has all its vertices on different contours (Fig. 14)

Junction.JPG

The edges sit at the confluence of possibly multiple regions and hence perhaps be preserved

Figure 14: Junction

It is possible to model many other perceptual cues via Boolean edge filters such as the ones listed above. Here, we have described only the above few for illustration. Each of the filters listed above models a pure criterion that determines the retention or deletion of edges in the absence of other criteria. Realistically speaking, however, all such criteria jointly come into play and a composite of these criteria ultimately decides whether an edge is retained or deleted. This is motivated by analogy to the human perceptual process wherein multiple perceptual organization criteria determine visual perception. We model this composite edge filter as a Boolean expression in the elementary edge filters. An example of a composite filter C is

C = ( TooLong | ( NotShortest ^ ~EndLink2 ) | Longest | NearColor | SameContour | Just2Contours | ( Junction ^ NotShortest ) ) ^ ~( ~TooLong ^ ( Canny | ( ( EndLink1 | EndLink2 ) ^ ~Longest) ) );

There are many variations that produce satisfactory segmentation results. For example, a composite filter that does not use spectral proximity to group trixels is given by

C = TooLong | ~(Canny | EndLink1 | EndLink2 | (Junction ^~(NotShortest | Longest) ) );

Here,“ | ” denotes disjunction (OR), “ ^ ” denotes conjunction (AND), and “ ~ ” denotes negation (NOT).

An edge for which the filter C takes the value 1 will be deleted, merging the two trixels flanking the edge. Thus the action of C on the set of all trixel edges results in mutually disjoint polygons, comprised of pairwise adjacent trixels, tiling the image.

The formulation of composite filters that are optimized to some measure of segmentation quality, that are adapted to a class of imagery (such as IR, X-ray, etc), or that are tuned to segment certain features, are all challenging problems. The scheme outlined here provides a general framework for developing improved and specialized segmentation algorithms to address these problems. For instance, it is possible to define elementary edge filters that take on continuous values. These filters can then be combined using fuzzy, neural, or evolutionary learning formalisms to yield high quality segmentation algorithms. In this sense, our algorithmic framework is a master algorithm template for image feature synthesis.

5. SVG Representation

The resulting polygonal segmentation is readily amenable to efficient representation in SVG. We employ the path element and use integer coordinates to represent vertices with incremental coordinate values specified for successive points. The line element is used to connect neighboring points of a path.

6. Computational Complexity

The Canny edge detector is a fast linear algorithm whose computational time complexity is a linear function of the total number of pixels in an image. Contour chaining is linear in the number of detected edge pixels which is typically an order of magnitude smaller than the total number of image pixels. Constrained Delaunay triangulation runs in o(nlog(n)) time as a function of the number n of contour points which is less than (in case of subsampling) or equal to the number of edge pixels. The sampling of triangle intensities is linear in the number of trixels, which is at most twice the number of contour points. Connected component analysis of the planar grouping graph is linear in the number of trixels as it uses a depth-first-search traversal. Thus the overall efficiency of our algorithm is high, making the method well suited for real-time applications.

7. Example Results

We illustrates the results of our method on a few images and compare our results with those produced by Vector Eye (VE), a commecial software [8] that converts raster images to vector images in the SVG format. In comparison experiments with Vector Eye, our method (VISTA: Vectorized Segmentation via Trixel Agglomeration [3,4]) yields better compression for comparable quality of rendering and it performs reliably on noisy, textured, and large images. Both VISTA and Vector Eye use the Lempel-Ziv coding to compress SVG files to SVGZ files. We illustrate our claims with example comparative runs of VISTA and Vector Eye on nine images below.

In the case of the Lena image (Fig.s 15-17), Vector Eye produces fairly visible level-line artifacts in regions of smoothly varying intensities. VISTA does not produce these false edges and regions. We do not smooth contours in VISTA in illustrations here to show actual polygons generated. Smoothing contours would greatly improve visual quality at with no loss in compression. We also do not employ gradient fills for polygons unlike some methods [2], which would further improve visual quality.

In the case of the Tiger image, the Vector Eye result is superior in appearance albeit at significantly lower compression (Figs. 18-20)

In the case of the Sign image (Figs. 21-23), there is a significant gain in compression in the case of VISTA versus Vector Eye without large vectorization artifacts as in in the pink areas of the sign in the Vector Eye result.

In the case of the Cropfields image (Figs. 24-26), there is significant loss of compression as well as quality in the Vector Eye result versus the VISTA result.

In the case of the Grapes image (Figs. 27-29) we tried to match file sizes of both Vector Eye and VISTA as closely as possible by adjusting parameters. The resulting Vector Eye image has large vectorization artifacts in smooth regions of color variation with marginally smaller file size.

In the case of the Lime image (Figs. 30-32), we set the parameters of both VISTA and Vector Eye to the highest quality. The result of Vista is a vector image that is almost half the size of the corresponding image produced by Vector Eye, and of a clearly superior quality.

In the case of the images Noisy Lena, Aircraft in Noise, and Texture (Figs. 33-38), while VISTA performed very well, Vector Eye aborted processing due to very large numbers of paths (>65,000) generated by the software, beyond its limits of processing. Simplifying the settings did not help in producing a file.

lena.BMP

Raster 512X512 bitmap image Lena, 257 KB

Figure 15: Raster Lena, 257 KB

lena_VISTA.svg

Vector SVG Lena produced by our method, VISTA, 95 KB

Figure 16: Vector Lena by VISTA, 95KB

lena_VE.svgz

Vector SVG Lena produced by Vector Eye, 117 KB

Figure 17: Vector Lena by VE, 117 KB

tiger.jpg

Raster 496X738 JPEG image of Tiger, 254 KB

Figure 18: Raster Tiger, 254 KB

tiger_VISTA.svgz

Vector SVG Tiger produced by VISTA, 94 KB

Figure 19: Vector Tiger by VISTA, 94KB

tiger_VE.svgz

Vector SVG Tiger produced by Vector Eye, 163 KB

Figure 20: Vector Tiger by VE, 163 KB

sign.BMP

Raster 234X205 BMP image of Sign, 141 KB

Figure 21: Raster Sign, 141 KB

sign_VISTA.svg

Vector SVG Sign produced by VISTA, 16 KB

Figure 22: Vector Sign by VISTA, 16 KB

sign_VE.svgz

Vector SVG Sign produced by Vector Eye, 53 KB

Figure 23: Vector Sign by VE, 53 KB

rabat_ag.JPG

Raster 667X804 JPEG image of Cropfields, 267 KB

Figure 24: Raster Cropfields, 267 KB

rabat_ag_VISTA.svg

Vector SVG Cropfields produced by VISTA, 146 KB

Figure 25: Vector Cropfields by VISTA, 146 KB

rabat_ag_VE.svgz

Vector SVG Cropfields produced by Vector Eye, 201 KB

Figure 26: Vector Cropfields by VE, 201 KB

grapes.JPG

Raster 492X730 JPEG image of Grapes, 177 KB

Figure 27: Raster Grapes, 177 KB

grapes_VISTA.svg

Vector SVG Grapes produced by VISTA, 56 KB

Figure 28: Vector Grapes by VISTA, 56 KB

grapes_VE.svgz

Vector SVG Grapes produced by Vector Eye, 50 KB

Figure 29: Vector Grapes by VE, 50 KB

lime.JPG

Raster 492X733 JPEG image of Lime, 253 KB

Figure 30: Raster Lime, 253 KB

lime_hifi_VISTA.svg

Vector SVG Lime produced by VISTA, 144 KB

Figure 31: Vector Lime by VISTA, 144 KB

lime_hifi_VE.svgz

Vector SVG Lime produced by Vector Eye, 273 KB

Figure 32: Vector Lime by VE, 273 KB

lena_noise.BMP

Raster 512X512 BMP image of Noisy Lena, 257 KB

Figure 33: Raster Noisy Lena, 257 KB

lena_noise_VISTA.svg

Vector SVG Noisy Lena produced by VISTA, 144 KB. Vector Eye failed to produce a result due to very large number of paths (>65,000) created

Figure 34: Vector Noisy Lena by VISTA, 144 KB

F4.jpg

Raster 898X1141 JPEG image of Aircraft in Noise, 357 KB

Figure 35: Raster Aircraft in Noise, 357 KB

F4_VISTA.svg

Vector SVG Aircraft in Noise produced by VISTA, 248 KB. Vector Eye failed to produce a result due to very large number of paths (>65,000) created

Figure 36: Vector Aircraft in Noise by VISTA, 248 KB

cropngrass.JPG

Raster 738X488 JPEG image Texture, 532 KB

Figure 37: Raster Texture, 532 KB

cropngrass_VISTA.svg

Vector SVG Texture produced by VISTA, 174 KB. Vector Eye failed to produce a result due to very large number of paths (>65,000) created

Figure 38: Vector Texture by VISTA, 174 KB

8. Conclusion

We have briefly described the application of our polygonal image segmentation algorithm [3,4] to the conversion of raster images to vector images in the SVG format. We have not appealed to any of the rendering, filtering and processing tools of SVG in the results shown. Doing so will further improve the quality of resulting vector files. Although our original intent of the segmentation algorithm described here is to detect and recognize objects in images by producing polygons that correspond to objects and features, by allowing larger number of edges in the edge detection process we obtain visually good quality vectorizations while achieving compression. In our tests with large numbers of images, we have found that for a default setting of allowing top 40% of the gradient maxima edge pixels to survive in the Canny edge detection algorithm, we obtain an average compression of 1:3 with higher compression for images with little texture and lower compression ratios for textured images. Because of the computaional efficiency of our method, our algorithms converge in reasonable times for even very large images and highly textured or noisy images, subject to adequate memory availability. We are currently researching better perceptual filters and improved methods for automatically combining them for segmentation and vectorized rendering for real world images as well as specialized imagery in medicene, security and scientific image analysis.

9. Acknowledgment

This work has been fully supported by the U. S. DOE under contract No. W-7405-ENG-36, through an LDRD ER exploratory research grant (#20030162).

10. References

  1. B. Antoniou, L. Tsoulos, Converting Raster Images to XML and SVG, Proceedings of SVGOpen 2004.
  2. S. Battiato, G. Gallo, G. Messina, SVG Rendering of Real Images Using Data Dependent Triangulation, Proceedings of ACM/SCCG 2004 Spring Conference on Computer Graphics, Slovakia, 2004
  3. L. Prasad, A. N. Skourikhine, VISTA: Vectorized Image Segmentation via Trixel Agglomeration, Los Alamos Invention Disclosure # 2003-064/S-100,632, 2003
  4. L. Prasad, A. N. Skourikhine, Vectorized Image Segmentation via Trixel Agglomeration, Proceedings of the 5th IAPR Workshop on Graph-based Representations in Pattern Recognition, Poitiers, France, 2005, LNCS vol. 3434, pp 12-22, Springer, 2005
  5. L. Prasad, Morphological Analysis of Shapes, Center for Nonlinear Studies, Los Alamos National Laboratory, CNLS Newsletter #139, July`97.
  6. L. Prasad, R. L. Rao, A geometric transform for shape feature extraction, Proceedings of the SPIE, Vision Geometry IX, 2000, San Diego, CA, pp 222-233
  7. L. Prasad, R. L. Rao, Multiscale Characterization and Analysis of Shapes, U.S. Patent no. 6393159, 2002.
  8. Vector Eye, Raster to Vector Converter, http://www.siame.com/index.html (2003)

XHTML rendition made possible by SchemaSoft's Document Interpreter™ technology.