Addressing the world's more pressing issues such as environmental sustainability and cultural heritage preservation increasingly relies on diverse visual applications running on emerging platforms such as Augmented/Virtual Reality headsets, autonomous machines, and smart sensor nodes. In real-time and using low power, visual computing systems must generate visual data for human to consume, immersively, or interpret visual data to provide personalized services, intelligently.
In this class, we will first study fundamental building blocks for visual computing such as real-time computer vision, computer graphics, deep learning, image sensing, optics, and human vision systems. We will then explore application domains that build on top of these fundamental building blocks such as AR/VR, computational photography/imaging, robotics, and self-driving cars. A central theme of the course is to synergistically co-design and co-optimize across many important layers of a computer system, including application development, programming language and framework, compiler, OS, and hardware architecture.
This class will combine instructor-led lectures, student-led presentations, paper reading/critiquing, and programming assignments and projects.