Corner Detection Using a Mixture Model of Edge ... - Semantic Scholar

2 downloads 0 Views 119KB Size Report
Corner Detection Using a Mixture Model of Edge Orientation ... The usual strategy is to employ special corner detec- ..... Corners detected in the INRIA office.
Corner Detection Using a Mixture Model of Edge Orientation Niklas L¨udtke, Bin Luo, Edwin Hancock, Richard C. Wilson Department of Computer Science University of York York, Y010 5DD, UK [email protected] Abstract Corners are important image features whose detection has proved elusive since they are associated with the locations of multiple edge orientation. In this paper, we explicitly model the multiple orientations by using a mixture model based on von Mises edge-direction distributions. In order to infer the parameters of the mixture model, a bank of Gabor filters is employed. The resulting mixture model of the local contour orientation captures angular information at edges, corners and T-junctions in a single process. A criterion can then be developed which isolates corners as points of multiple edge orientations. We demonstrate the effectiveness of our method on natural images and compare the quantitative performance with a number of popular alternatives in the literature.

1

Introduction

The question of multiple edge orientations is very relevant for machine vision when, in addition to simple edges, corner points and junctions are to be detected. Here, classical gradient based edge detection schemes are not efficient, since intensity gradient is ill-defined, and, even when corners are somewhat rounded, detector responses tend to be small. The usual strategy is to employ special corner detectors, designed to detect two-dimensional intensity features. Following Dobbins et al[2], we argue that a filter bank is capable of representing complex local intensity structure. No additional corner detector is required. Instead, the information in the filter-bank must be decoded in the appropriate way. The goal of this method is to recover the values of all the edge orientations at a particular point, and the distribution of these orientations. These values can then be used to determine both edge and corner points. The use of such a filter bank is related to the concept of the population coding of visual stimuli[12, 4, 11]. In order to recover the complete probability density function(PDF) of the local orientation, p(θ), the PDF parameters have to be estimated from the given set of filter responses. This distribution represents the uncertainty and ambiguity

of θ. This must be achieved indirectly via the PDF of the responses which are observed in the filter bank. Here we use empirical and theoretical arguments to develop a mixture model for the observed set of filter responses. This model is based on the empirical tuning function of the Gabor filters which constitute the filter bank, together with the statistical assumption that the angular input variable (local contour orientation) follows a von Mises distribution. Based on this mixture model, we show how maximum likelihood orientation proportions may be estimated.

2

Gabor Filter Responses

Gabor filters are a popular choice for edge detection applications. They can be tuned to respond to particular orientations and feature scales. They have the general form   G(x, y) = exp −[x2 /σx2 + y 2 /σy2 ] exp (−2πi[ux + vy]) (1) The quantities ux and vy related to the frequency and orientation of the image structure under examination. For maximal response they need to tuned to the dominant frequency and orientation of the edge. The real and imaginary parts are symmetric and anti-symmetric respectively and correspond to line and edge structure. We therefore confine ourselves to the imaginary component since we are concerned with edges. The sigma values are dependent on the noise levels in the image. We can construct a filter bank by choosing Gabor filters of different orientation, i.e. setting u = k cos θ and v = k sin θ for a filter of orientation θ.

2.1

Tuning functions

The tuning function or tuning curve refers to the particular response profile of one member of the filter bank when exposed to the whole range of input stimuli. In this case, that is the response of the filter when presented with edges of varying orientation. Since the members of the filter bank are simply rotated versions of each other, this curve also defines the response of the bank to an edge of a single orientation. Typically a tuning curve will consist of a single peak around the preferred orientation of the filter. However, the

1051-4651/02 $17.00 (c) 2002 IEEE

responses of a bank of Gabor filters extracted at locations of ambiguous orientation may show multiple peaks. The tuning curve is determined by convolving an odd-symmetric Gabor filter with the edge representation, which we model locally as a sinusoid of the domination spatial frequency in the edge: S(x, y) = sin [ks (x cos θ + y sin θ)] ; ks = 2π/λs For simplicity we choose a Gabor filter with aspect ratio one (radially symmetric), wavelength λf , vertical preferred direction and define analogously kf = 2π/λf . The tuning curve is therefore given by   f (θ) = C sinh kf ks σe2 cos θ (2)

tuning curve2 and the mixture model3 using results from probability theory[8]. We limit ourselves here to quoting the distribution: 1  P (i) · πCκ0 i=1 I0 (κi )     exp κκ0i sinh−1 Cr cos(ψ − θ¯i )  ·    r 2  2 −1 r 1 1+ C 1 − κ0 sinh C  

r 2 1 sinh−1 sin(ψ − θ¯i ) cosh κi 1 − κ0 C m

