1. A visual recognition method for identifying objects captured in a video stream having a captured time period, the method comprising: capturing a video stream on an electronic device having an image sensor, said video stream comprising a plurality of temporally adjacent images; enabling a user of the electronic device to select, from said video stream, a target object or scene for training; associating each frame in an image with a corresponding frame in temporally adjacent images, or in images taken from nearby vantage points; temporally aggregating statistics computed at one or more collections of temporally corresponding frames, into a descriptor; and ranking features according to their structural stability margin; wherein the structural stability margin is a limit or bounded range of variability acceptable from a nuisance factor.