Image processing – Applying Machine Learning Algorithms – MLS-C01 Study Guide

Image processing

Image processing is a very popular topic in machine learning. The idea is pretty self-explanatory: creating models that can analyze images and make inferences on top of them. By inference, you can understand this as detecting objects in an image, classifying images, and so on.

AWS offers a set of built-in algorithms you can use to train image processing models. In the next few sections, you will have a look at those algorithms.

Image classification algorithm

As the name suggests, the image classification algorithm is used to classify images using supervised learning. In other words, it needs a label within each image. It supports multi-label classification.

The way it operates is simple: during training, it receives an image and its associated labels. During inference, it receives an image and returns all the predicted labels. The image classification algorithm uses a CNN (ResNet) for training. It can either train the model from scratch or take advantage of transfer learning to pre-load the first few layers of the neural network.

According to AWS’s documentation, the .jpg and .png file formats are supported, but the recommended format is MXNet’s RecordIO.

Semantic segmentation algorithm

The semantic segmentation algorithm provides a pixel-level capability for creating computer vision applications. It tags each pixel of the image with a class, which is an important feature for complex applications such as self-driving and medical image diagnostics.

In terms of its implementation, the semantic segmentation algorithm uses the MXNet Gluon framework and the Gluon CV toolkit. You can choose any of the following algorithms to train a model:

  • Fully Convolutional Network (FCN)
  • Pyramid Scene Parsing (PSP)
  • DeepLabV3

All these options work as an encoder-decoder neural network architecture. The output of the network is known as a segmentation mask.

Object detection algorithm

Just like the image classification algorithm, the main goal of the object detection algorithm is also self-explanatory: it detects and classifies objects in images. It uses a supervised approach to train a deep neural network.

During the inference process, this algorithm returns the identified objects and a score of confidence regarding the prediction. The object detection algorithm uses Single Shot MultiBox Detector (SSD) and supports two types of network architecture: Visual Geometry Group (VGG) and Residual Network (ResNet).

Summary

That was such a journey! Take a moment to recap what you have just learned. This chapter had four main topics: supervised learning, unsupervised learning, textual analysis, and image processing. Everything that you have learned fits into those subfields of machine learning.

The list of supervised learning algorithms that you have studied includes the following:

  • Linear learner
  • Factorization machines
  • XGBoost
  • KNN
  • Object2Vec
  • DeepAR forecasting

Remember that you can use linear learner, factorization machines, XGBoost, and KNN for multiple purposes, including solving regression and classification problems. Linear learner is probably the simplest algorithm out of these four; factorization machines extends linear earner and is good for sparse datasets, XGBoost uses an ensemble method based on decision trees, and KNN is an index-based algorithm.

The other two algorithms, Object2Vec and DeepAR, are used for specific purposes. Object2Vec is used to create vector representations of the data, while DeepAR is used to create forecast models.

The list of unsupervised learning algorithms that you have studied includes the following:

  • K-Means
  • PCA
  • IP Insights
  • RCF

K-Means is a very popular algorithm that is used for clustering. PCA is used for dimensionality reduction, IP Insights is used for pattern recognition, and RCF is used for anomaly detection.

You then looked at regression models and K-Means in more detail. You did this because, as a data scientist, you should at least master these two very popular algorithms so that you can go deeper into other algorithms by yourself.

Then, you moved on to the second half of this chapter, where you learned about textual analysis and the following algorithms:

  • BlazingText
  • Sequence-to-sequence
  • LDA
  • NTM

Finally, you learned about image processing and looked at the following:

  • Image classification algorithm
  • Semantic segmentation algorithm
  • Object detection algorithm

Since the topics covered in this chapter are very important with regard to the AWS Certified Machine Learning Specialty exam, you are highly encouraged to jump into the AWS website and search for machine learning algorithms. There, you will find the most recent information about the algorithms that you have just learned about. Please make sure you do it before taking the exam.

That brings you to the end of this quick refresher and the end of this chapter. In the next chapter, you will learn about the existing mechanisms provided by AWS that you can use to optimize and evaluate these algorithms.