Neural Rendering for Computer Graphics COMS BC3997 Fall 2024

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
ISBN: 9780262048644
Published: December 5, 2023
Publisher: The MIT Press

 

SYLLABUS
COMPS-BC3997 Section 003 Introduction to Neural Rendering for Computer Graphics

Date
Topic
Reading & Media Resources
Assignments
4-Sep
Introduction | Fundamentals: overview, approaches, loss functions
9-Sep
Neural Scene Representations
11-Sep ***
Novel View Synthesis: Volumetric Rendering
Notes – Volumetric Rendering & Nerfs
16-Sep
Novel View Synthesis: NeRFs, 3D Capture
18-Sep ***
Compute Resources| Cloud Computing| ML APIs| GPU Access
Optional Resources: Video – Compute Resources
Proj. 1 out
23-Sep
Neural Rendering for Photorealistic View Synthesis
Rao2024
25-Sep ***
Gaussian Splatting: Rasterization, 2D & 3D, optimizations
Notes – Gaussian splatting
30-Sep
Gaussian Splatting: Accuracy, Scalability
Optional Resources: Huang2024, Peng2024, Duckworth2024
Proj. 2 out
2-Oct ***
Neural Relighting
Optional Resources:: Ye2024, Ren2024
Proj. 1 due
7-Oct
Neural Scene Editing
9-Oct ***
Compositional Scene Representations, Dynamic Scenes
14-Oct
Compositional Scene Representations, Dynamic Scenes
16-Oct ***
Rip-NeRF antialiasing
Video: Neural Remeshings
Proj. 2 Due, Homework out
21-Oct
Topic Review | Final Project Discussion
Final Proj. Guide out, Homework due Oct 22
23-Oct
Take Home Exam – No Class
Take Home Exam out, Due Oct 25
28-Oct
Metropolis Denoising Transformer Blocks
Final Proj. Proposal due
30-Oct ***
Diffusion Models | GANs
Prince Ch. 15.1-4, Ch. 18.1-4
4-Nov
Academic Holiday – No classes – NO CLASSES
6-Nov ***
Neural Material Rendering
Optional Resources: Zeltner 2024
11-Nov
Performance Capture
13-Nov ***
Expressive Portrait Animation
Xie 2024
18-Nov
Animatable Avatars
Video-based Animation of Human Actors
20-Nov ***
Photorealistic 3D Head Avatars
Optional Resources: Teotia2024
Final Proj. Midpoint Evaluations
25-Nov
Future Directions and Open Challenges
27-Nov
Academic Holiday – No classes – NO CLASSES
2-Dec
Explainable AI | Ethics
Prince Ch. 21
4-Dec
TBD
9-Dec
Final Project Presentations
Final Proj. due, Presentation Schedule TBD

 

***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.