Final Grades. I Emailed grades, along with project comments.
If you have not received an Email, or I want to discuss grades or projects, please get back to me.
Thanks.
EOT/Project notes:
- Please hand in A1-A3 with your projects (if I don't have them already...).
- Due: 11:59pm
Monday, 8 April (my office DC2510, *outside my door*). Please
keep your own copies, since the delivery mechanism in not secure!
- I will have an office hour, Friday 3-5pm.
- Course marks will appear on this page after exams (26 April or later).
- Project comments will be available by Email or in person after exams.
Office hour, this week Wednesday 3 April 3:30--5pm, DC2510. Feel free to drop by to discuss projects.
I'll probably have another office hour on Friday as well, stay tuned...
Office hour, this week Monday 1 April 3-5pm, DC2510.
Asst#4 help.
Due date extended, to Thursday this week.
Sorry, there was a problem with my code and images below.
(Images should be typecast to "double" after reading them in.)
----------
I'm going to give a tutorial (myself) on Monday, to help with the DP part. Monday 5-6pm, DC2306 (AI lab).
Last lectures:
I will give two more lectures next week on "object recognition".
The final week will be guest lecturees + discussion (see schedule
below). By the way, if
anyone wants to give a presentation of their project (progress so far),
you are welcome to take ten or fifteen minutes during the last two
lectures. If you wish to do this, contact me at least a day before lecture. Thanks.
Tutorial: Today (Wed) 5-6pm, DC2306C (AI lab).
Asst#4 posted. Here (Corrected, Sun. Mar. 17, 20:00, further corrected Fri 22 March) Due: Tues 26 March (in class).
Asst#3, Deadline extended to Friday 15 Mar, 17:00, my office (DC2510).
Another day, for those who are "a day late and an hour behind"!
Tutorial: Wed 13 March, 5-6pm, DC2306C.
Assignment #3. *Deadline extended* Thurs March 13 (in class).
Fourier methods for motion estimation (Lecture of March 7, 2013). I probably confused many of you in this lecture! I will repeat this material in Tuesday's lecture.
Tutorial (for Asst#3): Thursday, 5-6pm, DC2306C (AI lab).
Interim report. Due: Thursday 7 March, in class.
Please submit two or three pages (hardcopy). Briefly describe
project and show some evidence of progress (eg., a sample run of your
program or a part of it). I don't need details, just some
evidence that you are progressing. The tutor and I will read the
reports and get back to you with comments if necessary. You can
also visit during office hours if you would like help...
Asst#3 posted. Here (March 2nd @ midnight). Sorry for the delay!
Note: The derivation of LSQ and mixtures for Asst#3 is a bit
different than for the lines I presented in class. I will review
the derivation in Tuesday's lecture.
Asst#3: Will go out Friday March 1st. *Deadline extended* Thurs March 13 (in class).
Next Tutorial: Monday March 4 (help with Asst#3).
Reading Week (and after):
- No office hour this week (Feb 22nd).
- Tutorial this week is: Monday Feb 25th (5-6pm DC2306C).
- Assignment #2 is due Tuesday Feb 26th, in lecture. Note: please print your code and hand it in with the assignment.
Scheduling notes:
- There is no final exam for this course. Please ignore the scheduled time slot!
- The interim project report will be due: Thursday March 7 (at lecture).
- The final project is due: Monday April 8th (EOT).
- Office hours will continue, Fridays 3-5pm. If you have project questions, come to an office hour or Email me.
- Tutorials will be weekly, and are moved to Wednesdays, 5-6pm, (DC2306C, AI lab)
- Assignments #3 and #4 will go out (approximately) March 1st and March 14th, respectively.
Assignment #2. Out: 10 Feb 2013. Due: Tues 26 Feb, 13:00 (at lecture), hardcopy (written or typeset): Linear Systems and Feature Detection (tgz) Matlab filtering code (tgz). (Demo filtering code, needed for Q1 and Q2, run Asst#2 files in this directory.) Feel free to experiment with filtering code. Type "help tutorials". Then cut and paste tutorials in a Matlab window.
Notes (Sat 9 Feb):
- Assignment #2: will be out soon (before Monday).
- Tutorial: Nothing on Monday. I'll announce a new time in class Tuesday.
------------
Office hour, Feb 8th (Friday) office hour cancelled. Contact me by Email if necessary.
Features (corners, SIFT). Images for corners uploaded, see below.
Books on Reserve: Nalwa, Marr, Szeliski, Horn, Trucco and Verri, all in Davis Center, under course number "CS484".
Matlab Demo code (filtering, Fourier): I've just uploaded my demo code. In case you want to follow along. See Lecture list below.
Asst #1, Q3a. Correction. Please
compute only the illuminant direction (I). Do not compute the
albedo (rho). You can only determine the albedo up to a scale
factor.
Project: As
I mentioned in class, I'm looking for a specific algorithm, either from
a paper or from Szeliski or some other textbook. If you cannot
find a project, here are some suggestions (chapter/section #'s are
listed from Szeliski's book):
- High dynamic range (HDR) images (Ch 10),
- Image stitching (Ch 9),
- Segmentation, mean shift (Sect 5.3), graph cuts (5.4, 5.5),
- Face recognition, Eigenfaces (14.2.1), see also datasets listed, Sect 14.6,
- 3D reconstruction from motion/stereo (eg., Sect 7.3, Factorization),
- 3D reconstruction from shading, texture, or focus (12.1),
Tutorial (help with Asst#1):
Mon Jan 28th, 5-6pm, DC2306C (AI lab).
Course notes added, see lectures below.
Assignment #1: Image formation and lighting (tgz). ZIP (Windows) version. Out: Fri. Jan 18th. Due Tues. Jan 29th, 13:00 (at lecture). Note: You will need Tuesday's lecture to do Q3.
Kinect sensors:
- On Sale for $109 @ Future Shop. Model # LPF-00016
includes inline 12V power supply and USB cable. I've got one
spare unit for loan.
- I'm running Ubuntu Linux 12.04 (64bit). If anyone can
help me get colour and Depth images into Matlab, Octave, or OpenCV,
please let me know.
- There are some great videos here, http://www.freenect.com. Here is a really cool one Physics-based animation with-xbox-kinect/
Office hours:
- Friday 3-5pm, DC2510.
- I will have sample projects available for viewing.
Notes after second lecture:
- I am posting text references and PDF papers below for each lecture.
- Assignment #1 will go out next week.
Notes after first lecture:
- I will be giving this course as blackboard lectures, with in-class Matlab demos, where possible.
- If you are curious about Assignments, please see my previous course (F11).
- Assignments will be based on my lecture demos in this class.
- The first assignment will go out next week (Tuesday).
Administrivia:
Time: Winter 2013; Lectures T,Th 13:00-14:20, MC4058.
First
lecture, Tues 8 January. Office hours TBA.
Tutorial time(s) TBA.
Instructor: Richard Mann, DC2510, x33006, mannr@uwaterloo.ca,
http://www.cs.uwaterloo.ca/~mannr
Audience: This course is
intended for advanced undergraduate and beginning graduate students
interested
in pursuing research in AI, Vision or related areas. Students
should expect to do a fair amount of independent study, both in
following the material and completing a course project.
The grades are based
on a small number of assignments (4) and a project. For the
project,
students will choose a vision problem or application, implement one or
more algorithm(s), and prepare a final report. The grades awarded
will depend on: 1) the difficulty of the problem selected, 2) the
implementation effort, 3) experimentation/testing and the quality of the written report. The report should provide
sufficient experiments and analysis, in particular, situations where
the algorithm(s) work and where they fail.
Grading (CS484) 60% assignments, 40% project. Assignments will typically have a both
a written and a (small) programming component. A moderate level of experimentation will be required on each assignment.
CS684: Graduate
students will take on a more advanced project, either from a recent
publication,
or vision-related topics from their thesis area. Graduate grades
will be: 40% assignments, 60% project to account for the larger project.
Presentation:
This is a lecture-based course. Material will be presented on the
blackboard and supplemented with
images and video. For those who do not wish to copy notes, I will
appoint a note taker who will make lectures available after each
lecture.
Software: Matlab will be used for
assignments, and
is encouraged for the project. Matlab is available in the
Undergrad Computing Enviroment. Matlab is an interactive
language, with a C-like syntax, that is optimized for numerical
computation and plotting/graphics.
- Software Licensing:
The Matlab license is expensive and restrictive. For those
interested in Open Source software, Octave provides a
decent
substitute for the assignments, albeit with bit of extra user
effort. The main difference between Octave and Matlab is in
plotting (Matlab is nicer). Matlab also has several specialized
"toolboxes" (image processing, signal
processing, etc) that Octave does not have. These change
frequently, and require additional licensing, so assignments in this
course will avoid toolboxes to maximize portability of code.
Prerequisites: There are no formal prerequisites for this
course,
however, it
is advisable to have some exposure to numerical computation, especially
linear
algebra (eg., CS370), and some basic programming experience.
References: All required material will be provided in
lectures. Possible references
include:
- Introductory Techniques for 3D Computer Vision, E.
Trucco and A. Verri, Prentice-Hall, 1998.
A concise treatment, focussing on geometric approaches
to vision. The course loosely follows this book, with lots of
other stuff thrown in.
New book, well presented, lots of
computational details. Good source of algorithms for projects.
- Computer Vision, A modern approach, D. A. Forsyth and
J. Ponce, Prentice Hall, 2003.
Comprehensive treatment of many areas of compuational
vision. A good
resource for background reading and choosing project ideas. Noteable
omission:
optical
flow.
- Vision, D. Marr. Freeman, 198x.
Classic text. Still recommended
reading showing the origins of many vision problems.
- Digital Image Processing, K. R. Castleman, Prentice
Hall, 1996.
Excellent reference on signal
processing and Fourier analysis. Very accessible to both Computer
Scientists and Engineers.
- Robot vision, B. K. P. Horn, MIT Press, 1986.
- Three-Dimensional Computer Vision, O. Faugeras, MIT Press, 1993.
I will put all of these books on reserve in the library (DC). You may
also
purchase Trucco and Verri's book in the University bookstore.
General Information:
Assignments:
Lectures:
(Student lecture notes are provided as a courtesy; they are not a substitute for attending lectures!)
- Tues Feb 12th. Least squares fitting (lines).
- Thurs Feb 14th. Hough, RANSAC. Robust fitting.
- Tues Mar 12. Stereo, part 1.
- Thur Mar 14. Stereo, part 2.
- Tues Mar 26. Object recognition, part 1 (Eigenfaces).
- Thur Mar 28. Object recognition, part 2 (Model based recognition).
- Tues Apr 2. Guest lecture, Nick Miller @ Miovision.
- Thur Apr 4. Guest lecture, Michael Cormier @ UWaterloo.
- Monday April 8. EOT. Projects Due (23:59:59, DC2510).
Reference material:
Course software:
Project ideas:
- (Undergrads) Implementation and further study of algorithms,
- Computational photography (high dynamic range, image compositing),
- Motion detection, gesture recognition, person tracking,
- Realtime image processing (eg., CUDA programming),
- 3d scene reconstruction,
- Object recognition/ object search,
- etc...
- (Grads) Thesis-related vision project (consult instructor).
Note: I
recommend starting with a small, well-defined problem,
even if you plan an ambitious project. You can always add to it later.
Additional References (to be updated):
Wearcam Steve Mann's webpage
on wearable computers and cameras.