In the context of image analysis, when trained with pretext tasks, the shallower layers of a CNN learn to extract low-level general purpose features such as corners, textures, and edges, whereas the deeper layers of the model learn high-level features such as detecting objects and larger parts of scenes [1]}. Recently, a number of different techniques have been proposed for self-supervised learning in images [2]}, [3]}, [4]}, [5]}, [6]}. The novelties in most of these techniques lie in the way with which the pretext tasks are defined. For instance, in one approach, input images were divided into a number of blocks and shuffled, with the pretext task being to find the right order of blocks [2]}, [3]}. In [5]} images were distorted with different degrees of rotation, where the pretext task was to predict the amount of rotation that was applied to a distorted image. In [4]} the pretext task was to colorize an input gray-scale image while in [6]} the task was to fill missing parts of an image that was cropped out.
