8 Image classification

 

This chapter covers

  • Understanding convolutional neural networks (convnets)
  • Using data augmentation to mitigate overfitting
  • Using a pretrained convnet for feature extraction
  • Fine-tuning a pretrained convnet

Computer vision was the first big success story of deep learning. It led to the initial rise of deep learning between 2011 and 2015. A type of deep learning called convolutional neural networks started getting remarkably good results on image classification competitions around that time, first with Dan Ciresan winning two niche competitions (the ICDAR 2011 Chinese character recognition competition and the IJCNN 2011 German traffic signs recognition competition), then more notably in Fall 2012 with Hinton’s group winning the high-profile ImageNet large-scale visual recognition challenge. Many more promising results quickly started bubbling up in other computer vision tasks.

8.1 Introduction to convnets

8.2 The convolution operation

8.2.1 Understanding border effects and padding

8.2.2 Understanding convolution strides

8.3 The max-pooling operation

8.4 Training a convnet from scratch on a small dataset

8.4.1 The relevance of deep learning for small-data problems

8.4.2 Downloading the data

8.5 Building your model

8.6 Data preprocessing

8.6.1 Understanding TensorFlow Dataset objects

8.6.2 Fitting the model

8.7 Using data augmentation

8.8 Leveraging a pretrained model

8.8.1 Feature extraction with a pretrained model

8.9 Fast feature extraction without data augmentation

8.10 Feature extraction together with data augmentation

8.11 Fine-tuning a pretrained model

8.12 Chapter summary