0% found this document useful (0 votes)
124 views

Curriculum CVDL Master Program Updated

Uploaded by

ahmadirfan3948
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
124 views

Curriculum CVDL Master Program Updated

Uploaded by

ahmadirfan3948
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 42

A place where legacy creates future.

Program

CVDL Master
Detailed Curriculum
Index

Course 1 - MOCV
Mastering OpenCV with Python
|
Course 2 - CVIP
Fundamentals of Computer Vision & Image Processing
|
Course 3 - DLPT
Deep Learning with PyTorch
|
Course 4 - DLTK
Deep Learning with TensorFlow & Keras
|
Course 5 - DLAP
Computer Vision and Deep Learning Applications
|
Course 6 - GENAI
Mastering Generative AI for Art

2 of 30 CV Master Program
Course 1 - MOCV

Mastering OpenCV with Python

1. Getting Started with Images


1.1. Image Basics
1.1.1. Geometry of Image Formation
1.1.2. Digital Image Formation
1.1.3. Image Formats
1.2. Getting Started with Images
1.2.1. Reading, Displaying and Saving Images
1.2.2. Color Images
1.2.3. Basic Image Manipulation
1.2.4. Annotating Images

2. Basic Image Operations


2.1. Arithmetic & Logical Operators
2.1.1. Arithmetic Operations on Images
2.1.2. Thresholding in Images
2.1.3. Logical Operations on Images
2.2. Alpha Channel
2.2.1. Understanding and Using the Alpha Channel
2.3. Applications
2.3.1. Creating Watermarks
2.3.2. Creating a Digital Signature

3. Histograms and Color Segmentation


3.1. Histograms and Color Segmentation
3.1.1. Histograms
3.1.2. Color Segmentation
3.2. Applications
3.2.1. Deforestation using Color Segmentation
3.2.2. Analyzing Satellite Imagery using GeoTIFF Images

4. Video Processing and Analysis


4.1. Video Processing
4.1.1. Reading and Streaming Videos
4.1.2. Writing Videos
4.1.3. Motion Detection in Videos

3 of 30 CV Master Program
5. Contour and Shape Analysis
5.1. Contour and Shape Analysis
5.1.1. Finding and Drawing Contours
5.2. Applications
5.2.1. Intruder Detection

6. Playing Games using Using CV (HCI - Human Computer


Interface)
6.1. PyAutoGUI Overview
6.1.1. Introduction to HCI with PyAutoGUI
6.2. Application
6.2.1. Playing Online Games with Faces
7. Building and Deploying Web Apps with Streamlit
7.1. Creating Web Applications using Streamlit
7.1.1. Introduction to Streamlit
7.1.2. Face Detection Web App using Streamlit
7.2. Deploying Streamlit Application to Cloud
7.2.1. App Deployment using Streamlit Share
7.2.2. App Deployment on Heroku

8. Image Filtering and Enhancement


8.1. Introduction to Image Filtering
8.1.1. Basics of Image Filtering
8.1.2. What is Convolution
8.2. Image Smoothing & Sharpening
8.2.1. Image Smoothing and Sharpening using Convolution
8.3. Edge Detection
8.3.1. Edge Detection Methods: Sobel and Canny
8.3.2. Canny Edge Detection Demo
8.4. Applications
8.4.1. Photoshop-like Artistic Filters
8.4.2. Build a Web App for Artistic Filters
9. Lane Detection using Hough Transforms
9.1. Lane Detection using Hough Transform
9.1.1. Detecting Lines using Hough Transform in Images
9.1.2. Lane Detection in Videos

4 of 30 CV Master Program
10. Image Restoration Techniques
10.1. Image Restoration using Filtering and Inpainting
10.1.1. Noise Reduction with Median and Bilateral Filtering
10.1.2. Fix Images using Inpainting
10.2. Applications
10.2.1. Image Restoration App
11. Image Registration Techniques
11.1. Geometric Transformation and Image Features
11.1.1. Color Photography and Image Alignment
11.1.2. Affine Transformations
11.1.3. Homography/Perspective Transform
11.1.4. Image Features
11.2. Image Registration using Homography and Feature Matching
11.2.1. Image Alignment Demo
11.3. Applications
11.3.1. Virtual Billboard
11.3.2. Creating Panoramas
12. ArUco Markers for Augmented Reality
12.1. Introduction to ArUco Markers
12.1.1. ArUco Markers Overview
12.2. Application
12.2.1. Augmented Reality using ArUco Markers
13. Deep Learning with OpenCV
13.1. OpenCV DNN Module
13.1.1. Introduction to Deep Learning with OpenCV
13.1.2. Image Classification using OpenCV DNN Module
13.2. Application
13.2.1. Build a Web App for Classifying Images
14. Face and Landmark Detection
14.1. Face Detection in OpenCV
14.1.1. Face Detection using OpenCV DNN Module
14.2. Application
14.2.1. Face Blurring for Privacy Preservation
14.3. Detecting Facial Landmarks
14.3.1. Facial Landmarks Detection using OpenCV
14.3.2. Application: Blink Detection
15. Object Detection

5 of 30 CV Master Program
15.1. Object Detection in OpenCV
15.1.1. Object Detection using SSD MobileNet
15.1.2. Object Detection using YOLOv4
15.1.3. Object Detection using YOLOv5
15.2. Application

15.2.1. Social Distance Monitoring

16. Object Tracking


16.1. Object Tracking using OpenCV
16.1.1. Introduction to Object Tracking
16.1.2. Analyzing Object Tracking Methods
17. Human Pose Estimation
17.1. Human Pose Estimation using MediaPipe
17.1.1. Introduction to Mediapipe for HUman Pose Estimation
17.2. Application
17.2.1. Sports Analytics: Golf Swing Analysis and Training
18. Person Segmentation
18.1. Person Segmentation using Mediapipe
18.1.1. Implementing Portrait Mode & Color Pop
19. Text Detection and OCR
19.1. Text Detection and Recognition
19.1.1. Text Detection using OpenCV DNN
19.1.2. Text Recognition in Natural Scenes
19.2. Application: Build a Language Translation App
19.2.1. Translate Language in Images
20. Super Resolution
20.1. Image Super-Resolution techniques in OpenCV

