Introduction to Machine learning and Deep learning for Computer vision, A course from Shahid Rajaie University (SRU) of Tehran, Held in winter and fall of 2018.
Course starts with an Introduction to Computer Vision with practical approach using opencv
on python
, then, continues with an Introduction to Learning Algorithms and Neural Networks. after that, Deep Neural Networks published after 2012 are studied and are implemented using python and Tensorflow
, Keras
, and FastAI
Machine learning and deep learning frameworks.
Tables consisting content of each semester in Persian can be found here: Winter 2018 β’ Fall 2018
S2 - Opencv basics in python
Reading Images
Color Spaces
Displaying Images
Saving Images
S3 - Image manipulation (part 1)
Linear algebra
Transform matrices
Interpolation Methods
S4 - Image manipulation functions in OpenCV
Draw geometric shapes
Transform matrices
Translations
Rotation
Resizing
Image pyramids
Cropping
S5 - Image manipulation (part 2)
Logical and Mathematical Operations in OpenCV
Image masking in OpenCV
Convolution and Correlation filters
Moving Average
Sharpening Filters in OpenCV
S6 - Binary Images, Thresholds, and Morphology Operation
Images Types
Binary images, and Thresholds
Thresholds in OpenCV
Morphology (Dilation, Erosion, Opening, and Closing)
Morphology in OpenCV
S7 - Edge Detection
Images Derivative, and Gradient
Canny, and Sobel Edge Detections
Edge Detection in OpenCv
Perspective Transformation in OpenCv
Affine Transforms
Using Webcam in OpenCv
S8 - Introduction to Machine Learning
What is ML
Supervised Learning
Unsupervised Learning
Reinforcement Learning
ML projects Steps
Train-Test Split
Model evaluation
S9 - Classifications, KNN, SciKit-learn β’ Introduction to Neural Network (1)
Perceptron
Weights and Biases in Perceptron
Activation Function
Input Feature Array
Multilayer Perceptron (MLP)
Layers in MLP (input, hidden, and output)
Simple Classifier (KNN) PDF β’ PPT
S10 - Introduction to Neural Networks (2)
Loss Function (Coss Function)
Gradient Descent, and Back Propagation
Model Visualization
Model Visualization and observing changes in number of each layer using Tensorflow Playground
S11 - Introduction to Implementing Recurrent Neural Networks using Keras
Recurrent, fully connected Networks in Keras
Declaring Model Architecture
Choosing Loss function, and Optimizer
Model Evaluation on Test Set
Predicting using Model
S12 - Introduction to Deep Neural Networks
Classification Tasks in Real-Life
Invariant Object Recognition
KNN, pros and cons
Over-fitting
Dropout
Convolutional Neural Networks (CNN)
CNNs vs. Classic methods
ImageNet
Introduction to Deep Learning & Convolutional Neural Networks PDF β’ PPT
S13 - Introduction to Convolutional Neural Networks
Kernels: Convolutional Filters
Learning kernels vs. Designing Fitlers
Same and Valid Convolutions
Paddings and strides
Image Size before and after conv.
3D convolutions
Multi-filter convolutions
Convolutional Layers Parameters
Pooling Layers
LeNet
S14 - Implementing Persian Handwritten Numbers Recognition using Keras
CNN Layers
CNN pros and cons
CNNs in Keras
Conv2D and MaxPooling2D functions
Flatten Method
Models Summery
S15 - Cat vs. Dog Binary Classification
Train-Test-Validation Split
Data Generators in Keras
Sigmoid and Softmax
Step per Epoch
Over-fitting
S16 - Review on Image Classification Architectures β’ Case Studies
Brain Architecture
AlexNet
VGGNet
GoogLeNet
ResNet
S17 - Data Augmentation
Preventing Over-fitting
Data Augmentation in Keras
S18 - Transfer Learning (1)
Loading Pre-trained Models
Transfer Learning in Keras
S19 - Transfer Learning (2)
Implementing classification in keras
conv. layers as Feature extraction
Fine-tuning
S20 - Face Verification & Identification (1)
One-shot Learning
Siamese Networks
Triplet Loss
S21 - Face Verification & Identification (2)
Center Loss
A-softmax Loss
A Discriminative Feature Learning Approach for Deep Face Recognition PDF SphereFace: Deep Hypersphere Embedding for Face Recognition PDF
S22 - Face Detection
Face Detection
HAAR Cascade
Wider Challenge
MTCNN
Face Detection Project Instructions
Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks (MTCNN) PDF
S23 - Batch-Norm, Learning-Rate Decay, and Multi-Label Classification
Batch-Norm
Learning-Rate Decay
Multi-Label Classification in Keras
Batch-Norm, Learning-Rate Decay, and Multi-Label Classification PDF β’ PPT
S24 - A Gentle Introduction to Tensorflow (1)
Multi-Label Classification (Continued)
Tensorflow Low-level API
Graphs, Constant Tensors, and Sessions in Tensorflow
S25 - A Gentle Introduction to Tensorflow (2)
Placeholders and Variables
Feeding and Fetching Graphs
Batch-Norm, Learning-Rate Decay, and Multi-Label Classification PDF β’ PPT
S26 - Implementing Dense and CNN networks for MNIST Dataset using Tensorflow
MNIST Dataset
Fully-connected Layers
CNN Layers
S27 - An even more Gentle Introduction to FastAI (1)
Finding Efficient Learning Rate
Stochastic Gradient Descent with Restarts
S28 - An even more Gentle Introduction to FastAI (2)
Global Pooling
Adaptive Pooling
Change Image Size Between Epochs
S29 - An even more Gentle Introduction to FastAI (3) and An Introduction to Recurrent Neural Networks
Multi-Label Classification in FastAI
RNNs
S30 - An Introduction to Recurrent Neural Networks (2)
Forward Propagation
Back Propagation
Language Models
LSTM
Vanishing Gradient
S31 - RNNs, LSTM, and GRU
Vanishing Gradient
LSTM
Bidirectional RNNs
GRU
Deep RNNs
Character Level Language Models in Keras
S33 - Word2Vec
Word2Vec
Word Embedding
Skip-grams
Softmax Classification issues
Negative Sampling
S34 - GloVe
Glove
Gender and Race Biases
Using Embedding Vectors in Keras
S35 - Word Analogy and Text Classification in Practice
Word Analogy
Removing Biases
Word Embedding
Emoji Dataset
S36 - Text Generation
RNN
Character Level Embedding
Eager Execution in Tensorflow
S37 - Image Captioning
Image Captioning
Keras
S38 - Sequence to Sequence Models and Machine Translation
Seq2Seq Models
Machine Translation
S39 - Attention
NLP
Machine Translation
Attention Layer
Keras
40 - Speech Recognition and Trigger Word Detection
Spectrogram
Attention
CTC
Trigger Word Detection
RNNs
Speech Recognition and Trigger Word Detection using RNNs PDF β’ PPT
- [Trigger Word Detection](51-Trigger-word-detection/Trigger word detection - v1.ipynb)
41 - Music Generation
Trigger Word Detection
Collaborative Filtering
Recommendation systems
RNNs
42 - Style Transfer and Book Recommendation System
Recommendation Systems
GANs
- P1 - Basics
- P2 - Binary images and Morphology
- P3 - Edge detection, perspective transform, and using Webcam
- P4 - KNN classifier, and Intro to Neural Networks in datacamp
- P5 - Introduction to Neural Networks
- P6 - Implement and train classifiers, and using Google Colab
- P7 - Objects Recognition using webcam
- P8 - Intro to Tensorflow
- P9 - LSTM, GRU, and Word Embedding
- Dr. Reza Ebrahimpour on Business and Graduate Studies
- Mohammad Chanarin Nakhaie on FastAI Introduction
- Mohammad Ghodoosi on Spiky Neural Networks
- Abolfazl Mehdizadeh on Image Captioning