Corner detection based on modified Hough transform

https://doi.org/10.1016/S0167-8655(02)00035-1Get rights and content

Abstract

In this paper, the problem of detecting corners is simplified into detecting simple lines (straight lines that pass through the coordinate origin) in a local coordinate system. As simple lines can be expressed using only one parameter, Hough transform can detect them quickly. Other edge detectors have some problems when marking edge points around corners. Instead of using a general global edge detector, we detect edge points locally based on both gradient magnitude threshold and gray level analysis. The process is dynamic and can provide correct edge points for Hough transform. Gradient direction is used to reduce the effect of noise and speed up the algorithm. Experiments proved that our new algorithm works well over most images, and is fast enough for real-time applications.

Introduction

As a key problem in image processing and computer vision, corner detection has drawn a lot of attention in the past 20 years. Many corner detectors have been reported. Three ways of detecting corners based on templates were described by Singh and Shneier (1990). They also introduced a robust real-time implementation of corner detectors. Zuniga and Haralick (1983) fit a continuous surface over a small neighborhood of each point and consider the rate of change in gradient direction. Kitchen and Rosenfeld (1982) proposed a cornerness measure based on the change of gradient direction along an edge contour multiplied by the local gradient magnitude. Wang and Brady (1995) observed that the total curvature of the gray level image is proportional to the second-order directional derivative in the direction to edge normal and inversely proportional to the edge strength. Deriche and Giraudon (1993) used multi-scale rotational invariant corner detector by Beaudet (1978) and searched in a 7×7 neighborhood for accurate localization of corners. Moravec (1977) defined “points of interest” as points where there is a large intensity variation in every direction. Harris and Stephens (1988) used image derivatives to estimate the autocorrelation of the image. Noble (1988) gave a mathematical proof to explain how the Plessey corner detector estimates image curvature and developed a simple facet model to characterize idealized instances of 2D surface features. Zheng et al. (1999) modified Plessey corner detector into the gradient direction corner detection, based on the measure of the gradient module of the image gradient direction and the constraints of the false corner response suppression. Rangarajan et al. (1989) found an optimal function representing the corner detector which when convolved with the gray level function yields a maximum at the corner point. Trajkovic and Hedley (1998) implemented the straightforward property of corners that the change of image intensity should be high in all directions. Davies (1988) detected corners based on the generalized Hough transform. Xie et al. (1993) devised a cost function to capture different desirable characteristics of corners and treated the corner detection as a problem of cost optimization. Smith and Brady (1997) proposed a novel corner detection algorithm known as SUSAN corner detector based on brightness comparison. A detailed analysis of these corner detectors can be found in (Zheng et al., 1999). Instead of working on gray level images directly, there are still some other corner detectors that work on arc segments. Zhang et al. (1994) presented a maximum a posteriori (MAP) probability corner detection method. For a given arc segment, the corner is estimated to be the point whose a posteriori probability of being a corner is the maximum among all the points on the arc segment. Ji and Haralick (1998) proposed another statistical approach for detecting breakpoints on digital arc sequences. The essence of their work lies in the covariance propagation theory they developed for propagating input perturbation to the perturbation of estimated line parameters. A promising technique of assessing the corner detectors for arc segments can be found in (Rosin, 1997). Obviously, the performance of these corner detectors depends on how well the arc segments can be extracted from the gray level image, which is usually a critical problem.

It is well known that the perception of corners by the human visual system combines different kinds of information. Using only boundary analysis is too dependent to previous segmentation. Using only gray level analysis cannot ensure the good structure of corner points. This motivates us that using both information to detect corners. Hough transform has shown itself to be extremely valuable for the detection of straight lines and curves such as circles and ellipses (Ballard and Brown, 1982). Compared to other line extraction algorithm, Hough transform does not require precise chain code representation of object boundary, thus it is relatively unaffected by gaps in lines and by noise. But Hough transform is very time consuming if the dimension of its parameter space is high. Also, Hough transform depends on the performance of edge detector. General edge detector cannot localize edge points well around corners, leading to errors in reporting corners.

In this paper, we simplified the corner detection problem into detecting simple lines, which can be expressed using only one dimension. Thus Hough transform can be used to do this work quickly. To solve the problems caused by other edge detectors, we presented a dynamic edge detection scheme based on both gradient magnitude threshold and gray level analysis. Gradient direction information is used to reduce the effect of noise and speed up the algorithm. Experiments proved that our new algorithm works well over different kinds images, and is fast enough for real-time applications.

The corner detection algorithm is described in Section 2. A comparative study of the results obtained with our corner detector and other corner detectors are carried out in Section 3. Section 4 is the conclusion.

Section snippets

The new corner detector

The image surface S(x,y) is described by the equationS(x,y)=xi+yj+I(x,y)k,where I(x,y) is a gray level value. Let Ix and Iy approximate the partial derivatives of the image. The gradient of intensity at any point (x0,y0) is defined as∇I(x0,y0)=Ix(x0,y0),Iy(x0,y0).In the following part, using “edge point”, we mean such a pixel, under certain edge measurement, whose edge response is large enough. Using “straight line”, we mean a straight line in an image formed by some edge points. Using

Experimental results

In this part, we compare the performance of our new corner detector with other three widely used corner detectors, which are Wang and Brady corner detector (WANG–BRADY), Plessey corner detector (PLESSEY) and SUSAN corner detector (SUSAN). Experiments are performed on synthetic image and real images.

Conclusion

We have introduced a new corner detection algorithm that is consistent with the corner definition based on a modified Hough transform. Edge points are selected based on the gray level analysis in a local neighborhood. Gradient direction information is used to reduce the effect of noisy points and speed up the algorithm. The parameter space of modified Hough transform is only one dimension, which means the algorithm complexity is low enough for real-time applications. Several images of all kinds

References (19)

There are more references available in the full text version of this article.

Cited by (0)

View full text