Self-Supervised Feature Learning by Learning to Spot Artifacts

Published in IEEE Conference on Computer Vision and Pattern Recognition 2018 (spotlight), 2018

Recommended citation: S. Jenni, and P. Favaro. "Self-Supervised Feature Learning by Learning to Spot Artifacts." In CVPR 2018.

[PDF] [Project Page] [Code]


We introduce a novel self-supervised learning method based on adversarial training. Our objective is to train a discriminator network to distinguish real images from images with synthetic artifacts, and then to extract features from its intermediate layers that can be transferred to other data domains and tasks. To generate images with artifacts, we pre-train a high-capacity autoencoder and then we use a damage and repair strategy: First, we freeze the autoencoder and damage the output of the encoder by randomly dropping its entries. Second, we augment the decoder with a repair network, and train it in an adversarial manner against the discriminator. The repair network helps generate more realistic images by inpainting the dropped feature entries. To make the discriminator focus on the artifacts, we also make it predict what entries in the feature were dropped. We demonstrate experimentally that features learned by creating and spotting artifacts achieve state of the art performance in several benchmarks.