CS268 Fall 2007

TR 2:00-3:40, 5273 Boelter Hall
COMPUTER SCIENCE 268: MACHINE PERCEPTION
SYLLABUS
 

Lecture
Topic
Reading
Lecture Notes
Homework Assignments
Projects
1
Introduction; overview of the course; administration; prerequisites; policy
This syllabus. Ch. 1
Lecture1 None
Project description and discussion
2* (Jones)
Review of linear algebra, the singular value decomposition, least-squares estimation
App. A
Lecture 2
Exercises 2.1, 2.2, 2.6, 2.9, plus any two among 2.10, 2.11, 2.12, 2.14
Group assignments
3* (Jones)
Euclidean geometry: rigid motion, exponential coordinates, homogeneous coordinates, quaternions
Ch. 2
Lecture 3 Lab1 out (you will need rodrigues.m, skew3.m; see also this useful matlab tutorial)
4
Projective geometry; central projection, orthographic projection
Ch. 3.3, 3.B; Primer Lecture 4 Exercise 3.5, 3.9, 3.10; optional 3.4

5
Epipolar geometry: Reconstruction of a scene from two views
Ch. 5
Lecture 5
What is the image of a sphere? Show that the Fundamental matrix maps points in one image onto lines in the other.

6* (Meltzer)
Planar scenes: Homographies, ambiguities. Calibration with a rig
Ch. 6.5.2, 6.5.3
Handouts
None
Project plans due
7* (Meltzer)
Light, lenses, radiometry
Ch. 3.1, 3.2, 3.A
Handouts
None

8
Fundamentals of image processing
IP tutorial None
Lab2; you will need
clickimage.m, image1, image2, image3, image4, image5, image6

9* (Vedaldi)
Correspondence; feature tracking; optical flow
Ch. 4
Lecture 9
Lab3: Feature detection and tracking

10
Wide-baseline matching
Comparative study; SIFT None
Lab4: Correspondence

11
Uncalibrated reconstruction: The Fundamental matrix
Ch. 6
Lecture 11 Lab5: linear two-view reconstruction

12
Ambiguities; geometric stratification; reconstruction with partial scene knowledge
Ch. 6
Lecture 12
None
Project 1, stage 1: non-linear 2-view reconstruction (calibrated and uncalibrated)
13
Basic optimization
App. C
None
None

14
Multiple-view geometry; calibrated reconstruction
Ch. 8
Lecture 14 None

15
Multi-view autocalibration
Ch. 8.5
Lecture 15
Project 1, stage 2: multi-view projective reconstruction.
16
Bundle adjustment
Ch. 11;  Handouts
Lecture 16
Project 2, stage 1: Projective bundle adjustment
17*
Thanksgiving holiday




18* (Vedaldi)
Robust statistics; RANSAC and variants
Ch. 11; Handouts
Lecture 17
Project 2, stage 2: Outlier rejection; Euclidean bundle adjustment
19* (Fulkerson)
Epipolar rectification; dense correspondence; texture mapping
Ch. 11; Handouts
None

Project 3, stage 1: Multi-view autocalibration with known principal point and changing focal length (absolute quadric)
20
Fundamentals of stochastic filtering
App. B
None

Project 4, stage 1: Epipolar rectification.
21* (Jones)
Causal, real-time Structure From Motion
Ch. 12
None

Project 3, stage 2: Multi-view autocalibration with constant K
Project 4 stage 2: Dense correspondence, mesh simplification, texture mapping

Reading list refers to MASKS (Ma-Soatto-Kosecka-Sastry, "An invitation to 3D vision" Springer Verlag, 2003)

Homework assignments are not mandatory, and will not be graded. Solutions to selected homeworks will be provided.

COURSE DESCRIPTION

This is an introductory course on 3D computer vision.Through the study of the geometry of rigid motions and perspective projections we will explore ways for computers to infer three-dimensional properties of the environment from collections of images. In particular, the course will concentrate on estimating 3D shape and motion.

NOTE: Course description on registrar website is updated. No "symbolic and iconic representations", no "neural networks" in this course.

PREREQUISITES

There are no formal prerequisites. However, a solid background in linear algebra and basic probability and stochastic processes is highly recommended. This background should be part of the basic knowledge any Engineering or Science graduate should have. Projects are going to be develped in Matlab, so familiarity with that software is helpful.

GRADING POLICY

The grade is based on the quality of the projects. Students will organize into groups, and choose one of four projects. Each group will be required to present a written project plan, specifying the strategy to address the problem and the organization withini the group; a written report for stage 1; a written report for stage 2, and a final report. Each group will be required to give a brief (10') live demonstration to the class upon completion of stage 2, prior to turning in the final report. The grade will be based on the performance of the software developed (60%), its documentation (10%), the organization of the group (10%), the quality of the live demonstration and the written reports (10%).

Students that are not wishing to participate in a project can opt for a final exam, which will be conducted in class (closed books). In that case, 90% of the final grade will be based on the grading of the final exam.

In either case, 10% of the grade will be based on class participation, questions answered and questions asked. Note that participation does not mean attendance, but requires active engagement.

Should a student not be satisfied with the grade earned in the class, he/she can request to sustain an oral exam. The exam will cover all material taught in class, and the grade accrued in the exam will constitute the final grade in the class, regardless of the performance in the final or projects.

ACCESS TO FACILITIES

Most of the projects will involve processing real data. Such data will be provided through the website; therefore, students will not need to access dedicated facilities, as long as they have access to a computer cluster with scientific computation software (computers in the SEASnet have Matlab installed).

COLLABORATION POLICY

This course allows and encourages open collaboration at all levels.

OFFICE HOURS

Tuesdays 12:00-1:45. Additional hours by appointment. Please send email if you plan to attend office hour.