EECS 498/598: Computer Graphics and Generative Models (Fall 2024)

Overview

With the impressive recent performance of machine-generated visual content, studying how to create realistic imagery using traditional and AI-based tools is becoming increasingly important. This course will introduce students to the theoretical and practical foundations of computer graphics, as well as the recent advances in generative models to automate the content creation process. This course is designed to prepare both undergraduate and graduate students to learn how visual content can be created and to prepare for conducting research in a relevant area.

Homeworks

Since this is the first iteration of this course, there can be errors in the homeworks, and will be fixed as soon as we spot them. If you encounter problems that you think are not caused by your implementation, first check whether your codebase is up to date with the published ones on github. You are welcome to come to the lab sessions for reporting or clarification of such issues.

Schedule

# Date Topic Material
1 Monday, Aug. 26 Introduction Slides
2 Wednesday, Aug. 28 Transformation 1 Slides
  Monday, Sep. 2 Labor Day  
3 Wednesday, Sep. 4 Transformation 2 Slides
4 Monday, Sep. 9 Rasterization 1 Slides
5 Wednesday, Sep. 11 Rasterization 2 Slides
6 Monday, Sep. 16 Rasterization 3 Slides
7 Wednesday, Sep. 18 Rasterization 4 Slides
8 Monday, Sep. 23 Ray Tracing 1 Slides
9 Wednesday, Sep. 25 Ray Tracing 2 Slides
10 Monday, Sep. 30 Ray Tracing 3 Slides
11 Wednesday, Oct. 2 Ray Tracing 4 Slides
12 Monday, Oct. 7 Advanced Topics Slides
13 Wednesday, Oct. 9 Geometry Slides
  Monday, Oct. 14 Fall Study Break Slides (TBD)
14 Wednesday, Oct. 16 No Class Slides (TBD)
15 Monday, Oct. 21 Reconstruction Slides
16 Wednesday, Oct. 23 Representations Slides
17 Monday, Oct. 28 Neural Fields 1 Slides
18 Wednesday, Oct. 30 Neural Fields 2 Slides
19 Monday, Nov. 4 Neural Fields 3 Slides
20 Wednesday, Nov. 6 Neural Fields 4) Slides
21 Monday, Nov. 11 Generative Models 1 Slides
22 Wednesday, Nov. 13 Generative Models 2 Slides
23 Monday, Nov. 18 Generative Models 3 Slides
24 Wednesday, Nov. 20 Generative Models 4 Slides
25 Monday, Nov. 25 Guest Lecture
(Suttisak Wizadwongsa)
Slides (TBD)
  Wednesday, Nov. 27 Thanksgiving Break Slides (TBD)
26 Monday, Dec. 2 Guest Lecture Slides (TBD)
27 Wednesday, Dec. 4 Final Exam Slides (TBD)

Syllabus

Scope and Topics

This course is divided into three parts. The first part discusses the fundamentals of graphics, including camera models, rasterization, materials and lighting, ray-tracing, geometry modeling, and texture modeling. The second and third part discuss automating the traditional graphics pipeline using artificial intelligence. The second part focuses on 3D reconstruction, including structure-from-motion, neural radiance fields (NeRF), Gaussian Splatting, etc. The third part discusses theories and practices of generative models, including generative adversarial networks (GANs) and diffusion models and their recent applications to 3D content creation. Each of these topics would involve homework assignments involving individual programming.

Prerequisites

Students taking this course should be comfortable with mathematical expositions and proofs. Familiarity with linear algebra, probability, and multivariate calculus is required. Formally, the students are expected to take (EECS 281) and (MATH 425 or 412 or EECS 301 or IOE 265 or TO 301) and (EECS 351 or MATH 214 or MATH 217 or 296 or 417 or 419 or ROB 101), or be in graduate standings before registering for this course. The generative parts of the course will involve significant deep learning and computer vision, including neural network design and training. Thus, familiarity with deep learning, especially in the context of computer vision, is highly recommended.

Difference between 498/598

While all undergraduate and graduate students will join the same lectures, they will be given the same homework assignments or exams. The final grades will be assigned within the two tracks.

Class Participation

This course expects a great amount of class participation from the students and a significant part of the final grade will be from the participation. Specifically, students are expected to join the lectures in person and participate in in-class discussions and quizzes that happen after each lecture. Students will be expected to contribute to online Q&As and discussions. We will track student participation in the lab sessions and the Piazza discussions and reflect them to the grading accordingly. There will be compensation for the students who participate actively in the final exam. See the grading scheme section for details.

Lab sessions

T/TH lab sessions will be a more involved version of office hours and interchangeable between the two time slots. Some of the TAs and instructors will be present to help students with the conceptual and homework-related questions, including hands-on programming aids. We hope it will also serve as a bazaar of knowledge where students exchange ideas/information and help each other.

Piazza

Grading

Your grade will be based on:

Note that we will allow the participation grade to overflow to the final exam. This means that if you get a perfect participation grade (15%+10%) the 10% score will be added to your final exam.

Course Policies

Formatting and Submission

Submissions that do not follow these rules (and any additional ones specified in the homeworks) will get a 0.

Collaboration and External Sources

Late Submissions

Our policy is generous. Late homework will be deducted 10% flat rate for 10 days. After that, we will impose 50% penalty (submission more than 10 days late).

Regrades

Exams

There will be a final exam.

Textbooks

There is no required textbook. However, the following textbook is recommended for the course:

Fundamentals of Computer Graphics 4th Edition. Marschner & Shirley

Topics Covered