Computer Vision

Overview

Attain cutting-edge techniques on computer vision and deep learning from basic image processing, to building and customizing convolutional neural networks (NN). Apply these ideas to vision tasks such as automatic image captioning, object tracking and build a strong portfolio of computer vision projects.

Duration
3 Days

Pre-Requisites
The following knowledge are necessary for this class:
  • Math (Linear algebra, vector calculus, probability)
  • Data structures
  • Programming

Course Outline

  • What are Images?
  • Image formation
  • Storing Images on computers
  • Getting started with open CV
  • Gray scaling
  • Color spaces
  • Histograms
  • Drawing images
  • Supervised and unsupervised learning
  • Different image classifiers
  • Python Basics
  • Scientific programming with python 
    • NumPy
    • Scikit learn
    • Pandas 
    • Matplotlib
  • HAAR cascade classifiers
  • Face and eye detection
  • Camera calibration – Intrinsic and extrinsic
  • Multi-view / epipolar projective geometry
  • Stereo correspondence – Feature detection and matching
  • Stereo disparity
  • Triangulation – computing depth
  • Artificial Neural Networks
  • Back Propagation Neural Networks
  • Shallow vs Deep learning
  • Deep learning overview
  • Convolutional Neural Network (CNN) for object recognition
  • Region based CNN for object recognition and localization
  • Transfer learning – how to use existing trained models and add on top of it
  • Deep learning approaches to stereo correspondence
  • Filtering by colour
  • Background subtraction and foreground subtraction
  • Using Mean shift for object tracking
  • Using CAM shift for object tracking
  • Optical Flow
  • Recurrent CNNs for object tracking