New: Spring 2023 Class:

Schedule: Tuesdays & Thursdays 11:30AM - 1PM PT

Quick Links: Piazza | Schedule | Google Calendar (add to your calendar — contains the webinar link for Berkeley students)

NOTE: Unfortunately the class is at max capacity, but if you are an undergraduate or 5th year MS student, or a non-EECS graduate student wanting to be on the waitlist, please fill out this form to apply for enrollment into the Fall 2020 version of the course. Do not email the course instructor about enrollment -- all students who fill out the form will be reviewed. We will enroll off of this form during the first two weeks of class in case any extra slots open up. We will not be using the official CalCentral wait list, just this form. If you are a EECS PhD student, then directly waitlist on CalCentral.

Course Description

We live in a 3D world that is dynamic. Although there have been remarkable advances in 2D vision tasks such as image recognition, detection, and segmentation, the 2D nature of these tasks make perception of the underlying 3D world from images a challenge. While 3D vision has always been an integral part of Computer Vision, with the advances in deep learning, there has been a growing new interest and possibility in 3D vision and rapid developments in this area in the past couple of years. The 3D nature of this topic has many potential applications in graphics, robotics, content creation, mixed reality, biometrics, and more.

The goal of this course is to give students enough historical context and holistic understanding of the latest trends and techniques in learning based 3D vision. After taking this course, one should:

  • Know what the common 3D representations are and their pros & cons.

  • Have enough technical and historical context to critically read the latest 3D papers.

  • Understand/explore what are the interesting next problems with 3D.

  • Have the ability to incorporate 3D inductive bias in your own research.

  • Learn how to present effectively and make a project teaser video.

The format of this course will be a mix of lectures, seminar-style discussions, and student presentations. Given the virtual nature of this semester, the course will be heavily discussion and project oriented. Students will be responsible for paper readings, class participation, and completing a hands-on project.


  • August 29: Course website + schedule is up. Welcome to the class!

Instructor: Angjoo Kanazawa

Email: kanazawa<at>

Office Hours: Thursday 1:10pm - 2:10pm after class

Note: This 3D reconstruction result is from our ICCV'19 PIFu paper, obtained automatically from a *single* image (including the unseen regions & its color). Yes, the resolution & skirt can be improved and you may have an idea of how to do it after taking this class!

Prerequisites / Enrollment:

Given the ADVANCED nature of the class, where you will immediately start reading papers and do a hands-on project, attendance to this course expects that you have basic knowledge of computer vision, deep learning methods and computer graphics. We assume you have advanced programming skills with appropriate deep learning libraries (PyTorch, TensorFlow, etc) to re-implement and build upon latest papers.

Prerequisite is CS189 and strongly preferred at least one of: CS184, CS194-26/294-26 and CS280 or the like. This is a great follow up if you have taken CS294-167: Geometry and Learning for 3D Vision.

Learning Resources:

As this is a rapidly developing topic, there is no textbook, but if you are looking for technical references in 3D and geometry, these are the classics:

3DGV seminar: Luckily this course overlaps with the first virtual seminar on Geometry Processing and 3D Computer Vision called 3DGV that I am co-organizing with Angela Dai, Angela Yao, Juyong Zhang, Qixing Huang, Torsten Sattler and Yasutaka Furukawa. The speaker lineup is fantastic! So add it to your calendar + listen along with the course.