角检测
维基百科,自由的百科全书
角检测或兴趣点检测(interest point detection)是计算机视觉系统中用来提取特征以及推测图像内容的一种方法.角检测的应用很广,经常用在运动检测,跟踪,图像镶嵌(image mosaicing),全景图缝合(panorama stiching),三维建模以及物体识别中.
[编辑] 问题定义
两条边的交点形成一个角(点).而图像的要点(也称为受关注点)是指图像中具有代表性以及健壮性(即指改点能够在有噪声干扰的情况下也能稳定的被定位,在大陆有亦有一种不符合信达雅标准的译名:鲁棒性)的点。也就是说,要点可以是角(点),也可以不是,例如局部亮点或暗点,线段终点,或者曲线上的曲率最大值点.在实际应用中,很多所谓的(角)点检测算法其实是检测要点,而不仅仅是角(点)。所以,如果我们只想检测角的话,还需要对检测出的要点进一步分析.
Corner detectors are not usually very robust and often require expert supervision or large redundancies introduced to prevent the effect of individual errors from dominating the recognition task. The quality of a corner detector is often judged based on its ability to detect the same corner in multiple images, which are similar but not identical, for example having different lighting, translation, rotation and other transforms. A simple approach to corner detection in images is using correlation, but this gets very computationally expensive and suboptimal. An alternative approach used frequently is based on a method proposed by Harris and Stephens (below), which in turn is an improvement of a method by Moravec.
[编辑] The Harris & Stephens corner detection algorithm
Without loss of generality, we will assume a grayscale 2-dimensional image is used. Let this image be given by I(x,y)
is the local gradient of the image and
is the gradient along direction n. At a corner as we rotate n through all possible values, we should find two directions where the gradient goes through a maximum.
where,
Just like in edge detection, we require that noise be eliminated from the images. This can be achieved by convolution with a Gaussian kernel or any appropriate alternative method. Let this smoothing operator be denoted by angle brackets and using the typical notation for partial derivatives, we get,
Note that A is subtly different from the Hessian. Using this expression for A,
which is the Rayleigh quotient and therefore is subject to the following bounds,
where λ1 and λ2 are the smallest and largest eigenvalues of the matrix A. This means as n is varied through all possible values, is restricted within these eigenvalue bounds. Based on the magnitudes of the eigenvalues, the following inferences can be made based on this argument:
- If
and
then there are no features of interest at this pixel (x,y).
- If
and λ2 is some large positive values, then an edge is found.
- If λ1 and λ2 are both large, distinct positive values, then a corner is found.
Algorithms that implement this routine in practice usually look for a threshold in the following function Mc, where κ is a tunable parameter which determines how 'edge-phobic' the algorithm is.
- Mc = λ1λ2 − κ(λ1 + λ2)2
Therefore, the algorithm does not have to actually compute the eigenvalue decomposition of the matrix A and instead it is sufficient to evaluate the determinant and trace of A to find corners, or rather interest points in general.
The the value of κ has to be determined empirically, and in the literature values in the range 0.04 - 0.15 have been reported as feasible.
[编辑] References
- C. Harris and M. Stephens (1988)。 A combined edge and corner detector。 Proceedings of the 4th Alvey Vision Conference, pages 147--151。
- C. Harris. (1992). "Geometry from visual motion", A. Blake and A. Yuille Active Vision,MIT Press, Cambridge MA.
- H. Moravec (1980). "Obstacle Avoindance and Navigation in the Real World by a Seeing Robot Rover". Tech Report CMU-RI-TR-3 Carnegie-Mellon University, Robotics Institute.