Computer Sciences Dept.

CS 534: Computational Photography

Fall 2016

Instructor: Chuck Dyer

  Office:       6379 Computer Sciences Building
  Telephone:    262-1965
  Office Hours: Mondays and Wednesdays 2:00 - 3:00 p.m., and by appointment

Teaching Assistant: Qisi Wang

  Office:       1308 Computer Sciences Building
  Office Hours: Tuesdays and Thursdays 11:45 a.m. - 12:45 p.m., and by appointment


Lecture: 1:00 p.m. - 2:15 p.m. Tuesdays and Thursdays, Room 1221 CS


CS 367 or programming experience, and some knowledge of linear algebra and calculus


None, but readings will be assigned from papers and some sections in Computer Vision: Algorithms and Applications, R. Szeliski, September 3, 2010 draft (Note: you do NOT need to buy this book.)

Course Description

We are in the early years of an explosive growth of digital images, with an estimated one trillion photos taken in 2015 alone. About half of the images now taken are captured using camera phones. Because digital cameras allow easy capture of many images, billions of images are publicly available on the web, and computer storage and processing of digital images is cheap and easy, there is now emerging a wide range of new computational techniques and applications for capturing, analyzing, manipulating, combining, augmenting, searching, synthesizing, and using images. Computational Photography is a new field that brings together photography, optics, computer vision, and computer graphics to overcome the limitations of traditional cameras by creating new photographic functionalities and experiences of our visual world from sets of images. For example, Microsoft's Photosynth application allows users to interactively navigate around a 3D location by building a sparse 3D model from a large number of images. Key component image manipulation methods include warping, morphing, filtering, mosaicing, texture synthesis, segmentation, high dynamic range imaging, image blending and compositing, merging images taken at multiple exposures under different lighting conditions, and building 3D models from a set of images taken from multiple viewpoints of an object or scene.


  • Midterm exam: 25%
  • Homework assignments: 45%
  • Course project: 20%
  • Course project presentation: 5%
  • Class attendance and participation, including Piazza Q&A: 5%

Final Class Projects

Midterm Examination

  • Midterm: Thursday, November 3, 7:15 p.m. - 9:15 p.m., room 1361 Chemistry Building
  • List of topics and readings for the midterm exam
  • There will not be a Final Examination
  • Exam grading questions must be resolved with the instructor within one week after it is returned

Homework Assignments

Homework assignments will include written problems, using applications software, and programming in Matlab. There are many online resources for learning Matlab (e.g., see Getting Started), but if you want to buy a book, the following one is a good, simple introduction: Matlab Primer, 7th ed., T.A. Davis and K. Sigmon, Chapman and Hall Publishers, 2004. Another good alternative introductory book is: Getting Started with Matlab 7, R. Pratap, Oxford University Press, 2005. Accounts will be provided on the Computer Science Department's instructional Linux and Windows workstations. Assignment grading questions must be resolved with the instructor or TA within one week after it is returned.

Late Penalties

All assignments are due at 11:59 p.m. on the due date. One (1) day late, defined as a 24-hour period from 11:59 p.m. to 11:59 p.m. the next day (weekday or weekend), will result in 10% of the maximum points for the assignment deducted. So, for example, if an assignment is due on a Wednesday and it is handed in any time on Thursday, a 10% penalty will be deducted. Two (2) days late, 25% off; three (3) days late, 50% off. No homework can be turned in more than three (3) days late regardless of any free late days used. A total of three (3) free late days may be used during the course so that no late penalty is deducted. Free late days will be used automatically for the first late days incurred.

Academic Integrity

All examinations, programming assignments, and written problems must be done individually unless explicitly stated otherwise. Cheating and plagiarism will be dealt with in accordance with University procedures (see the UW Academic Integrity Policies and Procedures). Hence, for example, code for programming assignments must not be developed in groups, nor should code be shared, and code should not be obtained from anyone or anywhere, including the Web. You are encouraged to discuss with your peers, the TA or the instructor ideas, approaches and techniques broadly, but not at a level of detail where specific implementation issues are described by anyone. If you have any questions on this, ask the instructor before you act.

Web Page

Moodle Page for Assignment Electronic Hand-In

Moodle course page

Piazza Class Discussion Page

Reserve Books

CS 534 | Department of Computer Sciences | University of Wisconsin - Madison