Courses

16-823 / Physics-based methods in Computer Vision
Spring 2011 Srinivasa Narasimhan
Fall 2008 Srinivasa Narasimhan
Fall 2007 Srinivasa Narasimhan
Fall 2006 Srinivasa Narasimhan
Fall 2005 Srinivasa Narasimhan
Everyday we observe an extraordinary array of light and color phenomena around us, ranging from the dazzling effects of the atmosphere, the complex appearances of surfaces and materials and underwater scenarios. For a long time, artists, scientists and photographers have been fascinated by these effects, and have focused their attention on capturing and understanding these phenomena. In this course, we take a computational approach to modeling and analyzing these phenomena, which we collectively call as "visual appearance". The first half of the course focuses on the physical fundamentals of visual appearance, while the second half of the course focuses on algorithms and applications in a variety of fields such as computer vision, graphics and remote sensing and technologies such as underwater and aerial imaging. This course is an initial attempt to unify concepts usually learnt in physical sciences and their application in imaging sciences. The course will also include a photography competition in addition to analytical and practical assignments.
16-721 / Learning-based methods in Computer Vision
Spring 2012 Alexei Efros
Spring 2009 Alexei Efros
The goal of this graduate seminar course is to gain a deeper understanding of the computer vision problem in order to better reason about ways data and learning could be used to tackle it. The central focus will be on representation of visual data, rather than on fancy learning techniques. We will be looking at all stages of visual processing, from low-level (color, texture, local patches) all the way to high-level (object recognition, general image understanding). We will pay particular attention to mid-level vision (grouping, segmentation, figure/ground, scene layout, image parsing) -- a crucial glue tying vision together that has been largely neglected. The course will have an emphasis on using large amounts of real data (images, video, textual annotations, other meta-data). We will also discuss the difficult issue of what is the right choice of training data and how can it be acquired.
16-721 / Advanced Perception
Spring 2006 Alexei Efros
Advanced Perception is a graduate seminar devoted to recent research on computer vision. We will be reading an eclectic mix of vision papers on topics such as perception, object and scene recognition, segmentation, tracking, as well as "best papers of all time."
16-421 / Vision Sensors
Spring 2009 Srinivasa Narasimhan
Spring 2008 Srinivasa Narasimhan
This course covers the fundamentals of vision cameras and other sensors - how they function, how they are built, and how to use them effectively. The course presents a journey through the fascinating five hundered year history of "camera-making" from the early 1500's "camera obscura" through the advent of film and lenses, to today's mirror-based and solid state devices (CCD, CMOS). The course includes a significant hands-on component where students learn how to use the sensors and understand, model and deal with the uncertainty (noise) in their measurements. While the first half of the course deals with conventional "single viewpoint" or "perspective" cameras, the second half of the course covers much more recent "multi-viewpoint" or "multi-perspective" cameras that includes a host of lenses and mirrors.
15-899A / Pixels to Percepts: Visual Perception for Computer Vision and Graphics
Spring 2011 Alexei Efros
Why do things look the way they do? Why is understanding the visual world, while so effortless for humans, so excruciatingly difficult for computers? What insights from the human visual system can we use in computer vision? What quirks of visual perception can we exploit in computer graphics? In this seminar course, through lectures, paper presentations, and projects, we will explore a number of familiar yet mysterious perceptual phenomena that involve color, illumination and shadows, material and object appearance, scenes, movement etc., both in terms of understanding (computer vision) as well as modeling (computer graphics). Basic techniques for designing psychophysical experiments will also be presented.
15-899A / Hands: Design and Control for Dexterous Manipulation
Spring 2010 Nancy Pollard
In this course, we will survey robotic hands and learn about the human hand with the goal of understanding hand design and control for dexterity. Questions to be explored include the following. Should robot hand kinematics be humanlike? What robotic sensors are available / practical, how do they measure up to sensors in the human hand, and what sensing capabilities are required for dexterous manipulation? What is a good benchmark suite of tasks for evaluating dexterous behavior? How do we design control algorithms for dexterous manipulation in the presence of uncertainty? What can we learn from human manipulation performance to improve robotic manipulation capability? This is a reading and project course. Students will be asked to present one or two short research papers of their own and to design and carry out a final project.
15-869B / Physically Based Character Animation
Fall 2004 Nancy Pollard
Fall 2006 Nancy Pollard
Spring 2009 Nancy Pollard
Spring 2012 Nancy Pollard
This course will explore topics in physically based character animation, where the goal is to obtain a character performance that appears both natural and physically plausible. We will focus on optimization approaches to generating realistic motion for humanlike characters and cover research results in computer graphics and biomechanics. The course should be appropriate for graduate students with some computer graphics and / or robotics experience and for advanced undergraduates.
15-869A / Generating Natural Human Motion
Spring 2008 Jessica Hodgins
Spring 2006 Jessica Hodgins
This course is an in-depth study of recently developed techniques for creating natural human motion for robotics and computer animation. We will explore both the mathematical techniques behind these systems and techniques for evaluating them. The topics to be covered include: control, motion graphs, statistical motion synthesis, motion blending, and optimization.
15-869 / The Animation of Natural Phenomena
Fall 2008 Adrien Treuille
Fall 2011 Adrien Treuille
Fall 2010 Adrien Treuille
This class covers physical simulation in computer graphics. The goal is to teach a broad swath of techniques—from particle systems to human animation—while learning some math, working on fun projects, and practicing quick problem solving and public presentation skills.
15-869 / Special Topics in Graphics: Graphics and Imaging Architectures
Fall 2011 Kayvon Fatahalian
Visual computing tasks such as 3D graphics and image processing are increasingly important to the capabilities and overall user experience delivered by computer systems ranging from high-end workstations to sensor-rich smart phones. The aim of this reading and project-based course is to examine key ideas, trends, and challenges associated with the design of architectures and systems responsible for efficiently executing these workloads. This course begins with an in-depth study of the real-time graphics pipeline architecture and the efficiency of its modern GPU implementations. Key topics include the design of GPU processing and communication resources, graphics pipeline components and their scheduling on heterogeneous, parallel hardware, and how current abstractions balance conflicting needs for both efficiency and programmability. The second part of the course will address system design challenges in a broader array of emerging visual computing topics including: image processing architectures for mobile computing, programmable camera platforms, alternative graphics pipelines, and GPU-accelerated interfaces for application domains beyond graphics.
15-869 / Human Motion Modeling and Analysis
Fall 2012 Yaser Sheikh, Leonid Sigal
Human motion analysis is used in applications as varied as special effects in movies, animation, sport training, physical rehabilitation for the disabled, and human-robot/human-computer interaction. This course will survey state-of-the-art techniques, in the industry and academia, to capture, model, and analyze human motion. The course will be a mix between lectures and seminar-style paper reading of recent research into human motion modeling and analysis. The course evaluation will be project-based, in which students will capture their own body and face motion, and build projects around the data they collect individually and as a group.
15-869 / Data-driven Character Animation
Fall 2003 Jessica Hodgins
This course is an in-depth study of recently developed techniques for using data to produce character animations. We will explore systems that have been developed for both interactive and off-line animations using motion capture data, video data, and body scans. The topics to be covered include: motion editing, retargeting, motion graphs, statistical motion synthesis, interfaces, skinning and modeling of deformable shapes for human animation.
15-864 / Advanced Computer Graphics
Spring 2004 Doug James
Spring 2005 Doug James
Spring 2006 Doug James
This course will be a hands-on class on advanced computer graphics. It will cover major aspects of digital image generation: geometric modeling, computer animation, and rendering. The goal of the course is to provide a strong foundation for computer graphics principles, and provide a hands-on introduction to recent advanced topics, e.g., subdivision surfaces, real-time global illumination, and physically based animation. The course should be appropriate for graduate students in all areas and for advanced undergraduates.
15-863 / Physically Based Modeling and Interactive Simulation
Spring 2003 Doug James
Spring 2005 Doug James
This course introduces students to physically based modeling for computer graphics and related fields, and summarizes current research issues. Efficient numerical methods for simulating a host of visually interesting physical phenomena will be covered, and discussed in the context of both interactive and offline simulation. The course should be appropriate for graduate students in all areas and for advanced undergraduates.
15-467 / Physical Simulation for Computer Animation
Fall 2007 Adam Bargteil
Physically based simulation techniques have revolutionized special effects in film and video games, creating extremely realistic effects while allowing unprecedented artistic control and avoiding dangerous situations. This course will explore physically based simulation methods for computer animation of a wide variety of phenomena and materials including rigid and deformable solids, cloth, liquids, and explosions. Students will be introduced to numerical methods, physical models, data structures, and theoretical results which form the building blocks of these methods. To gain hands-on experience, students will implement basic simulators for several phenomena.
15-466 / Computer Game Programming
Fall 2002 James Kuffner
Spring 2004 James Kuffner
Spring 2005 Jessica Hodgins and Josh Yelon
Spring 2007 James Kuffner
Spring 2008 James Kuffner
Fall 2009 Jim McCann
Fall 2012 Maxim Likhachev
This course will cover tools and techniques for programming interactive games and virtual reality simulations. The course will focus primarily on programming aspects, including event loops and execution threads, rendering and animation in 3D, terrain/background representation, polygonal models, texturing, collision detection and physically-based modeling, game AI, and multi-user games and networking. Although this course has a heavy programming focus, other topics briefly covered will include the history of computer/video game technology, game genres and design principles, and the social impact of games.
15-465 / Animation Art and Technology
Spring 2012 James Duesing and Jessica Hodgins
Spring 2010 James Duesing and Jessica Hodgins
Spring 2009 James Duesing and Jessica Hodgins
Spring 2008 James Duesing and Jessica Hodgins
Spring 2007 James Duesing and Jessica Hodgins
Spring 2003 James Duesing and Jessica Hodgins
Fall 2003 James Duesing and Jessica Hodgins
Spring 2005 James Duesing and Jessica Hodgins
Spring 2006 James Duesing and Jessica Hodgins
Students in this course will learn to use computer-based tools such as Maya to create artistic animation. The final project will begin as a storyboard, morph into an animatic and gradually become a complete animation with fully rendered frames and audio.
15-464 / Technical Animation
Fall 2009 Nancy Pollard
Spring 2007 Nancy Pollard
Fall 2005 Nancy Pollard
This course introduces techniques for computer animation such as keyframing, procedural methods, motion capture, and simulation. We will focus primarily on character animation, but will also discuss animation of cloth and natural phenomena. Recent research results will be considered as well as basic techniques. The course also includes a brief overview of story-boarding, scene composition, and lighting.
15-463 / Computational Photography
Fall 2012 Alexei Efros
Fall 2011 Alexei Efros
Fall 2010 Alexei Efros
Spring 2010 Alexei Efros
Fall 2008 Alexei Efros
Fall 2007 Alexei Efros
Fall 2006 Alexei Efros
Fall 2005 Alexei Efros
Fall 2004 Alexei Efros
Computational Photography is an emerging new field created by the convergence of computer graphics, computer vision and photography. Its role is to overcome the limitations of the traditional camera by using computational techniques to produce a richer, more vivid, perhaps more perceptually meaningful representation of our visual world. The aim of this advanced undergraduate course is to study ways in which samples from the real world (images and video) can be used to generate compelling computer graphics imagery. We will learn how to acquire, represent, and render scenes from digitized photographs. Several popular image-based algorithms will be presented, with an emphasis on using these techniques to build practical systems. This hands-on emphasis will be reflected in the programming assignments, in which students will have the opportunity to acquire their own images of indoor and outdoor scenes and develop the image analysis and synthesis tools needed to render and view the scenes on the computer.
15-462 / Computer Graphics I
Fall 2012 Srinivasa Narasimhan
Spring 2012 Nancy Pollard
Fall 2011 Srinivasa Narasimhan
Spring 2011 Nancy Pollard
Fall 2010 Srinivasa Narasimhan
Spring 2010 Adrien Treuille
Fall 2009 Srinivasa Narasimhan
Spring 2009 Adrien Treuille
Fall 2008 Nancy Pollard
Spring 2008 Nancy Pollard
Fall 2007 Nancy Pollard
Spring 2007 Jessica Hodgins
Fall 2006 James Kuffner
Spring 2006 Doug James
Fall 2005 Nancy Pollard
Spring 2005 Yanxi Liu
Fall 2004 Nancy Pollard
Spring 2004 Nancy Pollard
Fall 2003 Doug James
Spring 2003 Frank Pfenning
Fall 2002 Jessica Hodgins
Introduction to graphics, undergraduate level.

