In this chapter, we'll analyze semantic segmentation and the challenges that come with it. Semantic segmentation is the challenging problem of classifying every single pixel of an image with the correct semantic label. The first part of this chapter presents the problem itself, why it is important, and what are the possible applications. At the end of the first part, we will discuss the well-known U-Net architecture for semantic segmentation, and we will implement it as a Keras model in pure TensorFlow 2.0 style. The model implementation is preceded by the introduction of the deconvolution operation required to implement semantic segmentation networks successfully.
The second part of this chapter starts with dataset creation—since, at the time of writing, there is no tfds builder for semantic segmentation, we take advantage...