This is an introductory course on computer imaging and graphics. It is not a computer vision class. Computer vision is concerned with understanding images, whereas in this class we are mostly concerned with how images are formed in the first place. In particular, we study three fundamental forms of image formation: biological (human eye and retina), electrical (cameras), and computational (computer graphics).
Why do we care about image formation? First, it’s a wonderfully rich topic that covers sciences (e.g., physics, optics, visual neuroscience), engineering (e.g., camera/display design, Augmented/Virtual Reality glass design), computation (e.g., rendering algorithms, computational photography, image/video compression algorithms), art (e.g., paintings, pentimento), and mathematics (e.g., linear systems, Fourier analysis). Second, understanding image formation allows us to better design vision systems (both computer vision and human vision) — if we don’t understand how an image is formed in the first place, how can we analyze it to extract useful information?
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.