Subpixel Contour Matching Using Continuous Dynamic Programming Bruno Serra  y

Marc Berthod 

INRIA Sophia-Antipolis, Projet PASTIS - BP 93 - 06902 Sophia-Antipolis Cedex, FRANCE AEROSPATIALE, Service E/ETRV, 1 Rue Pablo Picasso, 78114 Magny-les-Hameaux, FRANCE 

y

Abstract This paper presents a subpixel contour matching algorithm using a novel dynamic programming scheme. Unlike classical dynamic programming methods, where a discrete path is searched for across a graph, our approach allows the optimal continuous path to be determined. The matching is obtained as a piecewise parametric fonction, and no discretization is involved, nor any parameterized deformation assumed. As a side result, a measure of the deformation of the matched contours is obtained, yielding information on the quality of the match. The algorithm has been tested with different types of images, demonstrating its ability to deal with chains of contour segments as well as chains of contour edges, since the discretization of the contours does not limit the precision of the matches anymore.

1 Introduction We address the general problem of matching continuous contours in a pair of images. We are given an image containing a set of contours de ned by piecewise linear functions (e.g. obtained by linking the edge points calculated by an edge detector, or by polygonal approximation of contours) and a second image obtained by arbitrarily displacing and distorting these contours. No special assumptions are made, neither constraints imposed, although any local constraint could be added in a straightforward manner. For each contour in the rst image, we seek a continuous function associating to each point of the contour a point in the second image. We thus aim at solving the discretization problems which commonly occur when matching polygonal contours, as illustrated in Figure 1. The main drawbacks of previous research on subpixel matching, either using correlation measures [11] or geometric reasoning [3], are the use of strong local

Figure 1: Discrete vs. continuous matching. constraints restricting the matches to either epipolar lines or constraint lines, and the restriction to parameterizable deformations, either pure translation or orthographic projection of planar patches. Cohen [5] has proposed a formalism to deal with unknown deformations. However, the implementation is iterative and the use of a curvature measure forces a high degree of di erentiation along contours, thus requiring contour smoothing. Our approach, using dynamic programming, is related to work presented in [1][2][8][9][4]. These works all involve a discrete dynamic programming algorithm, whereas we propose a continuous algorithm.

2 Discrete Dynamic Programming To use dynamic programming for matching images, primitives must be arranged in sequence. In the case of contours, a natural ordering exists: the ordering of the edge points in each contour chain. For each pair of contours to be matched, a graph is constructed by placing on the x (resp. y) axis the edge points of the rst (resp. second) contour. Each node of the graph therefore represents a possible match of a point of the rst contour with a point of the second contour (Fig. 2), and a global match of the two contours de nes a path that crosses the graph from left to right. An elementary cost function is de ned for each portion of the path joining two successive nodes. The

contour 2 j

j contour 2

i contour 1

3 2 point 1 point 1 2 3

i

contour 1

Figure 2: Two contours and the associated graph. optimal match between the two contours is the one with minimum cumulated cost. It is classically determined using the Viterbi algorithm, which relies on the following equation:

C (i; j ) = min fC (i ? 1; k) + c (i ? 1; k; i; j )g (1) k

where C (i ? 1; k) is the cumulated cost of the best path ending at node (i ? 1; k), and c the elementary cost of the arc joining nodes (i ? 1; k) and (i; j ). As can be seen from this equation, the cumulated cost of a node in column i of the graph only depends on the cumulated costs in column i ? 1 and on the cost of transition between column i ? 1 and column i. Thus, a simple algorithm yields the optimal path: for each node in a column of the graph, the minimum cumulated cost is calculated using equation (1). The node in the previous column associated with this path is remembered. Starting from the rst column, the algorithm proceeds to the next column until the last one is reached. Finally, the last column is searched for the node with minimum cost, and the optimum path is found by tracing back the remembered nodes. In order to deal with multiple or discontinuous contours, all candidate points are placed in each column of the graph, and not only the points of a single contour. A ctive point is also added in each column to account for the possible non-matching of the edge point. The elementary cost of an arc joining points of di erent contours or the ctive "unmatched" point is a constant. More sophisticated methods to deal with discontinuities have also been devised. See [8] for a good description of one such method. Two additional constraints can be used to ensure that the complexity of the algorithm is linear. First, only the monotonical paths need to be explored: if point i on the rst contour is matched with point j on the second contour, then point i + 1 can only be matched with a point after point j . Thus, for each point of the graph only three points need to be explored: the ones corresponding to horizontal, vertical, or diagonal arcs. Second, if the match of an edge point is known to lie in a certain neighbourhood, the

