CS663 - Digital Image Processing

Instructor: Ajit Rajwade
Office: SIA-218, KReSIT Building
Email:
Lecture Venue: LH 101
Lecture Timings: Slot 10, Tuesday and Friday 2:00 to 3:30 pm
Instructor Office Hours (in room SIA-218): TBD
Teaching Assistants: Thyagarajan Radhakrishnan, Kratika Gupta, Deepak Garg, Ajay Anand Verma, Pijush Chakraborty {rthyagaraj,kratikag,thedeepak,ajayanand,pijush}@cse DOT iitb DOT ac DOT in


Textbooks and Resources



Lecture Schedule:

(Continuing from the previous set of lectures taken by Prof. Suyash Awate)
Previous offerings of this course:

Date

Content of the Lecture

Assignments/Readings/Notes

14/09 (Wed)
  • 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).
  • Slides
  • Read section 3.8.1 of "Pattern Classification" by Duda and Hart (2nd edition)
  • Information about projects: select topic by 5th October (read the instructions!)
16/09 (Fri)
  • Derivation of the PCA algorithm for k = 1 based on the criterion of minimizing reconstruction error; derivation sketch for k >= 2 directions; concept of global eigenspace versus person-specific eigenspace; cross-validation method for choice of k
  • Slides
  • Read section 3.8.1 of "Pattern Classification" by Duda and Hart (2nd edition)
  • Information about projects: select topic by 5th October (read the instructions!)
17/09 (Sat)
  • Clarifications regarding vector derivatives and Lagrange multipliers in the PCA derivation; application of PCA to compression; 3D face recognition; final discussions about the eigenfaces algorithm;
  • Introduction to the Singular Value decomposition: basic properties, applications to image compression and the Eckart Young theorem (role of SVD in low rank approximation)
17/09 (Sat)
  • SVD properties: inverse, determinant, Frobenius norm, geometric interpretation
  • Implementing eigenfaces using SVD
  • Other applications of SVD
  • Discrete Fourier transform: genesis
  • Matrix and vector interpretation of DFT, DFT basis matrix
17/09 (Sat)
  • SVD properties: inverse, determinant, Frobenius norm, geometric interpretation
  • Implementing eigenfaces using SVD
  • Other applications of SVD
  • Discrete Fourier transform: genesis
  • Matrix and vector interpretation of DFT, DFT basis matrix
04/10 (Tue)
  • DFT properties, discrete (circular) convolution and importance of zero-padding, convolution using discrete Fourier transforms, Fast Fourier transform algorithm
  • 2D DFT, properties of 2D DFT - shifting and rotation, importance of DFT phase
07/10 (Fri)
  • Displaying the DFT - concept of "fftshift"
  • Properties of the DFT of natural images (strong low frequency components), weaker high frequency components, DFT of some simple images
  • 2D Convolution and 2D convolution theorem
  • Fourier domain filtering: low pass filter (ideal LPF, Gaussian LPF, Butterworth LPF); high pass filter (idea, Gaussian, butterworth); gradient operations as HPFs; notch filters with examples
  • Limitations of the DFT
14/10 (Fri)
  • Algorithm for applying the frequency domain filter: the importance of zero-padding
  • Boosting higher frequencies using frequency domain filters
  • Hybrid image generation using high pass and low pass filters
  • Image restoration: problem definition and mathematical models, difference from image enhancement
  • Defocus and motion blur: derivation of frequency response of motion blur kernel
  • Inverse filter for image restoration and its limitations
15/10 (Sat)
  • Inverse filter for image restoration and its limitations
  • Concept of Wiener filter: definition, criterion of optimization, assumptions, formula and interpretation of the formula as a method to overcome the limitations of the inverse filter; interactive Wiener filter (derivation to be done in the next class)
  • Image deblurring in computational photography using spread-spectrum filters: coded exposure photography and the flutter shutter camera
  • Non-local PCA algorithm for image denoising
18/10 (Tue)
  • Non-local PCA algorithm for image denoising - complete derivation
  • Concept of Wiener filter: derivation of Wiener filter
  • Extension of the same derivation to the case of non-local PCA
  • Regularized restoration using penalty on gradients
19/10 (Wed)
  • Image compression - problem statement; lossy and lossless compression with examples
  • Overview of JPEG algorithm: encoder and decoder; quality factor in JPEG
  • Discrete Cosine Transform in 1D and 2D and its use in JPEG; comparison with DFT; matrix view of DCT
21/10 (Fri)
  • Discrete Cosine Transform in 1D and 2D and its use in JPEG; comparison with DFT; matrix view of DCT
  • Mathematical relationship between DFT and DCT (code)
  • The relationship between DCT and PCA - reasons why DCT is used in the JPEG algorithm (code)
25/10 (Tue)
  • Quantization step in JPEG; quantization matrices and their (experimental) derivation
  • Lossless encoding in JPEG: Huffman encoding, zig-zag ordering of quantized DCT coefficients, run-length encoding and the concept of triples
  • JPEG header, block diagram of JPEG encoder and decoder
  • JPEG for color images: YCbCr scheme (decorrelated color space) and its relationship with PCA
26/10 (Wed)
  • MPEG video compression standard: overview of MPEG-1
  • Concept of predictive coding and its use in video compression; concept of motion compensation and motion compensated predictive coding; concept of P, B, I frames in MPEG
  • Slides
  • Read chapter 8.2.9 from the textbook (subsection on predictive coding) up to but not including lossy predictive coding
28/10 (Fri)
  • Color spaces: RGB, CMY(K), HSI and their usage scenarios; Human color perception - rods and cones
  • Concept of hue in the HSI scheme - hue as an illumination invariant; disadvantages of hue
  • Slides
  • Read chapter 6 of the textbook.
4/11 (Fri)
  • Color image processing: histogram equalization, bilateral filtering, concept of edge/gradient in a color image
  • Concept of hyperspectral and multispectral image; PCA on the pixel values of a hyperspectral image; visualization of hyperspectral images
  • Color image demosaicing: problem definition, concept of CFA - Bayer pattern as example of CFA; description of demosaicing algorithm implemented by MATLAB