Visual Computing
Visual Computing concerns the analysis and synthesis of images and videos. Understanding images is an AI problem, and the field has grown substantially because of the confluence of big data, powerful hardware, and machine learning. Applications are everywhere: face detection in digital cameras, optical character recognition for text translation, diet apps in smartphones, etc.

In this course, you will learn the basics of visual computing, including: image processing, synthesis, and object recognition. You will learn through lectures and hands-on sessions, culminating in a final group project.
At the end of the course, you will:
-
Understand the basics of visual computing
-
Use Python and OpenCV to perform image processing, analysis and synthesis
-
Complete a non-trivial but interesting image processing project
Prerequisites:
-
Basic knowledge of linear algebra: eigenvectors/values, determinant, arithmetic, inverse, system of linear equations, etc.
-
Basic knowledge of probability & statistics: normal/bernoulli/binomial pdfs, Bayes' Theorem, expectation, mean, variance, etc.
-
Programming in any language (preferably Python)