columns of the graph need not be complete. For each point on the rst contour, only those points of the second contour lying in the known neighbourhood should be retained. Any a priori knowledge on the transformation between the two images (epipolar constraint, maximal displacement...) can thus easily be incorporated and reduces the computational complexity of the algorithm.

3 Continuous Dynamic Programming 3.1 Minimizing a continuous cost function Our goal is now to nd the optimal continuous path, that is, the path is no more constrained to go through the nodes of the graph, as shown in Figure 3.

Figure 3: The usual discrete dynamic programming technique (left) vs. our approach (right). We will rst focus on a square portion of the graph, corresponding to the matching of two segments of the contours. Since the path can now cross the lines and columns of the graph anywhere, there are four possible types of path portions in this square portion, as illustrated in Figure 4. Considering for exemple the rst case in Figure 4, equation (1) can be rewritten as:

C (i; y ) = i

min

?1 2[j ?1;j ]

yi

fC (i?1; y ?1)+c (i?1; y ?1; i; y )g i

i

i

(2) The minimization can no longer be done numerically, since y ?1 is now a continuous variable. However, given an analytical expression of c and C (i ? 1; y ?1 ), we can nd an analytical expression for the minimum. If we can nd a cost function such that the analytical expression of the minimum has the same shape as the cumulated cost (i.e. C (i; y ) has the same shape as C (i ? 1; y ?1)), then we can numerically compute the coecients of the analytical expression of the cumulated cost function. We show that this is possible when c is a convex second order polynomial. i

i

i

i

contour 2 j y i−1

(a)

yi−1 y i

j−1

yi

contour 2 j

j−1 i contour 1

i−1 i−1

contour 1

i

j

yi j

j−1

yi

contour 2

(b) j−1

i−1

x i−1

xi

j

j−1 yi−1

j

contour 2

i xi

contour 1

contour 1

i

contour 2 xi

j j−1

i i−1 x i−1 x i contour 1

x i−1 i−1

j contour 2

j−1

(d)

contour 1

i

Figure 4: Possible types of paths in a square portion of the graph (left), and corresponding matches (right). Let:

c = ay2?1 + by2 + 2cy ?1y + 2dy ?1 + 2ey + f and suppose that C (i ? 1; y ?1) can also be written as i

i

i

i

i

i

i

a convex second order polynomial: C (i ? 1; y ?1 ) = y2?1 + 2 y ?1 + Substituting the terms in equation (2) yields: C (i; y ) = min F (i ? 1; y ?1 ; i; y ) ?1 i

i

i

i

i

yi

i

i

?1

i

i

i

and the value of which is:

A

2 D2 ) (4) ) + ( F ? C (i; y ) = (B ? CA )y2 + 2(E ? CD A A C (i; y ) is a convex second order polynomial, which proves that it has the same shape as C (i ? 1; y ?1 ). i

C2 (i; y ) = i

min

fC (i?1; y ?1)+c (i?1; y ?1; i; y )g

?1 2[j ?1;j ]

yi

i

i

min fC (x ?1; j ?1)+c (x ?1; j ?1; i; y )g

?1 2[i?1;i]

xi

i

i

i

i

In the previous section, we showed that C1 and C2 are convex second order polynomials. We can thus analytically calculate the points of intersection of these two functions, resulting in intervals where C = C1 or C = C2, as shown in Figure 5. Finally, we have proven that, given a quadratic elementary cost function, the optimal path is piecewise linear (equation (3)), and its cost is piecewise quadratic (equation (4)).

}

C=C1

}

C=C 2

i

i

i

(5)

i

Figure 5: Partition of the cumulated cost function into piecewise quadratic intervals.

with: F = Ay2?1 + By2 + 2Cy ?1y + 2Dy ?1 + 2Ey + F and A = a + etc. The function F to be minimized is a convex function of y whose minimum is obtained when: (3) y = ? Cy + D i

C1 (i; y ) = i

