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 07: SIFT & Matching

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