This course will introduce the audience to the subject of computer vision. The camera model will be introduced and camera calibration and epipolar geometry concepts will be explained. Object and texture representation will be discussed, and effect of light and shading and colour will be introduced. Use of CNN in vision will be taught, especially for object detection/classification and depth estimation.
INTENDED AUDIENCE: Any Interested Learners
PREREQUISITES: 1. Basic calculus: Finding derivatives, maximize a function by finding where the derivative=0.
2. Linear algebra: Matrix transpose, inverse, and other operations to do algebra with matrix expressions. Transformation matrices to rotate/transform points, Singular Value Decomposition.
3. Basic probability and statistics: Understanding of conditional probability, mean, and variance.
4. Some programming skills: such as entry-level Matlab/python and the ability to work in the Linux environment
INDUSTRY SUPPORT: Samsung, Qualcomm, LG, TI, Google, Microsoft, amazon, Facebook and many more
Week 1: Introduction to computer vision, basics of linear algebra and geometry Week 2: Edge Detection and RANSAC, Interest Points and Corners, Local Image Features (SIFT, FAST, HARRIS) and Feature Matching Week 3: Introduction to CNN; CNN basics, Networks: VGGNet, InceptionNet, ResNet, 3D CNN, RNN, LSTM and GAN Week 4: Object detection and classification: CNN based approaches – R-CNN to FASTER and Single shot detector architectures such as YOLO Week 5: Texture representation Week 6: Light and Shading Week 7: Color Week 8: Camera model and camera calibration Week 9: Flow estimation: Traditional and CNN based, Flow based tracking Week 10: Epipolar geometry and introduction to depth estimation; stereopsis Week 11: Dense correspondence and depth propagation Week 12: Overview of action recognition using (a) RNN (b) 3D CNN