Course Information
This class is a general introduction to computer vision. It covers standard techniques in image processing like filtering, edge detection, stereo, flow, etc. (old-school vision), as well as newer, machine-learning based computer vision. It was originally offered in the spring of 2018 at the University of Washington.
Instructors
TAs
- Connor Schenck
- Kiana Ehsani
- Xin Ru Wang
- Yao Lu
Slides are a mishmash of lots of other people's work. Special thanks to: Rob Fergus, Linda Shapiro, Harvey Rhody, Rick Szeliski, Ali Farhadi, Robert Collins. Lectures 8 and 9 on Flow, 3d, and stereo are given by Connor Schenck.
All of the slides, videos, and homeworks are free to use, modify, redistribute as you like without permission. Just make your own copy of the slides on Google Docs, don't ask to modify mine!
Homeworks
The class has 6 homeworks where you will build out a computer vision library in C. We cover basic image manipulations, filtering, features, stitching, optical flow, machine learning, and convolutional neural networks.
- Homework 0: Fun with Color!
- Homework 1: Resizing and Filtering
- Homework 2: Panoramas!
- Homework 3: Optical Flow
- Homework 4: Neural Networks and Machine Learning
- Homework 5: PyTorch
Final Project:
There was a final project worth 20% of the final grade.
Pick any area of computer vision that interests you and pursue some independent work in that area. Each project should have a significant technical component, software implementation, or large-scale study. Projects can focus on developing new techniques or tools in computer vision or applying existing tools to a new domain. If you don't have an idea you can train a classifier on birds and compete in the Kaggle competition posted on the Google Group.
Lectures
Lectures were automatically recorded with the schools Pantopto system. Unfortunately, some were recorded at the wrong aspect ratio and the audio was not recorded in the image segmentation lecture.
This YouTube playlist has all of the lectures in sequential order.
Lecture 1: Introduction
Lecture 2: Human Vision, Color Spaces, Transforms
Lecture 3: Image Coordinates, Resizing
Lecture 4: Resizing, Filters, Convolutions
Lecture 5: Edges and Features
Lecture 6: Harris, Matching, RANSAC
Lecture 7: Matching, RANSAC, HOG, and SIFT
Lecture 8: Optical Flow
Lecture 9: 3D, Depth, and Stereo
Lecture 10: Machine Learning for Computer Vision
Lecture 11: More Machine Learning for Computer Vision
Lecture 12: Neural Networks
Lecture 13: Convolutional Neural Networks
Lecture 14: Network Architectures
Lecture 15: Semantic Segmentation
- Due to the UW grad student strike, Ali gave this lecture. Unfortunately, the audio did not get recorded. I can post the video if you want but it's very boring... If you are sad there isn't another great lecture here, please email UW President Ana Mari Cauce, pres@uw.edu and let her know!
Lecture 16: Object Detection
Lecture 17: Guest Lecture from Ira Kemelmacher-Shlizerman
- Ira stopped by class to tell students about some awesome research going on in her lab. Unfortunately, the audio again didn't record. You can check out this video of some of the research she covered in class.