1. A processing device, the processing device comprising: an interface to receive an input image; and a recognition unit coupled to the interface and operable to perform visual object recognition on the input image, the recognition unit having an extractor to extract region proposals from the input image; a convolutional neural network (CNN) to compute features for each extracted region proposal, the CNN being operable to create a soft-max layer output; a cross region pooling unit operable to perform pooling of the soft-max layer output to create a set of attributes of the input image; and an image classifier operable to perform image classification based on the attributes of the input image.