ITP: Image Transformation Pursuit

The ITP algorithm is designed to select a small set of transformation to apply to an image classification dataset, to maximize the gain in accuracy

This code is a reimplementation of the one used for the following paper:


To make this code work, you need:

  • Python
  • Numpy
  • PIL
  • JSGD (Follow details on the dedicated webpage to install properly).



The current version of the code is beta. It contains code to

  • Transform images
  • Select transformations

Test files

We provide the deep architecture descriptors used in our paper to test the program. They are extracted on the Caltech University Birds dataset with the DeCAF code available online. We use the fc7 layer, with the ReLU output. They are organized one transformed dataset after an other: taking the 5994 (resp 5794) first columns of the train (resp. test) gives the original untransformed dataset. In addition, we propose the 40 transformations used in our paper:

  • horizontal flip
  • 10 crops
  • 8 homographies
  • 3 levels of jpeg compressions
  • 5 scales
  • 3 colorimetric transformations
  • 10 rotations
The file is available here.