CS2770: Computer Vision, Spring 2017

Location: Sennott Square 5313
Time: Tuesday and Thursday, 9:30am - 10:45am
Instructor: Adriana Kovashka (email: kovashka AT cs DOT pitt DOT edu; use "CS2770" at the beginning of the subject line)
Office: Sennott Square 5325
Office hours: Tuesday and Thursday, 3:30pm - 5:30pm
TA: Keren Ye (email: yekeren AT cs DOT pitt DOT edu; use "CS2770" at the beginning of the subject line)
TA's office hours: Tuesday 4pm - 6pm and Wednesday 10am - 12pm, Sennott Square 5501

Overview

Course description: In this class, students will learn about modern computer vision. The first part of the course will cover fundamental concepts such as image formation and filtering, edge detection, texture description, feature extraction and matching, grouping and clustering, model fitting, and combining multiple views. A crash course in machine learning will be included, in preparation for the second course chapter on visual recognition. We will study classic and modern approaches in object detection, deep learning, mid-level representations, active, transfer, and unsupervised learning, tracking, and human pose and activity recognition. The format will include lectures, homework assignments, exams, and a course project.

Prerequisites: CS1501 and MATH 0280 (or equivalent). The expectation is that you can program and analyze the efficiency and performance of programs. Further, some experience with linear algebra (matrix and vector operations) is recommended. For some parts of the course, it would be useful to remember basic calculus and how to compute derivatives. Some experience with probability and statistics would also be useful.

Piazza: Sign up for it here. Note that we will use Piazza for two main purposes: (1) for announcements, and (2) for classmate-to-classmates discussion of homework problems, etc. The instructor will monitor Piazza infrequently. The time when you should ask the instructor or TA questions is during office hours.

Programming languages: For homework assignments, you can use Matlab or Python. For the course project, you can use any language of your choice.

Textbooks: [top]

Policies

Grading

Grading will be based on the following components:

Homework Submission Mechanics

You will submit your homework using CourseWeb. Navigate to the CourseWeb page for CS2770, then click on "Assignments" (on the left) and the corresponding homework ID. Your written answers should be a single .pdf/.doc/.docx file. Your source code should be a single zip file (also including 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.

Paper reviews

During the second part of the course, you will be asked to write 1-page paper reviews for three papers (of your choice) from the assigned reading. Paper reviews are due at 11:59pm on CourseWeb, and should follow the same naming conventions as homework assignments. Please submit only .pdf or .doc/.docx files, zipped in a .zip file. Please answer the following questions in each paper review:
  1. Summarize what this paper aims to do, and what its main contribution is.
  2. Summarize the proposed approach.
  3. Summarize the experimental validation of the approach.
  4. What are three advantages of the proposed approach?
  5. What are three disadvantages or weaknesses of the approach or experimental validation?
  6. Suggest one possible extension of this approach, i.e. one idea for future work.

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 counted in minutes, i.e., you can submit a total of 72 hours late. For example, you can submit one homework 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 components of the project.

Collaboration Policy and Academic Honesty

You will do your work (exams and homework) individually. The only exception is the project, which can be done in pairs. 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 or Python'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]

Project

A project can be: Milestones for the project: General rules: If you are proposing a new problem or a new solution to an existing problem: If you are proposing a literature review, or are proposing to experimentally compare existing solutions to a known problem: For sources of ideas: [top]

Schedule

Date Chapter Topic Readings Lecture slides Due
1/5 Basics Introduction Szeliski Sec. 1.1-1.2 pptx pdf
1/10 Intro (cont'd)
Linear algebra
pptx pdf
1/12 Matlab
Intro to recognition
pptx pdf
1/17 Support vector machines Bishop PRML Sec. 1.1,
Bishop PRML Sec. 7.1
1/19 Neural networks Karpathy Module 1 pptx pdf HW1 out
1/24 Neural networks (cont'd)
1/26 Convolutional neural networks Karpathy Module 2, Krizhevsky NIPS 2012, Zeiler ECCV 2014 pptx pdf
1/31 Understanding convolutional neural networks pptx pdf
2/2 Low-level tasks Filters and texture Szeliski Sec. 3.2, 10.5, 4.1.1 pptx pdf
2/7
2/9 Feature detection and description Szeliski Sec. 4.1, Grauman/Leibe Ch. 3; feature survey Ch. 1,3.2,7; SIFT paper by David Lowe pptx pdf HW1 due, HW2 out
2/14
2/16 Feature matching Szeliski Sec. 14.3; Grauman/Leibe Sec. 4.2; Video Google pptx pdf
2/21 Edge detection, segmentation and clustering Szeliski Sec. 4.2, 5.3-4; Hariharan CVPR 2015 pptx pdf
2/23 HW2 due, HW3 out
2/28 Hough transform and RANSAC Szeliski Sec. 4.3.2, 6.1.4; Grauman/Leibe Sec. 5.2 pptx pdf
3/2 Midterm exam
3/7 Spring break (no class)
3/9
3/14 Multiple views Szeliski Sec 2.1, 3.6.1, 7.2, 11.1.1; Grauman/Leibe Sec. 5.1 pptx pdf project proposal due
3/16 High-level tasks Object recognition and detection Szeliski Sec. 14.1, 14.4; Grauman/Leibe Sec. 8, 9, 10.2.1.1, 10.3.3, 11.1,2,5;
Viola Jones CVPR 2001, Felzenszwalb PAMI 2010, Girshick CVPR 2014
pptx pdf
3/21
3/23 HW3 due
3/28 Sequential predictions; Recurrent neural networks blog1, blog2,
Karpathy CVPR 2015,
Wu CVPR 2016
pptx pdf
3/30
4/4 Motion: Tracking, pose and actions Shotton CVPR 2011,
Laptev CVPR 2008,
Pirsiavash CVPR 2012
pptx pdf
4/6
4/11 Unsupervised learning, active learning, our research Doersch ICCV 2015, Lee ICCV 2013, Branson ECCV 2010 pptx pdf

pptx pdf
project draft due
4/13 paper reviews due
4/18 Final exam
4/20 Projects Project presentations (schedule)
4/25
4/27 project final report due

[top]

Resources

This course was inspired by the following courses: Tutorials: Some datasets: Some code of interest: [top]