CS663 - Digital Image Processing

Instructor: Ajit Rajwade
Office: SIA-218, KReSIT Building
Email:
Lecture Venue: MSTeams (link to be shared via moodle)
Lecture Timings: Slot 11, Tuesday and Friday 3:30 to 5 pm
Instructor Office Hours (in room SIA-218): 5 to 5:30 pm on Tuesday and Friday on MSTeams immediately after the lecture
Teaching Assistants: Barah Fazili, Sabyasachi Ghosh, Saurabh Telure, Ayush Gupta, Sarvesh Pandey, Vishal Sanoria, Piyush Sharma, Niraj Mahajan, Vineeth Dorna


Textbooks and Resources


Tutorials

The tutorials can be found here.

Lecture Schedule:


Previous offerings of this course:

Date

Content of the Lecture

Assignments/Readings/Notes

27th July (Tue) Overview
  • Course content
  • Course policies
  • Applications of image processing
  • Check moodle: Slides
30th July (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
  • Read sections 2.4.3, 2.4.4, 2.6.5 of the book by Gonzalez and Woods
3rd August (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
  • Read sections 2.4.3, 2.4.4, 2.6.5 of the book by Gonzalez and Woods
6th August (Fri) Image Intensity Transformations and Image Enhancement
  • Concept of image intensity transformation and image enhancement
  • Negatives, logarithmic, power-law (gamma) transformations, linear contrast stretching
  • Histogram equalization: concept, derivation, examples
  • Read sections 3.2, 3.3 of the book by Gonzalez and Woods
10th August (Tue)
  • Histogram specification: concept, derivation, examples
  • Local Histogram equalization/specification
MATLAB examples and demos
  • Vectorization in MATLAB, vector and matrix operations
  • Image processing: basic operations in MATLAB (imread, imwrite, imagesc, imshow)
  • Basic numerical operations in MATLAB
  • Read sections 3.2, 3.3 of the book by Gonzalez and Woods
13th August (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
  • Read sections 3.4, 3.5 of the book by Gonzalez and Woods
17th August (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
  • Bokeh filters
  • Read sections 3.6, 10.2.1 of the book by Gonzalez and Woods
20th August (Fri) 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
  • 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
  • Read sections 10.2, 10.3 of the book by Gonzalez and Woods
24th August (Tue) 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
27th August (Fri)
  • Mean shift algorithm
  • Mean shift properties - convergence (brief discussion only)
  • Mean shift applied to image smoothing and image segmentation

  • Hough transform for line (with normal line representation instead of slope-intercept), circle and ellipse detection
  • Pros and cons of Hough transform
31st August (Tue) 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
3rd September (Fri)
  • The heat equation and its application in image blurring
  • Applications of Fourier transforms in solving the heat equation; equivalence of heat equation and Gaussian convolution
  • Anisotropic diffusion and the Perona Malik PDE
  • Directed diffusion
7th September (Tue)
  • Revision for midsem
21st September (Tue)
  • 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
  • Chapter 4 of Gonzalez
24th September (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
  • Chapter 4 of Gonzalez
28th September (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: Fourier slice theorem (projection slice theorem)
  • Fourier transforms in action: optics (phase retrieval), Magnetic resonance imaging (MRI) -- brief mention only
  • Chapter 4 of Gonzalez; sections 5.11.1, 5.11.3, 5.11.4, 5.11.5 of Gonzalez
1st October (Fri)
  • Revision of Fourier Transforms
  • Chapter 4 by Gonzalez
5th October (Tue) Principal Components Analysis (PCA)
  • Face recognition: intro
  • Principal components analysis for face recognition (eigenfaces): intro, concept of covariance matrix, description of algorithm and its computational complexity;
  • A faster algorithm for PCA on a small (N) number of large-sized images (N < d case).
  • Read section 3.8.1 of "Pattern Classification" by Duda and Hart (2nd edition)
8th October (Fri)
  • 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
  • Person or pose specific eigenfaces
  • Illumination invariance in face recognition: Removal of top three eigenfaces
  • PCA for compression of sets of similar images
  • A word about face recognition under lighting variations; 3D face recognition; cross-modality face recognition
  • Clarification of mathematical derivations: orthonormality of eigenvectors of symmetric matrix, why covariance matrix is SPD, Lagrange multipliers, concept of vector derivatives (especially of expressions such as e^tSe and e^te w.r.t. vector e)
  • Read section 3.8.1 of "Pattern Classification" by Duda and Hart (2nd edition)
12th October (Tue)
  • Clarification of mathematical derivations: orthonormality of eigenvectors of symmetric matrix, why covariance matrix is SPD, Lagrange multipliers, concept of vector derivatives (especially of expressions such as e^tSe and e^te w.r.t. vector e)
  • Singular Value Decomposition
  • 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
  • Read section 3.8.1 of "Pattern Classification" by Duda and Hart (2nd edition)
22nd October (Fri) and 26th October (Tue) 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
  • 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
  • Chapter 5 of Gonzalez
29th October (Fri) Image Compression
  • Image Compression
  • Discrete cosine transform - definition and basic properties
  • 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
  • Chapter 8 of Gonzalez
2nd November (Tue)
  • DCT and first order stationary Markov processes
  • Quantization in JPEG and its relation to the quality factor (Q); principles for derivation of quantization matrix
  • Huffman encoding and run length encoding in JPEG
  • JPEG decoder step
  • Modes of JPEG encoding and decoding: progressive, sequential
  • JPEG for color image compression: YCbCr color model and its relation to PCA on RGB values
  • Chapter 8 of Gonzalez