CS 534 Computational
Photography (Fall
2018)
MW 4pm - 5:15pm, EDUC SCI 204
Instructor: Mohit Gupta (mohitg@cs.wisc.edu) Office Hours: Mon 10am-11am in CS
6395
TA: Zixuan Huang
(zhuang356@wisc.edu)
Office Hours: Tues 3pm-5pm in CS 6394
TA: Maulik Shah
(maulik@cs.wisc.edu)
Office Hours: Thurs 4pm-6pm in CS 5384
TA: Varun Thumbe
(thumbe@wisc.edu)
Office Hours: Fri 3pm-5pm in CS 7352
Discussion Group: Piazza.
A discussion for each homework assignment will be created on Piazza.
Please post all of your questions on the discussion board so that others
may learn from your questions as well. Do not email the professor or TA
directly with homework questions.
|
|
Course Description:
Computational photography is an emerging research area whose goal is to design cameras and algorithms in order to capture and create novel visual experiences, images, and videos. This is an inter-disciplinary field spanning several areas, including imaging, image processing, machine learning and computer vision.
This course will provide an introduction to computational photography. Problems in this field include reconstructing the 3D shape of an environment, determining how things are moving, and recognizing people and objects and their activities, all through analysis of images and videos. We will discuss several applications, including creating panoramas, building 3D models, and recognizing faces in images. Along the way, we will learn about basic tools in image processing, imaging and computer vision that enable these applications. Specifically, we will look at topics of image formation, feature detection, motion estimation, image mosaics, 3D shape reconstruction, and object recognition. Applications of these techniques go beyond computational photography, including building 3D maps, creating virtual characters, organizing photo and video databases, human computer interaction, video surveillance, and automatic vehicle navigation. This is a project-based course, in which you will implement several computer vision algorithms and do
a final project on a research topic of your choice.
Prerequisites
This course will assume a reasonable knowledge of
linear algebra and calculus as a prerequisite. The programming assignments
will be in MATLAB, so a familiarity with MATLAB is essential.
Please send the instructor an email if you are
unsure of whether you can take the course.
Tentative Syllabus
Class Date
|
Topic
|
Home-works
and Project
|
W, Sep 5
|
Introduction and Fun with Optical Illusions
|
HW-1 out
|
M, Sep 10
|
Camera Basics: How Do Images Form?
|
|
W, Sep 12
|
Camera Basics: How Are Images Captured?
|
|
M, Sep 17
|
Binary
Images
|
HW-1 due
|
W, Sep 19
|
Image
Processing-I – Basic Image Filtering
|
|
M, Sep 24
|
Image
Processing-II – Fourier Domain Image Filtering
|
|
W, Sep 26
|
Detecting Edges in Images
|
Project Proposal due, HW-2 out
|
M, Oct 1
|
Hough Transforms: Finding Object Boundaries
|
|
W, Oct 3
|
2D Image Matching Using SIFT
|
|
M, Oct 8
|
Image
Alignment and Panorama Creation
|
HW-2 due, HW-3 out
|
W, Oct 10
|
Face
Detection
|
|
M, Oct 15
|
Image
Segmentation
|
|
W, Oct 17
|
High Dynamic Range Photography and Tone Mapping
|
|
M, Oct 22
|
3D Photography: Photometric
Stereo
|
HW-3 due, HW-4 out
|
W, Oct 24
|
No class
|
|
M, Oct 29
|
3D Photography: Camera
Focus/Defocus
|
|
W, Oct 31
|
3D Photography: Binocular Stereo
|
Project Mid-Term Report due
|
M, Nov 5
|
3D Photography at City Scale: Leveraging Large Photo Collections
|
|
W, Nov 7
|
Guest Lecture: Prof. Andreas Velten (Cameras that See Around the Corner)
|
HW-4 due, HW-5 out
|
M, Nov 12
|
Guest Lecture: Prof. Yin Li (Deep Learning for Visual Recognition)
|
|
W, Nov 14
|
No class
|
|
M, Nov 19
|
Modern 3D Cameras: Structured Light and Time-of-Flight
|
|
W, Nov 21
|
Measuring Motion and Tracking Objects in Images
|
|
M, Nov 26
|
Multi-Perspective Photography
|
HW-5 due |
W, Nov 28
|
Computational Cameras
|
|
M, Dec 3
|
Project Presentations
|
|
W, Dec 5
|
Project
Presentations
|
|
M, Dec 10
|
Project
Presentations
|
|
W, Dec 12
|
Project Presentations
|
Project Webpage Due |
Coursework and Grading
Grading will be based on a 100 point system. There are
two main components: (a) Home-works (60% grade), and (b) Final research
project (40% grade). Details about these components are given below.
Home-work Assignments
The course will consist of 6 homework assignments. All home-works
together will account for 60% of your final grade. Some home-works are
lighter than others; their relative weights in your final homework grade are
determined by the total number of points listed at the top of each home-work. Guidelines
for completing home-work assignments are given here. Please read these
carefully.
A discussion for each homework assignment will be created on Piazza. Please post all of your
questions on the discussion board so that others may learn from your
questions as well. Do not email the professor or TA directly with homework
questions.
Include all the files in a zip file
named hwX_yourNetID.zip (where X is the homework number) and upload the zip
file to Canvas. All home-works are to be submitted by 4 pm
on the due date. Only for the home-works (not project), students will be allowed a total of 5 (five) late days
per semester; each additional late day will incur a 20% penalty.
Final Research Project
The final project is research-oriented. You are expected to implement one (or more) related research papers, or
think of some interesting novel ideas and implement them using the techniques
discussed in class. Some
possible project ideas are listed here. However, you are welcome to
come up with your own ideas - in fact we encourage this. Students can propose
their own project topics, subject to the instructor's approval.
Teams of 3 students are strongly preferred. In your
submission, please clearly identify the contribution of all the team members.
Please note that members in the same group will not necessarily get the same
grade.
Project
Timeline and What to Submit: There will be three
checkpoints: a project proposal, an intermediate milestone report, and a
final project webpage. Create a webpage for the
project at the beginning. This page will include the
proposal, the mid-term report, interesting implementation details, some
results (e.g., images, videos, etc.), and so on. Your website should also
include downloadable source and executable code. Do not modify the website
after the due date of the assignment. Also, send an email to the instructor
and TA with the URL of your webpage BEFORE the due dates.
Project Proposal (Due: Sep 26) (5%)
This will be a short report (usually one or two pages will be
enough). You will explain what problem you are trying to solve, why you want
to solve it, and what are the possible steps to the solution. Please include
a time table.
Project Mid-Term Report (Due: Oct 31) (10%)
In this report, you will need to give a brief summary of current
progress, including your current results, the difficulties that arise during
the implementation, and how your proposal may have changed in light of current
progress.
Final Project Presentations (Dec 3, Dec 5, Dec 10,
Dec 12) (10%)
This will be a short 'lightning' presentation in class about your project. It will be 5 minutes per team. The slides will be submitted the previous day with automatic timing (you could also submit a video) to ensure that we do not run over. We will collect all the presentations into a single slide-deck that will play automatically. Please add a link to the
presentation on the project webpage.
Project Webpage (Due: Dec 12) (15%)
Assemble all the materials you have finished for your project in
a webpage or wiki, including the motivation, the approach, your
implementation, the results, and discussion of problems encountered. If you
have comparison results or some interesting findings, put them on the webpage
and discuss these as well.
Readings
The material covered in the course will be available in the presentation
slides which will be fairly self-contained. The slides will be made available
as printed copies before the start of every class. The slides will not be available electronically. Optional
text-book readings include Computer Vision: Algorithms and Applications, by Richard Szeliski.
An online version is available, or you may purchase the book at a variety of locations. Also,
see Robot Vision by Berthold KP Horn and Optics by E. Hecht.
Acknowledgments
The materials from this class rely significantly on slides prepared by other
instructors, especially Shree Nayar, Oliver Cossairt, Peter Belhumeur and
Alyosha Efros. Also see other similar courses by Fredo Durand and Bill
Freeman (MIT), Peter Belhumeur (Columbia), Irfan Essa (Georgia Tech.), Steve
Seitz (U. Washington) and Kyros Kutulakos (U. Toronto). The instructor is
extremely thankful to the researchers for making their notes available
online.
Academic
Integrity
This course follows the University of Wisconsin-Madison Code of Academic
Integrity. Unless specifically authorized by the instructor, all coursework
is to be done by the student working alone. Violations of the rules will not
be tolerated.
|