21. Barcodes and QR Codes using OpenCV

21.1. Introduction to QR Code and Bar Code


21.1.1. Introduction to QR Code and Bar Code
21.2. Bar Code
21.2.1. Generating Bar Codes
21.2.2. Detect and Decode Bar Codes
21.3. QR Code
21.3.1. Generating QR Codes
21.3.2. Detect and Decode QR Codes

6 of 30 CV Master Program
22. Deploying Web Applications on Cloud Services
22.1. Google Cloud Deployment
22.1.1. GCP Account Setup
22.1.2. Deploy Web App using GCP
22.2. Amazon Web Services
22.2.1. AWS Account Setup
22.2.2. Deploy Web App on AWS
22.3. Microsoft Azure
22.3.1. Azure Account Setup
22.3.2. Deploy Web App on Azure

7 of 30 CV Master Program
Course 2 - CVIP

Fundamentals of Computer Vision & Image Processing

Module 1
Getting Started with OpenCV
|
Module 2
Video IO and GUI
|
Module 3
Binary Image Processing
|
Module 4
Image Enhancement and Filtering
|
Module 5
Advanced Image Processing and
Computational Photography
|
Module 6
Geometric Transforms and Image Features
|
Module 7
Image Segmentation and Recognition
|
Module 8
Video Analysis and Object Tracking
|
Module 9
Deep Learning with OpenCV

8 of 30 CV Master Program
1 Getting Started with OpenCV
1.1 Introduction to Computer Vision
1.1.1 Image Processing VS Computer Vision
1.1.2 Problems in Computer Vision
1.2 Introduction to Images
1.2.1 How are images formed?
1.2.2 Digital image
1.2.3 Image as a matrix
1.2.4 Manipulating pixels
1.2.5 Displaying and saving an image
1.2.6 Display utility functions
1.2.7 Color image
1.2.8 Image channels
1.2.9 Splitting and merging channels
1.2.10 Manipulating color pixels
1.2.11 Images with Alpha channel
1.3 Basic image operations
1.3.1 How to create new images?
1.3.2 Cropping an image section
1.3.3 Copying a region to another in an image
1.3.4 Resizing an image
1.3.5 Creating an image mask
1.4 Mathematical operations on images
1.4.1 Datatype conversion
1.4.2 Contrast enhancement
1.4.3 Brightness enhancement
1.5 Sunglass filter: A simple application
1.5.1 Load images
1.5.2 Use naive replacement
1.5.3 Use arithmetic operations
1.6 Bitwise operations
1.6.1 Different bitwise operations
1.7 Image annotations
1.7.1 Draw a line over an image
1.7.2 Draw a circle over an image
1.7.3 Draw a rectangle over an image
1.7.4 Draw an ellipse over an image
1.7.5 Draw text over an image

9 of 30 CV Master Program
Assignment 1 Build a QR Code Detector

2 Video IO & GUI


2.1 Video IO using HighGUI
2.1.1 Video IO jargon
2.1.2 Read and display video
2.1.3 Properties of video capture
2.1.4 How to write a video
2.2 Callback Functions
2.2.1 What are Callback Functions?
2.3 Keyboard as input device
2.3.1 How to take input from the keyboard

Assignment 2 Perform Image Annotation Using Mouse

Assignment 3 Enhance GUI features with Sliders

3 Binary Image Processing


3.1 Thresholding
3.1.1 What is Thresholding?
3.1.2 Thresholding in OpenCV
3.2 Erosion / Dilation
3.2.1 Overview on Erosion and Dilation
3.2.2 Erosion and Dilation in OpenCV
3.3 Opening and Closing
3.3.1 Overview on Opening and Closing
3.3.2 Opening and Closing on OpenCV
3.4 Connected Component Analysis
3.4.1 What is Connected Component Analysis?
3.4.2 Connected Component Analysis in OpenCV
3.5 Contour Analysis
3.5.1 What are Contours?
3.5.2 Contour Analysis in OpenCV
3.6 Blob Detection
3.6.1 Blob detection in OpenCV

10 of 30 CV Master Program
Assignment 4 Implement Different Morphological Operations

Assignment 5 Build a Coin Detection application using Contours

4 Image Enhancement & Filtering


4.1 Color spaces
4.1.1 RGB color space
4.1.2 HSV color space
4.1.3 Other color spaces
4.1.4 Application: Finding dominant color in an image
4.1.5 Application: Desaturation Filter
4.2 Color transforms
4.2.1 Histogram Equalization
4.2.2 Advanced Histogram Equalization (CLAHE)
4.2.3 Color adjustment using curves
4.3 Image filtering
4.3.1 Introduction to image filtering
4.3.2 What is Convolution?
4.3.3 Convolution in OpenCV
4.4 Image smoothing
4.4.1 Box Blur
4.4.2 Gaussian Blur
4.4.3 Median Blur
4.4.4 Median Blur in OpenCV
4.4.5 Bilateral filtering
4.4.6 Bilateral Blur in OpenCV
4.4.7 Comparison: Median VS Bilateral
4.5 Image gradients
4.5.1 Introduction to image gradients
4.5.2 First Order Derivative Filters
4.5.3 Why is smoothing important before gradient?
4.5.4 Second Order Derivative Filters
4.5.5 Application: Sharpening Filter
4.5.6 Canny Edge Detection
4.5.7 Canny Edge Detection in OpenCV

11 of 30 CV Master Program
Assignment 6 Convert Your Images Into Different Color Spaces

Assignment 7 Implement Camera Autofocus using Image Analysis

5 Advanced Image Processing & Computational Photography