i−1 i−1

i

where :

y i−1 j−1

i

contour 1

contour 1

i

C (i; y ) = min fC1(i; y ); C2(i; y )g

i

i−1

x i−1

contour 2

i

In fact, equation (2) does not give the path with minimum cost of all possible paths, but only of those of the same type as Figure 4.a. Considering point (i; y ), the only possible paths leading to this point are those of type a or b in Figure 4. The path with minimum cost is thus given by : i

contour 2

(c)

3.2 Combining multiple cost functions

i

i

i

The same results and demonstration hold for the other cases in Figure 4.

3.3 Limiting the number of quadratic portions of the cost function The cumulated cost function is piecewise quadratic, however, the number of its constituting portions increases as the calculation proceeds along the graph, since these portions tend to propagate from one square portion of the graph to the next (Figure 6). The complexity of the algorithm is thus no more linear in the number of nodes of the graph. In order to reduce complexity again to linear form, heuristic constraints must be added. One possibility is to x a lower bound on the size of a portion, discarding smaller portions. This implies that the maximal number of portions per node is xed, bringing the complexity of the algorithm back

Figure 6: Propagation of the quadratic intervals of the cost function along the graph. to linear form. However, this simpli cation bears with it a reduction in the resolution of the path. Another possibility is to approximate the cost functions in contiguous portions so as to merge these portions. We have only implemented the rst possibility, and experimental results showed that no signi cant degradation appears as long as the minimum size is no more than 20% of the side of a square in the graph.

3.4 The cost function Suppose that point X on the rst contour is matched with point Y on the second contour, and that point X on the rst contour is matched with point Y on the second contour. The translation vectors (disparity vectors) associated with each match are: T = Y ? X and T = Y ? X (Figure 7) and D = T ? T is the error between the matches. Since we want a quadratic cost function, a sensible choice is to de ne this cost function as the square of the norm of the error: c (X ; Y ; X ; Y ) = kD k2 i

i

j

i

4.2 Ultrasound medical images The contour matching algorithm has also been applied to medical images. Figure 9 shows two images in a sequence of ultrasound images of the mitral valve. The contours were manually extracted and matched using our algorithm. The results show the ability of the algorithm to cope with large unparameterized deformations.

4.3 High resolution stereo

j

i

ij

algorithm to the simple synthetic contours shown in Figure 8. The two contours are the same, but with a di erent sampling rate, as indicated by the dots. Figure 8.a shows the matching produced by a discrete dynamic programming algorithm. As expected, discretization artifacts forbid the correct result to be obtained. Figure 8.b shows the result with our subpixel algorithm. The correct correspondences are recovered. Figure 8.c shows the quadratic portions described in section 3.2.

i

j

j

j

j

i

i

i

j

j

ij

Y

j contour 2

Yi

T T

j

i contour 1 X

i

X

In order to demonstrate the potential for high resolution 3D reconstruction of our algorithm, we applied it to a stereo pair of natural images. Figure 10 shows an image extracted from a trac sequence and the reconstructed 3D scene. Comparing with the results obtained with a discrete algorithm [7], the gain in resolution is evident.

4.4 Summary of the Experiments Table 4.4 summarizes the experiment of the subpixel contour matching algorithm. It shows the number of edge points extracted in each image, the number of matched edge points, and the CPU time measured on a Sun Sparc Station 10/41.

j

Table 1: Numerical results.

Figure 7: Disparity vectors.

4 Experimental Results

4.1 A simple application exemple In order to demonstrate the strength of our approach, we rst applied the subpixel contour matching

Scene Simple exemple Medical images High res. stereo

Nb. Nb. points matches 70 46 19431

70 46 14751

CPU time

1.91 s 1.18 s 2 min 38 s

Figure 9: Ultrasound images of the mitral valve. Bottom: matching by continuous dynamic programming.

5 Conclusion

Figure 8: Contours with di erent sampling rates. (a) Matching by discrete dynamic programming. (b) Matching by continuous dynamic programming. (c) Zoom on the quadratic portions of the graph.

