Curriculum CVDL Master Program
Curriculum CVDL Master Program
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
3 of 30 CV Master Program
Course 1 - MOCV
4 of 30 CV Master Program
7.2. Deploying streamlit apps on Streamlit cloud
7.3. App Deployment on Heroku
9. Hough Transforms
9.1. Detecting Lines using Hough Lines
9.2. Lane detection using using Hough Transforms from videos
5 of 30 CV Master Program
14.4. Building a Real-time Blink Detection application
6 of 30 CV Master Program
Course 2 - CVIP
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
7 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
8 of 30 CV Master Program
Assignment 1 Build a QR Code Detector
9 of 30 CV Master Program
Assignment 4 Implement Different Morphological Operations
10 of 30 CV Master Program
Assignment 6 Convert Your Images Into Different Color Spaces
11 of 30 CV Master Program
6.5 Application: Creating panoramas
6.6 Application: Finding known objects using OpenCV
8 Video Analysis
12 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
13 of 30 CV Master Program
Course 3 - DLPT
14 of 30 CV Master Program
1 Getting Started with PyTorch
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 Why is Deep Learning so popular?
1.2 NumPy refresher
1.3 Introduction to PyTorch
1.3.1 Why use PyTorch?
1.3.2 Overview of PyTorch
1.3.3 PyTorch basics
1.4 What is inside an ML algorithm?
1.4.1 Machine Learning pipeline
1.4.2 Solving ML problems
1.4.3 Gradient Descent
1.4.4 Gradient Descent for Optimization
2 Neural Networks
2.1 Feature Vectors 1-D to N-D
2.1.1 Feature Vectors & Normalization
2.2 Basics of Neural Networks
2.2.1 What is a Neural Network?
2.2.2 Loss Functions for Regression
2.2.3 Loss Functions for Classifications
2.2.4 Types of Activation Functions
2.2.5 How does the network learn?
2.2.6 Demystifying Neural Networks
2.3 Binary Classification using Perceptrons
2.4 PyTorch NN module
2.4.1 Introduction to PyTorch NN Module
2.4.2 MLP using Functional API
2.4.3 MLP using Sequential API
2.5 Image Classification using Multilayer Perceptron
2.5.1 MLP Classifier for Handwritten Digits (MNIST)
15 of 30 CV Master Program
Assignment 3 Implement MSE & MAE Loss Functions
16 of 30 CV Master Program
4.2.6 Check training pipeline
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 Data loader with ImageFolder
4.4.1 How to load custom datasets in PyTorch?
6 Object Detection
6.1 Overview of Object Detection
6.1.1 Introduction to Object Detection
6.2 Evaluation metrics
17 of 30 CV Master Program
6.2.1 Evaluation metrics for Object Detection
6.2.2 Compute evaluation metrics
6.3 Traditional algorithms in Object Detection
6.3.1 Different traditional algorithms
6.3.2 Implement Non-Maximum Suppression
6.4 Two-Stage Object Detectors
6.4.1 Introduction to Two-Stage Object Detectors
6.4.2 Faster RCNN using Torchvision
6.4.3 Understanding faster RCNN
6.4.4 Fine-tuning of faster RCNN
6.4.5 Fine-tuning training of faster RCNN
8 Segmentation
8.1 Semantic Segmentation architecture
8.1.1 Types of Semantic Segmentation architectures
8.1.2 Dilated Convolution
8.1.3 Transposed Convolution
8.1.4 Fully Convolutional Network (FCN)
8.1.5 U-Net
18 of 30 CV Master Program
8.1.6 SegNet
8.1.7 DeepLab
8.2 Evaluation metrics for Semantic Segmentation
8.2.1 Dice Coefficient metrics
8.3 LinkNet architecture
8.3.1 Introduction to LinkNet architecture
8.4 Soft-Dice Loss
8.4.1 Introduction to Soft-Dice Loss
8.5 FCN and DeepLab using Torchvision
8.5.1 FCN and DeepLabV3 using Torchvision
8.6 U-Net for MRI Abnormality Segmentation
8.7 Train your model from scratch
8.8 Instance Segmentation
8.8.1 Instance Segmentation using Mask RCNN
9 Pose Estimation
9.1 DensePose
9.1.1 Introduction to DensePose
9.1.2 DensePose inference
9.1.3 DensePose training
9.2 Create your own gym trainer
9.2.1 Automated Squat Counter
19 of 30 CV Master Program
Course 4 - DLTK
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)
20 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
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 Recgression 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 Complexit, Generalizaation and handling Overfitting
2.10 Understand and implement the building blocks like the different Activation
Functions, Loss Functions, Hidden Layers
21 of 30 CV Master Program
Assignment 4 Conversion from Sequential API to Functional API.
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 Segementation 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)
22 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
Precison(AP) and mean average Precison (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
23 of 30 CV Master Program
Course 5 - DLAP
Module 1
Facial Landmark Detection
|
Module 2
Applications of Facial Landmarks
|
Module 3
Snapchat Filters
|
Module 4
Face Recognition
|
Module 5
Introduction to Deep Learning with CNNs
|
Module 6
State-of-the-art Object Detection
|
Module 7
Text Detection And OCR
|
Module 8
Deploy Applications On Cloud
24 of 30 CV Master Program
1 Facial Landmark Detection
1.1 Different face processing applications
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 Train a custom Facial Landmark Detector
1.6.1 How to train a custom Landmark Detector?
25 of 30 CV Master Program
3 Snapchat Filters
3.1 Face Swap
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 face
4 Face Recognition
4.1 Introduction to Face Recognition
4.2 Eigen Faces
4.3 Fisher Faces
4.4 Local Binary Patterns Histograms
4.5 Face Recognition API in OpenCV
4.6 Deep Learning-based Face Recognition [To be updated with latest models]
6 Object Detection
6.1 Object Detection overview
6.1.1 What is Object Detection?
6.1.2 Traditional Object Detection pipeline
6.2 YOLOv3 using DarkNet [To be updated to YOLOv8 using Ultralytics]
6.2.1 Inference using YOLOv3
6.2.2 Fine-Tuning using YOLOv3
6.3 YOLO-NAS [Will be added as part of the course update]
6.3.1 Inference using YOLO-NAS
6.3.2 Fine-Tuning using YOLO-NAS
6.4 RT-DETR [Will be added as part of the course update]
6.4.1 Inference using RT-DETR
6.4.2 Fine-Tuning using RT-DETR
27 of 30 CV Master Program
7.5 Inference using Transformer OCR (TrOCR)
7.6 Fine-Tuning Transformer OCR (TrOCR)
7.7 Case Study - ALPR (YOLO NAS + TrOCR)
28 of 30 CV Master Program