CMSC 426
Image Processing (Computer Vision)
David Jacobs
Spring 2014

 

http://www.cs.umd.edu/~djacobs/CMSC426/checkershadow-AB.jpg

Announcements

General Information

 

 

Schedule for the Workshop: Recent Trends in Computer Vision

Class Time 

Monday, Wednesday 2:00-3:15

Room

CSI 2107

Text

There is no assigned text, but you will receive course notes, and may want to consult three optional books:

  • A draft of Richard Szeliski's new computer vision book is available online. (Nice book, though aimed at a more advanced audience. I highly recommend you download – it’s free!)
  • Introductory Techniques for 3-D Computer Vision by Trucco and Verri. Very nice introductory text with clear descriptions, although it’s a bit old and doesn’t cover all the material in our class.
  • Computer Vision: A Modern Approach by Forsyth and Ponce. More of a graduate text, but widely used.

·         Graduate students taking this course may, in particular, want to purchase Forsyth and Ponce.

Personnel

 

 

Instructor

Teaching Assistant

Name

David Jacobs

Hao Zhou

Email

djacobs (at) cs

zhhoper (at) gmail.com

submit problem sets to:

assignmentcmsc426 (at) gmail.com

Office

AVW 4421

AVW 4103

Office hours

Mon., Tues. 10-11

Tues., Fri., 2-3

If you cannot make these office hours, please feel free to send email to arrange another time to meet. 

 

 

Course Policies

 

 

 

 

 

Course work, late policies, and grading

There will be (probably) eight problem sets assigned during the semester. Six of these will include programming assignments to be done in Matlab. Matlab is free to download throughout the university. Students can download and install matlab through
http://www.it.umd.edu/techsavings/software.html

Some of these will also include pencil and paper exercises. Two problem sets will be purely pencil and paper exercises. Students will have one or two weeks for each problem set, depending on its size.

In addition there will be a computer vision workshop at the University of Maryland on Feb. 24th. Students are required to attend at least one talk, and write a one paragraph summary of the talk. Students not able to attend the workshop may write a summary of a published research paper on computer vision that is approved by Prof. Jacobs.

 

Homework is due at the start of class. Problems may be turned in late, with a penalty of 10% for each day they are late, but may not be turned in after the start of the next class after they are due. For example, if a problem set is due on Monday, it may be turned in before Tuesday at 2:00, with a 10% penalty, or before Wednesday at 2:00, with a 20% penalty, but no later than Wednesday at 2:00.

There will be three exams. Early in the semester, there will be a short, in-class midterm that will take about half the class. Later, there will be a midterm that will be in class for a complete class period. The final will be during the normal final exam time. Each exam will be cumulative, covering all material learned to that point in the class, with a greater emphasis on material learned since the previous exam. Exams and problem sets will all be based on material discussed in class. Readings are available to help students understand this material, but students will not be expected to master any material not discussed in class.

These will be weighted for the final grade as: Homework 35%, summary of talk, 2%, first midterm 9% second midterm 18%, final exam 36%.

Homework assignments are to be written up neatly and clearly, and programming assignments must be clear and well-documented. Programs should be written in Matlab. A full paper copy of all of the homework must be turned in. In addition, we will ask you to email a copy of all code to the TA, Hao Zhou, at: assignmentcmsc426@gmail.com.

Some homeworks and projects may have a special challenge problem. Points from the challenge problems are extra credit. This means that I do not consider these points until after the final course grade cutoffs have been set. Students participating in class discussion or asking good questions will also receive extra credit.

 

 

Academic Honesty

All class work is to be done independently. You are allowed to discuss class material, homework problems, and general solution strategies with your classmates. When it comes to formulating/writing/programming solutions you must work alone. If you make use of other sources in coming up with your answers you must cite these sources clearly (papers or books in the literature, friends or classmates, information downloaded from the web, whatever).

It is best to try to solve problems on your own, since problem solving is an important component of the course. But I will not deduct points if you make use of outside help, provided that you cite your sources clearly. Representing other people's work as your own, however, is plagiarism and is in violation of university policies. Instances of academic dishonesty will be dealt with harshly, and usually result in a hearing in front of a student honor council, and a grade of XF. (Note, this and other course policies are taken from those of Prof. David Mount).



Absences

Any student who needs to be excused for an absence from a single lecture, recitation, or lab due to a medically necessitated absence shall: a) Make a reasonable attempt to inform the instructor of his/her illness prior to the class. b) Upon returning to the class, present their instructor with a self-signed note attesting to the date of their illness. Each note must contain an acknowledgment by the student that the information provided is true and correct. Providing false information to University officials is prohibited under Part 9(h) of the Code of Student Conduct (V-1.00(B) University of Maryland Code of Student Conduct) and may result in disciplinary action. The self-documentation may not be used for the Major Scheduled Grading Events as defined below and it may only be used for only 1 class meeting (or more, if you choose) during the semester. Any student who needs to be excused for a prolonged absence (2 or more consecutive class meetings), or for a Major Scheduled Grading Event, must provide written documentation of the illness from the Health Center or from an outside health care provider. This documentation must verify dates of treatment and indicate the timeframe that the student was unable to meet academic responsibilities. In addition, it must contain the name and phone number of the medical service provider to be used if verification is needed. No diagnostic information will ever be requested. The Major Scheduled Grading Events for this course include: a) Midterm - October 9 during the lecture period b) Final exam, as given in University schedule.

