Image segmentation is a process of separating an image into sets of pixels, and then classifying those sets. In comparison to object detection, image segmentation increases specificity by applying a pixel mask for each object. The task of image segmentation is a modern challenge with many applications. In this project we will explore how CNN's are used for image segmentation and the different approaches one can take to this task. These approaches include; data augmentation, correct class imbalance, transfer learning, as well as different architectures including unet.
The Cityscapes dataset contains 34 classes in total. The main goal of this challenge is to recognize objects from a number of visual object classes in realistic scenes (i.e., not pre-segmented objects). It is fundamentally a supervised learning learning problem in that a training set of labelled images is provided.