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)
Finally, there are a number of online resourses, including research
papers, data sets and sample code. A good starting point is the
"Computer Vision Homepage" at www.cs.cmu.edu/~cil/vision.html.
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).
Some typical topics (vary with instructor/class)
- 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.