Syllabus

COMP572:  Computational Photography

Bulletin Description

COMP 572:  Computational Photography (3 credits).

The course provides a hands-on introduction to techniques in computational photography:  the process of digitally recording light and then performing computational manipulations on those measurements to produce an image or other representation.  The course includes an introduction to relevant concepts in computer vision and computer graphics.

General Course Info

Term:  Fall 2022
Department:  COMP
Course Number:  572
Time:  MW 11:15-12:30pm
Location:  SN014
Website:  https://comp572.web.unc.edu

Instructor Info

Name:  Prof. Montek Singh
Email:  montek@cs.unc.edu (but please contact me only via Piazza)
Web:  http://cs.unc.edu/~montek

Office hours: Please see course website for class calendar, including up-to-date office hour schedule.

Preferred method of contact: Please use the Piazza bulletin board to communicate with the instructor instead of e-mail, including for private questions.

Teaching/Learning Assistants

Zhen (Jenny) Wei / jennywei@live.unc.edu
Rebecca Rozansky / rarozans@live.unc.edu
Zheyu Huang / zheyu@live.unc.edu
Jeffrey Vincent / jeffjv@live.unc.edu

Office hours: Please see course website for class calendar, including up-to-date office hours schedule.

Preferred method of contact:  Please use the Piazza bulletin board  instead of e-mail to contact the LAs, including for private questions.

Required Textbook and Resources

There is a very comprehensive text as a reference for this course that is also quite conveniently available for free as a PDF (see course website for URL).

Computer Vision:  Algorithms and Applications
Richard Szeliski, 2010

All other resources and papers will be provided in electronic form on the course website.

Each student must have full use of a personal laptop or desktop computer, which will be used for all assignments and the final project.  We will be using the software package Matlab, available for free from the campus software download site (instructions will be provided).

Access to any digital camera (including a smartphone with a zoomable video camera) is beneficial but not required.

The course website will be the primary means for distributing information including lecture notes, homework and lab assignments. Sakai will be used for reporting scores.  We will use Piazza for questions and announcements.  You will need to sign up for Piazza and monitor it regularly.

Course Description

Computational Photography uses computational techniques from computer graphics and computer vision to enhance the process of recording and illustrating both the actual world around us and producing new, creative, imagery.  These computational techniques allow recording and reprocessing light in ways that were not possible in traditional photography.

This course is designed to be an upper-level undergraduate course, but is open to graduate students as well.  All students must be already familiar with programming and some mathematics including introductory linear algebra (matrix algebra).  The course will cover the 3 Rs of computational photography:  how to record, represent, and render scenes.  Popular image-based algorithms will be covered in detail and implemented in a series of practical assignments.

Target Audience

This course is designed to be an upper-level undergraduate course, but is open to graduate students as well.  All students must be already familiar with programming and some mathematics including introductory linear algebra (matrix algebra).  Previous background in computer graphics and computer vision is not a pre-requisite.  Any needed topics from graphics and vision courses will be covered, or resources provided, so the course is relatively self-contained.

Prerequisite

The course requires basic programming (COMP 401/201 and 410/210), familiarity with Matlab (e.g. from Comp 116) or the ability to quickly learn Matlab, and linear algebra (Math 347 or 547 or 577) or equivalent.

Goals and Key Learning Objectives

At the end of this course, a successful student should be able to:

  • explain how light is captured in cameras, including the key differences between different types of digital image sensors
  • demonstrate a basic understanding of human visual system, including color and brightness perception
  • develop proficiency in various image processing techniques, including filtering, frequency domain analysis and transformations, image pyramids, etc.
  • use a tool like Matlab to program image processing techniques
  • develop proficiency in image manipulation techniques, including texture synthesis and hole filling; intelligent scissors; compositing, blending, matting and mosaicing; warping and morphing
  • use basic computer vision techniques to synthesize images, including image alignment; multi-perspective panoramas; image-based re-lighting and rendering, etc.

Course Requirements

Students will do approximately 8-10 homework assignments and a final project.  The assignments/projects will involve developing and implementing algorithms in computational photography.  The assignments will primary be done using Matlab.  For the final project, students may use Python or other development tools with the instructor’s permission.  Short demos (live or prerecorded) of assignments may be required, and may be shared publicly.  There will be no midterm exam.  The final assessment will be in the form of a final project presentation (in lieu of a written exam).  Readings from papers and the textbook will be assigned.  Students will present their final project work in short class presentations (live or prerecorded) as well as a write-up.

Key Dates

There will be no written midterm or written final exams.  This course is entirely based on assignments, projects and presentations.

The final assessment will be in the form of a final project and its presentation.  You should plan on being present during the official time according to the UNC Final Exam calendar.

Each assignment will generally take approximately 1 to 1.5 weeks.  The final project will take approximately 2-3 weeks at the end of the semester.

All dates will be announced sufficiently in advance on the course website.

Grading Criteria

The final grade will be based on the following:

Assignments:  80%
Project + Presentation:  15%
Participation:  5%

There will be 8-10 assignments, and one final project.

Participation:  The participation score will be based on in-class and online participation.  In-class participation includes attending class, participating in class discussions, responding to polls, and taking part in any other active learning exercises provided by the instructor.  Online participation includes the Piazza discussion forum (especially, helpful answers to other students’ questions), and any other online active learning exercises provided by the instructor.

Extra Credit:  The instructor reserves the right to award extra credit points to reward the following:  work specifically offered for extra credit, stellar work on lab assignments/project, class participation, and participation on the Piazza discussion board (especially, endorsed answers).

Course Policies

