Convolutional Neural Network (CNN) Image Classification in Matlab

In this lesson, we will learn how to perform image classification using Convolutional Neural Network (CNN) in MATLAB. Convolutional Neural Network (CNN) is a powerful machine learning technique from the deep learning domain. A collection of diverge image is required to train CNNs. The larger the collection the richer the features that CNN learns. These features often outperform features such as HOG, LBP or SURF. Training a CNN with large collection of diverse images is not an easy task. However, there is an easy way. We can use pertained CNN to leverage the power of CNN. It saves a huge amount of time and effort when we use pretrained CNN as feature extractor. In this lesson, I used ‘ResNet-50’ as pretrained CNN and Caltech101 image dataset.
Image classification using convolutional neural network is a very exciting topic. Once you will have learned how to classify images using CNN, you can do what ever you want. For example – you can train classifier to identify brain tumor, cancer cell and skin diseases. Object recognition is another excellent field where you can use the method shown in this lesson. Image classification using CNN in MATLAB is not a straightforward approach. However, the strategy used in this lecture has made it simple. Each function used here, the role and outcome of each line and explanation with example where needed have made this lesson the best lesson on image classification using convolutional neural network in MATLAB.
After completing this lesson, you will learn:
1. How to load dataset in MATLAB
2. How to use image datastore
3. How to load a pre-trained convolutional neural network in MATLAB
4. How to plot the structure of a convolutional neural network
5. How to inspect different layers of a CNN in MATLAB
6. How to find the number of classes of a CNN
7. How to process images from CNN
8. How to visualize the features of different layers of convolutional neural network
9. How to extract features from image
10. How to train a classifier
11. How to compare features between training dataset and testing dataset
12. How to calculate the accuracy of a classifier and
13. How to classify images using convolutional neural network in MATLAB.
I hope this lesson will help you in your project, research and any other tasks where image classification using convolutional neural network (CNN) in MATLAB is necessary.