This course introduces Convolutional Neural Networks, the most widely used type of neural networks specialized in image processing. You will learn the main characteristics of CNNs that make them so useful for image processing, their inner workings, and how to build them from scratch to complete image classification tasks. You will learn what are the most successful CNN architectures, and what are their main characteristics. You will apply these architectures to custom datasets using transfer learning. You will also learn about autoencoders, a very important architecture at the basis of many modern CNNs, and how to use them for anomaly detection as well as image denoising. Finally, you will learn how to use CNNs for object detection and semantic segmentation.
Overview
Syllabus
- Introduction to CNNs
- In this lesson we will look at the main applications of CNNs, understand professional roles involved in the development of a CNN-based application, and learn about the history of CNNs.
- CNN Concepts
- In this lesson we will recap how to use a Multi-Layer Perceptron for image classification, understand the limitations of this approach, and learn how CNNs can overcome these limitations.
- CNNs in Depth
- In this lesson we will study in depth the basic layers used in CNNs, build a CNN from scratch in PyTorch, use it to classify images, improve its performance, and export it for production.
- Transfer Learning
- In this lesson we will learn about key CNN architectures and their innovations, and apply multiple ways of adapting them to our use cases with transfer learning.
- Autoencoders
- In this lesson we will design and train linear and CNN-based autoencoders for anomaly detection and for image denoising.
- Object Detection and Segmentation
- In this lesson we will study applications of CNNs beyond image classification. We will train and evaluate an object detection model as well as a semantic segmentation model on custom datasets.
- Landmark Classification & Tagging for Social Media
- In this project, you will apply the skills you have acquired in the Convolutional Neural Network (CNN) course to build a landmark classifier.
Taught by
Nathan Klarer