CS 484 Introduction to Computational Vision
Required Background
- Numerical computation (AMATH 242/341/CM 271/CS 371 or CS 370)
- Basic programming experience (Matlab or C)
- Probability (STAT230 or 240).
- Computer Science students only
Assessment
Typical course offerings will have four or five assignments (60% of
grade) and a final project (40% of the grade).Each assignment will each contain a written and a programming component. The programming components will be small (eg., completing an existing program), but will require significant exploration of the algorithms presented in lectures. In particular, students will be expected to explore a wide range of input data and paramater settings to determine where algorithms succeed and where they fail.
The final project will allow the student to explore a topic of their own choosing in detail. The scope is wide, ranging from image processing to artificial intelligence, but students will be required to implement specific algorithm(s) on their own and perform a detailed evaluation of their performance. They will also be required to perform their own research and write a comprehensive report. The students may elect to present their material for partial credit towards the report requirement. Students may choose a project related to their interest (hobby or work term) and/or research area (graduate students). A list of topics and past projects will be provided to students on request. Graduate students will typically do the same assignments but will be expected to produce a project with a substantial research component.
Overall goals
- Learn modern computer vision problems, algorithms, and current
research topics
- Provide mathematical background for courses in image and signal
processing
- Learn general tools/algorithms for signal processing and data analysis
General guidelines
This course will generally have the same core material (see Outline
below) but problems and applications may be specialized to the
instructor or students' interests.Resources
Most classes will be lectures, involving blackboard work for
mathematical derivations, slide presentations to show graphical
concepts, and in-class demonstrations using Matlab. Some time
will be devoted to students presenting their projects at the end of
term.The course may use the following textbooks (in order of importantce, with relevant topics listed in italics):
- E. Trucco and A. Verri. Introductory Techniques for 3D Computer
Vision. Prentice-Hall, 1998. (typical
topics in course)
- D.A. Forsyth and J. Ponce. Computer Vision: A Modern Approach. Prentice-Hall, 2003. (many application areas)
- B.K.P. Horn. Robot Vision. MIT Press, 1986. (lighting models, many early vision
algorithms)
- K.R. Castleman. Digital Image Processing. Prentice-Hall, 1996. (detailed image processing reference)
Outline Topics
Core Material (required)- Optics, Image formation, and
Lighting models. Core background for all vision
work. Closely related to image synthesis (ie., computer graphics).
- Linear systems and Fourier
Theory. Mathematical background, common to vision and
image processing.
- Feature detection.
Starting point for most vision algorithms.
- Fitting models to data.
Model fitting is typically by least squares, but extended to handle
noise (robust fitting) and multiple models (mixture models,
segmentation, adaptive algorithms).
- Feature grouping.
Segmentation, search, models of visual attention.
- Image Registration.
Iterative techniques for image alignment; Application to image
compositing.
- Stereopsis. Baseline stereo; Depth reconstruction by triangulation; Maximum flow formulation of the stereo problem; Epipolar geometry.
- Optical flow. Derivation of image flow field from 3D motion; Estimation of optical flow.
- Object tracking and
segmentation. Optical flow or view-based techniques.
- Structure from motion. Scene reconstruction from image flow field: Factorization method, Direct methods.
- Object Recognition. View
based methods: principle components analysis, factor analysis;
Model-based approaches; Interpretation tree search.
- Event Recogntion. Templates,
Hidden markov models, dynamical models.