Computer Vision (Spring 2017)
Indian Institute of Information Technology, Sri City (IIITS)
Instructor: Dr. Shiv Ram Dubey
Class time: Monday 3.30-5 pm, Tuesday 11.30 am-12.55 pm
Class location: 305
Overview: The goal of computer vision is to compute properties of the three-dimensional world from digital images. Problems in this field include reconstructing the 3D shape of an environment, determining how things are moving, and recognizing people and objects and their activities, all through analysis of images and videos. This course will provide an introduction to computer vision, with topics including image formation, feature detection, motion estimation, image mosaics, and object and face detection and recognition. Applications of these techniques include building 3D maps, creating virtual characters, organizing photo and video databases, human computer interaction, video surveillance, automatic vehicle navigation, and mobile computer vision. In this course, student will implement several computer vision algorithms throughout the semester.
Detailed Syllabus: Introduction and Overview, Edge Detection, Feature Detection, Harris Corner Detection, Invariance and Blob Detection, Feature Descriptors and Matching, Image Transformations, Image Alignment, RANSAC, Hough Transform
Camera, Projection, Panorama, Single-view Modeling, Two-View Stereo, Two-view Geometry, Structure from Motion, Multi-view Stereo, Light and Reflectance, Photometric Stereo, Computational Photography
Intro to Recognition, Faces and Probability, Eigenfaces, Viola-Jones Face Detection, Bag-of-Words Models, Segmentation, Graph-Based Segmentation, Object Detection and Representation, Convolutional Networks Applied to Computer Vision
Prerequisites: Image Processing, Data Structure, Basic Probability/Statistics, a good working knowledge of any programming language (python, matlab, C/C++), Linear algebra, Vector calculus.
Grading: Assignments and the term project should include explanatory/clear comments as well as a short report describing the approach, detailed analysis, and discussion/conclusion.
10% Mid-Exam-1
10% Mid-Exam-2
25% End-Exam
30% Programming Assignments
25% Term Project
Recommended Books (optional)
Richard Szeliski, Computer Vision: Algorithms and Applications, Springer, 2010, [PDF]
Forsyth and Ponce, Computer Vision: A Modern Approach, Prentice Hall, 2002, [PDF]
Simon Prince, Computer Vision: Models, Learning, and Interface, Cambridge University Press, 2012 [PDF]
Mubarak Shah, Fundamentals of Computer Vision, 1997 [PDF]
Palmer, Vision Science, MIT Press, 1999,
Duda, Hart and Stork, Pattern Classification (2nd Edition), Wiley, 2000,
Koller and Friedman, Probabilistic Graphical Models: Principles and Techniques, MIT Press, 2009,
Strang, Gilbert. Linear Algebra and Its Applications 2/e, Academic Press, 1980.
Programming
Python will be preferred programming environment for the assignments. Following book (Python programming samples for computer vision tasks) is freely available: Python for Computer Vision
Lecture Notes
Lecture 01: Introduction and Overview
Lecture 02: Image Filtering and Edge Detection
Lecture 03: Image Resampling
Lecture 04: Intelligent Scissors & Feature Detection
Lecture 05: Harris Corner Detector
Lecture 06: Blob Detector
Lecture 08: Transforms & Alignment
Lecture 09: RANSAC + Hough Transform & Optical Flow
Lecture 10: Cameras and Projection 1
Lecture 11: Cameras and Projection 2
Lecture 12: Camera Parameters
Lecture 13: Panoramas
Lecture 14: Blending
Lecture 15: Single View Modeling
Lecture 16: Stereo Modeling
Lecture 17: Stereo Modeling-2
Lecture 18: Structure From Motion
Lecture 19: Recognition
Lecture 20: Classifiers
Lecture 21: Neural Networks
Lecture 22: Convolutional Neural Networks
Lecture 23: Object Detection
Lecture 24: Deep Detection