Schedule
A tentative schedule below (subject to change as we progress).
Date Topics Readings Items due Week 1 (Mon: 08/26)
Introduction to Computer Vision
Lecture Slides 1
Course logistics
Introduction to computer vision
Week 1 (Wed: 08/28)
Image Filtering: cross-correlation
Lecture Slides 2
In-class activity #1 (image filtering cross-correlation)
Pillow concepts
Pillow tutorial
Image.open(path)
Image.save(path)
Image.new('L', (width, height), color=0)
Image.getpixel( (x,y) )
Image.putpixel( (x,y), value)
ImageDraw( img )
Week 2 (Wed: 09/02)
Labor Day (university holiday; classes do not meet)
Week 2 (Wed: 09/04)
Image Filtering: convolution
Lecture Slides 3
Activity (image filtering: convolution)
Notebook#1 (released on 09/05)
Image.histogram()
Week 3 (Mon: 09/09)
Image Recognition
Image Classification and Neural Networks (NN)
Types of NN: Multilayer Perceptron (MLP)
Lecture Slides 4
In-class activity #2 (PyTorch MLP)
PyTorch Basics (review this before attempting activity#2)
PyTorch: nn.Linear()
PyTorch: nn.Sigmoid()
PyTorch: nn.Tanh()
PyTorch: nn.ReLU()
Week 3 (Wed: 09/11)
In-class activity #2 (PyTorch MLP) continued
Types of NN: Convolution Neural Network (CNN)
Lecture Slides 5
PyTorch: nn.Conv2d()
PyTorch: nn.MaxPool2d()
PyTorch: nn.AvgPool2d()
Notebook#1 (due on 09/13)
Week 4 (Mon: 09/16)
Reza is traveling (class does not meet) Midwest Computer Vision Workshop@Indiana University Bloomington
Notebook #2 (released on 09/16)
Week 4 (Wed: 09/18)
In-class activity #3 (PyTorch CNN)
Notebook#2 discussion
Week 5 (Mon: 09/23)
Popular Image Classification Networks (AlexNet, VGG, ResNet)
Dissecting Popular Pre-trained CNN models
Lecture Slides 8
AlexNet dissection
VGG-16 dissection
ResNet dissection
Notebook#2 (due on 09/23)
Week 5 (Wed: 09/25)
Fine-tuning a Pre-trained CNN model
Lecture Slides 9
Fine-tuning CNNs
Notebook#3 (Fine-tuning popular CNNs)
Week 6 (Mon: 09/30)
Vision Transformer (ViT)
Other ViT variants (Swin Transformer Tiny)
ConvNext, Inflated-ConvNext Tiny
Lecture Slides 10
Vision Transformer (ViT) Dissection
The Hardware Lottery - Sara Hooker
Transformer (designed to win the hardware lottery)
Vision Transformer (ViT): Transformers for image recognition at scale
Week 6 (Wed: 10/02)
Object Detection: Classical and Deep Learing-Based
Lecture Slides 11a: Classical Detectors
Lecture Slides 11b: Deep learning-based Detectors (Faster R-CNN, Mask R-CNN)
Notebook#3 (due on 10/02)
Week 7 (Mon: 10/07)
Inference with Popular Object Detectors (Faster R-CNN, Mask R-CNN)
Lecture Slides 12
Inference with Object Detector: Faster R-CNN
Week 7 (Wed: 10/09)
Lecture Slides 13
Fine-tuning Popular Object Detectors (Faster R-CNN, Mask R-CNN)
Fine-tuning Object Detector: Faster R-CNN
Quiz#1 (released on 10/09)
Week 8 (Mon: 10/14)
Fall Break (no class)
Week 8 (Wed: 10/16)
Image Segmentation
Classical Segmentation (Felzenswalb, SLIC, clustering)
Lecture Slides 13 part1
Lecture Slides 13 part2
Classical Image Segmentation Codes
Quiz#1 (due on 10/16)
Week 9 (Mon: 10/21)
Vision Foundation Model for Image Segmentation: Segment Anything (SAM)
Lecture Slides 14 [pptx]
Week 9 (Wed: 10/23)
Inference with SAM: Automatically generating object masks with Segment Anything (SAM)
Semantic Segmentaiton
Popular Semantic Segmentation Models (FCN, SegNet, U-Net, PSPNet)
Lecture Slides 15
Week 10 (Mon: 10/28)
Probability Basics
Discrete Probability Distribution
Lecture Slides 16 part1
Discrte probability distribution code
Continous Probability Distribution
Gaussian Distributions
Lecture Slides 16 part2
In-class activity#5: Continous probability distribution
Notebook#4 (Fine-tuning Detectors: Faster & Mask R-CNN)
Week 10 (Wed: 10/30)
Classes do not meet in-person
Dr. Reza is traveling to China as part of a Drake University delegation
Week 11 (Mon: 11/04)
Classes do not meet in-person
Dr. Reza is traveling to China as part of a Drake University delegation
Week 11 (Wed: 11/06)
Image Generation and Deep Generative Models: Generative Adversarial Network (GAN)
Lecture Slides 17
Week 12 (Mon: 11/11)
Maximum Likelihood (ML) Estimate
Lecture Slides 18 part1
In-class activity#6: Maximum likelihood estimate for Gaussian distribution
Image Generation and Deep Generative Models: Variational Auto Encoder (VAE)
Lecture Slides 18 part2
Tutorial on variational autoencoder by Carl Doersch
Generating Counterfactual Images: C2C-VAE - CBREIS'22
Generative model: implicit reparameterization
Wasserstein Distance
Week 12 (Wed: 11/13)
Image Generation and Deep Generative Models: Variational Auto Encoder (VAE)
Lecture Slides 18 part2 (continued)
In-class activity#7: VAE code for digit image generation using MNIST dataset
Quiz#2 (released on 11/13)
Notebook#4 (due on 11/13)
Week 13 (Mon: 11/18)
Image Generation and Deep Generative Models: Diffusion Model
Lecture Slidees 19
In-class activity#8: Generating images from text prompt using Stable Diffusion Model
Diffusion models are evolutionary algorithms - arxiv'24
Quiz#2 (due on 11/19)
Week 13 (Wed: 11/20)
Image Transformation
Linear transformation
Lecture Slidees 20
In-class activity#8: Rotation, Scaling, Shearing transformation
Week 14 (Mon: 11/25)
Notebook #5 (Semantic Segmentation Inference and Training)
From Images to 3D Models-ACM Communication'2002
Week 14 (Wed: 11/27)
Thanksgiving Break (no class)
Week 15 (Mon: 12/02)
Homogenous coordinates
Affine and projective transformation
Lecture Slides 21 part1
Camera Projection
Modeling projection
Activity: projection practice
Generalizing the model
Adding a lens
Lecture Slides 21 part2
Week 15 (Wed: 12/04)
3D Reconstruction from Images: Stereo Matching
Depth from stereo
The case of parallel cameras
Parallel cameras and rectification
Naive stereo matching
Stereo matching with deep neural network
Lecture Slides
Notebook#5 (due on 12/04)
Final Project Presentation on 12/11
Week 16 (Mon: 12/09)
Quiz#3 (released on 12/10)
No final exam!
Week 16 (Wed: 12/11)
Final project group presentation
Course Evaluation
@Collier-Scripps#335
Q3 (due on 12/13)
Final Project Code +
Presentation Slides (due by 12/16)