Late submissions of homework will be accepted with a late penalty.

Late Policy:  A buffer of 10 “free late days” will be given to each student at the start of the semester.  For each calendar day, or part thereof, that an assignment is late, one of these free days will be spent.   Once the free days are exhausted, for each calendar day, or part thereof, that a lab assignment is late, 20% will be deducted from that assignment’s score.

The final project and the final presentation must be completed on time for any credit.

Grading of Late Work:  Work submitted by the due date will be graded and feedback provided in a timely manner.  However, work that is submitted late (due to an approved reason or otherwise) may take significantly longer to grade depending on the instructional team’s schedule.

Attendance

University Policy:  No right or privilege exists that permits a student to be absent from any class meetings, except for these University Approved Absences:

  1. Authorized University activities
  2. Disability/religious observance/pregnancy, as required by law and approved by Accessibility Resources and Serviceand/or the Equal Opportunity and Compliance Office (EOC)
  3. Significant health condition (including COVID-19) and/or personal/family emergency as approved by the Office of the Dean of StudentsGender Violence Service Coordinators,and/or the Equal Opportunity and Compliance Office (EOC).

University Approved Absence Office (UAAO):  The UAAO
website provides information and FAQs for students and faculty related to University Approved Absences.

Class Policy:  Please communicate with me early about potential absences.  Please be aware that you are bound by the Honor Code when making a request for a University approved absence.

Optional Mask Use Statement

UNC-Chapel Hill is committed to the well-being of our community, not just physically, but emotionally.  The indoor mask requirement was lifted for most of campus on March 7, 2022.  If you feel more comfortable wearing a mask, you are free to do so.  There are many reasons why a person may decide to continue to wear a mask, and we respect that choice.

Honor Code

All students are expected to follow the guidelines of the UNC Honor Code. In particular, students are expected to refrain from “lying, cheating, or stealing” in the academic context. If you are unsure about which actions violate the Honor Code, please see me or consult studentconduct.unc.edu.

You are allowed to (actually, encouraged to) discuss basic/fundamental concepts as well as the meaning of assigned tasks with other students.  However, you are required to write the solutions and code assignments individually:  i.e., what you hand in must be entirely your own work.  For final projects, the instructor reserves the right to allow teaming.  But you may not work in teams without advance approval of the instructor.  In case teaming is allowed, what you hand in must be the work of only that team.  Also, you cannot use solutions from previous offerings of the course.  Not following these rules is a violation of the honor code.

Course Schedule

The most up-to-date schedule of classes and labs in available on the course website (comp572.web.unc.edu).

Accessibility Resources and Services

The University of North Carolina at Chapel Hill facilitates the implementation of reasonable accommodations, including resources and services, for students with disabilities, chronic medical conditions, a temporary disability or pregnancy complications resulting in barriers to fully accessing University courses, programs and activities.

Accommodations are determined through the Office of Accessibility Resources and Service (ARS) for individuals with documented qualifying disabilities in accordance with applicable state and federal laws. See the ARS Website for contact information: https://ars.unc.edu or email ars@unc.edu.

Counseling and Psychological Services

UNC-Chapel Hill is strongly committed to addressing the mental health needs of a diverse student body.  The Heels Care Network website is a place to access the many mental resources at Carolina. CAPS is the primary mental health provider for students, offering timely access to consultation and connection to clinically appropriate services.  Go to their website https://caps.unc.edu/ or visit their facilities on the third floor of the Campus Health building for an initial evaluation to learn more.  Students can also call CAPS 24/7 at 919-966-3658 for immediate assistance.

Title IX Resources

Any student who is impacted by discrimination, harassment, interpersonal (relationship) violence, sexual violence, sexual exploitation, or stalking is encouraged to seek resources on campus or in the community. Reports can be made online to the EOC at https://eoc.unc.edu/report-an-incident/. Please contact the University’s Title IX Coordinator (Elizabeth Hall, interim – titleixcoordinator@unc.edu), Report and Response Coordinators in the Equal Opportunity and Compliance Office (reportandresponse@unc.edu), Counseling and Psychological Services (confidential), or the Gender Violence Services Coordinators (gvsc@unc.edu; confidential) to discuss your specific needs. Additional resources are available at safe.unc.edu.

Policy on Non-Discrimination

The University is committed to providing an inclusive and welcoming environment for all members of our community and to ensuring that educational and employment decisions are based on individuals’ abilities and qualifications. Consistent with this principle and applicable laws, the University’s Policy Statement on Non-Discrimination offers access to its educational programs and activities as well as employment terms and conditions without respect to race, color, gender, national origin, age, religion, creed, genetic information, disability, veteran’s status, sexual orientation, gender identity or gender expression.  Such a policy ensures that only relevant factors are considered and that equitable and consistent standards of conduct and performance are applied.

If you are experiencing harassment or discrimination, you can seek assistance and file a report through the Report and Response Coordinators (see contact info at  safe.unc.edu) or the Equal Opportunity and Compliance Office, or online to the EOC at https://eoc.unc.edu/report-an-incident/.

Diversity Statement

We value the perspectives of individuals from all backgrounds reflecting the diversity of our students.  We broadly define diversity to include race, gender identity, national origin, ethnicity, religion, social class, age, sexual orientation, political background, and physical and learning ability.  We strive to make this classroom an inclusive space for all students. Please let us know if there is anything we can do to improve.  We appreciate suggestions.

Disclaimer:  Syllabus Changes

The professor reserves the right to make changes to the syllabus, including due dates.  These changes will be announced as early as possible.

Fall 2022 Course Website