next up previous
Next: Analysis of the SUSAN ``Corner'' Detector Up: The SUSAN Two Dimensional Feature Detector Previous: Review

The SUSAN ``Corner'' Finder in Detail

The SUSAN ``corner'' finder is very similar to the edge finder, particularly in the early stages.

As before, all pixels within a circular mask are compared with the nucleus, using exactly the same comparison equation as the edge detector, i.e., Equation 4. The sum of these comparisons is also calculated in the same way, using Equation 2.

Next, n is again compared with the geometric threshold g. Here the ``corner'' detector is quite different from the edge detector, where g was only necessary in the presence of noise. For a ``corner'' to be present, n must be less than half of its maximum possible value, . This idea was introduced in Section 2, and is equivalent to saying that if the nucleus lies on a corner then the USAN area will be less than half of the mask area, and will be a local minimum. It is safe to set g to be exactly half of because of the nature of a quantized straight edge; an USAN formed from a straight edge will always be larger than half of the mask size, as it includes the nucleus.

In feature extraction algorithms there will always be at least one threshold which needs to be set up. This is so that the response given by feature enhancement can be used to distinguish between features and non-features. This is a restatement of the fact that to reduce the amount of data in the image, there must be at least one place in the algorithm where a ``decision'' or non-linear mathematical process occurs. Setting the value of the threshold is usually critical if the algorithm is to behave correctly. The dependence of the correct threshold on the data and the capability of setting it without human intervention are two factors which have a large effect on the success of the algorithm. In other words, if a threshold affects the quality of output of an algorithm in such a way that it is not possible to set it automatically to the optimum value appropriate to the input data, then the algorithm is eventually of limited use, although it may appear to give fine results on individual (hand tuned) examples.

There are two main types of threshold; these can be loosely labelled ``quality'' and ``quantity''. Most thresholds used in algorithms will fall partly into both categories, but often more into one than the other. The thresholds g and t are good examples of the two categories. The geometric threshold g clearly affects the ``quality'' of the output. Although it affects the number of ``corners'' found, much more importantly, it affects the shape of the ``corners'' detected.gif For example, if it were reduced, the allowed ``corners'' would be sharper. Thus this threshold can be fixed (to the value previously explained) and will need no further tuning. Therefore no weakness is introduced into the algorithm by the use of the geometric threshold. The brightness difference threshold is very different. It does not affect the quality of the output as such, but does affect the number of ``corners'' reported. Because it determines the allowed variation in brightness within the USAN, a reduction in this threshold picks up more subtle variations in the image and gives a correspondingly greater number of reported ``corners''. This threshold can therefore be used to control the ``quantity'' of the output without affecting the ``quality''. This can be seen as a negative or a positive point. On the one hand, it means that this threshold must be set according to the contrast, noise etc. in the image, and on the other, this threshold can be easily tuned to give the required density of ``corners''. In practice, there is no problem. A value of 25 is suitable for most real images, and if low contrast images need to be catered for, the threshold can be varied automatically, to give a final number of reported ``corners'' which is appropriate to the higher level uses of the ``corners''. When SUSAN was tested on an extremely low contrast image this threshold was reduced to 7, to give a ``normal'' number of corners. Even at this low value, the distribution was still good (i.e. not over-clustered) and the ``corners'' found were still quite stable.

Note also that if thresholds are used in an intelligent way (compare Equation 4 with Equation 1), the introduction of instability to the overall algorithm can be minimized, and thus one of the major disadvantages of using intermediate non-linearities can be largely eliminated.

Thus Equation 3 is used to create an initial response image as before, but using a different value for g. (Note that in a combined ``corner'' and edge detector it would be trivial to form an initial response independent of the value of g, by setting g equal to . The edge and ``corner'' detector could then threshold the initial response at a later stage thus saving a large amount of effort.) The final stage in the SUSAN two dimensional feature detector is to search the initial response over square 5 by 5 pixel regions for local maxima (above zero). However, before this non-maximum suppression is carried out, two small procedures are run to reduce false positive responses from edges and from noise.

As described thus far, SUSAN will give false positives in some circumstances. This can occur with real data where blurring of boundaries between regions occurs. See, for example, Figure 6, case (c), where there is a thin line with a brightness approximately half way between the two surrounding regions. A thin line such as this will usually be broken up, and, being usually only one pixel thick, it may cause corners to be wrongly reported.

This problem has been eliminated by the following method. The centre of gravity of the USAN is found. (This is only done if the main test was passed, so that the algorithm does not suffer much of a slow down.) Then the distance of the centre of gravity from the nucleus is found. Clearly an USAN corresponding to a proper corner will have a centre of gravity that is not near the nucleus, whilst the false positives can be rejected here because a thin line passing through the nucleus will have a short corresponding distance from the centre of gravity to the nucleus. This simple addition to SUSAN is effective both in theory and when tried on real images.

The final addition to SUSAN is a simple rule which enforces contiguity in the USAN. This is occasionally necessary in real images where there is a lot of noise or fine complicated structure. The step removes false positives. All of the pixels within the mask, lying in a straight line pointing outwards from the nucleus in the direction of the centre of gravity of the USAN must be part of the USAN, for a corner to be detected. This is effective in forcing the USAN to have a degree of uniformity, and reduces false positives in the reported corners.

The final stage of non-maximum suppression results in a list of features being reported. In summary then, the algorithm performs the following steps at each image pixel:

  1. Place a circular mask around the pixel in question (the nucleus).
  2. Using Equation 4 calculate the number of pixels within the circular mask which have similar brightness to the nucleus. (These pixels define the USAN.)
  3. Using Equation 3 subtract the USAN size from the geometric threshold (which is set lower than when finding edges) to produce a corner strength image.
  4. Test for false positives by finding the USAN's centroid and its contiguity.
  5. Use non-maximum suppression to find corners.



next up previous
Next: Analysis of the SUSAN ``Corner'' Detector Up: The SUSAN Two Dimensional Feature Detector Previous: Review



LaTeX2HTML conversion by Steve Smith (steve@fmrib.ox.ac.uk)