5.1 Hough transforms
5.1.1 What is a Hough transform?
5.1.2 HoughLine: How to detect a line in an image?
5.1.3 HoughCircle: How to detect a circle in an image?
5.2 High Dynamic Range Imaging
5.2.1 What is High Dynamic Range (HDR) imaging?
5.2.2 HDR in OpenCV
5.3 Seamless cloning
5.3.1 What is seamless cloning?
5.3.2 Seamless cloning in OpenCV
5.3.3 Application: Face Blending
5.4 Image inpainting
5.4.1 What is image inpainting?

● Create Your Own Instagram Filter


Project 1 ● Blemish Removal From Face
● Chroma Keying

6 Geometric Transforms & Image Features


6.1 Geometric transforms
6.1.1 Affine transform
6.1.2 Homography
6.1.3 Geometric transforms in OpenCV
6.2 Image features
6.2.1 Image feature: ORB
6.2.2 ORB feature in OpenCV
6.3 Feature matching
6.3.1 Different feature matching algorithms in OpenCV
6.3.2 RANSAC
6.4 Application: Image alignment

12 of 30 CV Master Program
6.5 Application: Creating panoramas
6.6 Application: Finding known objects using OpenCV

Assignment 8 Create a Panorama from Multiple Images

Assignment 9 Feature Matching-Based Image Alignment

Project 2 Implement a Document Scanner Application

7 Image Segmentation & Recognition


7.1 Image Segmentation using GrabCut
7.1.1 GrabCut theory
7.1.2 GrabCut in OpenCV
7.2 Introduction to AI
7.2.1 Basic Overview of AI
7.3 Image Classification
7.3.1 Histogram of Oriented Gradients (HOG)
7.3.2 Support Vector Machines (SVM)
7.3.3 Eyeglass Classifier in OpenCV
7.4 Object detection
7.4.1 Pedestrian detection in OpenCV
7.4.2 Face detection using HAAR Cascade
7.4.3 Face detection in OpenCV

Create Your Own Selfie Application


Project 3 ● Skin Smoothing Filter
● Sunglass Filter

8 Video Analysis

8.1 Motion estimation using Optical Flow


8.1.1 What is Optical Flow?
8.1.2 Lucas-Kanade Optical Flow
8.2 Application: Video stabilization
8.3 Object tracking
8.3.1 Different object tracking algorithms
8.4 Different object trackers in OpenCV

13 of 30 CV Master Program
8.4.1 Object tracking in OpenCV
8.4.2 Comparison of different trackers
8.5 Multiple object tracking
8.5.1 How to track multiple objects in OpenCV
8.6 Kalman filtering
8.6.1 Kalman Filter Tracker
8.7 MeanShift and CamShift
8.7.1 Tracking using MeanShift and CamShift

Project 4 Implement fusion of Detection + Tracking

9 Deep Learning with OpenCV


9.1 Image classification
9.1.1 Image classification using Caffe and TensorFlow
9.2 Object detection
9.2.1 Single Shot Multibox Detector (SSD)
9.2.2 You Only Look Once Detector (YOLO)
9.3 Face detection
9.3.1 SSD-Based Face Detector
9.4 Human pose estimation
9.4.1 OpenPose

14 of 30 CV Master Program
Course 3 - DLPT

Deep Learning with PyTorch


Module 1
Getting Started
|
Module 2
Neural Networks
|
Module 3
Convolutional Neural Networks
|
Module 4
Practical Considerations for Training Deep Learning Networks
|
Project 1
Implement an Image Classifier from Scratch
|
Module 5
Best Practices in Deep Learning
|
Project 2
Kaggle Competition - Classification
|
Module 6
Segmentation
|
Project 3
Kaggle Competition - Segmentation
|
Module 7
Object Detection Fundamentals

16 of 30 CV Master Program
|
Module 6
Segmentation
|
Project 8
Object Detection Fine-tune and Training
|
Project 4
Object Detection
|
Module 9
Introduction to Generative Adversarial Networks (GANs)
|
Module 10
Pose Estimation

17 of 30 CV Master Program
1 Getting Started
1.1 Introduction to Artificial Intelligence
1.1.1 History of AI
1.1.2 Applications of AI
1.1.3 AI in Computer Vision
1.1.4 AI Terminology
1.1.5 Popularity of Deep Learning
1.1.6 Deep Learning Frameworks
1.2 NumPy refresher
1.2.1 Notebook: Numpy Refresher Part-1
1.2.2 Notebook: Numpy Refresher Part-2
1.2.3 Notebook: Numpy Refresher Part-3

Assignment NumPy(Ungraded)

1.3 Introduction to PyTorch


1.3.1 Why PyTorch?
1.3.2 Notebook: PyTorch Basics

Assignment A01 PyTorch

1.4 What’s Inside an ML Algorithm?


1.4.1 Machine Learning Pipeline
1.4.2 Solving ML Problems
1.4.3 Notebook: Gradient Descent for Optimisation

Assignment A02 Gradient Descent

2 Neural Networks
2.1 Understanding Neural Networks
2.1.1 Deep Learning Overview
2.1.2 What is Neural Network?
2.1.3 Feature Vectors and Normalization
2.1.4 Demystifying Neural Networks
2.2 Building Neural Networks in PyTorch
2.2.1 Notebook: Introduction to Linear Regression
2.2.2 Notebook: Auto-MPG Data Processing
2.2.3 Linear FRegression with PyTorch
2.2.4 Notebook: Binary Classification with PyTorch

18 of 30 CV Master Program
2.3 Building Blocks of a Neural Network
2.3.1 Notebook: Intro to PyTorch NN Module
2.3.2 Loss Function for Regression
2.3.3 Notebook: Regression Loss
2.3.4 Classification Loss Functions
2.3.5 Notebook: Activation Functions
2.3.6 How does the Network Learn?

2.4 Multi-Class Classification using PyTorch


2.4.1 Notebook: Classification MNIST digits with a Multi-Layer
Perceptron (MLP)

