In Kanan and Cottrell (2010) we developed an object recognition system called NIMBLE that achieved state-of-the-art performance, as of early 2010, on popular face and object datasets in computer vision. Most object recognition systems have only one chance to recognize an object in an image. They take in an image, compute some features, and then decide what is in the image.

Unlike the majority of systems, NIMBLE is inspired by human eye movements and it keeps examining an image until it is confident about what is in the image.

It does this using features that are learned from natural images and qualitatively resemble physiological responses in early visual cortex. It examines images using simulated eye movements.

To demonstrate that NIMBLE is robust, we tuned the model’s parameters to a dataset containing bird and butterfly species. The parameters were then held fixed when the model was applied to the other datasets; unlike almost all other recent systems we didn’t tune the features to a specific dataset, yet we achieved extremely good performance with a method inspired by the primate visual-motor system.

For the full details of the model’s implementation and evaluation please refer to our paper.


MATLAB code for computing the features and for generating saliency maps is available here.

MATLAB code implementing an animated NIMBLE demo.

MATLAB code implementing a parallel version of NIMBLE applied to Caltech-101.


Kanan, C. & Cottrell, G. W. (2010) Robust Classification of Objects, Faces, and Flowers Using Natural Image Statistics. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2010.