CS663 - Digital Image Processing

Instructor: Ajit Rajwade
Class Timings: Slot 14, i.e. Tue and Fri 5:30 to 7 pm
Class venue: LA 001
Office: KR-118, KReSIT Building (1st Floor Wing A)
Instructor office hours:
  • After each lecture outside LA 001 from 7:00 to 7:30 pm.
  • Inside LA 001 just before the lecture from 5:10 to 5:30 pm.

Email:
Teaching Assistants:
  • Udhay Brahmi: udhaybrahmi AT gmail DOT com
  • Jahanvi Rajput: jahanvirajput AT cse DOT iitb DOT ac DOT in
  • Priya Mishra: priyam AT cse DOT iitb DOT ac DOT in
  • Tirthesh Jain: tirtheshjain2408 AT gmail DOT com
  • Nikita: nikitaverma AT iitb DOT ac DOT in
  • Sai Vivek Mulukuri: saivivek.mulukuri AT iitb DOT ac DOT in
  • Sarvesh Gharat: sarvesh.gharat AT iitb DOT ac DOT in
  • Shantanu Welling: shantanuwelling AT cse DOT iitb DOT ac DOT in
  • Adyasha Patra: adyasha AT cse DOT iitb DOT ac DOT in
  • Atishay Jain: atishay AT cse DOT iitb DOT ac DOT in


Textbooks and Resources


Tutorials

The tutorials can be found here.

Course project

Instructions for the course project can be found at this link.

Intended Audience


For all PG students (MS/MTech/PhD/DDP/IDDDP) and UG students in their 3rd, 4th, 5th year. NOT for 2nd year UG students. Due to the unprecedentedly high registration count this year, the course will be open only to students from CSE, EE, EP as well as CMiNDS (MS, PhD and final year IDDDP). Students from other departments are requested to de-register from CS 663.

Lecture Schedule:


Previous offerings of this course:

Date

Content of the Lecture

Assignments/Readings/Notes

29/7 (Tue) Overview
  • Course content
  • Course policies
  • Applications of image processing
2/8 (Fri) 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
6/8 (Tue)
  • 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
9/8 (Fri)
  • Concept of joint image histograms, entropy and joint entropy, use of joint entropy for image alignment
  • Applications of image alignment: template matching, panorama generation
Image Enhancement
  • Concept of image intensity transformation and image enhancement
  • Negatives, logarithmic, power-law (gamma) transformations, linear contrast stretching
  • Slides
  • Read sections 3.2, 3.3 of the book by Gonzalez and Woods
13/8 (Tue)
  • Histogram equalization and specification: derivation, examples
  • Local/Adaptive Histogram equalization

MATLAB examples
  • Slides
  • Read sections 3.2, 3.3, 3.4, 3.5 of the book by Gonzalez and Woods
16/8 (Fri)
  • 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
  • Image Noise Models

MATLAB examples
  • Slides
  • Read sections 3.2, 3.3, 3.4, 3.5 of the book by Gonzalez and Woods
20/8 (Tue)
  • 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
  • Slides
  • Read sections 3.6, 10.2.1 of the book by Gonzalez and Woods
23/8 (Fri)
  • 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
27/8 (Tue) 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
30/8 (Fri) Hough Transform
  • Hough transform for line (with normal line representation instead of slope-intercept), circle and ellipse detection
  • Pros and cons of Hough transform
Image Segmentation
  • Image segmentation: concept
  • Segmentation as a clustering problem
  • KMeans algorithm and its limitations
3/9 (Tue)
  • 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
6/9 (Fri)
  • Mean shift algorithm: discussion
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
10/9 (Tue)
  • Fourier transform: examples, intuition, properties: linearity, shift theorem and its variant, convolution theorem and its variant, Parseval's theorem
  • Brief mention of applications of a Fourier Transform
  • Bandlimited versus time-limited signals
13/9 (Friday)
  • Fourier transforms in 2D
  • Brief mention of applications of a Fourier Transform
  • Fourier transform of a Gaussian
  • Differentiability of bandlimited signals
  • General discussion regarding midsem: discussion on problems including teaser problems on image enhancement and image alignment
24/9 (Tuesday)
  • Genesis of the discrete fourier transform (DFT)
  • Properties of the DFT
  • Circular convolution and concept of zero-padding
  • Motivation for implementing convolutions via the fourier transform, introduction to fast fourier transform (FFT)
27/9 (Fri)
  • 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
1/10 (Tue)
  • 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
  • Beer's law in tomography
  • Shannon's sampling theorem, concept of Nyquist rate, concept of aliasing
4/10 (Fri) 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
  • PCA algorithm
  • A faster algorithm for PCA on a small (N) number of large-sized images (N < d case).
  • 8/10 (Tue)
  • Derivation of PCA algorithm for k=1 case, sketch of proof for k=2 case
  • Eigenvalue decay in eigenfaces derived from well-aligned face images
  • Choice of k in PCA
  • Illumination invariance in face recognition: Removal of top three eigenfaces
    • Slides
    • Read section 3.8.1 of "Pattern Classification" by Duda and Hart (2nd edition)
    11/10 (Fri)
  • Illumination invariance in face recognition: Removal of top three eigenfaces
  • Person-specific eigenfaces
  • Image compression using PCA
  • Face recognition from other modalities
    15/10 (Tue) 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
    18/10 (Fri) 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
    • Motivation for using DCT in JPEG
    22/10 (Tue)
    • Motivation for using DCT in JPEG
    • DCT quantization matrix, quantization step in JPEG, derivation of quantization matrix
    • Huffman encoding and run length encoding in JPEG
    • Structure of Huffman encoder and decoder
    • Properties of Huffman encoding: optimality, prefix-free nature
    25/10 (Fri)
    • JPEG decoding
    • JPEG for Color image compression, YCbCr color scheme
    • Typical JPEG artifacts; modes of JPEG compression (sequential, hierarchical, progressive)
    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
    29/10 (Tue)
  • Code blur camera (see code demo), flutter shutter camera - spread spectrum filtering
  • Concept of Wiener filter and formula, interpretation of the formula
  • Derivation of Wiener filter
  • 1/11 (Fri)
    • Concept of Wiener filter and formula, interpretation of the formula
    • Regularized restoration using gradient penalty terms
    • PCA for image denoising: algorithm description and sample outputs
    • Derivation of Wiener filter for PCA denoising
    5/11 (Tue)
    • PCA for image denoising: algorithm description and sample outputs: recap
    • Derivation of Wiener filter for PCA denoising
    • Practical application of Wiener filtering to clear concepts regarding noise statistics, image statistics and estimation of blur kernels
    8/11 (Fri) 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