Top Banner

Click here to load reader

SIFT

Dec 19, 2014

ReportDownload

Technology

 

  • 1. Outline Introduction to SIFT Overview of Algorithm Construction of Scale space DoG (Difference of Gaussian Images) Finding Keypoint Getting Rid of Bad Keypoint Assigning an orientation to keypoints Generate SIFT features

2. Introduction to SIFT Scale-invariant feature transform (or SIFT)is an algorithm in computer vision to detectand describe local features in images. This algorithm was published by DavidLowe. 3. Types of invariance Illumination 4. Types of invariance Illumination Scale 5. Types of invariance Illumination Scale Rotation 6. Types of invariance Illumination Scale Rotation Full perspective 7. SIFT Algorithm 8. 1. Constructing Scale space In scale Space we take the image andgenerate progressively blurred outimages, then resize the original image tohalf and generate blurred images. Images that are of same size but differentscale are called octaves. 9. How Blurring is performed? Mathematically blurring is defined as convolution ofGaussian operator and image.where G= Gaussian Blur operator 10. L is a blurred image G is the Gaussian Blur operator I is an image x, y are the location coordinates is the scale parameter. The amount ofblur. Greater the value, greater the blur. The * is the convolution operation in x and y.It applies Gaussian blur G onto the image I 11. 2. Difference of Gaussian(DoG) 12. LoG are obtained by taking second orderderivative. DoG images are equivalent to Laplacian ofGaussian image. Moreover DoG are scaleinvariant. In other word when we do difference ofgaussian images, it is multiplied with 2which is present in gaussian blur operator G. 13. 3. Finding Keypoint Finding keypoint is a two step process:1. Locate maxima/minima in DoG images2. Find subpixel maxima/minima 14. Locate maxima/minima In the image X is current pixel, while greencircles are its neighbors, X is marked asKeypoint if it is greatest or east of all 26neighboring pixels. First and last scale are not checked forkeypoints as there are not enough neighborsto compare. 15. Find subpixel maxima/minima Sub-pixel value are generated using Taylorexpansion of image around the keypoint found. The extreme points of this equation can be foundby differentiating and equating to zero. Onsolving, well get subpixel key point locations.These subpixel values increase chances ofmatching and stability of the algorithm. 16. 4. Eliminating bad keypoints1. Removing Low Contrast features If magnitude of intensity at current pixel is less than certain value then it is rejected.2. Removing edges For poorly defined peaks in the DoGfunction, the principal curvature across the edgewould be much larger than the principalcurvature along it To determine edges Hessian matrix is used. 17. Tr (H) = Dxx + DyyDet(H) = DxxDyy - (Dxy )2 If the value of R is greater for a candidatekeypoint, then that keypoint is poorly localized andhence rejected. 18. 5. Assigning Orientation Gradient direction and magnitude aroundkeypoints are collected, and prominentorientations are assigned to keypoints. Calculations are done relative to thisorientation, hence it ensure rotationinvariance. 19. The magnitude and orientation is calculated forall pixels around the keypoint.Then, A histogram is created for this. So, orientation can split up one keypoint intomultiple keypoints 20. 6. Generating SIFT Features Creating fingerprint for each keypoint, so that we can distinguish between different keypoints. A 16 x 16 window is taken around keypoint, and it is divided into 16 4 x 4 windows. 21. Generating SIFT Features Within each 44 window, gradient magnitudesand orientations are calculated. Theseorientations are put into an 8bin histogram, depending on gradient directions. 22. Generating SIFT Features The value added to bin also depend upon distancefrom keypoint ,so gradients which are far are less inmagnitude. This is achieved by using Gaussian weightingfunction. 23. This has to be repeated for all 16 4x4 regions sowe will get total 16x8=128 numbers. These 128numbers are normalized and resultant 128 numbersform feature vector which determine a keypointuniquely. 24. Problem associated with feature vector1. Rotation Dependence If we rotate the image all the gradient orientation willget change. So to avoid this keypoints rotation issubtracted from each gradient orientation. Henceeach gradient orientation is relative to keypointsorientation. 2. Illumination Dependence If we threshold numbers that are big, we can achieveillumination independence. So, any number (of the128) greater than 0.2 is changed to 0.2. This resultantfeature vector is normalized again. And now we havean illumination independent feature vector. 25. Application Application of SIFT include objectrecognition, gesture recognition, imagestitching, 3D modeling. 26. Object recognition 27. ImageStitching 28. References http://www.aishack.in/2010/05/sift-scale-invariant-feature-transform http://en.wikipedia.org/wiki/Scale-invariant featuretransform yumeng-SIFTreport-5.18_bpt.pdf Paper on SIFT by Harri Auvinen, TapioLeppalampi, Joni Taipale and Maria Teplykh. David G. Lowe, Distinctive Image Features fromScale-Invariant Keypoints, International Journal ofComputer Vision, 2004