In this class you will learn the basic principles and tools used to process images and videos, and how to apply them in solving practical problems of commercial and scientific interests.
Digital images and videos are everywhere these days – in thousands of scientific (e.g., astronomical, bio-medical), consumer, industrial, and artistic applications. Moreover they come in a wide range of the electromagnetic spectrum - from visible light and infrared to gamma rays and beyond. The ability to process image and video signals is therefore an incredibly important skill to master for engineering/science students, software developers, and practicing scientists. Digital image and video processing continues to enable the multimedia technology revolution we are experiencing today. Some important examples of image and video processing include the removal of degradations images suffer during acquisition (e.g., removing blur from a picture of a fast moving car), and the compression and transmission of images and videos (if you watch videos online, or share photos via a social media website, you use this everyday!), for economical storage and efficient transmission.
This course will cover the fundamentals of image and video processing. We will provide a mathematical framework to describe and analyze images and videos as two- and three-dimensional signals in the spatial, spatio-temporal, and frequency domains. In this class not only will you learn the theory behind fundamental processing tasks including image/video enhancement, recovery, and compression - but you will also learn how to perform these key processing tasks in practice using state-of-the-art techniques and tools. We will introduce and use a wide variety of such tools – from optimization toolboxes to statistical techniques. Emphasis on the special role sparsity plays in modern image and video processing will also be given. In all cases, example images and videos pertaining to specific application domains will be utilized.
Introduction to Image and Video Processing
In this module we look at images and videos as 2-dimensional (2D) and 3-dimensional (3D) signals, and discuss their analog/digital dichotomy. We will also see how the characteristics of an image changes depending on its placement over the electromagnetic spectrum, and how this knowledge can be leveraged in several applications.
Signals and Systems
In this module we introduce the fundamentals of 2D signals and systems. Topics include complex exponential signals, linear space-invariant systems, 2D convolution, and filtering in the spatial domain.
Fourier Transform and Sampling
In this module we look at 2D signals in the frequency domain. Topics include: 2D Fourier transform, sampling, discrete Fourier transform, and filtering in the frequency domain.
In this module we cover two important topics, motion estimation and color representation and processing. Topics include: applications of motion estimation, phase correlation, block matching, spatio-temporal gradient methods, and fundamentals of color image processing
In this module we cover the important topic of image and video enhancement, i.e., the problem of improving the appearance or usefulness of an image or video. Topics include: point-wise intensity transformation, histogram processing, linear and non-linear noise smoothing, sharpening, homomorphic filtering, pseudo-coloring, and video enhancement.
Image Recovery: Part 1
In this module we study the problem of image and video recovery. Topics include: introduction to image and video recovery, image restoration, matrix-vector notation for images, inverse filtering, constrained least squares (CLS), set-theoretic restoration approaches, iterative restoration algorithms, and spatially adaptive algorithms.
Image Recovery : Part 2
In this module we look at the problem of image and video recovery from a stochastic perspective. Topics include: Wiener restoration filter, Wiener noise smoothing filter, maximum likelihood and maximum a posteriori estimation, and Bayesian restoration algorithms.
In this module we introduce the problem of image and video compression with a focus on lossless compression. Topics include: elements of information theory, Huffman coding, run-length coding and fax, arithmetic coding, dictionary techniques, and predictive coding.
In this module we cover fundamental approaches towards lossy image compression. Topics include: scalar and vector quantization, differential pulse-code modulation, fractal image compression, transform coding, JPEG, and subband image compression.
In this module we discus video compression with an emphasis on motion-compensated hybrid video encoding and video compression standards including H.261, H.263, H.264, H.265, MPEG-1, MPEG-2, and MPEG-4.
Image and Video Segmentation
In this module we introduce the problem of image and video segmentation, and discuss various approaches for performing segmentation including methods based on intensity discontinuity and intensity similarity, watersheds and K-means algorithms, and other advanced methods.
In this module we introduce the notion of sparsity and discuss how this concept is being applied in image and video processing. Topics include: sparsity-promoting norms, matching pursuit algorithm, smooth reformulations, and an overview of the applications.