Mobile Visual Computing
Applications, Algorithms, and Systems
Basic Information
Wednesday/Friday 11:50-13:05
Hutchison 473
Instructor: Yuhao Zhu
Office Hours: By Appointment
Course Description

Does there exist a display that can display all the colors that humans can see? How does a smartphone camera capture mesmerizing pictures that traditionally only DSLRs can take? How are 360° videos created, and how does YouTube live-stream 360° videos to you? How does a holographic display work? How to render photorealistic graphics and why is it hard to do so in real-time on a mobile device? How do drones and self-driving cars perceive the world? Could we ever digitally unwrap a papyrus scroll heavily carbonized two thousand years ago? These are just a few of the questions we will explore in CSC 572/292.

In this class, we will first study the fundamental building blocks of visual computing, including human visual system, camera imaging, computer graphics, image/video compression, and display technologies. We will then explore application domains that build on top of these fundamental building blocks such as Augmented/Virtual Reality, computational photography, autonomous machines, and cultural heritage imaging. The course will necessarily span many scientific and engineering domains such as color science, neuroscience, optics, signal processing, and computer systems.

(Soft) Prerequisites

There isn't any hard prerequisite for this course. A key message I want to communicate to you all is that everything we will learn can be derived from first principles. Nothing is mysterious as long as you follow the basic laws of physics and exercise critical thinking.

That said, you will find your learning experience much more pleasant if you have a solid understanding of the following basic topics, which shouldn't be anything beyond your high-school and first-year college education:

  • Linear algebra, especially matrix and vector computations
  • Basic calculus
  • Basic probability
  • Basic physics
  • Computer systems (CSC 252 equivalent), could be useful to understand the hardware part of the course

At the start of the semester, there will be a homework 0, which is designed to calibrate whether you have the basic knowledge of the topic above. That homework is not meant to discourage you, but to enable you to better prepare for the course, knowing on what topics you need a bit more time to refresh your brain.