/deep-learning-cv

Course Material for "Application of Deep Learning in Computer Vision"

Primary LanguageJupyter Notebook

Welcome ! This repo contains material for the 'Application of deep leanrning in Computer Vision' course held in National Cheng-Kung University during 3/3 - 4/28, 2018.

Thanks to Google's generosity, you can practice making deep neural net on Google Colaboratory using free GPU resource provided by Google. An instruction on how to do this can be found HERE.

Syllabus for the course is as follows:

First week: Basics of deep neural network

Slide for the first week is prepared using Gitpitch. View slide here

  1. Introduction to programming tools
  2. Matrix math and Numpy
  3. Calculus
  4. Image processing and OpenCV
  5. Perceptron
  6. Machine Learning Basics
  7. Forward propagation, backward propagation
  8. Fully connected neural network

Second week: Convolutional neural network

  1. Convolutional neural network : general concept
  2. Loss function
  3. Optimizer
  4. Introduction to deep learning frameworks
  5. Convolutional neural network for image classification

Third week: Strategies and techniques for training convolutional neural networks

  1. Visualization of training progress
  2. Hyperparameter tuning
  3. Batch normalization
  4. Regularization
  5. Dropout
  6. Data augmentation

Fourth week: Classical convolutional neural network architecture and other applications

  1. Introduction to Keras
  2. CNN case studies
  3. CNN for object detection and image segmentation
  4. Introduction of RNN
  5. Sequence to Sequence Model
  6. RNN for Computer Vision

Online resources

Stanford CS231n : Convolutional Neural Network for Visual Recognition by Fei-Fei Li
Caltech : Learning from Data by Yaser Abu-Mustafa
Deep Learning by Ian Goodfellow, Yoshua Bengio, and Aaron Courville
Introduction to Machine Learning by Udacity
Deep Learning by Udacity
Learn with Google AI