|
Computational Photography
CS 674
Fall 2017
Prof. Gianfranco Doretto
West Virginia University, Department of Computer Science and
Electrical Engineering
|
|
Shortcuts: [eCampus][Class
Notes][Handouts][Assignments][Final
Project]
|
Time and Place
First lecture: August 17, 2017
- Tuesday, 2:00pm - 3:15pm in AGR-E 2010
- Thursday, 2:00pm - 3:15pm in AGR-E 2010
Office
Hours
Thursdays 3:30pm to 4:30pm or by appointment (send email)
|
|
Important
Dates
- Midterm Exam: November 28, 2017
- Final Project: December 8. 2017
|
|
Syllabus .pdf
The ubiquity of digital cameras and the internet, coupled with
advances in computer vision and graphics, have been the
catalysts of computational photography, an emerging field with
the goal of going beyond the limitations of conventional
photography by proposing new ways in which photographs can be
captured, manipulated, and organized.
The general goal of this graduate class is to learn how, by
using computational techniques and alternative camera design,
computational photography produces a richer representation of
our visual world. In particular, in this course, we will study
ways of manipulating and combining photographs and videos to
enhance the photography experience, by touching upon areas such
as mathematical models of light, photo reconstruction and
restoration, internet photography, and advanced photography
systems and techniques.
Popular algorithms will be presented. Emphasis will be given on
using these techniques to build practical systems through
programming assignments. These should lead to the development of
image analysis and synthesis tools, needed to render novel
images on the computer, from previously acquired samples of the
real world (images or video).
The topics covered can be roughly summarized as follows:
- Image formation : Pinhole camera, thin lens
model
- Camera sensor
: Aperture, shutter, sensor chip
- Image filtering
: Point processing, filtering, frequency domain, image
pyramids
- Camera DSP : Demosicing, sharpening,
balance, correction and compression
- Image compositing and
blending :
Cutting images, Laplacian and gradient based techniques
- Image warping and morphing
: Image transformations, inverse warping,
triangulations and animations
- Data driven methods : Texture synthesis,
inpainting, super-resolution, face manipulations,
internet-based methods
- Projective geometry : Projections,
homogeneous coordinates, and camera calibration
- Automatic alignment
and mosaics : Homographies, feature detection
and matching, automatic panorama construction
- Light models : Plenoptic function,
lumigraphs and lightfields
- Coded systems :
deconvolution, coded aperture methods, deblurring, coded
shutter methods, applications to biometrics
Prerequisites
This course requires programming experience as well as
linear algebra, basic calculus, and basic probability. Previous
experience with computer vision, image processing and/or
computer graphics will be helpful but is not required. Please
contact me if you are not sure whether your background is right
for the course.
|
|
Schedule
and Class Notes
- 08/17: Introduction [slides]
- Course policies
- Introduction
- History
- 08/22: Image Formation and Camera Body [slides]
[slides
3/page]
- Pinhole camera model, thin lens model
- Aperture, depth of field, exposure
- Materials: S2.2.3, S2.3
- 08/24: Camera Sensor Chip [slides]
[slides
3/page]
- Sampling and quantization, color space
- Bayer grid, sensitivity
- Materials: S2.3
- 08/29: Image Filtering [slides]
[slides
3/page]
- Point processing
- Convolution, smoothing, sharpening
- Materials: S3.1, S3.2
- 08/31: Frequency Domain [slides]
[slides
3/page]
- Frequency domain analysis
- Sampling and reconstruction
- Materials: S3.4, S2.3.1
- Assignment 1
- 09/07: Image Pyramids [slides]
[slides
3/page]
- Gaussian and Laplacian pyramids
- Materials: S2.3, S3.5.2, S3.5.3
- 09/12: Camera DSP [slides]
[slides
3/page]
- Demosaicing, sharpening, white balance, gamma compression
- Materials: S2.3, S10.3.1, S3.3.1
- 09/14: Morphology [slides]
[slides
3/page]
- Materials: S3.3.2, S3.3.4
- 09/19: Cutting Images [slides]
[slides
3/page]
- Additional readings
- Materials: S5.1.3, S5.5
- 09/21: Image Compositing and Blending [slides]
[slides
3/page]
- 9/26: Image Warping [slides]
[slides
3/page]
- 2D Transformations and homogeneous coordinates
- Materials: S2.1.2, S3.6
- 9/28: Image Morphing [slides]
[slides
3/page]
- Inverse warping, cross-dissolving, Delaunay trianglation
- 10/3: Data Driven methods [slides]
[slides
3/page]
- Texture synthesis
- Additional readings
- Materials: S10.5
- 10/5: Data Driven Methods: Faces [slides]
[slides
3/page]
- Materials: S12.6.3, S14.2.2
- Additional readings
- 10/10: 3D to 2D Projections [slides]
[slides
3/page]
- 10/17: Single View Metrology and 3D Reconstruction [slides]
[slides
3/page]
- 10/26: Modeling Light [slides]
[slides
3/page]
- 10/31: Depth and Refocus [slides]
[slide
3/page]
- 11/2: Deblurring [slides]
[slides
3/page]
- 11/7: Image-Based Lighting I [slides]
[slides
3/page]
- 11/9: Image-Based Lighting II [slides]
[slides
3/page]
- 11/14: 3D Virtual Object Insertion [slides]
[slides
3/page]
|
|
Assignments and Attendance
All assignments are due at the beginning of the class on the
due date.
Programming Languages
In class examples will be given in Matlab, which should
provide an effective way to address the programming assignments
and final project needs.
Late
Assignment Policy
Each student may use three “late days” for the whole course.
The late day count starts from the day and time of the due
date of each assignment. Fractional late days are taken into
account. Additional “late days” after the first three come at
a day cost of 20% of the assignment.
Attendance
Policy
Consistent with WVU guidelines, students absent from regularly
scheduled examinations because of authorized University
activities will have the opportunity to take them at an
alternate time. Make-up exams for absences due to any other
reason will be at the discretion of the instructor
|
|
Final
Project
Final project directions
|
|
Grading
The course format will predominantly consist of lectures.
Students will have few simple programming assignments, as well
as reading assignments, for which they will have to turn in a
critique. Each student will complete a final project, and give a
project presentation to the class.
Final grades will be based approximately on the following
distribution:
- 50%: Reading and Programming Assignments (~3 assignments)
- 25%: Midterm exam
- 25%: Final project
Bonus points may be assigned based on class participation. In
addition, creative solutions to homework problems and
programming assignments are appreciated, and may be rewarded by
extra bonus points.
Grades will be assigned according to the following scale:
A=90-100; B=80-89; C=70-79; D=60-69; F= below 60.
|
|
Reference Material
Textbook
Notes and reading material will be distributed. We will not
rely on a textbook, although I recommend the free, online:
- Class notes and handouts
- S: Richard Szeliski, Computer Vision:
Algorithms and Applications, Springer, 2011. (online)
(also avaiable through WVU Electronic Book Collection)
Additional books that can serve as secondary reference on the
topics covered in class:
- Computational Photography: Methods and
Applications, by Rastislav Lukac (Editor), CRC Press,
2011. (avaiable through WVU Electronic Book Collection)
- The Art and Science of Digital Compositing, Second
Edition, by Ron Brinkmann, Morgan Kaufmann, 2008. (avaiable
through WVU Electronic Book Collection)
- Fundamentals of Computer Graphics, Third Edition,
by Peter Shirley, Michael Ashikhmin, and Steve Marschner, A K
Peters Ltd, 2009
- Photography, 10th Edition, by Barbara London, John
Upton, Jim Stone, Pearson, 2011
- Digital Image Processing, Third Edition, by Rafael
C. Gonzalez, Richard E. Woods, Prentice Hall, 2008
- Computer Vision: A Modern Approach, by David A.
Forsyth and Jean Ponce, Prentice Hall, 2003
Useful
Background Material
|
|
Inclusivity and Academic Integrity
Adverse Weather Commitment
In the event of inclement or threatening weather,
everyone should use his or her best judgment regarding travel to
and from campus. Safety should be the main concern. If you
cannot get to class because of adverse weather conditions, you
should contact me as soon as possible. Similarly, if I am unable
to reach our class location, I will notify you of any
cancellation or change as soon as possible (by one hour before
class starts, using MIX and eCampus) to prevent you from
embarking on any unnecessary travel. If you cannot get to class
because of weather conditions, I will make allowances relative
to required attendance policies, as well as any scheduled tests,
quizzes, or other assessments.
Inclusivity Statement
The West Virginia University community is committed to
creating and fostering a positive learning and working
environment based on open communication, mutual respect, and
inclusion.
If you are a person with a disability and anticipate needing any
type of accommodation in order to participate in this class,
please advise me and make appropriate arrangements with the
Office of Disability Services (293-6700). For more information
on West Virginia University's Diversity, Equity, and Inclusion
initiatives, please see http://diversity.wvu.edu.
Integrity Statement
The integrity of the classes offered by any academic
institution solidifies the foundation of its mission and cannot
be sacrificed to expediency, ignorance, or blatant fraud.
Therefore, I will enforce rigorous standards of academic
integrity in all aspects and assignments of this course. For the
detailed policy of West Virginia University regarding the
definitions of acts considered to fall under academic dishonesty
and possible ensuing sanctions, please see the Student Conduct
Code at http://www.arc.wvu.edu/admissions/integrity.html. Should
you have any questions about possibly improper research
citations or references, or any other activity that may be
interpreted as an attempt at academic dishonesty, please see me
before the assignment is due to discuss the matter.
|