1. One or more non-transitory processor-readable media having code embedded therein for programming a processor to perform a method of detecting a face in an image, the method comprising: performing face detection within a first relatively large window of said image at a first location; obtaining from said face detection a confidence level that is below a threshold indicating a probability that no face is present at or in a vicinity of said first location; performing second face detection within a second relatively large window of said image at a second location displaced from the first location by a first x-amount in a first direction and/or by a first y-amount in an orthogonal second direction; obtaining from said second face detection a confidence level that is at or above said threshold indicating a probability that the image at least may include a face in the vicinity of the second location; applying a sequence of windows, including relatively smaller windows than said second relatively large window, at further locations in the vicinity of said second location, including a third location that is displaced from the second location by a second x-amount that is smaller than the first x-amount in the first direction and/or by a second y-amount that is smaller than the first y-amount in the orthogonal second direction wherein a magnitude of displacement by respective values of x-amount in a first direction and/or by respective values of y-amount in an orthogonal second direction is variable between successive windows of said sequence of windows within said image and wherein said x-amount and/or said y-amount decreases between successive windows when a confidence level indicating that the image at least may include a face increases across one or more further thresholds, wherein the method further comprising repeating the obtaining of confidence levels until face detection for multiple predetermined sizes of windows has been performed over an entire region of interest of said image.