CS663 - Digital Image Processing

Instructor: Ajit Rajwade
Office: SIA-218, KReSIT Building
Email:
Teaching Assistants:
  • Aditya Pande: pingpongpande AT cse.iitb.ac.in
  • Ashita Saxena: ashitasaxena AT cse.iitb.ac.in
  • Nihar Ranhan Sahoo: nihar AT cse.iitb.ac.in
  • Yashwant Singh Parihar: yashwantp AT cse.iitb.ac.in
  • Udhay Brahmi: 23m2107 AT iitb.ac.in
  • Saransh Bamania: 23m2110 AT iitb.ac.in


Textbooks and Resources


Tutorials

The tutorials can be found here.

Intended Audience


For all PG students (MS/MTech/PhD/DDP) and UG students in their 3rd, 4th, 5th year. NOT for 2nd year UG students.

Lecture Schedule:


Previous offerings of this course:

Date

Content of the Lecture

Assignments/Readings/Notes

3/8 (Thu) Overview
  • Course content
  • Course policies
  • Applications of image processing
5/8 (Sat) Image alignment
  • Image basics: pixel, domain, size, resolution
  • Digital and physical correspondence, concept of image alignment
  • Motion models: rotation, translation, affine, scaling, shearing, matrix representation, low rank transforms, composition of transformations
  • Control-point based image alignment
  • MSSD/MSE based image alignment, concept of field of view
  • Image warping: forward and reverse, bilinear interpolation
  • Slides
  • Read sections 2.4.3, 2.4.4, 2.6.5 of the book by Gonzalez and Woods
7/8 (Mon)
  • Image alignment when intensity profiles are not the same: transformed MSSD, Normalized cross-correlation, joint entropy
  • Concept of image histograms, joint image histograms, entropy and joint entropy, use of joint entropy for image alignment
  • Applications of image alignment: template matching, panorama generation
  • Clarifications regarding concept of field of view in image alignment
  • Slides
  • Read sections 2.4.3, 2.4.4, 2.6.5 of the book by Gonzalez and Woods
10/8 (Thurs) Image Enhancement
  • Concept of image intensity transformation and image enhancement
  • Negatives, logarithmic, power-law (gamma) transformations, linear contrast stretching
  • Histogram equalization: concept, derivation, examples
  • Histogram specification: concept, examples
  • Slides
  • Read sections 3.2, 3.3 of the book by Gonzalez and Woods
14/8 (Mon)
  • Histogram specification: derivation, examples
  • Local/Adaptive Histogram equalization
  • Local spatial filters
  • Convolution and correlation operations: examples, properties, derivation of correlation (template matching) and convolution (Linear time/space-invariant systems)
  • Mean and median filtering; examples of linear and non-linear filters
  • Introduction to derivative filters in image processing

MATLAB examples
  • Slides
  • Read sections 3.2, 3.3, 3.4, 3.5 of the book by Gonzalez and Woods
17/8 (Thurs)
  • Derivative operators in 1D and 2D, and their properties
  • Laplacian-based sharpening filter, unsharp masking
  • Laplacian of Gaussians, Sobel filter
  • Separable convolution filters and their advantages
  • Bilateral filters and their advantages, cross-bilateral filters
21/8 (Mon)
  • Bilateral filters and their advantages, cross-bilateral filters
  • Bokeh filters
Edge and Corner Detection
  • Derivative operators in 1D and 2D, and their properties
  • Laplacian of Gaussians, Sobel filter, Prewitt filter
  • Marr-Hildreth edge detector
  • Canny edge detector with non-maximal suppression and hysterisis thresholding
28/8 (Mon) Edge and Corner Detection
  • Corner detection: importance of corners in image matching
  • Harris corner detection criterion
  • Structure tensor and its eigen-analysis; behaviour in constant intensity regions, regions with edge, regions with a corner