pν (r) =

Clearly, the result for a filter of a preferred orientation ψ may be obtained by rotating the stimulus by −ψ. The parameter κ0 = kf ks σe2 is a so-called koncentration parameter. Its reciprocal value is a measure of the angular variance and therefore controls the orientation tuning width. It depends on the two known filter properties kf = 2π/λf and σe as well as the unknown quantity ks = 2π/λs which is inverse proportional to the dominant wavelength λs in the input signal. The quantity C = 1/ sinh(κ0 ) is a normalization constant, so that fi (θ) ∈ [−1, 1]. The tuning curve for a non-vertical filter (orientation ψi ) is simply fi (θ) = C sinh[κ0 cos(θ − ψi )],

This density is again a mixture model. However, the mixture components are highly non-Gaussian which makes it more difficult, though not impossible, to find the parameters. The mixture parameters can be found through maximum likelihood estimation using standard techniques such as the EM algorithm.

3

We can now apply the EM-algorithm[1] to generate iterative update equations for the parameters of our mixture model. The update equations turn out to be

A mixture model of local orientation

We model the probability density of the edge orientation with a mixture of von Mises distributions[7]. The von Mises distribution, which is essentially an orientation based analogue of the Gaussian distribution, models each principle line orientation with a mean value and a variance. By choosing this model, we are assuming that a) the image consists of edges of well defined orientation, and b) uncertainties in these orientations can be modelled without higher order statistics. By using a mixture of these distributions, multiple principle orientations can be modelled. Equation 3 shows the model. m m  1  P (i) κi cos(θ−θ¯i ) p(θ) = , with P (i) = 1 e 2π i=1 I 0 (κi ) i=1 (3)

Here I0 is the modified Bessel function of first kind and order zero. The P (i) are mixing coefficients. In order to implement a maximum likelihood estimation scheme for the parameters of the mixture model, we need to evaluate probabilities of the filter responses of the individual filters, i.e. pν (rν ), since they are the values we observe. The density pν (rν ) depends on the parameters of the mixture PDF p(θ) plus the parameters specifying the tuning function, in particular λs , the dominant wavelength in the input signal. The distribution can be found from the

4

Parameter algorithm

n 

estimation

via

the

EM-

 P

old

ν=1

n  ν=1

(i|rν ) ξν sin(ψν − θ¯inew )  − 1 − ξν2 cos(ψν − θ¯inew ) · 

 tanh κold 1 − ξν2 sin(ψν − θ¯inew ) =0 i

 P

old

(i|rν )

) I1 (κnew i − ξν cos(ψν − θ¯inew ) new I0 (κi )

 − 1 − ξν2 sin(ψν − θ¯inew ) · 

 new new 2 ¯ tanh κi 1 − ξν sin(ψν − θi ) =0

While these equations may appear daunting, they are straightforward to solve numerically, for example using a Newton-Raphson method, and have proved stable in our experiments. However, by making suitable approximations to the ratio of Bessel functions and substituting

1051-4651/02 $17.00 (c) 2002 IEEE

old parameter values for new in key places, a relatively accurate closed approximation can be found. Let form  old ˜ν ≡ Dν ≡ tanh κi 1 − ξν2 sin(ψν − θ¯iold ) and D

 tanh κold 1 − ξν2 sin(ψν − θ¯inew ) . We then have i tan(θ¯inew ) =    n old (i|rν ) ξν sin ψν − Dν 1 − ξν2 cos ψν ν=1 P    n old (i|r ) ξ cos ψ + D 1 − ξν2 sin ψν ν ν ν ν ν=1 P Figure 1. Corners detected in the INRIA office scene. Left - corners using the mixture model algorithm, right - using SUSAN

for the first update and  n  1  old new = P (i|rν ) / κi 2 ν=1 n 

 P old (i|rν ) 1 − ξν cos(ψν − θ¯inew ) −

ν=1

  ˜ν 1 − ξν2 sin(ψν − θ¯inew ) D

for the second. The approximation is most accurate when the multiple values for local orientation can be clearly distinguished, i.e. when the certainty of the multiple orientation measurement is sufficiently high.

5

Detecting corners in the mixture model

A two-component von Mises mixture can be used as a corner detector by filtering the resultant mixture components. Corners are represented by two components which are a) different in angle, b) with well defined angles (i.e. narrow distributions), and c) approximately equal in magnitude. We embody these properties in the following distribution for corner strength: C(x, y) = exp(−

(P1 − P2 )2 w2 + w12 ) exp(− 0 )· vp vw 1 1 + exp(vθ − 8|θ0 − θ1 |)

