Announcements
Our final exam will be on Wednesday, December 14, 4-5:50pm, in our usual classroom.[top]
Overview
Course description: In this class, students will learn the basics of modern computer vision. The first major part of the course will cover fundamental concepts such as image formation, image filtering, edge detection, texture description, feature extraction and matching, and grouping and fitting. A brief intro to machine learning will follow, in preparation for the second course chapter on visual recognition. We will study state of the art approaches in object and scene recognition, attribute-based description, human pose and activity recognition. We will also discuss a few topics from the most recent computer vision conferences, including recognition with deep convolutional neural networks, and interactions between vision and language. The course format will include lectures, written homework assignments, programming homework assignments, and exams.Prerequisites: CS1501
Textbooks:
- Readings from:
- Computer Vision: Algorithms and Applications by Richard Szeliski (available for free on author's page)
- Visual Object Recognition by Kristen Grauman and Bastian Leibe (accessible for free from campus)
- For reference:
- Computer Vision: A Modern Approach by David Forsyth and Jean Ponce
- Computer Vision: Models, Learning, and Inference by Simon Prince (available for free on author's page)
- Pattern Recognition and Machine Learning by Christopher Bishop
Policies
Grading
Grading will be based on the following components:- Written homework (11 assignments x 1% each = 11%)
- Programming homework (11 assignments x 4% each = 44%)
- Midterm exam (15%)
- Final exam (25%)
- Participation (5%)
Homework Submission Mechanics
You will submit your homework using CourseWeb. Navigate to the CourseWeb page for CS1674, then click on "Assignments" (on the left) and the corresponding homework ID. Your written answers should be a single .pdf/.doc/.docx file. Your code should be a single zip file with .m files (and images/results if requested). Name the file YourFirstName_YourLastName.[extension]. Please comment your code! Homework is due at 11:59pm on the due date. Grades will be posted on CourseWeb.Exams
There will be one in-class midterm exam, and a final exam which will focus on material from the latter part of the course. There will be no make-up exams unless you or a close relative is seriously ill!Participation
Students are expected to regularly attend the class lectures, and should actively engage in in-class discussions. Attendance will not be taken, but keep in mind that if you don't attend, you cannot participate. You can actively participate by, for example, responding to the instructor's or others' questions, asking questions or making meaningful remarks and comments about the lecture, and answering others' questions on Piazza. You are also encouraged to bring in relevant articles you saw in the news.Late Policy
On your programming assignments only, you get 3 "free" late days, i.e., you can submit your code and results a total of 3 days late. For example, you can submit one programming assignment 12 hours late, and another 60 hours late. Once you've used up your free late days, you will incur a penalty of 25% from the total assignment credit possible for each late day. A late day is anything from 1 minute to 24 hours. Note this policy does not apply to written homework.Collaboration Policy and Academic Honesty
You will do your work (exams and homework) individually. The work you turn in must be your own work. You are allowed to discuss the assignments with your classmates, but do not look at code they might have written for the assignments, or at their written answers. You are also not allowed to search for code on the internet, use solutions posted online unless you are explicitly allowed to look at those, or to use Matlab's implementation if you are asked to write your own code. When in doubt about what you can or cannot use, ask the instructor! Plagiarism will cause you to fail the class and receive disciplinary penalty. Please consult the University Guidelines on Academic Integrity.Note on Disabilities
If you have a disability for which you are or may be requesting an accommodation, you are encouraged to contact both your instructor and Disability Resources and Services (DRS), 140 William Pitt Union, (412) 648-7890, drsrecep@pitt.edu, (412) 228-5347 for P3 ASL users, as early as possible in the term. DRS will verify your disability and determine reasonable accommodations for this course.Note on Medical Conditions
If you have a medical condition which will prevent you from doing a certain assignment, you must inform the instructor of this before the deadline. You must then submit documentation of your condition within a week of the assignment deadline.Statement on Classroom Recording
To ensure the free and open discussion of ideas, students may not record classroom lectures, discussion and/or activities without the advance written permission of the instructor, and any such recording properly approved in advance can be used solely for the student's own private use.[top]
Schedule
Date | Topic | Readings | Lecture slides | Due |
8/29 | Introduction | pptx pdf | ||
8/31 | Matlab tutorial | Szeliski Sec. 1.1-1.2 | pptx pdf | |
9/5 | Labor Day (no class) | HW1W | ||
9/7 | Matlab tutorial (cont'd); Image filtering | Szeliski Sec. 3.2 | pptx pdf | |
9/12 | Filtering and texture | Szeliski Sec. 3.2, 10.5 | pptx pdf | HW1P HW2W |
9/14 | Texture representation; Image pyramids | Szeliski Sec. 4.1.1 | pptx pdf | HW2P |
9/19 | Feature detection | Szeliski Sec. 4.1, Grauman/Leibe Ch. 1-3; SIFT paper by David Lowe | pptx pdf | HW3W |
9/21 | Feature detection (cont'd) and description | [see above] | pptx pdf | HW3P |
9/26 | Feature description (cont'd) | [see above] | [see above] | HW4W |
9/28 | Feature matching and indexing | Szeliski Sec. 14.3; Grauman/Leibe Ch. 4, 6 |
pptx pdf | HW4P |
10/3 | Affine and projective transformations | Szeliski Sec 2.1, 3.6.1, 7.1, 7.2 | pptx pdf | HW5W |
10/5 | Epipolar geometry and stereo vision | [see above] | pptx pdf | |
10/10 | Midterm review | pptx pdf | HW5P | |
10/12 | Midterm exam | |||
10/17 | Fall break (no class) | |||
10/18 | Make-up for fall break: Edge detection, segmentation and grouping |
Szeliski Sec. 4.2, 5.3-4 | pptx pdf | |
10/19 | Fitting models (Hough transform, RANSAC) | Szeliski Sec. 4.3.2; Grauman/Leibe Ch. 5.2 |
pptx pdf | |
10/24 | Intro to visual recognition | Grauman/Leibe Ch. 7, Sec. 8.1 | pptx pdf | HW6W |
10/26 | Scene recognition | pptx pdf | HW6P | |
10/31 | Support vector machines; Overfitting | Bishop PRML
Sec. 1.1, Bishop PRML Sec. 7.1 |
pptx pdf | HW7W |
11/2 | Attributes and zero-shot learning | paper1, paper2 (skim), paper3 (skim) |
pptx pdf | HW7P |
11/7 | Face detection | Grauman/Leibe Sec. 8.1, 11.1, Szeliski Sec. 14.1 | pptx pdf | HW8W |
11/9 | Deformable part models | Szeliski Sec. 14.4, Grauman/Leibe Sec. 8.2, 9, 10.3.3, 11.2,5 | pptx pdf | HW8P |
11/14 | Class canceled -- CVPR deadline | HW9W | ||
11/16 | Neural networks | pptx pdf | HW9P | |
11/21 | Neural networks (cont'd) | Karpathy's notes, Module 1 | ||
11/23 | Thanksgiving (no class) | |||
11/28 | Convolutional neural networks | Karpathy's notes, Module 2 | pptx pdf | HW10W |
11/30 | Convolutional neural networks (cont'd) | HW10P | ||
12/5 | Recurrent neural networks; Tracking, pose and actions |
Szeliski Sec. 12.6.4; Pirsiavash and Ramanan, CVPR 2012; Wu et al., CVPR 2016 (optional) | pptx pdf pptx pdf |
HW11W |
12/7 | Final review | pptx pdf | HW11P | |
12/14 | Final exam 4pm-5:50pm |
[top]
Resources
This course was inspired by the following courses:- Computer Vision by Kristen Grauman, UT Austin, Spring 2011
- Computer Vision by Derek Hoiem, UIUC, Spring 2015
- Matlab tutorial
- Linear algebra review by Fei-Fei Li
- Brief machine learning intro by Aditya Khosla and Joseph Lim
- Resources list (including code and data, tutorials, and other related courses) compiled by Devi Parikh
- Microsoft COCO (Common Objects in Context)
- ImageNet
- SUN Database
- Animals with Attributes
- Caltech-UCSD Birds 200
- INRIA Movie Actions
- Recognition datasets list compiled by Kristen Grauman
- Human activity datasets list compiled by Chao-Yeh Chen