Assignment A03 MSE vs MAE

3 Convolutional Neural Networks


3.1 Image Classification
3.1.1 Notebook: Image CLassification using Convolutional Neural
Network (CNN)
3.2 Convolutional Neural Networks
3.2.1 CNN Building Blocks
3.2.2 The Convolution Operation
3.2.3 Layers in CNN
3.2.4 Kernels and Filters in CNNs (contd)
3.3 LeNet in PyTorch
3.3.1 Implementing LeNet in PyTorch
3.3.2 LeNet in BatchNorm
3.4 Evaluation metrics for Classification
3.4.1 Performance Metrics for Classification
3.4.2 Evaluation Metrics using PyTorch
3.4.3 Evaluation Metrics using Torchmetrics
3.5 Important CNN Architectures
3.5.1 CNN architectures
3.5.2 Pretrained Classification Models in TorchVision

Assignment Implement CNN For Image Classification On CIFAR10


A04 Dataset

19 of 30 CV Master Program
4 Deep Neural Networks
4.1 Optimizers and LR Schedulers
4.1.1 Optimizers
4.1.2 Notebook: PyTorch Optimizers
4.1.3 Learning Rate Schedulers in P
4.2 Training Deep Networks
4.2.1 Overview
4.2.2 Step 1: Data Understanding
4.2.3 Step 2: Data Preparation
4.2.4 Step 3: Check Training Pipeline
4.2.5 Step 4: Train the Model
4.2.6 Step 5: Improve the Model
4.2.7 Check training pipeline Hnads-on
4.3 How to add robustness to a model?
4.3.1 Bias-variance tradeoff
4.3.2 How to prevent Overfitting?
4.3.3 Training with Regularization
4.4 Gaining Insights
4.4.1 Notebook: GradCam

Assignment A05 Adam Optimizer Implementation

Project 1 Implement An Image Classifier From Scratch

5 Best Practices in Deep Learning


5.1 Troubleshooting training with TensorBoard
5.1.1 TensorBoard overview
5.1.2 TensorBoard Dashboard
5.1.3 Notebook: Logging using TensorBoard
5.1.4 Notebook: Model Training using TensirBoard
5.1.5 Notebook: Activation Feature Maps Visualization
5.2 Transfer Learning and Fine-tuning in PyTorch
5.2.1 Fine-Tuning and Transfer Learning
5.2.2 Notebook: Transfer Learning ResNet on Cat-Dog-Panda Dataset
5.2.3 Notebook: Transfer Learning on ASL Data
5.2.4 Notebook: Fine-Tuning on ASL Data
5.3 Write your own Custom Dataset Class
5.3.1 Notebook: Custom Dataset Class in PyTorch

20 of 30 CV Master Program
5.4 PyTorch Lighting
5.4.1 Notebook: Introduction to PyTorch Lighting
5.4.2 Notebook: Transfer Learning with Lighting

Project 2 Kaggle Competition - Classification

6 Segmentation
6.1 Introduction to Semantic Segmentation
6.1.1 Introduction to Semantic Segmentation
6.1.2 Semantic Segmentation Datasets
6.1.3 Semantic Segmentation Architecture
6.2 PyTorch Segmentation Models and Custom Dataset
6.2.1 Notebook: Torchvision Semantic Segmentation Models
6.2.2 Notebook: Introduction to Segmentation Datasets and Custom
Dataset Class
6.3 Transposed Convolutions
6.3.1 Transposed Convolutions
6.4 Fully Convolutional Networks
6.4.1 FCN Architecture
6.4.2 Notebook: FCN on Road Data: CE Loss
6.4.3 Evaluation Metrics and Loss Functions
6.4.4 FCN: Custom Metrics and Loss Functions
6.5 UNet
6.5.1 UNet Architecture
6.5.2 UNet on Road Data: CE Loss
6.5.3 UNet on CamVid Data: Dice Loss
6.6 Dilated Convolution
6.6.1 Dilated Convolution
6.7 DeepLabV3
6.7.1 DeepLabv3 Architecture
6.7.2 DeepLabv3 on Road Data: Dice Loss
6.7.3 DeepLabv3 on CamVid Data: Dice Loss
6.7.4 Deeplabv3 on SUIM Data: Dice Loss
6.8 Instance Segmentation
6.8.1 Instance Segmentation using Mask RCNN

Assignment A06 UNet Implementation with ResNet50

21 of 30 CV Master Program
Project 3 Kaggle Competition - Semantic Segmentation

7 Object Detection Fundamentals


7.1 Introductions to Object Detection
7.1.1 Object Detection Introduction
7.1.2 History of Object Detection
7.1.3 Object Detection Datasets
7.2 Hands-on with Object Detection
7.2.1 Notebook: Inference using Object Detection Models from
Torchvision
7.2.2 Notebook: Training Object Detection Models
7.3 Classification to Detection
7.3.1 Image Classification vs Object Detection
7.3.2 Revisiting Classification Pipeline
7.3.3 Encoding Bounding Boxes using Anchors
7.3.4 Intersection over Union (IoU)
7.3.5 Notebook: Iou
7.3.6 Encoding of Ground Truth
7.3.7 Multiple Anchors
7.4 Non-Maximum Suppression (NMS)
7.4.1 Non-Maximum Suppression (NMS)
7.4.2 NMS vs Soft NMS
7.4.3 Notebook: NMS
7.5 Evaluation Metrics
7.5.1 Why need an Evaluation metric?
7.5.2 Building Block of mAP
7.5.3 Precision and Recall
7.5.4 Average Precision (AP) and Mean Average Precision (mAP)
7.5.5 Notebook: AP and mAP
7.5.6 Notebook: mAP using Torchmetrics
7.6 Popular Object Detection Architectures
7.6.1 Traditional Object Detectors
7.6.2 Two Stage Object Detectors
7.6.3 YOLO: You Only Look Once
7.6.4 SSD: Single Shot MultiBox Detectors
7.6.5 RetinaNet

