chapter eight

8 Telling things apart: image segmentation

 

This chapter covers,

  • Recognizing the differences between segmentation images and standard images and load segmentation images successfully into Python
  • Implementing a fully-fledged data pipeline for the segmentation data and investigate techniques to reduce IO overhead while loading data through the pipeline
  • Implementing advance segmentation model (Deeplab v3) that require complex model manipulations via the Keras Functional API
  • Implementing custom functions of loss functions/metrics used in Image segmentation and using them to compile models
  • Training the image segmentation model on the clean and processed image data
  • Evaluating the trained model with a suitable performance metric (e.g. mean intersection over union)

In the last chapter, we learned about various advance computer vision models and techniques to push the performance of an image classifier. We learned about the architecture of Inception net v1 as well as its successors (e.g. Inception net v2, v3 and v4). Our objective was to lift the performance of the model on an image classification dataset known as tiny-ImageNet, which has 64x64 sized RGB images of objects belonging to 200 different classes. While trying to train a model on this dataset we learned many important concepts such as,

8.1 Understanding the data

8.2 Getting serious: Defining a TensorFlow data pipeline

8.2.1 Optimizing tf.data pipelines

8.2.2 The final tf.data pipeline

8.3 DeepLabv3: Using pretrained networks to segment images

8.3.1   A quick overview of the Resnet50 model

8.3.2 Atrous convolution: Increasing the receptive field of convolution layers with holes

8.3.3   Implementing Deeplab v3 using Keras Functional API

8.3.4 Implementing the atrous spatial pyramid pooling (ASPP) module

8.3.5   Putting everything together

8.4 Compiling the model: Loss functions and evaluation metrics in image segmentation

8.4.1 Loss functions

Cross entropy loss

Dice loss

8.4.2 Evaluation metrics

Pixel and mean accuracies

Mean IoU

8.5 Training the model

8.6 Evaluating the model

8.7 Summary

8.8 Answers