Computer Vision (CS 565/CS 465)
Fall 2016

Dr. Nazar Khan (firstnamelastname attherateof pucit dot edu dot pk)

Human beings (and even animals) "look" at the real-world and extract extremely accurate information extremely efficiently. Computers can fail catastrophically at this task! In this course we look into why "Vision" is a difficult problem to solve and we go through successful, mathematically well-founded techniques used to solve the Vision problem.

This course is a useful application of mathematical concepts from Linear Algebra and Calculus. Therefore, the students could do well by brushing up on their Linear Algebra, Calculus and programming skills before taking this class. The techniques learned here can be useful for other areas such as Image Processing, Machine Learning, Artificial Intelligence and Computer Graphics.

Passing this course is necessary for students planning to undertake research with Dr. Nazar Khan.
Course Outline

Morning Lectures:
Morning9:45 am - 11:15 am
Afternoon2:30 pm - 4:00 pm
Al Khwarizmi Lecture Theater
Morning9:45 am - 11:15 am
Afternoon2:30 pm - 4:00 pm
Al Khwarizmi Lecture Theater

Office Hours:
Monday 11:00 am - 12:00 am
Wednesday 11:00 am - 12:00 am

Teaching Assistants:

  1. Morning Session: Husnain Haider
  2. Afternoon Session: Umar Farooq

Programming Environment: MATLAB

Assignments 20%
Quizzes 5%
Mid-Term 35%
Final 40%

  1. To determine course grade, graduate students will be evaluated in a more rigorous manner.
  2. Theoretical assignments have to be submitted before the lecture on the due date.
  3. There will be no make-up for any missed quiz.
  4. Make-up for a mid-term or final exam will be allowed only under exceptional circumstances provided that the instructor has been notified beforehand.
  5. Instructor reserves the right to deny requests for any make-up quiz or exam.
  6. Worst score on quizzes will be dropped.
  7. Worst score on assignments will be dropped.


  • Assignment 1 (Due: Thursday, 3rd November, 2016 before class)
  • Assignment 2 (Due: Wednesday, 17th November, 2016 before class)
  • Assignment 3 (Due: Tuesday, 6th December, 2016 before class)
  • Assignment 4 (Due: Friday, 23rd December, 2016 before 5:30 pm)
  • Assignment 5 (Due: Thursday, 12th January, 2017 before 5:30 pm)

Grading sheet (Accessible only through your PUCIT email account)


  1. Introduction
    • Computer Vision vs. Image Processing vs. Computer Graphics
    • Computer Vision vs. Biological Vision -- The Grand Deception!
    • Successful Computer Vision solutions.
  2. Background Mathematics
    • Cartesian vs. Image axis
    • Taylor's formula
    • Matrix and Vector calculus
    • Eigenvectors
    • Constrained optimisation
    • Singular Value Decomposition (SVD)
  3. Image Processing
  4. 2D Computer Vision
    • Derivative Filtering and Edge Detection
      • Derivative approximations via Taylor's formula
      • Convolution masks for derivative filtering
      • Naive Edge Detection
      • The Canny Edge Detector
        • Gradient computation
        • Non-maxima supression
        • Hysteresis thresholding
    • Corner Detection
      • Moravec Corner Detector
      • Harris Corner Detector
      • Structure Tensor -- Geometry and Algebra
    • Hough Transform
    • 2D Spatial Transformations
      • Matrix ≡ Linear Transformation
      • Scaling, Shear, Rotation
      • Translation is not linear in ℝ^2
      • Homogenous Coordinates make translation linear in ℙ^2
      • 2D Affine Transformation (Scaling, Shear, Rotation, Translation)
        • 6 degrees of freedom
        • Recovering best affine transformation from correspondences
        • Affine Image Warping
      • 2D Projective Transformation (Homography)
        • 8 degrees of freedom
        • Recovering best projective transformation from correspondences -- Direct Linear Transform (DLT)
        • Projective Image Warping
    • Optic Flow
      • Greyvalue/Brightness Constancy Assumption
      • Linearised Optic Flow Constraint via Taylor's Approximation
      • Aperture Problem and Normal Flow
      • Local Methods
        • Spatial approach of Lucas and Kanade
        • Spatio-temporal approach of Biguen et al.
      • Global Methods
        • Variational method of Horn and Shunck
    • Global Flow
  5. 3D Computer Vision
    • Projective Geometry and Camera Models
      • Pinhole Camera Geometry
      • Camera Matrix = Intrinsic x Projection x Extrinsic
      • Camera Models
      • Camera Matrix Anatomy
      • Camera Calibration
    • Stereo Reconstruction
      • Orthoparallel Cameras
      • Converging Cameras
      • Epipolar Constraint and Fundamental Matrix
      • Estimation of Fundamental Matrix
      • Disparity Estimation
    • Shape from Shading
    • Structure from Motion
  6. Machine Learning for Computer Vision