1. A method for image processing comprising: (a) determining edge pixels of a model image; (b) determining features for said edge pixels of said model image; (c) determining edge pixels of an input image; (d) determining features for said edge pixels of said input image; (e) matching said features of said model image with said features of said input image to determine candidate locations of an object within said input image; (f) wherein said image processing further includes identifying specular highlights and: (i) identifying specular highlights by using a single grey level image and identifying regions of said single grey level image having both large intensities together with low edge strength; (ii) and at least one of (1) using an edge based technique in a manner that includes a locally adaptive threshold for at least one of said determining edge pixels of said model image using an edge based technique and said determining edge pixels of said input image and (2) scaling said input image to a plurality of different scales for matching said model image with said input image to determine said candidate locations of said object within said input image and determining a scaling factor based upon spatial characteristics of at least one of said input image and said model image; and (g) modifying at least one edge of said input image based on the identified said specular highlights.