In this paper, we have described a novel dynamic programming scheme that yields a continuous solution to the problem of nding an optimal path on a 2D plane. An application to the elastic subpixel matching of contour images has been presented. The algorithm has been implemented and tested on numerous kinds of images to demonstrate its versatility. Excellent results on complex real images are obtained, and comparisons with the results obtained on the same images with a discrete algorithm show the gains in resolution that can be achieved by our approach. The analysis of the computational requirements of the algorithm and the CPU time required for the images presented show that the complexity overhead of the continuous dynamic programming is a ordable. Our future work will concentrate on a theoretical justi cation of the cost function in order to strengthen the optimality of the matching.

References [1] A.A. Amini, T.E. Weymouth, R.C. Jain, Using Dynamic Programming for Solving Variational Problems in Vision, IEEE PAMI, 12(9):855-867, Sept. 1990. [2] A.A. Amini, Using Dynamic Programming for Solving Variational Problems in Vision: Applications Involving Deformable Models for Contours and Surfaces, Ph.D., Dep. Elec. Eng. Comput. Sci., The Univ. Michigan, Ann Arbor, 1990. [3] I.A. Bachelder, S. Ullman, Contour Matching Using Local Ane Transformations, Image Understanding Workshop, Jan. 1992. [4] K.L. Boyer, D.M. Wuescher, S. Sarkar, Dynamic Edge Warping: An Experimental System for Recovering Disparity Maps in Weakly Constrained Systems, IEEE System, Man, and Cybernetics, 21(1):143-158, Jan. 1991. [5] I. Cohen, N. Ayache, P. Sulger, Tracking Points on Deformable Objects Using Curvature Information, Lecture Notes in Comp. Sci.: ECCV92, Vol 588 Springer-Verlag. [6] S. Dreyfus, Dynamic Programming and the Calculus of Variations, New York: Academic, 1965. [7] R. Ma, M. Thonnat, A Robust and Ecient Stereo Matching Algorithm, Research report RR 1860, INRIA, France, February 1993. [8] H. Ma^tre, Y. Wu, Improving Dynamic Programming to Solve Image Registration, Patt. Recog., 20(4):443-462, 1987. [9] Y. Ohta, T. Kanade, Stereo by Intra- and InterScanline Search Using Dynamic Programming, IEEE PAMI, 7(2):139-154, Mar. 1985. [10] N. Ueda, S. Suzuki, Learning Visual Models from Shape Contours Using Multiscale Convex/Concave Structure Matching, IEEE PAMI, 15(4):337-352, Apr. 1993. [11] M. Okutomi, T. Kanade, A locally Adaptive Window for Signal Matching, Int. J. Comp. Vis., 7(2):143-162, 1992.

Figure 10: High resolution stereo. Top: original left image. Reconstructed scene (top side view): middle: matching by continuous dynamic programming, bottom: matching by a discrete algorithm.

Subpixel Contour Matching Using Continuous Dynamic ...

ing the discretization problems which commonly oc- cur when matching polygonal contours, as illustrated in Figure 1. The main drawbacks of previous research on sub- pixel matching, either using correlation measures 11] or geometric reasoning 3], are the use of strong local. Figure 1: Discrete vs. continuous matching.

294KB Sizes 2 Downloads 254 Views

Recommend Documents