Hough Transform
  • Hough transform for line (with normal line representation instead of slope-intercept), circle and ellipse detection
  • Pros and cons of Hough transform
  • 31/8 (Thurs) Image Segmentation
    • Image segmentation: concept
    • Segmentation as a clustering problem
    • KMeans algorithm and its limitations
    • Concept of gradient ascent; mode finding given a PDF
    • Concept of nonparametric probability density estimation using kernels (kernel density estimation)
    • Mean shift algorithm
    4/9 (Mon) Fourier Analysis
    • Fourier series: formula and basic properties
    • Fourier transform: examples, intuition, properties: linearity, shift theorem and its variant, convolution theorem and its variant, Parseval's theorem
    • Fourier transforms in 2D
    • Brief mention of applications of a Fourier Transform
    • Discrete fourier transform (DFT): Fourier transform of a sampled version of a continuous signal, frequency-domain sampling of such a Fourier transform to get the DFT
    • Orthonormality of DFT matrix; reason for equal number of time domain and frequency domain samples
    • Implicit periodicity in DFT and IDFT, other basic properties of the DFT
    • Discrete (circular) convolution - wrap-around issues and zero-padding, implementation using DFT and IDFT
    7/9 (Thurs)
    • Fast Fourier transform (FFT) algorithm
    • 2D-DFT and IDFT, basic properties, importance of phase in Fourier transforms
    • Interpretation of DFT of images; power law in natural images
    • Visualization of 2D DFT
    • Fourier rotation theorem
    • Frequency domain filtering: ideal low pass filter (LPF) and ringing artifacts, Butterworth and Gaussian LPF; ideal, Butterworth and Gaussian high pass filters (HPF);
    • Gaussian kernel - in spatial and Fourier domain
    11/9 (Mon)
    • Revision of previous two lectures
    14/9 (Thurs)
    • Frequency domain filtering: ideal low pass filter (LPF) and ringing artifacts, Butterworth and Gaussian LPF; ideal, Butterworth and Gaussian high pass filters (HPF); Notch filters
    • Gaussian kernel - in spatial and Fourier domain
    • Applications of Fourier transform: Hybrid images
    • Introduction to tomography: Radon transform
    25/9 (Mon)
    • Introduction to tomography: Radon transform
    • Fourier slice theorem
    • Beer's law in tomography
    • Shannon's sampling theorem, concept of Nyquist rate, concept of aliasing
    5/10 (Thurs)
    • Discussion session on Fourier transforms: basis images and their importance for inverse fourier transforms. Code
    • Fourier shift theorem and applications in image alignment with translation. Code
    • Importance of fftshift
    • Effect of zero padding on Fourier transforms of an image
    • Fourier rotation theorem. Code
    • Discrete fourier transform of a complex exponenial with integer and non-integer frequencies. Code

    Face Recognition
  • Face recognition: intro
  • Face recognition, face detection, face verification, challenges in face recognition, concept of training and test phase of a face recognition system
    9/10 (Mon)
  • Face recognition: intro
  • Face recognition, face detection, face verification, challenges in face recognition, concept of training and test phase of a face recognition system
  • PCA algorithm
  • A faster algorithm for PCA on a small (N) number of large-sized images (N < d case).
  • Derivation of PCA algorithm for k=1 case, sketch of proof for k=2 case
    12/10 (Thurs)
  • Derivation of PCA algorithm for k=1 case, sketch of proof for k=2 case
  • Clarification about Lagrange multipliers
  • Illumination invariance in face recognition: Removal of top three eigenfaces
  • Eigenvalue decay in eigenfaces derived from well-aligned face images
  • Choice of k in PCA
    16/10 (Mon)
    • Discussion on Illumination invariance in face recognition: Removal of top three eigenfaces
    • Person-specific eigenspaces
    • PCA for compression
    • Face recognition from other modalities

    Singular Value Decomposition (SVD)
    • Singular value decomposition (SVD): varied expressions
    • Application of SVD for image compression
    • Eckart Young theorem for low rank approximation using SVD
    • SVD: geometric interpretation; applications in linear algebra
    • PCA/eigenfaces algorithm using SVD, brief mention of other applications of SVD
    19/10 (Thurs) Image Restoration
    • Introduction to image restoration - differences between enhancement and restoration
    • Introduction to blur models - spatially varying and spatially invariant blur, defocus blur
    • Blur models: defocus blur, motion blur, derivation of motion blur frequency response for in-plane constant velocity translational motion, interpretation of fourier transform of a motion blurred image
    • Inverse filter: definition, limitations
    • Code blur camera (see code demo), flutter shutter camera - spread spectrum filtering
    • Concept of Wiener filter and formula, interpretation of the formula
    23/10 (Mon)
    • Concept of Wiener filter and formula, interpretation of the formula
    • Derivation of Wiener filter
    • Regularized restoration using gradient penalty terms
    • PCA for image denoising: algorithm description and sample outputs
    • Derivation of Wiener filter for PCA denoising
    26/10 (Thu) Image Compression
    • Image Compression: lossless and lossy
    • Discrete cosine transform - definition and basic properties
    • 1D and 2D DCT - concept of Kronecker product of 1D DCT bases to yield a 2D DCT basis
    • Comparison between DCT and DFT: DCT computation using fft (see code), DCT energy compaction
    • DCT quantization matrix, quantization step in JPEG, derivation of quantization matrix
    30/10 (Mon)
    • Huffman encoding and run length encoding in JPEG
    • Structure of Huffman encoder and decoder
    • Properties of Huffman encoding: optimality, prefix-free nature
    2/11 (Thu)
    • JPEG for Color image compression, YCbCr color scheme
    • Typical JPEG artifacts
    • Video compression with MPEG: concept of residuals, motion compensation residuals and motion vectors; concept of I,P,B frames in MPEG
    6/11 (Mon) Color Image Processing
    • Color models: RGB, CMY(K), HSI, YCbCr, merits and demerits of hue
    • Human visual system: rods and cones
    • Discussion about hue and illumination models with specular, ambient and diffuse lights