Computer Vision (CS 565)
Fall 2018
Dr. Nazar Khan (firstnamelastname attherateof pucit dot edu dot pk)
Human beings (and even animals) "look" at the realworld 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 wellfounded 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.
Lectures:
Monday, Wednesday  8:15 am  09:45 am  Al Khwarizmi Lecture Theater 
Office Hours:
Monday, Wednesday 
11:30 am  01:00 pm 
Programming Environment:
Python
Grading:
Assignments+Project 
20% 
Quizzes 
5% 
MidTerm 
35% 
Final 
40% 
 Theoretical assignments have to be submitted before the lecture on the due date.
 There will be no makeup for any missed quiz.
 Makeup for a midterm or final exam will be allowed only under exceptional
circumstances provided that the instructor has been notified beforehand.
 Instructor reserves the right to deny requests for any makeup quiz or exam.
 Worst score on quizzes will be dropped.
 Worst score on assignments will be dropped.
Assignments:
 Assignment 1 (Due: Wednesday, December 05, 2018 before 5:30 PM)
 Assignment 2 (Due: Wednesday, December 12, 2018 before 5:30 PM)
 Assignment 3: Implement the Hough Transform and overlay detected lines over the input image. (Due: Monday, January 21, 2019 before 5:30 PM)
 Assignment 4: Estimate Affine transform from N correspondences. Repeat for Homography. Warp input image by a transformation matrix. (Due: Wednesday, January 23, 2019 before 5:30 PM)
Grades:
Grading sheet (Accessible only through your PUCIT email account)
Content:
 Introduction
 What is Computer Vision?
 Computer Vision vs. Biological Vision  The Grand
Deception!
 Applications of Computer Vision.
 Background Mathematics
 Cartesian vs. Image axis
 Taylor's formula
 Matrix and Vector calculus
 Eigenvectors
 Constrained optimisation
 Singular Value Decomposition (SVD)
 Image Processing
 Image Filtering
 Convolution
 Properties of convolution
 Mean Filtering
 Gaussian Filtering
 Nonlinear filtering cannot be performed via convolution
 Edge Detection
 Gradient magnitude and angle via partial derivatives
 Derivative approximations via Taylor's formula
 Convolution masks for derivative filtering
 Forward, Backward and Central Difference
 Sobel operator
 Derivative of Gaussian Filter
 Naive Edge Detection
 The Canny Edge Detector
 Gradient computation
 Nonmaxima supression
 Hysteresis thresholding
 Corner
Detection
 Structure Tensor  Geometry and Algebra
 Harris Corner Detector
 Rohr Corner Detector
 Scale Space and Gaussian Pyramids
 Local Image Descriptors
 SumofSquaredDifferences (SSD)
 Normalized Cross Correlation (NCC)
 SIFT
 Keypoint Detection
 Descriptor
 Matching SIFT Descriptors
 OpenCV Examples
 Hough Transform
 Slopeintercept representation of lines
 Polar representation of lines
 Line detection
 Circle detection
 Speedup via gradient information
 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
 Gray value constancy
 Linearized Optic Flow Constraint (OFC)
 Aperture Problem
 Normal Flow
 Local Method of Lucas & Kanade
 Global Method of Horn & Schunck
 Robust Estimation via RANSAC
 Outliers
 Leastsquares models are sensitive to outliers
 Robust Estimation via RANSAC
 Robust Line Fitting via RANSAC
 Robust Homography Estimation in OpenCV
 Camera Geometry
 Pinhole Camera Geometry
 Camera Matrix = Intrinsic x Projection x Extrinsic
 Camera Models
 Camera Matrix Anatomy
 Camera Calibration
