C4 - Convolutional Neural Networks

Learn Convolutional Neural Networks, object detection, and more in the Deep Learning Specialization’s fourth course. Master the skills to excel in AI.

In the fourth course of the Deep Learning Specialization, you will understand how computer vision has evolved and become familiar with its exciting applications such as autonomous driving, face recognition, reading radiology images, and more.

By the end, you will be able to build a convolutional neural network, including recent variations such as residual networks; apply convolutional networks to visual detection and recognition tasks; and use neural style transfer to generate art and apply these algorithms to a variety of image, video, and other 2D or 3D data.

The Deep Learning Specialization is our foundational program that will help you understand the capabilities, challenges, and consequences of deep learning and prepare you to participate in the development of leading-edge AI technology. It provides a pathway for you to gain the knowledge and skills to apply machine learning to your work, level up your technical career, and take the definitive step in the world of AI.

SKILLS YOU WILL GAIN

  • Deep Learning
  • Facial Recognition System
  • Convolutional Neural Network
  • Tensorflow
  • Object Detection and Segmentation

Week 1 - Foundations of Convolutional Neural Networks

Implement the foundational layers of CNNs (pooling, convolutions) and stack them properly in a deep network to solve multi-class image classification problems.

Learning Objectives

  • Explain the convolution operation
  • Apply two different types of pooling operations
  • Identify the components used in a convolutional neural network (padding, stride, filter, …) and their purpose
  • Build a convolutional neural network
  • Implement convolutional and pooling layers in numpy, including forward propagation
  • Implement helper functions to use when implementing a TensorFlow model
  • Create a mood classifer using the TF Keras Sequential API
  • Build a ConvNet to identify sign language digits using the TF Keras Functional API
  • Build and train a ConvNet in TensorFlow for a binary classification problem
  • Build and train a ConvNet in TensorFlow for a multiclass classification problem
  • Explain different use cases for the Sequential and Functional APIs

Week 2 - Deep Convolutional Models: Case Studies

Discover some powerful practical tricks and methods used in deep CNNs, straight from the research papers, then apply transfer learning to your own deep CNN.

Learning Objectives

  • Implement the basic building blocks of ResNets in a deep neural network using Keras
  • Train a state-of-the-art neural network for image classification
  • Implement a skip connection in your network
  • Create a dataset from a directory
  • Preprocess and augment data using the Keras Sequential API
  • Adapt a pretrained model to new data and train a classifier using the Functional API and MobileNet
  • Fine-tine a classifier’s final layers to improve accuracy

Week 3 - Object Detection

Apply your new knowledge of CNNs to one of the hottest (and most challenging!) fields in computer vision: object detection.

Learning Objectives

  • Identify the components used for object detection (landmark, anchor, bounding box, grid, …) and their purpose
  • Implement object detection
  • Implement non-max suppression to increase accuracy
  • Implement intersection over union
  • Handle bounding boxes, a type of image annotation popular in deep learning
  • Apply sparse categorical crossentropy for pixelwise prediction
  • Implement semantic image segmentation on the CARLA self-driving car dataset
  • Explain the difference between a regular CNN and a U-net
  • Build a U-Net

Week 4 - Special Applications: Face recognition & Neural Style Transfer

Explore how CNNs can be applied to multiple fields, including art generation and face recognition, then implement your own algorithm to generate art and recognize faces!

Learning Objectives

  • Differentiate between face recognition and face verification
  • Implement one-shot learning to solve a face recognition problem
  • Apply the triplet loss function to learn a network’s parameters in the context of face recognition
  • Explain how to pose face recognition as a binary classification problem
  • Map face images into 128-dimensional encodings using a pretrained model
  • Perform face verification and face recognition with these encodings
  • Implement the Neural Style Transfer algorithm
  • Generate novel artistic images using Neural Style Transfer
  • Define the style cost function for Neural Style Transfer
  • Define the content cost function for Neural Style Transfer

W1 - Foundations of Convolutional Neural Networks

Implement the foundational layers of CNNs (pooling, convolutions) and stack them properly in a deep network to solve multi-class image classification problems

W2 - Deep Convolutional Models: Case Studies

This document discusses various deep convolutional neural network architectures, transfer learning, data augmentation, and practical tips for computer vision.

W3 - Object Detection

Apply your new knowledge of CNNs to one of the hottest (and most challenging!) fields in computer vision: object detection.

W4 - Special Applications: Face recognition & Neural Style Transfer

Explore how CNNs can be applied to multiple fields, including art generation and face recognition, then implement your own algorithm to generate art and recognize faces!

Last modified February 4, 2024: meta description on coursera (b2d9a0d)