Article Preview
Top1. Introduction
Corner points are very important to identify a shape. These points are also referred to as significant points. Detection of these points is not an easy task as exactness of detected corners can only be judged by human eye and no other standard criteria is existed. Then accuracy of any corner detection scheme can only be examined if the original corner positions are known. Correct detection of these points help to reverse engineer the shapes accurately. Generally corner detection can be defined as an approach which extracts the dominating features of an image and consequently helps deducing contents of the image. Corner detection can be used in many fields like motion detection, image registration, image mosaicing, video tracking, panorama stitching, object recognition and 3D modelling. Detecting corners has long been an area of interest to researchers in image processing and other areas of computer vision. There are a lot of schemes found in literature for planar objects (Beus & Tiu, 1987; Chetrikov & Zsabo, 1999; Freeman & Davis, 1977; Jyoti, Ratna, & Sainarayanan, 2011; Mikolajczyk & Schmid, 2004; Rosenfeld & Weszka, 1975; Rosenfeld & Johnston, 1973; Sarfraz, Asim, & Masood, 2006). Each of these algorithms takes a chain coded curve (Avrahami & Pratt, 1991; Hou & Wei, 2002) as an input which is converted into a connected sequence of grid points. A measure of corner strength is assigned to each point and corners are selected on the base of this measure. However, in 3D cases no contribution is seen to the authors’ knowledge.
A corner detection scheme for 3D shapes is discussed in this paper and found to be accurate and simple. It is a generalization of the scheme (Beus & Tiu, 1987). Some advantageous features of the purposed 3D scheme are:
- •
Each corner is detected once.
- •
It is computationally efficient.
- •
It is invariant to transformation changes.
- •
It is highly insensitive to the noise in the image.
- •
It is robust to minor changes in size and resolution.
- •
It is very suitable for natural shapes or objects. Independent tuning of the parameters can further fine tune the results if needed in some extreme case.
This paper discusses detection of high curvature points in surfaces. Planar scheme (Chetrikov & Zsabo, 1999) is reviewed in Section 2. Proposed approach is described in Section 3. The scheme is demonstrated with examples in Section 4. The paper is concluded in Section 5.
Top2. Detecting Corner Points In Planar Objects
In this section the method presented in Chetrikov & Zsabo (1999) is explained. In this algorithm a corner point is determined as a point where a triangle of specified angle can be inscribed within a specified distance from its neighbor points. The algorithm consists of two passes. First pass scans the sequence of points and picks out the candidate corner points. In the second pass, which is post processing step, superfluous candidates are removed.
2.1. First Pass
In the first pass a variable triangle
is inscribed on the each point
of the curve as shown in Figure 1. A point
is the candidate corner point if it satisfies the following three conditions:
Figure 1. Corner point detection demonstration (first pass: test p for candidate corner point)
where
p is the point under consideration,
![ijcvip.2011100105.m07](https://igiprodst.blob.core.windows.net:443/source-content/9781613506103_48166/ijcvip.2011100105.m07.png?sv=2015-12-11&sr=c&sig=CzJPZuQZQ82HsqrVzLdcDqKPOXODj99%2FLK%2B%2BSAN77D0%3D&se=2019-11-16T17%3A25%3A49Z&sp=r)
is the
![ijcvip.2011100105.m08](https://igiprodst.blob.core.windows.net:443/source-content/9781613506103_48166/ijcvip.2011100105.m08.png?sv=2015-12-11&sr=c&sig=CzJPZuQZQ82HsqrVzLdcDqKPOXODj99%2FLK%2B%2BSAN77D0%3D&se=2019-11-16T17%3A25%3A49Z&sp=r)
clockwise neighbor of
p and
![ijcvip.2011100105.m09](https://igiprodst.blob.core.windows.net:443/source-content/9781613506103_48166/ijcvip.2011100105.m09.png?sv=2015-12-11&sr=c&sig=CzJPZuQZQ82HsqrVzLdcDqKPOXODj99%2FLK%2B%2BSAN77D0%3D&se=2019-11-16T17%3A25%3A49Z&sp=r)
is the
![ijcvip.2011100105.m10](https://igiprodst.blob.core.windows.net:443/source-content/9781613506103_48166/ijcvip.2011100105.m10.png?sv=2015-12-11&sr=c&sig=CzJPZuQZQ82HsqrVzLdcDqKPOXODj99%2FLK%2B%2BSAN77D0%3D&se=2019-11-16T17%3A25%3A49Z&sp=r)
anti-clockwise neighbor of
p.
![ijcvip.2011100105.m11](https://igiprodst.blob.core.windows.net:443/source-content/9781613506103_48166/ijcvip.2011100105.m11.png?sv=2015-12-11&sr=c&sig=CzJPZuQZQ82HsqrVzLdcDqKPOXODj99%2FLK%2B%2BSAN77D0%3D&se=2019-11-16T17%3A25%3A49Z&sp=r)
is the distance between
p and
![ijcvip.2011100105.m12](https://igiprodst.blob.core.windows.net:443/source-content/9781613506103_48166/ijcvip.2011100105.m12.png?sv=2015-12-11&sr=c&sig=CzJPZuQZQ82HsqrVzLdcDqKPOXODj99%2FLK%2B%2BSAN77D0%3D&se=2019-11-16T17%3A25%3A49Z&sp=r)
,
![ijcvip.2011100105.m13](https://igiprodst.blob.core.windows.net:443/source-content/9781613506103_48166/ijcvip.2011100105.m13.png?sv=2015-12-11&sr=c&sig=CzJPZuQZQ82HsqrVzLdcDqKPOXODj99%2FLK%2B%2BSAN77D0%3D&se=2019-11-16T17%3A25%3A49Z&sp=r)
is the distance between
p and
![ijcvip.2011100105.m14](https://igiprodst.blob.core.windows.net:443/source-content/9781613506103_48166/ijcvip.2011100105.m14.png?sv=2015-12-11&sr=c&sig=CzJPZuQZQ82HsqrVzLdcDqKPOXODj99%2FLK%2B%2BSAN77D0%3D&se=2019-11-16T17%3A25%3A49Z&sp=r)
. If
![ijcvip.2011100105.m15](https://igiprodst.blob.core.windows.net:443/source-content/9781613506103_48166/ijcvip.2011100105.m15.png?sv=2015-12-11&sr=c&sig=CzJPZuQZQ82HsqrVzLdcDqKPOXODj99%2FLK%2B%2BSAN77D0%3D&se=2019-11-16T17%3A25%3A49Z&sp=r)
the distance
![ijcvip.2011100105.m16](https://igiprodst.blob.core.windows.net:443/source-content/9781613506103_48166/ijcvip.2011100105.m16.png?sv=2015-12-11&sr=c&sig=CzJPZuQZQ82HsqrVzLdcDqKPOXODj99%2FLK%2B%2BSAN77D0%3D&se=2019-11-16T17%3A25%3A49Z&sp=r)
and
![ijcvip.2011100105.m17](https://igiprodst.blob.core.windows.net:443/source-content/9781613506103_48166/ijcvip.2011100105.m17.png?sv=2015-12-11&sr=c&sig=CzJPZuQZQ82HsqrVzLdcDqKPOXODj99%2FLK%2B%2BSAN77D0%3D&se=2019-11-16T17%3A25%3A49Z&sp=r)
.
The opening angle of triangle,
can be found by using cosine law
which implies
![ijcvip.2011100105.m20](https://igiprodst.blob.core.windows.net:443/source-content/9781613506103_48166/ijcvip.2011100105.m20.png?sv=2015-12-11&sr=c&sig=CzJPZuQZQ82HsqrVzLdcDqKPOXODj99%2FLK%2B%2BSAN77D0%3D&se=2019-11-16T17%3A25%3A49Z&sp=r)
.
Now each point p may have zero, one or more than one alpha values. Minimum value of
among all
values is chosen as
value of the point p.