Academic Accommodations

Any student eligible for and requesting reasonable academic accommodations due to a disability is requested to provide, to the instructor in office hours, a letter of accommodation from the Office of Disability Support Services (DSS) within the first two weeks of the semester.

 

Below is a tentative schedule for problem sets and lectures.

Problem Sets

Assigned

Due

Problem Set 1 : Intro to Matlab, Histograms Matlab template

Images to use for your writeup: desert1 desert2 desert3 forest1 forest2 forest3

Jan. 29

Feb 5

Problem Set 2: K-means clustering and Color Quantization

Problem Set    Test Code     Result for Case 5     forest2

Images for challenge problem leaf1  leaf2  leaf3  leaf4  leaf5  leaf6  See also this paper:

 Feb 5

Feb 19

Problem Set 3: Histogram Equalization, Filtering, Image Gradients

Problem Set

Feb 19

Feb 26

Practice Midterm (not to be turned in) Practice Midterm

Feb 26

 

Problem Set 4: Problem Set You will need the following files: BackgroundImages.zip, foreground_image.bmp, BackgroundSubtractionResults.jpg for Problem 1. You will need swanbw.jpg for Problem 2. Your result should look like: swan result.

 March 5

March 12

Problem Set 5: Problem Set Brick Test Image.

March 12

March 26

Problem Set 6: Problem Set Image 1 Image 2 Matlab Code

March 26

April 9

Practice Midterm Practice Midterm Answers

April 9

 

Problem Set 7: Problem Set Image pair for part e: T3bw.jpg T4bw.jpg. Second image pair for part e: I1L.jpg I1R.jpg.

April 16

April 30

Problem Set 8: Problem Set

April 30

May 7

Review for Final Practice Final Answers

 

 

Class slides will typically be posted here, usually minutes before class begins.

 

 

Class Slides

SLIDES

NOTES

READINGS

Class 1:Introduction (Jan 27)

 

 

Class 2: Pre-assessment and Intro to Matlab (Jan 29)

Pre-assessment notes

Matlab download


Class 3: Review pre-assessment, Histograms, (Feb 3)

 

Histogram Notes

 

CVonline Histogram Equalization Tutorial

Class 4: K-means clustering and color quantization (Feb 5)

K-Means Notes

The Foundations of Color Measurement and Color Perception by Brian Wandell

 

Szeliski, 3.1.4

Class 5: Filtering and Correlation

(Feb 10)

 

Correlation and Convolution Notes

Tutorial from Sussex on Convolution

Szeliski 3.2-3.22

 

Szeliski, 3.4-3.4.1

Class 6: (Feb 12)

 

Szeliski, 4.2.1 up to scale selection

 

Class 7: Fourier Analysis Edge Detection - 1D, Image Gradients (Feb 17)

Gradient Notes

 

Tutorial from Sussex on Gaussian filtering and edge detection

 

Canny Edge Detector, from CVonline

 

Class 8: Edge Detection, 2D (Feb 19)

 

 

 

Class 9: Human Perceptual Grouping (Feb 24)

 

"Laws of organization in perceptual forms" at http://psy.ed.asu.edu/~classics/Wertheimer/Forms/forms.htm

 

Class 10: Background Subtraction (Feb 26)

 Statistics Notes

 

 

Class 11: Snow day (March 3)

 

 

 

Class 12: Short midterm and review of solutions (March 5)

 

 

 

Class 13: Texture (March 10)

 

Texture Synthesis by Non-parametric Sampling by Efros and Leung. Web page contains links to the paper and pseudocode.

 

Class 14: Interactive Segmentation with Graph Cuts, (March 12)

 

  Interactive Graph Cuts for Optimal Boundary & Region Segmentation of Objects in N-D Images

 

Class 15: SIFT Descriptors and Blob Detection (March 24)

 See paper by Lowe on right

 David G. Lowe, "Distinctive image features from scale-invariant keypoints," International Journal of Computer Vision, 60, 2 (2004), pp. 91-110.

 

Class 16: Image Registration and 2D transformations ) (March 26)

 

Dave Mount's Lecture Notes for Computer Graphics, Chapters 6, 7 and 8 might be helpful.

 

Class 17: RANSAC, Mosaicing (March 31)

 

 The RANSAC song

 

Class 18: Perspective Projection and Cameras (April 2)

Geometry Notes

 

 

Class 19: 3D Geometry and Stereo (April 7)

 

 

 

Class 20: Stereo Matching (April 9)

 

 

 

Class 21: Midterm (April 14)

 

 

 

Class 22: Recap of midterm, (April 16)

 

 

 

Class 23: Motion Flow Fields , (April 21)

 

 

 

Class 24: Optical Flow (April 23)

 

 

 

Class 25: Structure-from-Motion (April 28)

 

Szeliski, 7.2

 

The Fundamental Matrix Song 

 

Class 26: Linear Motion and Lighting (April 30)

 

 

Class 27: Bag of Words (May 5)

 

Slides from Svetlana Lazebnik’s class, March 31

 

Class 28: Detection (May 7)

 

 Slides from Svetlana Lazebnik’s class, March 24 and April 12

 

Class 29: Conclusions (May 12)

 

 

 

 

FINAL May 19, 1:30-3:30