Self-Supervised Learning for Fine-Grained Image Classification
  Fine-grained image classification involves identifying different
subcategories of a class which possess very subtle discriminatory features.
Fine-grained datasets usually provide bounding box annotations along with class
labels to aid the process of classification. However, building large scale
datasets with such annotations is a mammoth task. Moreover, this extensive
annotation is time-consuming and often requires expertise, which is a huge
bottleneck in building large datasets. On the other hand, self-supervised
learning (SSL) exploits the freely available data to generate supervisory
signals which act as labels. The features learnt by performing some pretext
tasks on huge unlabelled data proves to be very helpful for multiple downstream
tasks.
  Our idea is to leverage self-supervision such that the model learns useful
representations of fine-grained image classes. We experimented with 3 kinds of
models: Jigsaw solving as pretext task, adversarial learning (SRGAN) and
contrastive learning based (SimCLR) model. The learned features are used for
downstream tasks such as fine-grained image classification. Our code is
available at
http://github.com/rush2406/Self-Supervised-Learning-for-Fine-grained-Image-Classification
