CSE 291: Topics in Computer Science and Engineering
Computational Photography

Spring 2021


Instructor: Ben Ochoa
Email: bochoa at
Office hours: M 8:00 PM-9:00 PM (secondary) and W 8:00 PM-9:00 PM (primary), and at other times by appointment

TA: Lana Gaspariani
Email: lgaspari at
Office hours: Tu 10:00 AM-11:00 AM and Th 10:00 AM-11:00 AM, and at other times by appointment

Note: when emailing the instructor or TA with questions about the class, please put "CSE 291" in the subject line.

Class section ID: 40418 (must be taken for 4 units)
Lecture: MW 6:30 PM-7:50 PM
Class discussion: Piazza

Computational photography overcomes the limitations of traditional photography using computational techniques from image processing, computer vision, and computer graphics. This course provides a comprehensive introduction to computational photography and the practical techniques used to overcome traditional photography limitations (e.g., image resolution, dynamic range, and defocus and motion blur) and those used to produce images (and more) that are not possible with traditional photography (e.g., computational illumination and novel optical elements such as those used in light field cameras). Upon completion of this course, students will have an understanding of both traditional and computational photography.

Students enrolled in this course are required to complete assignments and a project, including two project presentations. When presenting to the class, follow the presentation guidelines provided by Professor Charles Elkan. If you would like your slides reviewed (highly recommended) prior to presentation to the class, then at least three days prior to your presentation date, send a draft of your slides to the instructor and TA for review. The instructor and TA will provide you with comments to incorporate into your slides prior to your presentation in class. Immediately after your presentation, the slides (pdf, one slide per page) must be submitted to the instructional team. After your presentations to the class, you will receive feedback from the instructor and TA.

All projects will follow specific guidelines, including preparation of a project proposal, draft project report, and final project report. The project need not necessarily advance the state of the field. For example, replicating the results of an innovative paper would be a good project. Projects must be closely inspired by one or two specific high quality papers and should have an experimental aspect. Project reports will be evaluated using these grading criteria.

Prerequisites: Linear algebra, calculus, and optimization. Python, C/C++, or other programming experience.

Assignments will be prepared using LaTeX or Markdown. Programming aspects of the assignments will be completed using various programming languages.

Academic Integrity Policy: Integrity of scholarship is essential for an academic community. The University expects that both faculty and students will honor this principle and in so doing protect the validity of University intellectual work. For students, this means that all academic work will be done by the individual to whom it is assigned, without unauthorized aid of any kind.

Collaboration Policy: It is expected that you complete your academic assignments on your own and in your own words and code. The assignments have been developed by the instructor to facilitate your learning and to provide a method for fairly evaluating your knowledge and abilities (not the knowledge and abilities of others). So, to facilitate learning, you are authorized to discuss assignments with others; however, to ensure fair evaluations, you are not authorized to use the answers developed by another, copy the work completed by others in the past or present, or write your academic assignments in collaboration with another person.

If the work you submit is determined to be other than your own, you will be reported to the Academic Integrity Office for violating UCSD's Policy on Integrity of Scholarship. In accordance with the CSE department academic integrity guidelines, students found committing an academic integrity violation will receive an F in the course.

Grading: Course grades will be weighted as follows.

Assignments: 50%
Initial project presentation: 10%
Final project presentation: 10%
Project report: 30%

Late Policy: Assignments will have a submission procedure described with the assignment. Assignments submitted late will receive a 15% grade reduction for each 12 hours late (i.e., 30% per day). Assignments will not be accepted 72 hours after the due date. If you require an extension (for personal reasons only) to a due date, you must request one as far in advance as possible. Extensions requested close to or after the due date will only be granted for clear emergencies or clearly unforeseeable circumstances. You are advised to begin working on assignments as soon as they are assigned.

Assignments, and project proposal and report:


Lecture topics (tentative):


Helpful textbooks:

Computer Vision: Algorithms and Applications, 2nd edition
Richard Szeliski
2011, 1st edition [Amazon] [Google]
Multiple View Geometry in Computer Vision, 2nd edition
Richard Hartley and Andrew Zisserman
Cambridge University Press, 2004
[Cambridge Books Online] [Amazon] [Google]
Digital Image Processing, 4th edition
Rafael C. Gonzalez and Richard E. Woods
Pearson, 2018

Meeting schedule:

Date Meeting
Mar 29 Lecture 1 Introduction and overview
Mar 31 Lecture 2 Cameras and image processing
Apr 5 Lecture 3 Image processing
Apr 7 Lecture 4 Burst photography
Apr 12 Lecture 5 Burst photography
Apr 14 Lecture 6 Burst photography, and camera and image motion
Apr 19 Lecture 7 Computational illumination
Apr 21 Lecture 8 Camera arrays and light field photography
Apr 26 Lecture 9 Computational imaging
Apr 28 Lecture 10 3D rotation and 3D Euclidean transformation formalisms
May 3 Group meetings with instructor and TA
May 5 Group meetings with instructor and TA
May 10 Group meetings with instructor and TA
May 12 Initial project presentations
May 17 Group meetings with instructor and TA
May 19 Group meetings with instructor and TA
May 24 Group meetings with instructor and TA
May 26 Group meetings with instructor and TA
May 31 No meeting (Memorial Day)
Jun 2 Final project presentations


Group members Project
Baizhou Xu and Dongchen Yang Video Stabilization with L1 Optimal Loss
Winston Durand and Thomas Lauer Learning-Based Light Field View Synthesis
Xuezheng Wang Full-frame Video Stabilization using Naive Fusion
Sigal Shaul and Justin Tahara Synthetic Depth of Field Imaging using Stereo Images
Lingyi Wang and Dong Jun Suh Mosaic Image Blending and Compositing
Shangqing Gu and Sim Singh Panoramic Construction with Bundle Adjustment and Blending

Diversity and Inclusion

We are committed to fostering a learning environment for this course that supports a diversity of thoughts, perspectives, and experiences while respecting your identities (including race, ethnicity, heritage, gender, sex, class, sexuality, religion, ability, age, educational background, etc.). Our goal is to create an inclusive learning environment where all students can feel comfortable and thrive. Accordingly, the instructional staff will make a concerted effort to be welcoming and inclusive to the wide range of students in this course. If there is some way we can help you feel more included, please let one of the course staff know (in person, via email/Piazza, or even using an anonymous note).

We also expect that you, as a student in this course, will honor and respect your classmates, abiding by the UCSD Principles of Community. Please understand that others' backgrounds, perspectives, and experiences may be different than your own, and help us build an environment where everyone is welcomed and respected.

If you experience any sort of harassment or discrimination, please contact an instructor as soon as possible. If you prefer to speak with someone outside of the course, please contact the Office for the Prevention of Harassment and Discrimination.

Students with Disabilities

We aim to create an environment in which all students can succeed. If you have a disability, please contact the Office for Students with Disabilities (OSD) and discuss appropriate accommodations as soon as possible. We will work to provide you with the accommodations you need, but you must first provide a current Authorization for Accommodation (AFA) letter issued by the OSD. You are required to present your AFA letters to the instructor and to the department's OSD Liaison so that accommodations may be arranged.

Basic Needs/Food Insecurities

If you are experiencing any insecurities related to basic needs (food, housing, financial resources), there are resources available on campus to help, including The Hub and the Triton Food Pantry. Please visit The Hub for more information.

Last update: June 13, 2021