8 Object Detection Fine-Tuning and Training

22 of 30 CV Master Program
8.1 Understanding Faster RCNN
8.1.1 Notebook: Understanding Faster RCNN
8.2 Detectron 2
8.2.1 Notebook: Fine-Tuning RatinaNet using Detectron 2
8.3 Ultralytics YOLO
8.3.1 Notebook: Introduction to Ultralutics YOLO
8.3.2 Notebook: YOLOv8 Custom Training
8.4 Create a Custom Object Detector
8.4.1 Notebook: Detectors Architecture
8.4.2 Notebook: Anchors Boxes and Label Encoding
8.4.3 Notebook: Anchors Generation using K-Means
8.4.4 Notebook: Decode and NMS
8.4.5 Notebook: Create a Custom Dataset CLass
8.4.6 Notebook: Training from Scratch

Assignment A07 Focal Loss Implementation

Project 4 Object Detection

9 Introduction to Generative Adversarial Networks (GANs)


9.1 GANs
9.1.1 Notebook: Introduction to GANs
9.1.2 Notebook: Vanilla GAN using Fashion MNIST
9.1.3 Notebook: DCGAN using Flickr Faces
9.1.4 Notebook: CGAN using Fashion MNIST
10 Pose Estimation
10.1 DensePose
10.1.1 Introduction to DensePose
10.1.2 DensePose inference
10.1.3 DensePose Training
10.1.4 Applications: Squat Checker

23 of 30 CV Master Program
Course 4 - DLTK

Deep Learning with TensorFlow & Keras

Module 1
Getting Started with Tensorflow and Keras
|
Module 2
Neural Networks
|
Module 3
Convolutional Neural Networks
|
Module 4
Best Practices In Deep Learning
|
Module 5
Object Detection
|
Module 6
Image Segmentation
|
Module 7
Pose Estimation
|
Module 8
Bonus: Generative Adversarial Networks (GANS)

24 of 30 CV Master Program
1 Getting Started with TensorFlow and Keras
1.1 Introduction to Artificial Intelligence
1.2 AI in Computer Vision
1.3 AI terminology
1.4 NumPy refresher
1.5 Introduction to TensorFlow & Keras
1.6 What is inside an ML algorithm?
1.7 Gradient-based Optimization Techniques in ML

Implement Leaky ReLu, Softmax & Convolution Using


Assignment 1
TensorFlow

Assignment 2 Implement Gradient Descent For Two Variables

2 Neural Networks
2.1 Feature Vectors & Normalization
2.2 Basics of Neural Networks
2.3 Understanding Backpropagation in a Neural Network
2.4 Loss Functions for Regression and Classification Tasks.
2.5 Mathematical foundation for Regression & Classification
2.6 Implementing a single neuron to model Linear Regression
2.7 Binary Classification using Perceptrons
2.8 Image Classification using Multilayer Perceptron
2.9 Model Complexity, Generalizaation and handling Overfitting
2.10 Understand and implement the building blocks like the different Activation
Functions, Loss Functions, Hidden Layers

Implement A Multi-Layer Perceptron For Apparel


Assignment 3
Classification

3 Convolutional Neural Networks


3.1 The Convolution operation
3.2 CNN building blocks and Layers
3.3 Evaluation Metrics for Classification Performance
3.4 Important CNN architectures like VGGNet and ResNet
3.5 Leverage pre-trained models using Transfer Learning and Fine-tuning
3.6 Building custom models from scratch using your own data
3.7 Handling Overfitting through Data Augmentations

25 of 30 CV Master Program
Assignment 4 Conversion from Sequential API to Functional API.

Implement a CNN For Image Classification On CIFAR10/100


Assignment 5
Dataset

Project 1 Implement An Image Classifier From Scratch

4 Best Practices in Deep Learning


4.1 Advanced Optimizers in Keras
4.2 Training Deep Neural Networks
4.3 Handling Data in TensorFlow using TF Data, Sequence Class, and TF Records
4.4 Learning Rate Schedulers
4.5 Model Interpretability using GradCAM

Assignment 6 Implement Adam Optimizer

Project 2 Kaggle Competition For Sports Item Classification

5 Semantic Segmentation
5.1 Problem formulation, custom layers and Loss Functions associated with
Segmentation, like Dilated & Transposed Convolution, Dice Loss, Pixel
Accuracy, etc.
5.2 Semantic Segmentation Datasets and Architectures
5.3 Evaluation metrics for Semantic Segmentation
5.4 Custom DataLoader for Segmentation Datasets
5.5 Fully Convolutional Networks (FCNs) and UNet training for Binary
Segmentation on Road Data
5.6 UNet and DeepLab v3+ Training on Multi-class segmentation on CamVid
Data.
5.7 Improving DeepLab v3+ on Segmentation of Underwater Imagery (SUIM)

Assignment 7 Implementation of PSPNet

Kaggle Competition On Semantic Segmentation Of


Project 3
FloodNet Dataset

26 of 30 CV Master Program
6 Object Detection
6.1 Evolution from traditional Object Detection algorithms to state-of-the-art
Deep Learning-based methods
6.2 Exploring Object Detection Datasets.
6.3 Revisiting Image Classification and comparing it with Object Detection.
6.4 Two-Stage & Single Stage Object Detectors
6.5 Problem formulation, custom layers and Loss Functions used in Object
Detection like Anchors, NMS, IoU, etc.
6.6 Learn about Object Detection models like RCNN, SSD, RetinaNet, YOLO,
EfficientDet
6.7 Evaluation metrics for Object Detection: Precision, Recall, Average
Precision(AP) and mean average Precision (mAP)
6.8 Using the TensorFlow Object Detection (TFOD) API
6.9 Fine-tuning of Object Detection Models available on TFOD API on a subset of
Pascal VOC data.
6.10 Building a Custom SSD Model with FPN and training it on PenFudanPed
Dataset

