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 (Lu) for pixels in an upper Scale Space and a second Laplacian value (Ll) for pixels in a lower Scale Space, based on the position of the candidate keypoint; discarding a candidate keypoint if a Laplacian value Lc of the keypoint position is less than or equal to either of Lu or Ll; calculating, in the case that the candidate keypoint is not discarded, the candidate keypoint's Laplacian strength (Ls) based on a relative change in Laplacian value from Lc to Lu and from Lc to Ll; and selecting one or more candidate keypoints as SIFT features based on the corresponding Laplacian strength.