1. A method for selecting SIFT features from an input image, the method comprising: applying a SIFT procedure to the input image to obtain candidate keypoints; calculating, for each candidate keypoint, a first Laplacian value (L u ) for pixels in an upper Scale Space and a second Laplacian value (L l ) for pixels in a lower Scale Space, based on the position of the candidate keypoint; discarding a candidate keypoint if a Laplacian value L c of the keypoint position is less than or equal to either of L u or L l ; calculating, in the case that the candidate keypoint is not discarded, the candidate keypoint's Laplacian strength (L s ) based on a relative change in Laplacian value from L c to L u and from L c to L l ; and selecting one or more candidate keypoints as SIFT features based on the corresponding Laplacian strength.