J. Vis. Commun. Image R. 22 (2011) 590–605
Contents lists available at ScienceDirect
J. Vis. Commun. Image R. journal homepage: www.elsevier.com/locate/jvci
On the representation of a digital contour with an unordered point set for visual perception Partha Bhowmick a,⇑, Arindam Biswas b, Bhargab B. Bhattacharya c a
Department of Computer Science and Engineering, Indian Institute of Technology, Kharagpur, India Department of Information Technology, Bengal Engineering and Science University, Shibpur, Howrah, India c Advanced Computing and Microelectronics Unit, Indian Statistical Institute, Kolkata, India b
a r t i c l e
i n f o
Article history: Received 1 February 2010 Accepted 4 July 2011 Available online 14 July 2011 Keywords: Order-free point set Shape visualization Geometric graphs Nearest neighbor Delaunay triangulation Digital geometry Visual perception Digital object
a b s t r a c t In this paper, we study the problem of representing the boundary of a digital object with an unordered set of points (pixels) chosen from its 1-pixel wide contour such that its shape is visually perceptible and uniquely reconstructible. Extraction of such a set is important from the viewpoint of shape description and may also offer potential solutions to various applications like object representation, recognition, and discrimination. We propose a novel technique of determining an irredundant point set from a digital contour using the classical concept of pointillism. Pointillism, a movement of painting with dots that would blend in the viewer’s eye, was developed by certain Neo-Impressionists of France late in the 19th century. In order to extract the representative point set, we first consider the digitally straight pieces constituting the contour and then obtain a digital polygon P that approximates the bounding curve in a compact form. The polygon P, defined in terms of its ordered set of vertices, is replaced, in turn, with an irredundant set P 0 of pseudo-vertices lying on its digital edges, so that the union of P and P 0 produces an unordered point set that obviates the vertex ordering but captures the underlying geometric orderliness and the neighborhood relations defining the boundary of the original object. The pseudo-vertices may be chosen by controlling a parameter called pointillist factor that governs our visual perception with the nearest-neighbor correlation of a point set. The pointillist factor can be regulated to control the prominence of the underlying object with its unordered set of points — a strong outcome that establishes the technique about its ability to capture the shape information by an order-free point set of optimal or suboptimal size. We have also given a reconstruction procedure along with an error analysis related with the concerned descriptor. Experimental results on several databases demonstrate its elegance and effectiveness. Ó 2011 Elsevier Inc. All rights reserved.
1. Introduction Object representation is an essential and crucial task required in many areas of scientific analysis related with experimental psychology and computer vision [75]. The proper representation of an object aids and eases the subsequent application involving its shape and associated information [9,26,39,76]. Typical applications of description, analysis, and matching of objects of diversified nature and of various shapes can be found in a wide range of literature that includes art, architecture, cartography, cell biology, neuron morphology, psycholinguistics, qualitative reasoning, robotic vision, satellite imagery, etc. [40,48,49,55,65,73]. Hence, for sampling a shape in general, and a (real/digital) curve in particular, and for reconstruction of the shape from its sample, various gen⇑ Corresponding author. Fax: +91 3222 278985. E-mail addresses:
[email protected],
[email protected] (P. Bhowmick),
[email protected] (A. Biswas),
[email protected] (B.B. Bhattacharya). 1047-3203/$ - see front matter Ó 2011 Elsevier Inc. All rights reserved. doi:10.1016/j.jvcir.2011.07.005
eral and application-specific algorithms have been proposed over the last three decades to solve various scientific and engineering problems. For example, Ferrari et al. [27] demonstrated an object classification technique based on sliding window to handle cluttering, which resorts to chains of k-connected, roughly straight contour segments (kAS). An unsupervised classification rule has been proposed based on the Condensed Nearest Neighbor Domain Description (CNNDD) algorithm, which computes a reference-consistent subset in two passes [5]. An object detection algorithm based on feature points selected between corner points has been reported by Wang et al. [72]. The problem of object categorization by partially matching edge contours to form location hypotheses is also studied [58]. The problem of discrimination among similar shapes represented by contour points has been investigated by Ling and Jacobs [48], based on the concept of inner distance. A detailed study on the perceptual saliency of points along the object contour can be found in a recent paper [75], which uncovers some important underlying
591
P. Bhowmick et al. / J. Vis. Commun. Image R. 22 (2011) 590–605
(a) Vertex set, polygon.
, of a digital (b) Ensemble for minimum (c) Ensemble for a larger pointillist factor ( = 1). pointillist factor ( = 2).
(d) Actual polygon.
Fig. 1. The vertices of a digital polygon, as a mere point set (a), cannot create a definite impression of the underlying object/polygon (d). However, with the proposed method, the (blue) pseudo-vertices along with the (blue) polygon vertices (b) reflect the actual object, which becomes more prominent (c) when the pointillist factor, /, is increased. The method is more effective when the polygon is sufficiently large in size and complexity. (For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)
features from a visual perspective. Experimentation in that paper establishes the hypothesis that curvature extrema are most salient. Apart from sampling and reconstruction algorithms for curves in 2D and surfaces in 3D, several definitions, procedures, and methods have been also proposed to describe, identify, and measure the shape-related information present in a digital image [22,48,61,76]. The work in this paper considers the problem of describing a 2dimensional digital object by an unordered set of points in the digital plane, in order to simultaneously retain the underlying shape information associated with the object. For a digital object, given as a set C of digital curves, each constituent digital curve C in the input set C is first decomposed into its polygonal (closed curve) or poly-chain (open curve) approximation, thereby obtaining an ordered set of vertices P corresponding to the curve C. Without the order — which is not reflected when the vertices are shown as mere points in Z2 — the set P, however, carries almost no information about the actual object that it represents, as shown in Fig. 1. In particular, the shape information of the object is out of the preceptive ability of a vision mechanism — whether a human or a computer — if the set P is sufficiently large in size. The underlying object and its shape details are cognizable only if the definite order is imposed on these points/vertices to define the polygon(s) corresponding to the digital curve(s) that constitute the object. Thus, an unordered set of vertices of the polygon hardly begets any idea about its shape and related geometric structure and topological orderliness, thereby making it unusable for describing a curve-shaped digital object in a meaningful way. In order to circumvent the above problem and to map a digital object to an optimal or a suboptimal set of points in the digital plane, we further the idea of representing a digital polygon P not as an ordered set of vertices,1 but as an unordered set of points, b. which is called the pointillist ensemble of P and denoted by P b contains points selected appropriately from the The ensemble P set of digital edges of P using the pointillistic approach in an algorithmic way (Fig. 1). The pointillistic approach is newly introduced this paper, which, when used scientifically and efficiently, is shown to produce the desired impression of a digital object with the reb is duced set of object points. More importantly, the ensemble P such that its points can be used to retrace the original polygon P using a reconstruction algorithm. Such an idea is also justifiable and pragmatic apropos the recent trend in contour-based shape analysis. For example, in Fig. 8 of [48], insertion of pointillist points (described later in this paper) along the contour can help in discriminating shapes ‘‘geometrically’’. The notion of ‘‘inner distance’’ 1 For sake of notational simplicity, we use P to denote a polygon as well as the (ordered) set of its vertices, depending on the context.
as suggested earlier [48] also justifies the importance of shape discrimination from a geometric perspective. It may be mentioned here that, in the history of the visual art, pointillism refers to the Neo-Impression genre of painting with points/dots with an aim to achieve an artistic-cum-scientific way of conveying the desired impression. The technique, accredited for its development to certain serious pointillists like Seurat and his contemporaries late in the 19th century France [31,64], therefore, relies on the perceptive ability of the eye and the subconscious analytical mind of the viewer to mix the dots into a fuller form. The concept of pointillism may also be related with the fundamental principle of Gestalt perception called the law of pragnanz, which states that our mind has the tendency to perceive things in an orderly manner. This fundamental law of pragnanz can be stated in the form of six Gestalt laws, as explained in [66]. Among these six laws, the Law of Proximity states about the spatial or temporal proximity of elements, which induce the mind to perceive a collective or totality. Similarly, the Law of Continuity says, our mind tries to trace an underlying continuity in the patterns present in a visual data. In essence, the theory of Gestalt psychology is based on the idea that a human mind actually makes a holistic approach to vision rather than a disintegrated approach. The mind has the ability to understand an image in such a way that the individual parts of the image produce the collective impression by assuming ‘connections’ to have an overall perception [52,74,66].
Fig. 2. A sample/set of points (left) representing a ‘‘fork’’ [3,2]. The Traveling Salesman tour of the points produce the desired output (middle), whereas, the reconstruction algorithm of Amenta et al. [4] deviates at some portions from the actual object.
592
P. Bhowmick et al. / J. Vis. Commun. Image R. 22 (2011) 590–605
The proposed scheme on digital-object representation based on the polygonal decomposition of the object followed by the aforesaid pointillistic approach has several advantages, some of which are as follows: Polygonal decomposition of an arbitrary digital curve C smooths the unwanted jaggedness of C as per the desired limit without losing its overall geometric orderliness, and represents the curve as an ordered set, P, of its vertices. The set P is used to find the pairwise nearest edge (and hence the geometric configuration of the underlying curve ðCÞ), which is required to find the corresponding pointillist ensemble. The pointillist ensemble of C, as obtained from P, using the proposed algorithm, consists of an optimal or suboptimal number of points judiciously selected from the digital edges of P, which, when visualized, gives a correct impression about the original curve. The algorithm for reconstruction of the curve from its ensemble finds the nearest ensemble point corresponding to each ensemble point using an appropriate data structure. The nearest neighbor rule has two-fold advantages: (i) it mimics our psycho-visual mechanism; (ii) it picks an optimal or suboptimal number of points for which the reconstructed curve resembles the original curve quite rightly. The algorithm is fast, robust, and efficient. It outputs the desired ensemble for an arbitrary digital curve — whether open or closed — whether a synthetic curve or a curve set representing a real-world digital object — as implemented and tested by us, some of which are presented in Section 4. The rest of the paper is organized as follows. In Section 2, we discuss briefly on some of the existing works related with curve sampling and reconstruction. We start with the problem formulation and its physical interpretation in Section 3.1. In Section 3.2, we briefly explain the method used by us to obtain a polygonal/polychain approximation of a digital curve, C, constituting an object in the digital plane. Section 3.3 puts forth the algorithmic approach of deriving the pointillist ensemble of the digital polygon P corresponding to C, driven by its factor of pointillism and keeping in view a natural reconstruction procedure that resembles the psy-
q
p
p
p
q
cho-visual aspect of a human being. To demonstrate the strength and effectiveness of the algorithm, we have shown the results on some typical data sets of various sources and of different shapes and complexities in Section 4. Finally, in Section 5, we summarize the paper and mention its future possibilities. 2. Related works Over the last three decades, several algorithms have been proposed on appropriate sampling and efficient reconstruction of curves and surfaces, most of which are in two- and three-dimensional Euclidean (real) paradigm. The algorithms have been mainly developed to serve diverse applications requiring optimal/suboptimal sampling/representation of real/digital curves, subject to prescribed efficiency or reconstruction error. A brief overview of the algorithms on curve sampling and reconstruction is given below. 2.1. Works related with sampling and reconstruction In order to design various curve-reconstruction algorithms with theoretical guarantees, geometric graphs have been proposed since 1980s in several forms, meant for connecting a set of points in a way to capture the underlying pattern. One such elementary graph is the nearest neighbor graph (NNG) obtained by joining each point to its nearest neighbor(s) [57]. A similar geometric graph is the relative neighborhood graph (RNG) [56,67], which is obtained by joining each pair of relative neighbors. Two points p and q are said to be relative neighbors in a set S if and only if there is no other point (in S) closer to both p and q than they are from each other. Interestingly, the RNG of a point set S is a subgraph of the Delaunay triangulation (DT), and hence, can also be computed from the DT of S [43] (see Fig. 2). Another graph is the sphere-of-influence graph (SIG) [7,23,68] defined for a set of points/sites, which is constructed by identifying the nearest neighbor of each site, centering a ball at each site so that its nearest neighbor lies on the boundary, and joining two sites by an edge if and only if their balls intersect. Toussaint [68] proposed this graph as a good primal sketch of a dot pattern, suitable for lowlevel vision tasks. The asymptotic behavior of the expected number
(a) Uniform distribution of ensemble points (blue) over the curve (gray) is liable to disfigure the output after the reconstruction. From the ensemble point p, the nearest ensemble point q correctly aids the reconstruction; however, the next nearest point (dotted direction) incorrectly directs the reconstruction (direction in solid line), thereby producing a wrong output.
(b) Increasing the (uniform) distribution of ensemble points usually does not produce the required result (due to interference with an undesirable sample), as the curve may possess arbitrary flow pattern.
(c) Even if an algorithm produces an ensemble in which the points are sensibly selected from the curve points (i.e., during the reconstruction, the ensemble points are traversed in order of their occurrences along the actual curve), the resultant output (in the form of a digital polygon) may deviate quite alarmingly from the actual curve.
Fig. 3. Some instances of pointillist ensembles of a digital curve, showing the difficulty of solving the problem.
P. Bhowmick et al. / J. Vis. Commun. Image R. 22 (2011) 590–605
593
Fig. 4. An example of polygonal decomposition of a digital curve set (polygon vertices in red): (a) original curve; (b) a tight polygonal decomposition; (c) a relatively slacker decomposition. (For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)
of edges of an SIG is investigated by Dwyer [23], considering that the sites are independent and uniformly distributed. Kirkpatrick and Radke [46] introduced the notion of b-skeleton, which can be obtained by joining pairs of points whose b-neighborhoods are empty. The neighborhood can be circle-based or lune-based (for b 2 [0, 1], the lune-based neighborhood is identical with the circle-based), and for the former, the b-skeleton can also be computed from the corresponding DT [46]. Algorithms to construct the b-skeleton can be seen in [54,57]. A continuous spectrum of b-skeletons can be obtained by varying the (real) parameter b. This can be used to extract the boundary of an object [4]. Veltkamp proposed another geometric graph, named as c-skeleton, that captures the external as well as the internal shape of a point set [69,70]. It is defined in terms of two parameters, namely c0 2 [1, 1] and c1 2 [1, 1], where jc0j 6 jc1j. The c-neighborhood of a pair of points p and q is defined by two circles of radii d(p, q)/2(1 jc0j) and d(p, q)/2(1 jc0j) passing through p and q. Different possible domains of c0 and c1 result in two c-neighbor-
hoods of p and q, which define p and q as c-neighbors if and only if at least one of their c-neighborhoods is empty. This is used to obtain the c-skeleton by joining all the c-neighbors of the point set. There also exist several other geometric graphs, such as ashapes [25], minimum spanning tree [17], r-regular shapes [6], Gabriel graph [53], etc. The earlier methods [6,11,17,46] consider the curve to be closed, smooth, and uniformly sampled. Surveys on these techniques appear in some of the contemporary works [3,2,24,18]. Algorithms on reconstructing non-uniformly sampled open/closed smooth/non-smooth curves have been suggested in the later period [2,4,19–21,33,34]. 3. Proposed work 3.1. Problem formulation A digital curve C is represented in our work either by a sequence of chain codes [28,29] in a list, which signifies a pattern of ‘1’s
Fig. 5. Different cases for finding the minimum distance between two edges of (same or different) polygon(s). The concerned edges are ei :¼ (pi, pi+1) and ej :¼ (pj, pj+1), and their respective projections on the lines Lj (containing ej) and Li (containing ei) are e0i and e0j .
594
P. Bhowmick et al. / J. Vis. Commun. Image R. 22 (2011) 590–605
b (original curve ‘‘logo_411’’ shown in Fig. 10). (a) Voronoi diagram, Vor b Fig. 6. Step-by-step demonstration of the reconstruction from the pointillist ensemble C C . (b) Delaunay triangulation (in red), DT b C , as obtained from Vor b C . (c) DT b C as a subgraph of the Euclidean graph EG b C . (d) The reconstructed curve (in green) given by MST DT b C . Note that coordinates of the points in the ensemble have been scaled here by a factor of 3 for a better visibility of the underlying geometric data structures. (For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)
(curve points) and ‘0’s (background points) in a 2D array. It is easy to observe that some dropped/missing curve points (‘1’s) (which are replaced by ‘0’s, thereof) in the 2D array might entirely disorder or upset the actual curve, C. However, if we drop some curve points keeping the invariance of some underlying criterion, then the corresponding curve can be restored/reconstructed without any appreciable change w.r.t. the original one. Thus, selecting an optimal number of points to approximately represent C is the concerned problem. Further, if we take into account the human/robot vision mechanism, we should have the provision to increase the selected points so that the actual curve becomes clearer and easier to visualize. Thus, we have the following two perspectives while defining the pointillist ensemble of a set of digital curves, C, that correspond to the digital object(s) embedded in a binary image: Algorithmic perspective: Given a set of planar digital curves, C, b , is called the minimum the (sub)optimal set of points, namely C
pointillist ensemble of C, provided the original set C can be reconb using an appropriate algorithm. structed from C c/ of C Visual perspective: The (general) pointillist ensemble C should be specified by the pointillist factor, /(P1), such that a viewer can easily perceive/recognize the actual object from the c/ (and also, C can be reconstructed from C c/ using an ensemble C appropriate algorithm). Evidently, / = 1 corresponds to the minimum pointillist ensemble of C. The small instances in Fig. 1 illustrate the above two perspectives of the problem (from the ensemble with / = 2, the actual object is more prominent than that with / = 1). Difficulty of the problem: Finding the pointillist ensemble directly from a (digital) curve C (or a set of curves) poses serious reconstruction problems. During the reconstruction (or visually guessing the actual curve), for a particular point p in the ensemble b C corresponding to C, if the point q 2 b C lies nearest to p, then q
P. Bhowmick et al. / J. Vis. Commun. Image R. 22 (2011) 590–605
595
Fig. 7. Results on ‘‘drummers’’ for minimum pointillism (/ = 1): top left shows the input set; top right shows the polygonal description; middle row shows the pointillist ensemble; bottom left shows a part of the reconstructed set from the pointillist ensemble; bottom right shows the original object superimposed on the ensemble.
seems to lie nearer to p ‘‘along the curve’’ than any other point q0 2 b C. That is, after traversing p, q will be traversed (along the
C. Howreconstructed curve) before traversing any other point q0 2 b ever, since the occurrence of q in the original curve is unknown
596
P. Bhowmick et al. / J. Vis. Commun. Image R. 22 (2011) 590–605
Fig. 8. Pointillist ensembles of ‘‘drummers’’ for higher pointillist factor: left with / = 2; right with / = 4.
Fig. 9. Results on ‘‘logo355’’: left image shows the ensemble for / = 1; right top is for / = 2; right bottom shows the original object.
(from the ensemble), it might lead to a wrong traversal and a faulty output, thereof. Few examples illustrated in Fig. 3 explain the possible eventualities that are very likely to produce entirely wrong output (Fig. 3(a) and (b)) or a largely deviated output (Fig. 3(c)). 3.2. Polygonal decomposition of a digital object In order to maintain the original topological structure of the digital curve, we first decompose the set of digital curves into a set of shape-preserving digital polygons. The edges of these polygons are used, in turn, to compute the pseudo-vertices for constituting the pointillist ensemble that can be reconstructed to get back the original curve with a certain precision. As the polygon
vertices are usually not sufficient to constitute a pointillist ensemble from which a unique reconstruction is possible that retains the original shape (as shown in Fig. 3), some points from the edges of the digital polygons are chosen in addition. These points serve as pseudo-vertices, and in combination with the polygon vertices, aid in curve reconstruction. The polygon P, defined in terms of its ordered set of vertices, is replaced, in turn, with an irredundant set P 0 of pseudo-vertices lying on its digital edges, so that the union of P and P 0 produces an unordered point set that obviates the vertex ordering but captures the underlying geometric orderliness and the neighborhood relations defining the boundary of the original object. The pseudo-vertices may be chosen by controlling a parameter called pointillist factor
597
P. Bhowmick et al. / J. Vis. Commun. Image R. 22 (2011) 590–605
Fig. 10. Results on some other polygons corresponding to logo images: left image shows the ensemble for / = 1; middle one is for / = 2; right one shows the original object.
Table 1 Results of the proposed algorithm (/ = 1) on different images. Image name
Image size
jCj
jPj
b P
Pointillism time reconstruction time
‘‘drummers’’ ‘‘logo355’’ ‘‘logo416’’ ‘‘logo417’’ ‘‘test001’’
340 244 256 256 256 256 256 256 256 256
4084 3513 2054 3138 1624
207 193 127 273 142
796 1598 628 982 425
0.547 0.482 0.436 0.843 0.552
0.720 1.285 0.539 1.100 0.726
Time to form the ensemble and reconstruction time shown in seconds, jCj ¼ number of curve points in the image; jPj ¼ number of vertices after polygonal decomposition; b P ¼ number of points in the pointillist ensemble.
that governs our visual perception with the nearest-neighbor correlation of a point set. The polygonal decomposition adopted by us is based on extraction of approximate straight line segments from a digital curve using the digital-geometric algorithm given in [12]. Certain chain code properties of digital straightness [47,59] have been used in this algorithm with some relaxations to achieve the desired result. Shown in Fig. 4 are results on polygonal decomposition on a set of digital curves representing the contour of a real-world logo image, which show how the polygonal decomposition of a digital curve preserves its geometric orderliness. Although a slacked decomposition might digress from the original curve (Fig. 4(c)), a tighter decomposition almost traces the actual curve (Fig. 4(b)) with a higher complexity (i.e., a larger number of vertices) of the output polygon.
3.3. Pointillistic object representation Let C :¼ fCðkÞ : k ¼ 1; 2; . . . ; Kg denote the set of K digital curves constituting a digital object. Let the digital polygon/poly-chain corresponding to the kth (closed/open) digital D curve CðkÞ , be specified E by ðkÞ the ordered set of vertices, namely P ðkÞ :¼ pi : i ¼ 1; 2; . . . ; nk , so that we have a set of digital polygons corresponding to the set C, de noted by P :¼ P ðkÞ : 1; 2; . . . ; K . An edge of the digital polygon P ðkÞ is, therefore, given by ðkÞ ðkÞ ðkÞ ei ¼ pi ; piþ1 , where i = 1, 2, . . . , nk 1, whether CðkÞ is open ðkÞ ðkÞ ðkÞ or closed; and enk ¼ pnk ; p1 in addition if CðkÞ is closed. In order to obtain the pseudo-vertices as a pointillist ensemble of the digital polygons in P (and of C, thereof), we find the edge(s) (over all the polygons in P) having the minimum (Euclidean)
598
P. Bhowmick et al. / J. Vis. Commun. Image R. 22 (2011) 590–605
Fig. 11. Results of the proposed algorithm on a fingerprint image.
distance from each edge of each polygon in P. To be precise, for ðkÞ
each edge ei of each polygon P ðkÞ 2 P, we find the nearest edge point on each other edge of all the polygons in P (including P(k)), as explained next. Let ei :¼ (pi, pi+1) and ej :¼ (pj, pj+1) be two edges of two (same or different) polygons (Fig. 5). Let the real straight lines containing
the edges ei and ej be Li and Lj, respectively. Let the projection of ei on Lj be e0i :¼ ðqi ; qiþ1 Þ, and that of ej on Li be e0j :¼ ðqj ; qjþ1 Þ, where qi denotes the foot of the perpendicular from ei to Lj, and so forth. Then, depending on the containment relation of e0j in ei and of e0i in ej, the nearest point of ej from ei is obtained, in accordance with the following possibilities:
599
P. Bhowmick et al. / J. Vis. Commun. Image R. 22 (2011) 590–605
Fig. 12. Results on three other fingerprint images for / = 1 (left column), / = 2 (middle column) and / = 8 (right column).
Case 1: e0j is contained in ei, and ej is contained in e0i . Then, the minimum distance between ei and ej is given by dij = min{pjqj, pj+1qj+1} (Fig. 5(a)). [Note: ei and ej contain each other’s projections, i.e., e0j ¼ ei and e0i ¼ ej , if and only if ei and ej are equal in both length and direction.] Case 2: e0j is contained in ei, and let, w.l.o.g., qi is contained in ej, whereas qi+1 lies outside ej. Hence, dij = min{pjqj, pj+1qj+1, piqi} (Fig. 5(b)).
Case 3: e0j has partial overlap with ei, and if, w.l.o.g., qi and qj are contained in ej and ei respectively, then dij = min{pjqj, piqi} (Fig. 5(c)). Case 4: Neither e0j has partial overlap with ei, nor e0i with ej. This implies dij = min{pipj, pipj+1, pi+1pj, pi+1pj+1} (Fig. 5(c)). ðkÞ
In order to compute the pseudo-vertices in an edge ei
of the ðkÞ
ðkÞ
polygon P , we consider each edge in the set Ei :¼ n 0 oK 0 ðk Þ ðk0 Þ ðk0 Þ ðkÞ . Using the relation (one out of ej : ej 2 P ðk Þ ^ ej – ei 0 k ¼1
600
P. Bhowmick et al. / J. Vis. Commun. Image R. 22 (2011) 590–605
Fig. 13. Results of the algorithm on the ‘‘pitcher’’ video sequence (in row-major order) for / = 1. Notes that points (shown in yellow) in each ensemble have been enlarged nines time just for sake of clarity. (For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)
the four relations on projective containment as mentioned above) 0
ðk Þ
of the edge ej Based on the ðk0 Þ ej ,
that has
ðkÞ
0
ðk Þ
from ei .
ðkÞ distances of all the edges of Ei , we find the ðkk0 Þ ðkÞ the minimum distance, say dij , from ei .
edge, say,
with ei , we compute the distance of ej
ðkÞ
ðk0 Þ
ðkÞ
Using the nearest edge ej
from the edge ei and the corre ðkk0 Þ sponding minimum distance dij , the first pseudo-vertex, 0ðkÞ
ðkÞ
namely piðþ1Þ , is computed on ei , from the end of its start ðkÞ 0ðkÞ ðkÞ vertex pi . The pseudo-vertex piðþ1Þ is placed on ei such
P. Bhowmick et al. / J. Vis. Commun. Image R. 22 (2011) 590–605
601
Fig. 14. Results (enlarged points, as in Fig. 13) on the ‘‘pitcher’’ video sequence (in row-major order) for / = 2.
0ðkÞ
ðkÞ
that the distance of piðþ1Þ from pi
satisfies the following
equation.
n o ðkk0 Þ 0ðkÞ ðkÞ ðkÞ ðkÞ d piðþ1Þ ; pi ¼ max d p; pi : / dij > d p; pi ; ðkÞ
p2ei
ð1Þ
where /(P1) is called the pointillist factor. The minimum possible value of / is unity, which ensures the generation of a suboptimal set of pseudo-vertices in order that the original polygon can be reconstructed from the pointillist ensemble (given by all polygon vertices in union with the pseudo-vertices). Increasing the value
P. Bhowmick et al. / J. Vis. Commun. Image R. 22 (2011) 590–605
6
6
5
5
4
4
N/M
N/M
602
3
3
2
2
1
1 0
0 2
4
6
8
10
12
14
16
18
20
2
4
6
8
10
φ
f (φ (φ,,
12
14
16
18
20
φ
0.3 0.25 0.2 0.15 d⊥) 0.1 0.05 0
f (φ, 1
0.3 0.25 0.2 0.15 d⊥) 0.1 0.05 0
1 2
2 3
3 4
d⊥
4 5 6 7 8 8
7
5
6
3
4
2
1
d⊥
5 6 7 8
f 8
fvc2000:db2a
7
6
5
3
4
2
1
f
pitcher-2
Fig. 15. Plots showing the quality of sampling on the fingerprint database fvc2000:db2a (four images shown in Figs. 11 and 12) and on the video sequence ‘‘pitcher-2’’ (Figs. 13 and 14). The top row shows the variation of compression ratio CR = N/M with the pointillist factor /, and the bottom row shows the error frequency for / = 1 8.
of / yields a larger number of pseudo-vertices, thereby increasing the size of the ensemble and creating a better impression of the actual object. 0ðkÞ ðkÞ Once the pseudo-vertex piðþ1Þ is inserted on the edge ei , the ðkÞ 0ðkÞ vertex pi and piðþ1Þ become the nearest pair of vertices (whether of the original polygon or pseudo), which implies that the distance ðkÞ ðkÞ of no other vertex or point on any other edge of Ei from pi or 0ðkÞ ðkÞ 0ðkÞ piðþ1Þ is less than the distance between pi and piðþ1Þ . Thus, during ðkÞ 0ðkÞ reconstruction from the pointillist ensemble, pi and piðþ1Þ would be nearest to each other, and so one will be always visited after the other, thereby preserving their order and recreating the edge ðkÞ ei as required. ðkÞ Insertion of piðþ1Þ may change the status of the nearest edge (in ðkÞ
ðkÞ
0ðkÞ
ðkÞ
Ei ) of the part of ei from piðþ1Þ to piþ1 , denoted by the sub-edge ðkÞ 0ðkÞ ðkÞ eiðþ1Þ :¼ piðþ1Þ ; piþ1 . Hence, we recompute the distances of the ðkÞ
edges in Ei
ðkÞ
from eiðþ1Þ and depending on the four possible cases, ðkÞ
we find the nearest edge of eiðþ1Þ . Based on the distance (say ðkÞ ðkÞ di(+1)) of the nearest edge of eiðþ1Þ from eiðþ1Þ , and the specified value ðkÞ ðkÞ of /, the next pseudo-vertex piðþ2Þ is inserted in eiðþ1Þ from the end
ðkÞ ðkÞ ðkÞ of piðþ1Þ , so that the distance d piðþ1Þ ; piðþ2Þ does not exceed /
di(+1) (as in the case of inducing the first pseudo-vertex: Eq. 1). The above process is continued until the distance of the last ðkÞ
ðkÞ
0ð1Þ
3.4. Curve reconstruction from its ensemble As the first step of reconstructing the digital curve C from its ensemble b C, the points constituting b C are lexicographically sorted with their x-coordinates (primary key) and y-coordinates (secondary key) in a 2-dimensional link list. If the ensemble b C consists of m points, then the sorted link list is given by
m b ^i :¼ ð^xi ; y ^i Þ 2 Z2 jð^xi < ^xiþ1 Þ or ð^xi ¼ ^xiþ1 and y ^i < y ^iþ1 Þ i¼1 : C xy ¼ p ð2Þ Next, for the reconstruction, we use two important properties related with the Delaunay triangulation DT(S) of any point set S [10], which are as follows: P1. The closest pair of points in S are neighbors in DT(S). P2. For the Euclidean graph2 EG(S) of S, the minimum spanning tree MST(EG(S)) is a subgraph of DT(S).
ðkÞ
pseudo-vertex on ei , namely piðþmÞ , from piþ1 is less than / times the distance of the nearest edge from the corresponding sub-edge, ðkÞ ðkÞ ðkÞ eiðþmÞ :¼ piðþmÞ ; piþ1 . For each edge of all the K polygons, this is repeated to derive the complete pointillist ensemble corresponding to the given object and the specified value of the pointillist factor. A note on minimality: The process of inducing pseudo-vertices ð1Þ starts from the first edge e1 of the first polygon P ð1Þ in P, and covers all the edges of all the K polygons in P in succession. The first
ð1Þ
pseudo-vertex p1ðþ1Þ inserted on e1 — in accordance with Eq. 1 — is obviously at the maximum possible distance from the start ð1Þ vertex p1 . Hence, the iterative process of inserting pseudo-vertices produces an ensemble of minimal size for / = 1 subject to the choice of start vertex. With a different start vertex, the resultant ensemble may, however, reduce in size, but finding a start vertex for which the ensemble is of minimum size irrespective of the underlying digital curve is really a very hard and complex problem, which may be investigated in future for a theoretical solution.
2
If S consists of m points, then the vertices of EG(S) are the points in S and the edges
n are all undirected pairs of distinct points, the weight of each edge being given by 2 the Euclidean distance between the corresponding points.
P. Bhowmick et al. / J. Vis. Commun. Image R. 22 (2011) 590–605
Hence, we compute the Delaunay triangulation DT b C of b C by b xy , since there is an edge applying Fortune’s algorithm [10] on C ^i 2 b from each point p C to its nearest point in DT b C [Property ^i to other (second P1]. However, there are other edges also from p nearest, third nearest, and so forth) points in DT b C , which depends on the Voronoi diagram Vor b C of b C. In order to find the ^i from DT b C , we apply Kruskal’s algorithm of nearest point of p minimum spanning tree [16] on DT b C to obtain MST DT b C [Property P2]. The reconstructed digital curve is, therefore, given by joining the ordered sequence of vertices of MST DT b C . Reconstruction time: To compute the Delaunay triangulation of m points constituting the ensemble b C, we need TDT = O(m log m) time [10]. Now, the number of edges in Vor b C being at most 3m 6 = O(m) [10] and the Delaunay triangulation being a dual structure ofthe corresponding Voronoi diagram, the number of edges in DT b C is O(m). Kruskal’s algorithm takes O(e log v) time for a weighted graph with v vertices and e edges. Hence, the time-complexity for construction of MST DT b C from DT b C is TMST = O(m log m), wherefore the total time-complexity of reconstructing the digital curve from its ensemble is given by TDT + TMST = O(m log m). 3.5. Reconstruction error During reconstruction, the nearest point-pairs of the ensemble b C are connected by digital straight line segments (DSS) [47]. As a result, there may occur erroneous points. An erroneous point or error point is a digital point p 2 Z2 in a reconstructed DSS for which the nearest point of the original curve C does not coincide with p. Hence, a measure of error incurred during reconstruction from the pointillist ensemble, is given by how much a particular point ðx; yÞ 2 Ck has deviated in the corresponding reconstructed polyb k . If p b k corresponding to ~ :¼ ð~ ~Þ be the point in P gon, namely P x; y p :¼ (x, y) in Ck , then for all points in the curve set C :¼ fCk : k ¼ 1; 2; . . . ; Kg, this measure is captured by the variation of the number of error points with their deviations, where the ~ can be measured by deviation from p to p
~Þ ¼ min fjx ~xj; jy y ~jg: dev 1 ðp ! p
ð3Þ
~Þ depends on how tight was the polygonal Clearly, dev 1 ðp ! p decomposition of the curves in C (Section 3.2). Hence, the fraction of the number of points in C with a given deviation d1 varies with the precision of the polygonal decomposition. If we adopt the tightest decomposition where no point of a decomposed polygon deviates at all from the corresponding curve point, then the polygons consist of a large number of vertices, thereby reporting a large pointillist ensemble. On the contrary, a slackened decomposition produces polygons with lesser number of vertices, and reducing the ensemble in size, which, of course, introduces appreciable reconstruction errors. A trade-off with the polygonal decomposition is, therefore, necessary to achieve the desired results on pointillist ensemble of C and the resultant reconstruction. A study on the nature of the error distribution for a sufficiently large population of arbitrary digital curves may be, therefore, a promising area of theoretical analysis on pointillist representation of digital curves. 3.6. Sampling quality The quality of sampling/approximation is quantified, in general, by the amount of discrepancy between the reconstructed set of
603
curves and the original set. There are several measures to assess the approximation of a curve Ck , such as (i) compression ratio CR = Nk/Mk, where Nk is the number of points in Ck and Mk is the number of vertices in the approximate polygon P k ; (ii) the integral square error (ISE) between Ck and P k . Since there is always a trade-off between CR and ISE, other measures may also be used [36,62,63]. These measures, however, may not always be suitable for some intricate approximation criterion. For example, the figure of merit [63], given by FOM = CR/ISE, may not be suitable for comparing approximations for some common cases, as shown by Rosin [60]. In a work by Ventura and Chen [71], the percentage relative difference, given by ((Eapprox Eopt)/Eopt) 100, has been used, where Eapprox is the error incurred by a suboptimal algorithm under consideration, and Eopt the error incurred by the optimal algorithm, under the assumption that same number of vertices are produced by both the algorithms. Similarly, one may use two components, namely fidelity and efficiency, given by (Eopt/ Eapprox) 100 and (Mopt/Mapprox) 100, respectively, where Mapprox is the number of vertices in the approximating polygon produced by the suboptimal algorithm and Mopt is the same produced by the optimal algorithm subject to same Eapprox as the suboptimal one [60]. The algorithm proposed here is not constrained by the number of vertices Mk of the output polygon P k , and therefore, the measures of approximation where Mk acts as an invariant, are not applicable. Instead, we have considered the error of approximation, namely s, as the sole parameter in our algorithm, depending on which the number of vertices Mk corresponding to P k will change. A high value of s indicates a loose or slacked approximation, whence the number of vertices Mk decreases automatically, whereas a low value of s implies a tight approximation, thereby increasing the number of vertices in the approximate polygon. Hence, in accordance to the usage of s in both of our proposed methods, one based on criterion CP and the other on Cmax, the total number of vertices M :¼ M1 + M2 + + MK in set of approximate polygons fP k gKk¼1 corresponding to the input set of DC, namely I :¼ fCk gKk¼1 , versus s, provides the necessary quality of approximation. Since the total number of points lying on all the points in I characterizes (to some extent) the complexity of I , we consider the compression ratio (CR) as a possible measure of approximation. Another measure of approximation is given by how much a particular point ðx; yÞ 2 Ck 2 I has deviated in the corresponding ~ :¼ ð~ ~Þ be the point in P k corresponding to polygon P k . If p x; y p :¼ (x, y) in I , then for all points in I , this measure is captured by the variation of the number of points with isothetic deviation ~ is given by d\ w.r.t. d\, where the (isothetic) deviation from p to p
~Þ ¼ min fjx ~xj; jy y ~jg: dev ? ðp ! p
ð4Þ
~Þ depends on the chosen value of s in our Further, since dev ? ðp ! p algorithm, the fraction of the number of points in I with deviation d\ varies plausibly with s. So, the isothetic error frequency (IEF) (or, simply error frequency), given by
f ðs; d? Þ ¼
1 ~Þ ¼ d? gj; jfp 2 I : dev ? ðp ! p N
ð5Þ
versus s and d\, acts as the second measure that provides the error distribution for the polygonal approximation of I . It may be observed that, the error frequency distribution in Eq. 5 is equivalent to the probability density function, and satisfies the criterion
X d?
f ðs; d? Þ ¼ 1; for
s ¼ 0; 1; 2; . . . :
604
P. Bhowmick et al. / J. Vis. Commun. Image R. 22 (2011) 590–605
In fact, the error frequency distribution function in our measure is a bivariate distribution of (finite-size) samples of size N, depending on the two variables, namely s and d\. A study on the nature of the error frequency distribution for a sufficiently large population of arbitrary digital curves may be, therefore, a promising area of theoretical analysis of polygonal approximation of digital curves. 4. Experiments and results We have implemented the algorithm in C (in SunOS Release 5.7 Generic of Sun_Ultra 5_10, Sparc, 233 MHz). The algorithm takes a set of digital curves, C :¼ fCk : k ¼ 1; 2; . . . ; Kg (Section 3.2), as input, and using the specified value of the pointillist factor /, derives the optimal/sub-optimal pointillist ensemble (i.e., the unordered set of sample points: Section 3.3). In order to verify the quality and efficiency (Section 3.6) of the algorithm, we have also implemented the procedure to reconstruct a curve set from the corresponding ensemble (Section 3.4). We have tested the algorithm on several classified image databases of diverse nature and of varied interests pertaining to pattern recognition and computer vision, which are as follows: (i) Natural image database: 120 images [51]; (ii) Logo image database: 1034 images (received on request, from Prof. Anil K. Jain and Aditya Vailya of Michigan State Univ., USA); (iii) Selected database of optical and handwritten characters: 550 images [38,1]; (iv) Fingerprint databases FVC2000 db1 and db2: 160 images [30]; (v) Sports video sequences on ‘‘pitcher-1’’ and ‘‘pitcher-2’’: 320 frames; (vi) Test curve database: 100 irreducible, random, and closed digital curves. Sets (i)–(v) are 8-bit gray-scale images, which have been first passed through an edge-detection stage, followed by thinning [35]. The procedure of reconstructing a curve from its ensemble has been demonstrated in Fig. 6 on a small logo image. Shown in Fig. 7 are results on ‘‘drummers’’ (Set (i)) when the pointillist ensemble is minimally defined (i.e., with the pointillist factor / = 1). The input binary image is first processed to get its polygonal decomposition, from which its pointillist ensemble is derived. To demonstrate the efficiency and robustness of the method, we have also shown a part of the reconstruction and the original curve set superimposed on the ensemble. Denser ensembles with / = 2 and / = 4, shown in Fig. 8, demonstrate the strength of the method in capturing the actual shape in a manner that imitates our psychovisual sensory reflex. The ensembles corresponding to the digital contours of some logo images (Set (ii)) for / = 1 and / = 2 are shown in Figs. 9 and 10. In Table 1, we have furnished some other significant parameters for a few images to show the results of the algorithm in finding the pointillist ensembles of the corresponding set of curves. In the application domain, points sampled from fingerprint ridge lines constituting a fingerprint topography are used in various biometric applications related with fingerprint image analysis [8,13–15,41,42,50]. Hence, to demonstrate the results of the algorithm on fingerprint images, we have shown the pointillist ensembles of a fingerprint image (Set (iii)) corresponding to a few values of / in Fig. 11.3 Similar results on three other fingerprint images — selected in a way so that they possess appreciable differences among themselves apropos their ridge topographies — for / = 1, 2, and 8, are 3 The procedures of obtaining the thinned ridge topography (input to the proposed algorithm) from a gray-scale fingerprint image have been discussed in [14].
shown in Fig. 12. It may be noticed from their pointillist ensembles that density of points is high in and around a region where the ridges possess bifurcations or crossovers. Further, as the pointillist factor / is gradually increased, the pointillist ensemble tends to the original/ input ridge set, which justifies the convergence and robustness of the algorithm. As another potential application where the algorithm may be used [44], we have also presented here a portion of the results on a small video sequence in Figs. 13 and 14. Since vertex- or point-based representation is usually followed for shape coding in the video object plane [32,37,45], a (optimal or suboptimal) pointillist ensemble may be used in an appropriate way. Such an ensemble, without any ordering (unlike the ordered set of vertices of a polygon), captures the shape with a nearly-lossless reconstructive quality. The pointillist ensembles for / = 1 (Fig. 13) corresponding to 16 frames, which represent a part of the ‘‘pitcher’’ video sequence, depict how the ensembles gradually change over these frames, though without suffering any appreciable loss (when subject to reconstruction). Visually, the underlying objects are, of course, more pronounced when the pointillist factor / is increased, say, to / = 2 (Fig. 14), which is a suboptimal solution (see Fig.15).
5. Conclusion and future work We have shown how a set of digital curves, after being decomposed into a set of shape-preserving digital polygons, can be represented by an appropriate pointillist ensemble. The size of the ensemble can be controlled by the pointillist factor, /, which, when set to unity, produces a minimally defined ensemble, and when gradually increased, produces larger ensembles depicting clearer impression about the underlying object set. The proposed algorithm used to find the ensemble imitates the human visual mechanism, and the subsequent reconstruction using the nearest neighbor rule reproduces a digital curve that almost preserves its original shape, provided the polygonal decomposition of the original curve is reasonably good. Thus, the pointillist ensemble is likely to serve a useful and efficient representation of an object for an application dealing with the computer or robot vision system. The concept of pointillism imposes an order-freeness on the resultant ensemble, which is a novel contribution of this work. The school of art on pointillism [31,64] initiated the Neo-impressionist style of painting by point-dabbing in the 19th century, which is scientifically exploited by us to get an elegant representation of a digital object in the form of a reduced order-free point set. As mentioned in Section 3.3, a challenging problem is to find the minimum pointillist ensemble corresponding to any digital curve for / = 1 so that a reconstruction of the ensemble based on the nearest-neighbor rule recreates the original curve without fail. Further possibilities involving pointillist ensembles lie in (i) shape analysis of digital objects using their pointillist ensembles; (ii) color image representation and subsequent analysis using ensembles in the color spectrum; and (iii) other image processing and computer vision applications.
References [1] Handwritten Bangla characters.
. [2] E. Althaus, K. Mehlhorn, Traveling salesman-based curve reconstruction in polynomial time, SIAM J. Comput. 31 (2002) 27–66. [3] E. Althaus, K. Mehlhorn, S. Näher, S. Schirra, Experiments on curve reconstruction, in: Proc. 2nd Workshop Algorithm Eng. Exper., 2000, pp. 103–114. [4] N. Amenta, M. Bern, D. Eppstein, The crust and the b-skeleton: combinatorial curve reconstruction, Graph. Models Image Process. 60 (1998) 125–135. [5] F. Angiulli, Condensed nearest neighbor data domain description, IEEE Trans. PAM 29 (10) (2007) 1746–1758.
P. Bhowmick et al. / J. Vis. Commun. Image R. 22 (2011) 590–605 [6] D. Attali, a-regular shape reconstruction from unorganized points, in: Proc. 13th Ann. Sympos. Comput. Geom., 1997, pp. 248–253. [7] D. Avis, J. Horton, Remarks on the sphere of influence graph, in: J. E. Goodman et al. (Eds.), Proc. Conf. Discr. Geom. Convexity, Ann. New York Accad. Sci., vol. 440, 1985, pp. 323–327. [8] A.M. Bazen, S.H. Gerez, Fingerprint matching by thin-plate spline modeling of elastic deformations, Pattern Recognit. 36 (8) (2003) 1859–1867. [9] S. Belongie, J. Malik, J. Puzicha, Shape matching and object recognition using shape contexts, IEEE Trans. PAMI 24 (4) (2002) 509–522. [10] M.D. Berg, M.V. Kreveld, M. Overmars, O. Schwarzkopf, Computational Geometry Algorithms and Applications, Springer-Verlag, Berlin, 2000. [11] F. Bernardini, C.L. Bajaj, Sampling and reconstructing manifolds using ashapes, in: Proc. 9th Canadian Conf. Comput. Geom., 1997, pp. 193–198. [12] P. Bhowmick, B.B. Bhattacharya, Fast polygonal approximation of digital curves using relaxed straightness properties, IEEE Trans. PAMI 29 (9) (2007) 1590–1602. [13] P. Bhowmick, B.B. Bhattacharya, Removal of digital aberrations in fingerprint ridgelines using B-splines, Pattern Recognit. (2008), doi:10.1016/ j.patcog.2008.03.009. [14] P. Bhowmick, A. Bishnu, B.B. Bhattacharya, M.K. Kundu, C.A. Murthy, T. Acharya, Determination of minutiae scores for fingerprint image applications, Int. J. Image Graph. 5 (2005) 1–35. [15] A. Ceguerra, I. Koprinska, Integrating local and global features in automatic fingerprint verification, in: Proc. 16th Int. Conf. Pattern Recognition (ICPR), IEEE CS Press, 2002, pp. 347–350. [16] T.H. Cormen, C.E. Leiserson, R.L. Rivest, Introduction to Algorithms, Prentice Hall of India, New-Delhi, 2000. [17] L.H. de Figueiredo, J. Gomes, Computational morphology of curves, Visual Comput. 11 (1995) 105–112. [18] T.K. Dey, Curve and Surface Reconstruction: Algorithms with Mathematical Analysis, Cambridge University Press, 2007. [19] T.K. Dey, P. Kumar, A simple provable curve reconstruction algorithm, in: Proc. 10th Ann. ACM-SIAM Sympos. Discr. Algorithms, 1999, pp. 893–894. [20] T.K. Dey, K. Mehlhorn, E.A. Ramos, Curve reconstruction: connecting dots with good reason, in: Symposium on Computational Geometry, 1999, pp. 197–206. [21] T.K. Dey, K. Mehlhorn, E.A. Ramos, Curve reconstruction: connecting dots with good reason, Comput. Geom. Theory Appl. 15 (2000) 229–244. [22] J.M. Dı´az-Baqez, J.A. Mesa, Fitting rectilinear polygonal curves to a set of points in the plane, European J. Oper. Res. 130 (1) (2001) 214–222. [23] R.A. Dwyer, The expected size of the sphere-of-influence graph, Comput. Geom. 5 (1995) 155–164. [24] H. Edelsbrunner, Shape reconstruction with Delaunay complex, in: LATIN’98: Theoretical Informatics, LNCS, vol. 1380, 1998, pp. 119–132. [25] H. Edelsbrunner, D.G. Kirkpatrick, R. Seidel, On the shape of a set of points in the plane, IEEE Trans. Inform. Theor. 29 (1983) 551–559. [26] J. Feldman, Bias toward regular form in mental shape spaces, J. Exp. Psychol.: Human Percept. 26 (1) (2000) 1–44. [27] V. Ferrari, L. Fevrier, F. Jurie, C. Schmid, Groups of adjacent contour segments for object detection, IEEE Trans. PAMI 30 (1) (2008) 36–51. [28] H. Freeman, On the encoding of arbitrary geometric configurations, IRE Trans. Electron. Comput. EC-10 (1961) 260–268. [29] H. Freeman, Techniques for the digital computer analysis of chain-encoded arbitrary plane curves, in: Proc. National Electronics Conf., vol. 17, 1961, pp. 421–432. [30] FVC 2000, Fingerprint Verification Competition. , 2000. [31] J.T. Gage, The technique of Seurat: a reappraisal, Art Bull. 69 (3) (1987). [32] P. Gerken, Object-based analysis-synthesis coding of image sequences at very low bit rates, IEEE Trans. Circuits Syst. Video Technol. 4 (1994) 228–235. [33] J. Giesen, Curve reconstruction, the traveling salesman problem and Menger’s theorem on length, Discr. Comput. Geom. 24 (2000) 577–603. [34] C. Gold, J. Snoeyink, Crust and anti-crust: a one-step boundary and skeleton extraction algorithm, Algorithmica 30 (2001) 144–163. [35] R.C. Gonzalez, R.E. Woods, Digital Image Processing, Addison-Wesley, California, 1993. [36] A. Held, K. Abe, C. Arcelli, Towards a hierarchical contour description via dominant point detection, IEEE Trans. Sys. Man Cybernet. 24 (1994) 942–949. [37] M. Hotter, Object-oriented analysis-synthesis coding based on moving twodimensional objects, Signal Process.: Image Commun. 2 (1990) 409–428. [38] J.J. Hull, A database for handwritten text recognition research, IEEE Trans. PAMI 16 (1994) 550–554. [39] S.T. Hyde, S. Andersson, Z. Blum, S. Lidin, K. Larsson, T. Landh, B.W. Ninham, The Language of Shape, Elsevier, 1997. [40] R. Irvin, D. McKeown, Methods for exploiting the relationship between buildings and their shadows in aerial imagery, IEEE Trans. Syst., Man, Cybernet. 19 (6) (1989) 1564–1575. [41] A.K. Jain, L. Hong, R. Bolle, On-line fingerprint verification, IEEE Trans. PAMI 19 (1997) 302–313. [42] A.K. Jain, A. Ross, S. Prabhakar, Fingerprint matching using minutiae and texture features, in: Proc. Int. Conf. Image Processing (ICIP), IEEE CS Press, 2001, pp. 282–285.
605
[43] J.W. Jaromczyk, M. Kowaluk, A note on relative neighborhood graphs, in: Proc. 6th ACM Sympos. Comput. Geom., 1987, pp. 233–241. [44] B. Kartikeyan, A. Sarkar, Shape description by time series, IEEE Trans. PAMI 11 (1989) 977–984. [45] A.K. Katsaggelos, L. Kondi, F.W. Meier, J. Ostermann, G.M. Schuster, MPEG-4 and rate distortion based shape coding techniques, in: Proc. IEEE, 1998, pp. 1126–1154. [46] D.G. Kirkpatrick, J.D. Radke, A framework for computational morphology, in: G.T. Toussaint (Ed.), Computational Geometry, Elsevier, 1985, pp. 217–248. [47] R. Klette, A. Rosenfeld, Digital Geometry: Geometric Methods for Digital Picture Analysis, Morgan Kaufmann Series in Computer Graphics and Geometric Modeling, Morgan Kaufmann, San Francisco, 2004. [48] H. Ling, D.W. Jacobs, Shape classification using the inner-distance, IEEE Trans. PAMI 29 (2) (2007) 286–299. [49] Y.T. Liow, T. Pavlidis, Use of shadows for extracting buildings in aerial images, CVGIP 49 (2) (1990) 242–277. [50] D. Maltoni, D. Maio, A.K. Jain, S. Prabhakar, Handbook of Fingerprint Recognition, Springer-Verlag, New York, 2003. [51] D. Martin, C. Fowlkes, D. Tal, J. Malik, A database of human segmented natural images and its application to evaluating segmentation algorithms and measuring ecological statistics, in: Proc. 8th Int. Conf. Computer Vision, vol. 2, July 2001, pp. 416–423. [52] K. Mason, J. Denzinger, M.S.T. Carpendale, Negotiating gestalt: artistic expression by coalition formation between agents, in: Smart Graphics, 2005, pp. 103–114. [53] D.W. Matula, R.R. Sokal, Properties of Gabriel graphs relevant to geographical variation research and the culturing of points in the plane, Geograph. Anal. 12 (1984) 205–222. [54] A. Mukhopadhyay, S.V. Rao. Output-sensitive algorithm for computing the b-skeleton, in: Proc. 10th Canadian Conf. Computational Geometry (CCCG), 1998. [55] S. Noronha, R. Nevatia, Detection and modeling of buildings from multiple aerial images, IEEE Trans. PAMI 23 (5) (2001) 501–518. [56] J. O’Rourke, Computing the relative neighborhood graph in the L1 and L1 metrics, Pattern Recognit. 15 (1982) 189–192. [57] F.P. Preparata, M.I. Shamos, Computational Geometry — An Introduction, Springer-Verlag, New York, 1985. [58] H. Riemenschneider, M. Donoser, H. Bischof, Using partial edge contour matches for efficient object category localization, in: Proc. ECCV 10, 2010, 5, pp. 29–42. [59] A. Rosenfeld, R. Klette, Digital straightness, Electron. Notes Theor. Comput. Sci. 46 (2001). . [60] P.L. Rosin, Techniques for assessing polygonal approximation of curves, IEEE Trans. PAMI 19 (6) (1997) 659–666. [61] P.L. Rosin, Measuring rectangularity, Mach. Vision Appl. 11 (1999) 191–196. [62] P.L. Rosin, G.A.W. West, Non-parametric segmentation of curves into various representations, IEEE Trans. PAMI 17 (1995) 1140–1153. [63] D. Sarkar, A simple algorithm for detection of significant vertices for polygonal approximation of chain-coded curves, Pattern Recognit. Lett. 14 (1993) 959– 964. [64] G.-P. Seurat. Letter to Maurice Beaubourg (1890), in: L. Nochlin (Ed.), Impressionism and Post-Impressionism: Sources and Documents, Englewood Cliffs (NJ), 1966, p. 113. [65] M. Sonka, V. Hlavac, R. Boyle, Image Processing, Analysis, and Machine Vision, Chapman and Hall, 1993. [66] R.J. Sternberg, Cognitive Psychology, Thomson Wadsworth, 2003. [67] G.T. Toussaint, The relative neighbourhood graph of a finite planar set, Pattern Recognit. 12 (4) (1980) 261–268. [68] G.T. Toussaint, A graph-theoretical primal sketch, in: G.T. Toussaint (Ed.), Computational Morphology, Elsevier, 1988. [69] R.C. Veltkamp, The c-neighborhood graph, Comput. Geom. Theor. Appl. 4 (1992) 227–246. [70] R.C. Veltkamp, Boundaries through scattered points of unknown density, Graph. Model Image Proc. 57 (6) (1995) 441–452. [71] J.A. Ventura, J.M. Chen, Segmentation of two-dimensional curve contours, Pattern Recognit. 25 (1992) 1129–1140. [72] B. Wang, X. Bai, X.G. Wang, W.Y. Liu, Z.W. Tu, Object recognition using junctions, in: Proc. ECCV 10, 2010, pp. 15–28. [73] J. Willats, Art and Representation: New Principles in the Analysis of Pictures, Princeton Univ. Press, 1997. [74] M. Wilson, A. Russell, M.C. Schraefel, D.A. Smith, mSpace mobile: A UI Gestalt to support on-the-go infointeraction, in: Chi extended abstracts, 2006, pp. 247–250. [75] J. De Winter, J. Wagemans, Perceptual saliency of points along the contour of everyday objects: a large-scale study, Percept. Psychophys. 70 (1) (2008) 50– 64. [76] J. Zunic, P.L. Rosin, Rectilinearity measurements for polygons, IEEE Trans. PAMI 25 (9) (2003) 1193–1200.