Corner Orientation

The process of evaluating a corner's orientation in our approach mainly involves finding the orientation of the surrounding edges that form the corner. Extracting such information is therefore essentially a local process. We define a function tex2html_wrap_inline505 that signifies the likelihood of a pixel being part of the edges associated with a particular corner C. The value of tex2html_wrap_inline505 is computed at each point tex2html_wrap_inline1043 in a small neighbourhood around what has been labelled as a corner point C. The following assumptions about the configuration within corners are used:

To satisfy the first assumption, we introduce the product tex2html_wrap_inline513 as a good edge detector. The mere gradient would be inconsistently strong at noise spikes, and the mere anisotropism would be misleadingly high on strongly orientated patterns such as a gradient intensity ramp. Therefore, the combination of two identifies edges properly. We will regard the direction of anisotropism tex2html_wrap_inline483 to be the direction of the edge points found.

The second assumption is necessary to deal with the problem of corner adjacency. Several edges may be found in the neighbourhood of a corner, they might not all belong to the same structure. Indeed, they could be associated with another corner nearby. If the direction of an edge pixel does not point toward the corner point C, then its value of tex2html_wrap_inline505 should be very low. To enforce this, we have introduced the angle tex2html_wrap_inline1041 .

equation102

with u being the direction of anisotropsim at tex2html_wrap_inline1043 , derived from tex2html_wrap_inline1047 in Equation (2), and tex2html_wrap_inline1125 . As shown on figure 2, tex2html_wrap_inline1041 is a measure of the difference between the direction of an edge at a pixel tex2html_wrap_inline1043 and the direction of tex2html_wrap_inline1051 .

   figure729

Figure 2: Definition of tex2html_wrap_inline1041 . C is a corner pixel, tex2html_wrap_inline1043 is a point located within its neighbourhood. tex2html_wrap_inline1041 is the angular difference between the direction tex2html_wrap_inline1047 of anisotropism at tex2html_wrap_inline1043 and the direction of tex2html_wrap_inline1051

Computing the cosine of tex2html_wrap_inline1041 provides a good discriminant to establish which neighbouring corner an edge point belongs to. Figure 3 illustrates this property: an edge point M is close to two different corner points. When studying the neighbourhood of one of these corners, tex2html_wrap_inline1043 is discarded, because the direction of the edge it belongs to is not compatible with the direction of tex2html_wrap_inline1051 .

   figure735

Figure 3: Adjacent corners: when studying corner tex2html_wrap_inline1053 , tex2html_wrap_inline1043 is discarded, for at tex2html_wrap_inline559


Based on the remarks made above, we subsequently obtain an analytical expression of tex2html_wrap_inline505 :

  equation123

with n being a parameter controlling how strictly direction compatibility should be enforced. In our application, we used the value n=3.

To assist further understanding of Equation (7), Figure 4 gives a schematic summary of the main fields computed. (a) represents the original image of a corner (b) shows anisotropism g(x), (c) shows cornerness c(x) and (d) shows the value of tex2html_wrap_inline505 in a small window around the corner point. Only the pixels belonging to relevant edges are retained.

   figure753

Figure 4: a) Example image I(x) of a corner. An un-related edge is located within its neighbourhood. b) Anisotropism g(x): the edges are strongly orientated along one direction whereas the corner point is not. c) cornerness tex2html_wrap_inline569 . d) tex2html_wrap_inline505 : identification of the side points associated with the corner. The edge that is not associated with the corner is discarded.

For each corner point C, the value of tex2html_wrap_inline505 is computed within a small neighbouring window tex2html_wrap_inline1065 and a histogram H is constructed.

  equation146

The analysis of the histogram gives the dominant directions of the edges associated with the corner. While the calculations seem formidable, the subset of corner points in an image is small enough to allow for the efficient implementation of our method without incurring excessive computational cost. One may notice that pixels at the centre of the corner are not taken into account. Indeed, they cannot provide reliable orientation information, because of noise and quantisation errors. Since their value of anisotropism is close to zero, the value of tex2html_wrap_inline505 will be small. This automatically removes them from the histogram. Figure 5 illustrates this in the case of a junction: the value of tex2html_wrap_inline505 is very small at the junction point whereas the three edges strongly influence the histogram H.

   figure772

Figure 5: a) Image of a junction. b) Value of tex2html_wrap_inline505 in a neighbourhood tex2html_wrap_inline1065 . No orientation information is extracted from the junction point. The arms are clearly identified.

The orientations of the arms of the corners are estimated by taking the local maxima of the histogram. Each maximum is found in the neighbourhood of a peak corresponding to one arm of the corner. A technique has been designed to determine the number of peaks, i.e., the number of edges defining the corner: two for a simple corner, three or more for a junction. It is worth noting that care must be taken when defining the size of tex2html_wrap_inline1065 . Making it too small may not provide enough information for an accurate estimation of the orientation. Making it too big would not be computationally expensive but it would include irrelevant information in the search process. Indeed, the corners we identify here are extrapolated but not interpolated like with a Hough transform approach.


next up previous
Next: Results Up: A Corner Orientation Detector Previous: Measure of Anisotropism

F. Chabat
Tue Jul 15 16:28:33 BST 1997