In this chapter, we covered several paradigms for pixel-precise applications. We introduced encoders-decoders and some specific architectures and applied them to multiple tasks from image denoising to semantic segmentation. We also demonstrated how different solutions can be combined to tackle more advanced problems, such as instance segmentation.
As we tackle more and more complex tasks, new challenges arise. For example, in semantic segmentation, precisely annotating images to train models is a time-consuming task. Available datasets are thus usually scarce, and specific measures should be taken to avoid overfitting. Furthermore, because the training images and their ground truths are heavier, well-engineered data pipelines are needed for efficient training.
In the following chapter, we will, therefore, provide in-depth details of how TensorFlow can be used to effectively augment and serve training batches.