AI for Image Processing

Overview

In the last few years, AI algorithms for image analysis have made tremendous progress. This is mainly due to the abundance of data, affordable computing, and exceptional libraries. Google has open-sourced a library called TensorFlow which has become the de facto standard, allowing the state of the art machine learning done at scale, complete with GPU based acceleration.

This course introduces Deep Learning concepts and TensorFlow and Keras libraries to students.

What you will learn

  • Deep Learning concepts
  • TensorFlow and Keras
  • Create neural networks with Tensorflow and Keras
  • Learn to use tools like Tensorboard to help with training neural networks
  • Deep Neural Networks
  • Convolutional Neural Networks (CNN)
  • Generative Adversarial Networks (GAN)
  • Auto Encoders

Duration

Three Days

Audience

Developers, Data analysts, data scientists

Skill level

Introductory to Intermediate

Industry Use Cases Covered

We will study and solve some of the most common industry use cases; listed below

  • Computer vision
    • Image classifications
    • Anomaly detection
    • Generating computer images

Prerequisites

  • Basic knowledge of Python language and Jupyter notebooks is assumed.
    Even if you haven’t done any Python programming, Python is such an easy language to learn quickly. We will provide Python resources.

Lab environment

  • Cloud-based lab environment will be provided to students, no need to install anything on the laptop

Students will need the following

  • A reasonably modern laptop with unrestricted connection to the Internet. Laptops with overly restrictive VPNs or firewalls may not work properly
  • Chrome browser

Detailed Course Outline

Introduction to Deep Learning

  • Understanding Deep Learning use cases
  • Understanding AI / Machine Learning / Deep Learning
  • Data and AI
  • AI vocabulary
  • Hardware and software ecosystem
  • Understanding types of Machine Learning (Supervised / Unsupervised / Reinforcement)

Introducing TensorFlow

  • TensorFlow intro
  • TensorFlow features
  • Execution graph
  • TensorFlow on GPU and TPU
  • TensorFlow API
  • Lab: Setting up and Running TensorFlow

Introducing Keras

  • Keras Intro
  • Keras concepts (models, layers)
  • Using Keras API
  • Lab

Deep Learning Concepts

  • Introducing Perceptrons
  • Linear Perceptrons
  • Activation Functions (Sigmoid, Tanh, Relu, Softmax)
  • Backpropagation
  • Optimizers (Gradient Descent, Adam, RMSProp)
  • Loss functions for regressions and classifications
  • Vanishing/exploding gradient problem
  • Lab: Tensorflow playground

Feedforward Network

  • FFNN architecture
  • Input layer, output layer
  • Hidden layers and Deep neural networks
  • Sizing neural networks
  • Lab: Feedforward Neural Networks

Computer Vision

  • Introducing Convolutional Neural Networks (CNN)
  • CNN architecture
  • CNN concepts
  • Lab: Image recognition using CNNs

Generative Adversarial Network (GAN)

  • GAN Overview
  • Generating Images
  • Lab : GAN lab

Auto Encoder

  • Auto Encoder overview
  • Auto Encoder use cases
  • Lab: Auto encoder

Transfer Learning

  • Understanding transfer learning
  • Customizing available models
  • Lab: transfer learning lab
  • Lab: Benchmarking performance on CPU and GPU

Workshop (Time permitting)

  • Students will work in teams to solve a real world use case