CS 195: Computer Vision
Spring 2022
Instructor: Md Alimoor Reza
Assistant Professor of Computer Science
Department of Mathematics and Computer Science
Drake University

Class room: Science Connector Building # 101
Meeting time: Tues (3:30 pm - 4:45 pm) and Thurs (3:30 pm - 4:45 pm)
Office hours: Tues + Wed + Thurs (12:30pm-1:30pm) or by appointment


Schedule
A tentative schedule below (subject to change as we progress).


Date Main Topic Subtopics Items due
week 1 (Tue: 01/25)

  Introduction to Computer Vision (part 1)
  Lecture slide 1a

  Brief introduction
  Course logistics
  What is computer vision?

  From Images to 3D Models How computers can automatically build realistic 3D models from 2D images acquired with a handheld camera. Marc Pollefeys and Luc Van Gool. ACM Communication'2002

week 1 (Thu: 01/27)

  Introduction to Computer Vision (part 2)
  Lecture slide 1b
 

  Why is computer vision so primitive?
  What makes vision hard?
  How does human vision work?
  What is state-of-the-art?
  Review quiz

 
week 2 (Tue: 02/01)

  Filtering
  Lecture slide 2a
  Task: manipulating an image?
 

  Image fundamentals
  What are the assumptions?
  Assumptions for removing noise
  Image filtering
  Cross-correlation problem
 
 
week 2 (Thu: 02/03)

  Filtering (continued)
  Lecture slide 2b
 

  Convolution
  Filtering examples
  Practical considerations
  Activity: speeding up the convolution?
  Review quiz

 
week 3 (Tue: 02/08)

  Edge detection
  Lecture 3 slide
 

  Edges and gradients
  Computing gradients
  Dealing with noise
  Canny edge detection
  Implementation issues

 
week 3 (Thu: 02/10)

  Edge detection (continued)
 

  Line detection
  Hough transform
  Hough transform in practice
  Activity: a convoluted way of computing gradients?
  Review quiz

 
week 4 (Tue: 02/15)

  Segmentation
  Lecture 4 slide
 

  Image segmentation
  Segmentation as clustering
  Clustering on real images
  Mean shift clustering
  Segmentation with complete graph
 
 
week 4 (Thu: 02/17)

  Segmentation (continued)
 

  Activity: the problem with cuts?
  Normalized cut
  Segmentation with spanning trees
  Activity: applying popular segmentation on real images
  Review quiz

 
week 5 (Tue: 02/22)

  Feature points
  Lecture 5 slide
 

  Feature points
  Corner detection
  Activity: Matrices, error functions, and corners
  Identifying corners
  Identifying scale and orientation

 
week 5 (Thu: 02/24)

  Feature points (continued)
 

  Scale Invariant Feature Transform (SIFT)
  Image and feature matching
  Activity: How slow it is?
  Activity: applying SIFT on real images
  Deep feature learning with Siamese Neural Network (Reza AIPR'20)
  Review quiz

 
week 6 (Tue: 03/01)

  Deep Learning
  Lecture 6 slide
 

  Neural Network
  Convolutional Neural Network (CNN)
  CNN Success
  Convolution
  Spatial pooling
  Non-linearity
  Case studies of different CNN architectures

 
week 6 (Thu: 03/03)

  Deep learning
 

  Practical implementation of CNN in PyTorch
  Review quiz

 
week 7 (Tue: 03/08)

  Midterm exam review
 
 
 
 
week 7 (Thu: 03/10)

  Midterm Exam
 
 
 
week 8 (Tue: 03/15)

  Spring break (no class)
 
 
 
week 8 (Thu: 03/17)

  Spring break (no class)
 
 
 
week 9 (Tue: 03/22)

  Transformation
  Lecture 7 slide
 

  Image warping
  Activity: Warping
  Linear transformation
  Homogenous coordinates
  Affine and projective transformation

 
week 9 (Thu: 03/24)

  Image matching
 

  Image matching
  RANdom SAmple Consensus (RANSAC)
  Activity: how many rounds?
  RANSAC parameters and implementation details
  Review quiz

 
week 10 (Tue: 03/29)

  Projection
  Lecture 8 slide
 

  Cameras and projection
  Activity: shrinking apertures
  Aperture trade-offs
  Consequence of projection

 
week 10 (Thu: 03/31)

  Projection (continued)
 

  Modeling projection
  Activity: projection practice
  Generalizing the model
  Adding a lens
  Review quiz

 
week 11 (Tue: 04/05)

  Stereo
  Lecture 9 slide
 

  Depth from stereo
  Epipolar geometry
  Epipolar constraint
  The case of parallel cameras
  Parallel cameras and rectification

 
week 11 (Thu: 04/07)

  Stereo (continued)
 

  Naive stereo matching
  Scanline stereo
  Stereo matching with deep neural network
  Review quiz

 
week 12 (Tue: 04/12)

  Markov Random Fields
  Lecture 10 slide
 

  Markov Random Field (MRF)
  Some applicaiton of MRFs
  Binary MRFs
  Graph cuts
  Dense pixel-level image labeling with graph-cuts (Reza IROS'17, IROS'19)
  Advantage of MRFs
  Review quiz

 
week 12 (Thu: 04/14)

  Recognition
  Lecture 11 slide
 

  Introduction to recognition
  Bag of parts models
  Object localization
  HOG-based detection
  Deformable part models (DPM)

 
week 13 (Tue: 04/19)

  Deep learning-based recognition
  Lecture 12 slide
 

  Introduction to deep learning-based recognition
  Convolutional neural network for object detection
  Fast R-CNN
  Mast R-CNN
  YOLO
  Review quiz
 
week 13 (Thu: 04/21)

  Beyond recognition
  Lecture 13 slide
 

  Deep learning for semantic segmentaiton
  Review quiz

 
week 14 (Tue: 04/26)

  Beyond recognition
 

  Generative Adversarial Network (GAN)
  Recurrent Neural Network (RNN, LSTM, Transformer)
 
 
 
week 14 (Thu: 04/28)

  Final project discussion
  Course Evaluation

 
 
week 15 (Tue: 05/03)

  Project presentation
 
 
 
week 15 (Thu: 05/05)

  Project presentation

 

 
Week 16 (Tue: 05/10)

  Final Exam
  TBA
  TBA

 
  Final Project Code + Report (due by 05/10)

Acknowledgement
Many of the above slides are modified from the excellent class notes of similar course offered in Indiana University. The instructor is extremely thankful to Prof David Crandall (Indiana University) for making his notes available personally to the instructor.