Other Relevant Courses

  • CFA 51-741 / Introduction to Computing in Design
  • ARC 48-120/48-260/48-760 / Computer Modeling
  • ARC 48-745 / Geometric Modeling : Theory, Programming and Practice
  • ARC 48-760 / Digital Narratives
  • ART 60-110 / Electronic Media Studio I: Computer Art
  • ART 60-210 / Electronic Media Studio II: Video
  • ART 60-410 / Advanced ETB: Concepts of Animation
  • ART 60-415 / Advanced ETB: 3-D Animation
  • ART 60-423 / Advanced ETB: Telepresence Art & Applications
  • ART 60-424 / Advanced ETB: Special Topic: Interactive Programming
  • CFA 51-741 / Introduction to Computing in Design
  • ECE 18-396 / Signals and Systems
  • ECE 18-551 / Digital Communications and Signal Processing Systems Design
  • ECE 18-751 / Applied Stochastic Processes
  • ECE 18-791 / Digital Signal Processing I
  • ECE 18-792 / Digital Signal Processing II
  • ECE 18-796 / Multimedia Communications: Coding, Systems, and Networking
  • ECE 18-798 / Image and Video Processing
  • ETC 53-831 / Building Virtual Worlds
  • ETC 53-871 / Dramatic Structures of Interactive Games
  • MEG 24-201 / Engineering Graphics
  • MEG 24-351 / Dynamics
  • ROB 15-385 / Computer Vision
  • ROB 16-720 / Computer Vision