Mobile Visual Computing
Applications, Algorithms, and Systems
Basic Information
When: Wednesday/Friday, 11:50 — 13:05
Where: Hutchison 473
Who: Yuhao Zhu (Instructor) and Abhishek Tyagi (TA)
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? Why mixing blue and yellow lights gives you gray but mixing blue and yellow pigments gives you green? How are 360° videos created, and how does YouTube live-stream 360° videos to you? How does a holographic display work? How does Augmented/Virtual Reality devices really work? What is ray tracing? 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 digital cultural heritage. The course will necessarily span many scientific and engineering domains such as color science, cognition, 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 you will learn can be, and will be, reasoned about from first principles. There is no mystery so 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.