Encoding And Decoding Of Ground Truths For Anchor Box


Assignment 8
Implementation

Build A Custom Object Detection Model For Detecting


Project 4
Safety Kits In Construction Sites

7 Pose Estimation using MediaPipe


7.1 Real-time Posture analysis using MediaPipe Pose
7.2 Drowsy Driver Detection using MediaPipe

8 Generative Adversarial Networks (GANS)


8.1 Introduction to GANs
8.2 Vanilla GAN using Fashion MNIST
8.3 DCGAN using Flickr Faces
8.4 CGAN using Fashion MNIST

27 of 30 CV Master Program
Course 5 - DLAP

Computer Vision and Deep Learning Applications


Module 1
Facial Landmark Detection
|
Module 2
Applications of Facial Landmarks
|
Module 3
Snapchat Filters
|
Module 4
Face Recognition
|
Module 5
Neural Networks
|
Module 6
Leveraging Pre-trained models
|
Module 7
Object Detection
|
Module 8
Train a Custom Object Detector using YOLO
|
Module 9
Text Detection & Recognition (a.k.a OCR)
|
Module 10
Case Study: Automatic Number Plate Recognition
|
Module 11

Deploying Applications on the Cloud

28 of 30 CV Master Program
1 Facial Landmark Detection
1.1 Applications in Face Processing
1.1.1 Applications in Face Processing
1.2 Facial Landmark Detection using Dlib
1.2.1 Introduction to Dlib
1.2.2 Facial Landmark Detection using Dlib
1.3 Application: Face Alignment
1.4 Improving Facial Landmark Detector
1.4.1 Improving speed
1.4.2 Improving stability
1.4.3 Landmark stabilization in OpenCV
1.4.4 Optical Flow
1.4.5 Lucas-Kanade Optical Flow
1.5 Facial Landmark Detection Theory
1.5.1 Machine Learning basics
1.5.2 Research paper review
1.6 Training a custom Landmark Detector
1.6.1 How to train a custom Landmark Detector?

2 Applications of Facial Landmarks


2.1 Alpha Blending
2.1.1 Alpha Blending in OpenCV
2.2 Image Warping
2.2.1 Affine Transform
2.2.2 Geometric Transform
2.2.3 Triangle Warping
2.3 Delaunay Triangulation
2.3.1 Theory of Delaunay Triangulation
2.4 Face Averaging
2.4.1 Face Averaging using OpenCV
2.5 Face Morphing
2.5.1 Face Morphing using OpenCV
2.6 Application: Bug Eyes
2.6.1 Create a Big Eye app
2.7 Head Pose Estimation
2.7.1 Head Pose Estimation in OpenCV

Assignment 1 Build an Automatic Smile Detection Application

29 of 30 CV Master Program
3 Snapchat Filters
3.1 Swap Face
3.1.1 How can Face Swapping be achieved?
3.1.2 Seamless Cloning
3.1.3 Seamless Cloning in OpenCV
3.1.4 Face Swapping in a video
3.2 Application: Beard Filter
3.3 Application: Aging Filter
3.4 Non-linear Deformations
3.4.1 Moving Least Squares
3.4.2 Application: Happify and Fatify filters on the face

Project 1 Build a Virtual Makeup Application

4 Face Recognition
4.1 Intro to Face Recognition
4.1.1 Face Recognition in brief
4.1.2 Face Recognition: Overview
4.2 Classical Face Recognition Techniques
4.2.1 Eigen Faces
4.2.2 Fisher Face
4.2.3 Local Binary Pattern Histogram
4.2.4 Face Recognition API in OpenCV
4.2.5 Eigen Faces Demo
4.3 Face recognition using Deep Learning
4.3.1 Deep Learning Overview
4.3.2 Face Recognition using OpenFace
4.3.3 Face Recognition using Dlin - Introduction
4.3.4 Face recognition using Dlib
4.3.5 Further Reading

Project 2 DoppelGanger: Find Celebrity Look-Alike

5 Neural Network
5.1 Introduction to Neural Networks
5.1.1 What is a Neural Network?
5.1.2 How do Neural Networks learn?
5.1.3 Deep Learning Frameworks
5.2 Introduction to TensorFlow Keras
30 of 30 CV Master Program
5.2.1 The Keras Framework
5.2.2 Linear Regression using Keras
5.3 Feedforward Neural Neural Network
5.3.1 Why do We Need Hidden Layers?
5.3.2 Training a Neural Network using Backpropagation
5.3.3 Example: Image Classification using MLP
5.4 Convolutional Neural Networks
5.4.1 What is a Convolutional Neural Network?
5.4.2 Example: image Classification using CNNs
5.4.3 Data Augmentation

Assignment 2 Improve CNN Training

6 Leveraging Pre-Trained models


6.1 Free GPUs on the Cloud
6.1.1 Introduction to Google Colab
6.1.2 Introduction to Kaggle Kernels
6.2 What are pre-trained models?
6.2.1 Pre-trained models in Keras
6.3 Transfer Learning & Fine Tuning in Keras
6.3.1 Using Custom Dataset in Keras
6.3.2 Introduction to Kaggle Datasets
6.3.3 Fine-Tuning an Image Classifier using Kaggle Kernel
6.4 Troubleshooting using Tensorboard
6.4.1 Using Tensorboard with Keras
6.5 Fine-Tuning in CAFFE (Replaced with Fine-Tuning in TensorFlow)
6.5.1 Introduction to CAFFE
6.5.2 Train an Image Classifier using Fine-Tuning in Caffe
6.6 Fine-Tuning in TensorFlow
6.6.1 Train an Image Classifier using TensorFlow

Assignment 3 Apparel Classification

Project 3 Train and Deploy a Radiology AI

7 Object Detection
7.1 2-Stage Object Detectors
7.2 Single Stage Object Detector
7.2.1 Notebook: SSD Object Detector in OpenCV

