CS 143, M.,W.,F. 11:00-11:50 AM (D Hour), CIT 227
Professor: Michael J. Black
Grad TA: Peng Guan
Ugrad Head TA: Tim St Clair
Linear algebra slides are available, click here
The asgn1 is now accessible. For people who don't have CS accounts, the whole package of asgn1(including all the images and support code we use) is here
Assignment 1(problem 1&2) is out on Sep 14th, and it is due on Sep 28th. You can download it here
Linear Algebra tutorial schedules: Wed(Sep 16th) & Thur(Sep 17th) 7-8 pm location:CIT219
Matlab tutorial schedules: Monday(Sep 14th) & Tueday(Sep 15th) 7-8 pm location:sunlab(please take first three rows)
As you figured out, the class meets in CIT 227, not Lubrano.
Everything on this page is updated as of Sept 8, so check it over even if you've looked at it before.
Welcome to CS0143. The syllabus is now available.
How can computers understand the visual world of humans?
This course treats vision as a process of inference from noisy and uncertain data and emphasizes probabilistic and statistical approaches. Topics include perception of 3D scene structure from stereo, motion, and shading; image filtering, smoothing, edge detection; segmentation and grouping; texture analysis; learning, recognition, and search; tracking and motion estimation.
Required: CS032/36 or equivalent programming experience, basic knowledge of linear algebra (e.g. MA52), basic calculus (e.g. MA10), or permission of the instructor.
Desirable: knowledge of probability, statistics, (e.g. CS155, AM0040, AM165, AM169, or AM264).
This course is designed for undergraduate and graduate students interested in vision, artificial intelligence, or machine learning. Many of the ideas and techniques used here are also used in other areas of AI (e.g. robotics, natural language understanding, learning). The course offers a broad introduction to the field, the current problems and theories, the basic mathematics, and some interesting algorithms.
This course is also a good choice of GRAPHICS students. There are many techniques in common to vision and graphics and current graphics research uses more and more tools from vision.
It is not an image or signal processing course. It is also not a robot vision course; we will not be using real-time vision hardware. While we may touch on human vision, the course is about machine vision.
Students from any department are welcome provided they have the required programming and suggested mathematical background.
If you unsure whether this is the course for you, please come and talk with me.
Grad TA: Peng Guan
Email: p q u a n <at> c s . b r o w n . e d u
TA hours: Monday 7-9 pm, CIT 271.
Ugrad TA: Tim St Clair
Email: t i m o t h y _ s t _ c l a i r <at> b r o w n . e d u
TA hours: Wednesday 4-6 pm CIT 271.
TA email alias: c s 1 4 3 t a s <at> c s . b r o w n . e d u
Computers today are limited in their ability to interact with the world and with their human users because the lack the ability to "see". The study of computer vision requires that we understand something about the physics of the world, how light is reflected off surfaces, how objects move, and how all of this information gets projected onto an image by the optics of a camera. It also requires that we devise algorithms to recover, or reconstruct, some of these physical properties from one or more images. This "inverse" problem is a great puzzle. Information is lost when the three dimensional world is projected onto a two dimensional image; how can we recover this information from a picture of it? We will study the mathematics behind this and develop algorithms for solving various inverse problems. But vision is about more than simply reconstructing the 3D world from 2D images; it is about "understanding". We will explore various machine learning techniques and probabilistic inference methods that begin to address this problem.
In this class you will
- be exposed to many areas of current computer vision research
- implement a number of programming assignments to get hands-on experience working with images and image sequences
- implement a programming project that fits your interests
- find out that all that linear algebra and calculus you learned is actually useful for something real
Even if you do not go on to study computer vision, the basic tools and techniques we use here will be useful in many other areas.
We will cover
- Images, cameras, and image formation
- Image statistics, edges, and texture
- Regularization, diffusion, and Markov Random Fields
- Optical flow (image motion): affine flow, regression, dense flow
- Robust statistics
- Segmentation and grouping
- Bayesian inference
- Principal component analysis and eigen-models of objects
You're fortunate. We're going to use a new book, Computer Vision: Algorithms and Applications, still being developed by Richard Szeliski. Even in its unfinished state it will be a great resource for you. Better still, it is on the web for free right now.
In the syllabus, I will refer to page numbers in the September 7, 2009 edition.
Please collect up errors and comments. We'll send these to Rick so that he can improve the book.
will be from the text and additional material that will be handed out or made available on the web page. Readings
All lecture slides will be available on the web after class.
The Matlab programming language will be used. It is fairly intuitive and well documented. Students who are unfamiliar with Matlab should go through the on-line tutorial material. Other resources will be provided in class.
See the Background Material page for useful materials.
There will be 4 programming assignments (in Matlab). The goal is for these to help build your the understanding of class material by working with real images. In each assignment you will implement one of the algorithms discussed in class and experiment with it on pre-recorded image data
You will also have to do one project (4 weeks) of your own choosing. More details, suggestions, and guidelines will be available later in the term.
You will also be expected to read all the assigned material and come prepared to talk about it in class.
Please read and understand the Collaboration Policy.
Subject to change:
10% Class participation.
15% Homework assignment 1
15% Homework assignment 2
15% Homework assignment 3
15% Homework assignment 4
You may receive graduate credit for CS143 but it requires a more complete writeup of the final project and presentation at the end of term. I will expect the writeup to be in the style of a scientific conference paper (note that it does not need to be publishable). One thing this will require is a good review of the literature.
Late assignments will not be accepted without prior approval. Get prior approval. No exceptions. I am ruthless.
There is an email list for vision-related announcements at Brown (mostly talks). This list is open to anyone at Brown interested in vision. You can subscribe/unsubscribe and browse the archives at http://listserv.brown.edu/archives/cgi-bin/wa?SUBED1=brown-vision&A=1.
There is also a Vision and Learning Seminar series with talks throughout the year. Announcements go to the Brown Vision List.