Administrative Info for 15-869, Image-Based Modeling and Rendering

Computer Science Department
Carnegie Mellon University


This course will teach how to acquire, represent, and render scenes from digitized photographs. Toward this end, several image-based approaches will be presented, with an emphasis on how to use these techniques to build practical systems. This hands-on emphasis will be reflected in the programming assignments, in which students will have the opportunity to acquire their own images of indoor and outdoor scenes and develop the image analysis and synthesis tools needed to render and view the scenes interactively on the computer. This course will be appropriate for graduate students and advanced undergraduates.

Time: MW 10:30 -- 11:50, Sept. 8 - Dec. 1, 1999
Place: Wean 5409B


Web Page and News Group

The class web page is:
(a.k.a. /afs/ ).
Schedules, announcements, assignments handouts and results, and reading lists will be posted here. The class news group, cmu.cs.class.cs869 , will be used for discussions among students and professors regarding the class.


The course is open to both graduate students and advanced undergraduates, in computer science, robotics, or other majors. Speak to the instructors if you are uncertain about your background.

We strongly recommend that students have taken a graphics or vision course, such as 15-462 or 15-385. We will assume you know such things as: homogeneous coordinates, 4x4 matrix representation of transformations, linear algebra, vector calculus, perspective camera model, basic raster graphics, the z-buffer algorithm, C++, and basic user interface programming.


The assignments will be: No other homeworks are planned. There will be no exams.

Programming Assignments will typically involve data acquisition (take some pictures / scan a 3-D object), implementation of an algorithm from a paper discussed in class plus lecture notes, and creation of an interactive program that allows new images to be generated. Students will turn in their results by creating web pages with pictures and explanations of what they did. Submitted work should go in, for example, /afs/ . In order to use this directory from an Andrew cluster machine (not an SCS machine) you'll need to run "cklog" first.

A few digital cameras and 3-D scanners will be available for your use, but if you have access to others, that would help. Starter code will be provided that uses C++, the OpenGL graphics library, and the FLTK user interface toolkit. This is intended to be portable to UNIX, linux, and Windows systems, but we will be testing primarily on UNIX. Students are not required to use the starter code or program in C++, but doing so will save time.

Paper Presentations. Each student will give a presentation of about 15 minutes of one of the papers we read in class. In class discussions of the papers we read, students are encouraged to critique the paper and (constructively) critique the presentation, to help build technical communication skills.

Grading weights:


There is no required textbook for the course.

There will be 10-20 technical papers assigned as reading during the semester, which will constitute the bulk of the written notes for the course. Most papers are available electronically (the class web pages will provide pointers to them). Printed copies of other papers will be distributed in class or will be available from Maury Burgwin (Paul's secretary) in Doherty 4309. Slides from some (but not all) of the lectures will be available on the web.

Optional books:

Paul Heckbert and Steve Seitz, Sept. 1999