Here is the an image and we want to extract key points of it:
Key points are the blob-like points, such as corner points.
STEPS
1. Obtain the grey scale of image and build a Gaussian pyramid:Apply convolution to the image with Gaussian kernel of different sizes:
2. Take difference of Gaussian pyramid to approach Laplacian operation. (DoG pyramid)
Laplacian of an image can detect edges and corners which we are interested of. However, Laplacian operation for 2D images costs a great amount of computation force, so we simplify this step by using difference of Gaussian to obtain a similar answer.
I applied 5 layers of Gaussian pyramid here:
For the Gaussian kernels used in the layers:
$$\{G_{n} | n=0:4\}$$
$$G_{0}(\mu,\sigma)=(0,\sqrt{2}^{0})$$
$$G_{1}(\mu,\sigma)=(0,\sqrt{2}^{1})$$
$$G_{2}(\mu,\sigma)=(0,\sqrt{2}^{2})$$
$$G_{3}(\mu,\sigma)=(0,\sqrt{2}^{3})$$
$$G_{4}(\mu,\sigma)=(0,\sqrt{2}^{4})$$
Here is the result:
3. Computer curvature to suppress edges
4. Detect local extrema from DoG pyramid
Some demo:
References:
[1] David G. Lowe. Distinctive Image Features from Scale-Invariant Keypoints. Inter-
national Journal of Computer Vision, 60(2):91{110, November 2004.
No comments:
Post a Comment