Computer Vision (Spring 2020)

Indian Institute of Information Technology, Sri City (IIITS)

Instructor: Dr. Shiv Ram Dubey

Class Time (Location): TBA

Tutorial Time (Location): TBA

Overview: Nowadays, the use of visual information technology is growing exponentially. Most of the big IT companies like Google, Microsoft, Amazon, Facebook, etc. are working over the visual data analysis. Many startups also came in recent years in Computer Vision area. Computer Vision also has very strong relevance in Robotics and Industrial Automation. It can be utilized very effectively in smart manufacturing, medical field, biometrics area, etc. The goal of computer vision is to compute the 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, 3D shape reconstruction, object/face detection and recognition, and deep learning. Applications of these techniques include building 3D maps, creating virtual characters, organizing photo and video databases, human computer interaction, video surveillance, automatic vehicle navigation, robotics, virtual and augmented reality, medical imaging, and mobile computer vision.

Detailed Syllabus (Tentative): The following list of topics is tentative. Based on available time slots, some topics may be dropped or added or reordered.

Feature Detection, Description, Correspondence and Alignment: Introduction and Overview, Light, Image Formation, Filtering, Edge Detection, Feature Detection, Harris Corner Detection, Invariance and Blob Detection, Feature Descriptors and Matching, Image Transformations, Image Alignment, RANSAC, Hough Transform, etc.

Perspective and 3D Geometry: Camera Models, Single-view Geometry and Calibration, Image Stitching, Epipolar Geometry, Stereo, Structure from Motion, etc.

Recognition and Learning: Intro to Recognition, Viola-Jones Face Detection, Bag-of-Words Model, Convolutional Neural Networks, Image Classification, Object Detection, Segmentation, Image Generation, etc.

Prerequisites: Data Structure, Basic Probability/Statistics, a good working knowledge of any programming language (python, matlab, C/C++), Linear algebra, Vector calculus. No prior experience with computer vision is assumed, although previous knowledge of Image Processing or Machine Learning will be helpful.

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. Note that the grading policy may change based on the number of registration in the course.

  • 17.5% Mid-Exam-1

  • 17.5% Mid-Exam-2

  • 35% End-Exam

  • 30% Assignments/Quizzes

Revised Grading due to COVID-19:

  • 25% Mid-Exam

  • 40% End-Exam

  • 35% Assignments (10 + 10 + 15)

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

Course Ethics

•All class work is to be done independently.

•It is best to try to solve problems on your own, since problem solving is an important component of the course, and exam problems are often based on the outcome of the assignment problems.

•You are allowed to discuss class material, assignment problems, and general solution strategies with your classmates. But, when it comes to formulating or writing solutions you must work alone.

•You may use free and publicly available sources, such as books, journal and conference publications, and web pages, as research material for your answers. (You will not lose marks for using external sources.)

•You may not use any paid service and you must clearly and explicitly cite all outside sources and materials that you made use of.

•I consider the use of uncited external sources as portraying someone else's work as your own, and as such it is a violation of the University's policies on academic dishonesty.

•Instances will be dealt with harshly and typically result in a failing course grade.

Lecture Notes