31 of 30 CV Master Program
7.3 You Only Look Once (YOLO)
7.3.1 What is YOLO?
7.3.2 Notebook: YOLO Object Detection in OpenCV
7.4 Measure performance of Object Detectors
7.4.1 Evaluation Metrics for Object Detection

8 Train a Custom Object Detector Using YOLO


8.1 Problem Description
8.1.1 Which Object to Detect?
8.1.2 Where to the data for training?
8.2 Steps for Training YOLOv3 on Colab
8.2.1 Download Notebook
8.2.2 Link your Google Drive[Optional]
8.2.3 Compile DarkNet
8.2.4 Download Code and Weights
8.2.5 Training Configuration for Fine-tuning
8.2.6 Start Training
8.2.7 Run Inference on New Images
8.3 Custom Object Detector using YOLOv5 [Course Update]

Project 4 Train a Face Mask Detector

9 Text Detection & Recognition (a.k.a OCR)


9.1 Overview of OCR
9.1.1 What is OCR?
9.1.2 The OCR pipeline
9.1.3 Challenges
9.1.4 Datasets and competitions
9.2 Graphic Text Recognition using Tesseract
9.2.1 What is Tesseract?
9.2.2 Introduction to OCR using Tesseract
9.2.3 Notebook: Tesseract OCR failure cases
9.2.4 Notebook: Improving Tesseract OCR failures
9.3 Text Detection
9.3.1 Text Recognition using EAST
9.3.2 Notebook: Text Detection using EAST
9.3.3 Text Detection using CRAFT
9.3.4 Notebook: Text Detection using CRAFT

9.4 Modified Pipeline for scene Text Recognition using Tesseract


32 of 30 CV Master Program
9.4.1 Notebook: Modified Tesseract with Text Detection
9.5 Scene Text Recognition using Keras-OCR
9.5.1 Text Recognition using CRNN
9.6 Comparing Keras-OCR and Tesseract
9.6.1 Comparing Tesseract vs CRNN(keras-ocr)

Assignment 3 OCR on Invoice Document

10 Case Study: Automatic Number Plate Recognition


10.1 ALPR system using YOLO-Net
10.1.1 YOLO-Net: License Plate Detector using YOLOv3
10.1.2 ALPR using YOLO-Net and Tesseract
10.1.3 ALPR using YOLO-Net and YOLO-OCR
10.2 ALPR system using WPOD-Net
10.2.1 ALPR using WPOD-Net and Tesseract
10.2.2 ALPR using WPOD-Net and YOLO-OCR

11 Deploy Applications on Cloud


11.1 Create a web application using Flask
11.1.1 What is Flask?
11.1.2 A minimal Flask application
11.1.3 Using HTML templates
11.1.4 A complete Flask application
11.2 Deploy a web application on Heroku [PaaS]
11.2.1 What is Heroku?
11.2.2 How to create an account on Heroku?
11.2.3 Prepare application for Deployment
11.2.4 How to deploy using Heroku CLI?
11.2.5 How to deploy using Heroku Website?
11.3 Deploy a web application on Google GCP [Iaas]
11.3.1 What is Google Cloud Platform (GCP)?
11.3.2 Create account on Google Cloud Platform
11.3.3 Create and configure a VM Instance
11.3.4 Setup VM and Deploy App
11.3.5 Change firewall settings and check deployment

Assignment 4 Deploy Your Web App On Heroku

33 of 30 CV Master Program
A place where legacy creates future.

GENAI

Mastering
Generative AI for Art
Detailed Curriculum

OpenCV
University
AI ART GENERATION FOR EVERYONE

Index

Module 1
Introduction to Generative AI

I
Module 2
Generative AI with OpenAI DALLE

I
Module 3
Generating Images with Midjourney

I
Module 4
FREE GPU Credits from RunPod

I
Module 5
Generating Images with Stable Diffusion

I
Module 6
Diving Deeper into Stable Diffusion

I
Module 7
Advanced Image Editing Techniques

2 of 10 Mastering Generative AI for Art


1 Introduction to Generative AI
1.1 Introduction to Generative AI

1.1.1 What is Generative AI

1.1.2 Generative AI Landscape

1.1.3 Evolution of Generative AI

1.1.4 Ethics and Guidelines

QUIZ 1

2 Generative AI with OpenAI DALLE


2.1 OpenAI Intro

2.1.1 OpenAI Innovations

2.2 DALLE2 and ChatGPT

2.2.1 Introduction to DALLE2


2.2.2 Image Generation using DALLE2
2.2.3 ChatGPT Demo

2.3 Image Editing using DALLE2

2.3.1 What is Image Inpainting


2.3.2 Inpainting with DALLE2

2.3.3 What is Image Outpainting

2.3.4 Outpainting with DALLE2

2.4 DALLE2 Alternative

2.4.1 PlayGroundAI

QUIZ 2

3 of 10 Mastering Generative AI for Art


3 Generating Images with Midjourney
3.1 Generating Images with Midjourney

3.1.1 Introduction to Midjourney

3.1.2 Setting up Midjourney Discord

3.1.3 Understanding Midjourney parameters for better prompting


3.1.4 Blending multiple images

3.1.5 Advanced Feature in Midjourney

3.1.6 Midjourney Updates

3.2 Midjourney Alternative

3.2.1 Midjourney Alternative

QUIZ 3

4 FREE GPU Credits from RunPod


4.1 FREE GPU Credits from RunPod

4.1.1 What is RunPod

4.1.2 Redeem your RunPod Coupon

5 Generating Images with Stable Diffusion


5.1 Introduction to Stable Diffusion

5.1.1 Introduction to Stable Diffusion

5.1.2 Demystifying Stable Diffusion Model

5.1.3 Getting Started with Stable Diffusion

5.2 Generating Images with DreamStudio

5.2.1 Generating Images using DreamStudio

5.2.2 Editing Images using DreamStudio

5.3 Setting up the Automatic1111 Stable Diffusion WebUI

5.3.1 What is Stable Diffusion WebUI