The variables P1 , P2 , θ0 and θ1 are derived from the mixture model. The quantities w0 and w1 are the half-widths of the distributions in the mixture model, i.e. exp[κi cos(wi )] = 1 2 . Maxima of the smoothed corner field represent corner points in the image.

6

Figure 2. The the cogwheel image; left - 90◦ angle, right - 120◦ angle

To provide a comparison between this and other corner detectors, we have used the cogwheel image in Figure 2. The sharpness of the cogs can be adjusted to provide different corner angles. In order to establish how this process responds to noise, we have added salt-and-pepper noise to the cogwheel image. The mixture based corner detector is compared with the Plessey operator[3], the SUSAN corner detector[9], the corner detector of Wang and Brady[10] and the vector potential method of Luo, Cross and Hancock[6]. In Figures 3, 4 and 5 we show the fractions of true positives and false positives as a function of the fraction of salt-andpepper noise for cogs with opening angles of 30, 90 and 120 degrees respectively. The mixture model does particularly well at large opening angles. In addition to finding corners, the model provides accurate angles and strengths for the corner components.

References

Results

In figure 1 we show the results obtained on the INRIA office-scene image. In the left-hand panel we show the corners detect using the mixture-model described earlier in this paper. The right-hand panel shows the results obtained using the Susan corner detector.

[1] C. Bishop. Neural Networks for Pattern Recognition. Clarendon Press, Oxford, 1995. [2] A. Dobbins, S. Zucker, and M. Cynader. Endstopped neurons in the visual cortex as a substrate for calculationg curvature. Nature, 329(6138):438–441, 1987.

1051-4651/02 $17.00 (c) 2002 IEEE

Von Mises Mixture Vector Potential SUSAN Wang Plessey

1

0.8

Probability of true positives

Probability of true positives

0.8

0.6

0.4

0.6

0.4

0.2

0.2

0

0 0

0.02

0.04

0.06 0.08 0.1 Probability of noise (angle=30)

0.12

0

0.14

0.02

0.08

0.1

0.12

0.14

Von Mises Mixture Vector Potential SUSAN Wang Plessey

0.8

Probability of false positives

0.6

0.4

0.6

0.4

0.2

0.2

0

0 0

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0

0.02

Probability of noise (angle=30)

Figure 3. The corner true positive and false positive rates for the 30◦ cogwheel image Von Mises Mixture Vector Potential SUSAN Wang Plessey

1

0.8

Probability of true positives

0.06

1

0.8

0.6

0.4

0.2

0 0

0.02

0.04

0.06 0.08 0.1 Probability of noise (angle=90)

0.12

0.14

Von Mises Mixture Vector Potential SUSAN Wang Plessey

1

0.8

Probability of false positives

0.04

Probability of noise (angle=120) Von Mises Mixture Vector Potential SUSAN Wang Plessey

1

Probability of false positives

Von Mises Mixture Vector Potential SUSAN Wang Plessey

1

0.6

0.4

0.2

0 0

0.02

0.04

0.06 0.08 0.1 Probability of noise (angle=90)

0.12

0.14

Figure 4. The corner true positive and false positive rates for the 90◦ cogwheel image

0.04

0.06 0.08 0.1 Probability of noise (angle=120)

0.12

0.14

Figure 5. The corner true positive and false positive rates for the 120◦ cogwheel image [3] C. G. Harris and M. Stephens. A combined corner and edge detector. In 4th Alvey Vision Conference, pages 147–151, 1988. [4] G. E. Hinton. How neural networks learn from experience. Scientific American, 267(3):145–151, 1992. [5] N. L¨udtke, R. Wilson, and E. Hancock. Population codes for orientation estimation. In Proc. of the International Conference on Patern Recognition, 2000. [6] B. Luo, A. Cross, and E. Hancock. Corner detection via topographic analysis of vector potential. Pattern Recognition Letters, 20:635–650, 1999. [7] K. Mardia. Statistics of Directional Data. Academic Press, London and New York, 1972. [8] A. Papoulis. Probability, Random Variables, and Stochastic Processes. McGraw-Hill, 1984. [9] S. Smith and J. Brady. Susan - a new approach to low level image processing. Int. Journal of Computer Vision, 23(1):45–78, 1997. [10] H. Wang and M. Brady. Real-time corner detection algorithm for motion estimation. Image and Vision Computing, 13(9):695–703, 1995. [11] R. Zemel and P. Dayan. Distributional population codes and multiple motion models. In Advances in Neural Information Processing, volume 11, pages 174–180, 1999. [12] R. S. Zemel, P. Dayan, and A. Pouget. Probabilistic interprestation of population codes. Neural Computation, 10(2), 1998.

1051-4651/02 $17.00 (c) 2002 IEEE

Suggest Documents