CS 635 Capturing and Rendering Real-World Scenes
The course covers
principles and methods for acquiring color and depth data of a 3-D scene and
for
using the data to show the 3-D scene from novel viewpoints.
Administrative
affairs
·
Lecture:
MW 4:30 pm – 5:45 pm, LWSN 3151A
·
Instructor:
Voicu Popescu, popescu@purdue.edu
-
Office hour: by appointment, LWSN 3179
·
Teaching
assistant: TBA
Prerequisites
- Basic programming
- Basic linear algebra
- Basic computational geometry
- Fundamentals of computer
graphics
Syllabus
·
Review
o Linear
algebra
o Computational
geometry
o Computer
graphics
o Assignment 1: Implement a basic graphics
/ vision application
·
Camera models
o The
planar pinhole camera model: virtual and physical implementations, intrinsic
and extrinsic calibration
o Panoramic
camera models: cube map, fisheye, spherical projection
o Other
camera models: general pinhole camera, non—pinhole camera models
·
Projective texture mapping
o Image
to geometry registration
o Rendering
using the projective texture
o Assignment 2: Implement an application
for projective texture mapping a real world scene
·
Panoramas
o Image
acquisition
o Image
registration
o Panorama
construction
o Rendering
from panoramas
o Assignment 3: Implement an application
for constructing and rendering from a panorama of a real world scene
·
Stereo camera configuration
o Epipolar
geometry
o Correspondences
o Triangulation
o Depth
from stereo
o Depth
from structured light
o Assignment 4: Implement an depth from
stereo application
·
Time-of-flight laser rangefinders
·
Point-based rendering
·
Image and view morphing
·
Light field and lumigraph
·
Space carving
·
Depth from shading, photogrammetric camera calibration
·
Computational photography
·
Camera model design
Required (but Fun)
Work
- Assignments
- Four, due
approximately every 1.5 weeks during the first half of the semester
- Credit 10% per
assignment, total 40%
- Numerous extra-credit
opportunities
- Late policy
- once late (up to one
week): no penalty
- late second and subsequent
times: 0 points for assignment
- all assignments are
required by the last day of classes for completion of course
- After you receive the
grade for an assignment you have exactly 1 week for asking for a regrade
- Project
- Second half of
semester
- Paper style project
report and public project presentation
- Credit 40%
- Exams
- Midterm, credit 20%
- No final exam
Cheating policy
- Do not cheat!
- Frequent and thorough scans
for cheating
- If caught automatic failing
grade for the class and reported to the Dean of Students' Office
- Examples of cheating
(courtesy of Gene Spafford)
- Using part or all of
someone else's work, from this or any prior semester, in projects or
homework without the instructor's prior approval;
- Misrepresenting the
functionality of code. That is, if a student submits a project with
falsified output or test data to make it look as if a program works
better than it does;
- Using hidden notes or
hints to answer questions during a test that does not allow open notes or
crib sheets;
- Submitting answers on
homework or projects that were developed or researched by any other
individual and presented as the student's own work;
- Copying text from a
book or paper to include in the student's own writing without clearly
marking it as a quote and citing the source (This is plagiarism and may
be a violation of copyright law as well as cheating.);
- Setting permissions on
files and directories in a student's account so that someone can easily
copy programs and documents, or allowing any other person, in the class
or otherwise, to use your computer account (note that this is also a
violation of department policy or PUCC policy;
- Providing program code
or problem solutions to another student in the class without the
instructor's explicit, prior approval;
- Encouraging anyone to
do any of the above, or failing to report anyone involved in any of these
activities.
Course material
Voicu Popescu, spring 2011