4 of 10 Mastering Generative AI for Art


5.3.2 Using Automatic1111 WebUI on RunPod

5.3.3 Using Automatic1111 WebUI on Kaggle

5.4 Generating Imags with Stable Diffusion WebUI

5.4.1 Generating Images with Stable Diffusion WebUI

5.4.2 Prompt Engineering with Stable Diffusion

QUIZ 4

6 Diving Deeper into Stable Diffusion


6.1 Advanced Controls in SD WebUI

6.1.1 Analyzing Prompt with Prompt Matrix in WebUI

6.1.2 Prompt Strength and Weights

6.1.3 Prompt Editing and Blending

6.1.4 Using the XYZ Plots in Stable Diffusion WebUI

6.2 Editing Images using img2img

6.2.1 Image Editing with img2img in WebUi

6.2.2 Image Inpainting in WebUI: Part-I

6.2.3 Image Inpainting in WebUI: Part-II

6.2.4 Image Editing with img2img Sketch

6.2.5 Image Editing with Inpaint Sketch

6.3 Where to find Models

6.3.1 Using fine-tuned models from CIVITAI

6.4 Using Extensions with WebUI

6.4.1 How to install extensions

6.4.2 WebUI Extensions - Part-II

QUIZ 5

5 of 10 Mastering Generative AI for Art


7 Advanced Image Editing Techniques
7.1 Controlled Editing with InstructPix2Pix

7.1.1 InstructPix2Pix Introduction & Setup

7.1.2 InstructPix2Pix Demo - Part 1 (Virtual Try-on)

7.1.3 InstructPix2Pix Demo - Part 2

7.2 ControlNet: Controlling Stable Diffusion Models

7.2.1 Introduction to ControlNet

7.2.2 ControlNet Installation & Setup

7.2.3 Generating Image Variations with ControlNet Models

7.2.4 ControlNet OpenPose

7.3 UpScaling Images like a Pro

7.3.1 UpScaling Images with Ultimate SD UpScale + ControlNet

QUIZ 6

6 of 10 Mastering Generative AI for Art


ADVANCED AI ART GENERATION

Index

Module 1
DreamBooth

I
Module 2
Stable Diffusion WebUI Practical Tips for Efficient Workflow

I
Module 3
Controlled Image Editing

I
Module 4
Textual Inversion

I
Module 5
LoRA

I
Module 6
Creating videos using Prompt

I
Module 7
Prompt Generating using ChatGPT

7 of 10 Mastering Generative AI for Art


1 DreamBooth
1.1 Fine-Tuning SD Models with DreamBooth

1.1.1 Introduction to DreamBooth

1.1.2 RunPod Configuration for DreamBooth

1.1.3 Fine-tuning SD with DreamBooth

1.1.4 Fine-tuning SD with DreamBooth + Captions

QUIZ 1

2 Stable Diffusion WebUI Practical Tips for Efficient Workflow


2.1 Stable Diffusion WebUI Installation

2.1.1 Stable Diffusion WebUI MacOS Installation

2.1.2 Stable Diffusion WebUI Windows Installation

2.1.3 Stable Diffusion WebUI Linux Installation

2.2 How to Recreate Existing Images Using Stable Diffusion

2.2.1 How to Recreate Existing Images Using Stable Diffusion

2.3 Stable Diffusion WebUI Key Settings

2.3.1 Stable Diffusion WebUI Key Settings

2.4 Understanding XYZ Plots in Stable Diffusion WebUI

2.4.1 Understanding XYZ Plots in Stable Diffusion WebUI

2.5 Understanding Variational Strength Feature in Stable Diffusion

2.5.1 Understanding Variational Strength Feature in Stable Diffusion

QUIZ 2

8 of 10 Mastering Generative AI for Art


3 Controlled Image Editing
3.1 Asset placement using Paint By Example

3.1.1 Paint By Example

3.1.2 Setup Paint By Example

3.1.3 Tips and Tricks for Editing with PBE

3.2 Creating Deepfakes using DeepFaceLab

3.2.1 Introduction to DeepFakes

3.2.2 Setup Virtual Workspace on RunPod

3.2.3 Prepare DeepFaceLab for Training

3.2.4 Training on Your Own Data

3.2.5 Creating Training Data for Deepfakes

3.2.6 Using the Trained Model

3.2.7 Tips and Tricks for better Results

QUIZ 3

4 Textual Inversion
4.1 Extending SD with Embeddings

4.1.1 Stable Diffusion Architecture

4.1.2 Textual Inversion Architecture

4.1.3 Using Pretrained Embeddings Part-I

4.1.4 Using Pretrained Embeddings Part-II

4.1.5 Training Custom Style Embeddings

4.1.6 Evaluating Custom Style Embeddings

4.1.7 Using Custom Style Embeddings

QUIZ 4

9 of 10 Mastering Generative AI for Art


5 LoRA
5.1 Fine-Tuning SD Models with LoRA

5.1.1 Kohya Installation on RunPod

5.1.2 LoRA Training in Kohya GUI

5.1.3 LoRA Training & Execution

5.1.4 Using LoRA Models

QUIZ 5

6 Creating videos using Prompt


6.1 Introduction to Video Generation

6.1.1 Introduction to Video Generation

6.2 An Overview of TEXT2VIDEO Methods

6.2.1 An Overview of TEXT2VIDEO Methods

6.3 IMG2VIDEO using RunwayML GEN-2

6.3.1 IMG2VIDEO using RunwayML GEN-2

6.4 Methods to perform Video2Video

6.4.1 Methods to perform Video2Video

6.5 MOV2MOV using ControlNet - using Automatic 1111

6.5.1 MOV2MOV using ControlNet - using Automatic 1111

QUIZ 6

7 Prompt Generation using ChatGPT


7.1 Training ChatGPT for Prompt Generation

7.1.1 Training ChatGPT for Prompt Generation

10 of 10 Mastering Generative AI for Art

You might also like