Categories
OVERVIEW
This course is designed for advanced undergraduates (and graduate students – see Columbia course COMS W4995 Section 010 Spring 2025) and covers the latest innovations in neural rendering that have developed in the field of computer graphics over the last year. Programming assignments will help students develop GPU programming skills while implementing concepts learned in lectures and readings using deep learning APIs on a GPU cluster.
OBJECTIVES
This course introduces students to techniques that use neural networks to generate photorealistic scenes and animation in computer graphics. Course materials combine machine learning techniques with fundamental principles from computer graphics to control scene properties including illumination, camera parameters, geometry, appearance, pose, and semantic structure. We first cover the fundamentals of computer graphics and deep learning that are relevant to neural rendering. Next, we study neural rendering methods for relighting, light transfer denoising, novel view synthesis, animation, volumetric rendering with neural radiance fields (NeRFs), Gaussian splatting, and photo-realistic avatar creation for virtual and augmented reality. Students learn the techniques by implementing a series of interactive computer programs using deep learning APIs on a GPU cluster, discussing the latest innovations (from SIGGRAPH and related venues) and by proposing and implementing a final project.
Instructor: Dr. Corey Toler-Franklin, Computer Science Department, Barnard College, Columbia University
Contact: Office Milstein 502B, ctolerfr@barnard.edu ct3219@columbia.edu
Office Hours: TBD
Location: 325 Milbank Hall
Time: MW 11:40 am – 12:55 pm
Course Management: CourseWorks
PREREQUISITES:
Prerequisites: COMS W3157 Advanced Programming, Linear Algebra (UN2010), and Calculus I or higher.
**Contact instructor if you are not sure you are prepared for the course**
TEXTBOOK
Optional
Title: Understanding Deep Learning
Author: Simon J.D. Prince |
SYLLABUS
COMPS-BC3997 Section 003 Introduction to Neural Rendering for Computer Graphics
***weekly in class quiz dates
COURSEWORK
35% Programming Assignments (2)
15% Take Home Exam (1)
15% Written Homework (1)
25% Final Project
10% Quizzes (~weekly: 10 top scores count toward grade)
Grading Policy
98-100 A+ 4.33
93 – 97.9 A 4.00
90.0 – 92.9 A- 3.67
87-89.9 B+ 3.33
83-86.9 B 3.00
80-82.9 B- 2.67
77-79.9 C+ 2.33
73-76.9 C 2.00
70-72.9 C- 1.65
60-69.9 D 1.00
below 59.9 F 0.00
Attendance Policy, Class Expectations, and Make-Up Policy
Students are expected to attend class. Repeated non-excused absences (more than three) may impact your grade. Make-Up homework, projects and exams must be coordinated with the instructor. Excused absences must be consistent with your college’s Absence and Attendance Policy.
Guidelines for assignments
There is an emphasis on developing GPU programming skills while implementing concepts learned for real computer graphics applications. Students will complete 2 programming assignments and a final project using a GPU cluster. Implementing a neural volume renderer and then optimizing it for neural radiance fields, and implementing 3D Gaussian splatting are examples of past projects. The final project is designed by the student but must be approved by the instructor. Weekly quizzes are designed to help students access their understanding of course material on a regular basis. These quizzes also provide preparation for the written homework (one) and take-home exam (one) which are designed to help students develop problem solving skills that use mathematical concepts covered in the course material. The instructor will provide detailed assignment guidance/instructions with support material.
Late Policy:
Students are given five late days total for the course. Students can use late days without penalty for project one and/or two only. Late days cannot be used for the final project, homework, or take-home exam.
There is a 10% per day late deduction up to a maximum of a 50% reduction for late programming projects (after applied late days). Students are expected to submit all programming assignments (even if they are late).
To use the late days, you must notify the instructor in writing (email) by the assignment due date and receive a confirmation email from the instructor. When you submit your project, you must indicate the number of late days you are using.
You do not have to use your late days if you have a university allowed excuse and supporting documentation. See your college’s Excused Absence Policy.
The homework solutions are posted quickly as a study aid for the take-home exam.
***NO LATE HOMEWORK accepted except for a university allowed excuse. ***
Columbia University Honor Code
In addition, all students must adhere to and uphold the honor codes of their respective colleges. All Columbia College and undergraduate Columbia Engineering students are committed to the following honor code:
I affirm that I will not plagiarize, use unauthorized materials, or give or receive illegitimate help on assignments, papers, or examinations. I will also uphold equity and honesty in the evaluation of my work and the work of others. I do so to sustain a community built around this Code of Honor.