Teaching
I was a teaching assistant for the following courses:
- Fall 2023 - Deep Generative Models - University of Pennsylvania
- Instructor: Professor René Vidal
- Course Description: Generative models have found widespread applications in science and engineering. Recent progress in deep learning has enabled the application of generative models to complex high-dimensional data such as images, videos, text and speech. This course will cover state-of-the-art deep generative models, including variational autoencoders (VAEs), auto-regressive models, diffusion models, and generative adversarial networks (GANs). The course will also illustrate various applications of deep generative models to image and video generation, text and speech generation, image captioning, text-to-image generation, and inverse problems.
- Fall 2019 - Geometry and Learning for 3D Vision - University of California, Berkeley
- Instructor: Professor Yi Ma
- Course Description: This 3-unit course gives a systematic introduction to the geometric principles and computational methods of recovering three-dimensional (3D) scene structure and camera motion from multiple, or a sequence of, two-dimensional (2D) images. The first part of the course provides a complete and unified characterization of all fundamental geometric relationships among multiple 2D images of 3D points, lines, planes, and symmetric structures etc., as well as the associated geometric reconstruction algorithms. Complementary to the geometry, the second part of the course introduces latest development in supervised or unsupervised learning-based methods for detecting and recognizing local features or global geometric structures (e.g. wireframes, planes, regular textures, symmetric objects) in 2D images, for robust and accurate 3D reconstruction. Although principles and methods introduced are fundamental and general, this course emphasizes applications in augmented reality and autonomous 3D mapping and navigation. This course can be viewed as an advanced course in computer vision with a focus on 3D Vision. It can be taken as a follow-up of the Computer Vision course CS 280 or the 3D Image Processing course ECE290 (offered by Zakhor). It is also designed for students who have taken an introductory Robotics course, say EECS 106, and wish to systematically learn about machine vision for purposes such as localization, mapping, and navigation. However, this course is entirely self-contained, necessary background knowledge in linear algebra, rigid-body motions, image formation, and camera models will be covered in the very beginning.