Optimal Subpixel Matching of Contour Chains and ... - CiteSeerX
contours and does not call for any other constraint, so that it is particularly suitable ... mented in the same way (di erent number of segments with their endpoints at di ..... In Conference on Computer Vision and Pattern. Recognition, pages 202 ...

Optimal Subpixel Matching of Contour Chains and ...
synthetic contour images of a sphere with subpixel edge localization. ... ness of the matching process. ... approximation process yields segments whose lengths.

Affine Normalized Contour Invariants using ...
Faculty of Computer Science and Engineering ..... Conics have been used previously in computer vision .... and Temple University, USA for providing the.

Affine Invariant Contour Descriptors Using Independent Component ...
when compared to other wavelet-based invariants. Also ... provides experimental results and comparisons .... of the above framework is that the invariants are.

Affine Invariant Contour Descriptors Using Independent Component ...
Faculty of Computer Science and Engineering, GIK Institute of Engineering Sciences & Technology, NWFP, Pakistan. The paper ... removing noise from the contour data points. Then ... a generative model as it describes the process of mixing ...

1 Dynamic Threshold and Contour Detection: A more ...
Dalsa digital camera CA-1D-128A. This camera is connected to the vision computer trough a National Instruments PCI 1422 interface card. Image processing was done using C++ language and is based on the image processing library ICE and DIAS environment

Three-Sided Matching with Continuous Trilateral ...
each player produces a benefit of b(θi,xi) for their partners and incurs a cost d(θi,xi) for doing so.4 Thus, t, a, and c's payoffs to matching with each other at agreement (xt,xa,xc). 3We consider a three-sided environment only for expositional si

Fingerprint matching using ridges
(2) The solid-state sensors are increasingly used, which capture only a portion ... file is small. We have ... the ridge-based system will not degrade dramatically.

PARTIAL SEQUENCE MATCHING USING AN ...
where the end point of the alignment maybe be unknown. How- ever, it needs to know where the two matching sequences start. Very recently [6] proposed an ...

biometric verification using contour-based hand ...
Salient points: To measure the various hand geometry features, the “landmark points” [8] like fingertips. (peaks) and valley points have to be located as shown in.

Contour-Based Surface Reconstruction using MPU ...
fits a point-based implicit surface to the contour data, while allowing the user to .... visualization of point sets at interactive frame rates with good visual quality.

Dynamic Surface Matching by Geodesic Mapping for 3D ... - CiteSeerX
point clouds from scanner data are registered using a ran- domized feature matching ..... tion Technology for Convivial Society”. References. [1] N. Ahmed, C.

The Role of Private Information in Dynamic Matching ...
*School of International Business Administration,. Shanghai University of ... Can private information improve the efficiency of bargaining? In this paper, we show that, ... matching technologies. 1 .... homogeneous of degree one). We denote by ...

Dynamic Matching and Bargaining Games: A General ...
Mar 7, 2011 - Art Shneyerov, Lones Smith, Gabor Virag, and Asher Wolinsky. ... As an illustration of the main result, I use a parameterized class of ...

The Role of Private Information in Dynamic Matching ...
In a dynamic matching and bargaining market with costly search, we find that private information ... do not affect preferences over prices and acceptance decisions, in models with 9 9 0 the information structure ... recently introduced two+sided priv

The Estimation of Dynamic Games: Continuous Choices
Nov 25, 2013 - Data. • Market Level Data - 27 regional markets in U.S. 1981-1999. • Price and Quantity. • Price of coal, natural gas, electricity, wages (IV's). • Plant Level Data (total 2,233 observations). • daily capacity level ... Estim

Image contour extraction
Apr 6, 2009 - Based on intensity difference with neighbor pixels. • Convert pixels to “directed” points. – Each pixel has an angle associated with it (direction.

Dynamic Matching and Bargaining Games: A General ...
Mar 7, 2011 - Non-cooperative Foundations of Competitive Equilibrium, Search Theory. *University of Michigan ... The characterization result is informed by the analysis of non-cooperative dynamic matching and ..... Payoffs are equal to the expected t

Dynamic Surface Matching by Geodesic Mapping for ...
Surfaces are cap- tured from multi-view video data and represented by se- ... in a free-viewpoint video of real-world subjects in motion .... are deformed over time by tracking photo-consistent sur- ..... high fidelity visualization for 3d video. CVI

Exploratory PerFormance Evaluation using dynamic ...
plete 'active' sub-models that serve, e.g., as embedded strategies that control the .... faces, their signature, and that these interfaces behave as described above ...

Dynamic Attack Mitigation using SDN
Abstract—Security threats in the Internet have been ever increasing, in number, type and means used for attacks. In the face of large-scale attacks, such as DDoS attacks, networks take unacceptable time to respond and mitigate the attacks, resultin

Coexistence Mechanism Using Dynamic Fragmentation ...
what proposed in [9] requires too much complexity to obtain the optimal solution ..... PDA is connected to a laptop via Wi-Fi at rate 11Mbps, and concurrently a ...

Dynamic Treatment Regimes using Reinforcement ...
Fifth Benelux Bioinformatics Conference, Liège, 1415 December 2009. Dynamic ... clinicians often adopt what we call Dynamic Treatment Regimes (DTRs).

Automatic speaker recognition using dynamic Bayesian network ...
This paper presents a novel approach to automatic speaker recognition using dynamic Bayesian network (DBN). DBNs have a precise and well-understand ...