Assignment 1

Topic: Image Enhancement, and Edge, Corner and Line Detection

Due on or before: September 03 (Sunday)

Maximum Marks: 14



 This assignment involves implementation of the following operations::

Part A: Image Enhancement: Spatial Domain Methods

1. Contrast Stretching: use of a linear transformation function where the intermediate values
   (r1, s1) and (r2, s2) be interactively specified.
2. Histogram Equalization for global and enhancement. A plot of the histogram before and after
    the equalization should also be shown. You may either print out the histogram on the screen, or   plot it in some software, say MATLAB, or gnuplot.
3. Smoothing Filters : using uniform neighbourhood averaging, Gaussian and median filters.
    Implement using a general convolution routine for an nxn mask
4. Sharpening Filters: High pass and High boost filter with A as a parameter defined by the user.

Part B: Image Enhancement: Frequency Domain Methods

Ideal low/high pass filter and Butterworth low/high pass filter. The success of these implementations will crucially depend on a good implementation of a 2-D FFT routine (which in turn, requires a 1-D FFT routine).

Some Images for the Image Enhancement part:

Damn these autofocus cameras ... they often focus on things one doesn't want to focus on!
This is an image of a Thai Boeing 777 aircraft which has just landed at the Bangkok airport,
clicked from inside an aircraft (the camera has focussed on the aircraft window glass, instead) How best can this image be sharpened ?
Image Enhancement is subjective ... and highly application-specific!
Here's an image on which Histogram Equalization does a lousy job:
Identification Parade: Who's this stealthily sneaking into the SPANN lab at night, harbouring
the darkest of thoughts ? Use Histogram Equalization to find out!


Part C: Edge, Corner and Line Detection

This assignment entails efficiently programming the following:

Edge Detectors

1. Gradient
2. Roberts
3. Prewitt
4. Sobel
5. Nevatia-Babu (masks reproduced below)
6. Compass
7. Laplacian
8. Marr-Hildreth
9. Canny (Only the operator, plus non-maximal suppression. You need not implement the Hysteresis part)

Corner Detector

The Harris Corner Detector: Consider the following matrix M corresponding to an image f.

det M denotes the determinant of the matrix M, and Trace M, its trace (the sum of elements along the principal diagonal). k is a constant that is usually taken to be 0.04. R is the corner strength function at a point: we declare a point a corner if the corner strength is above a particular threshold. A common recommendation is to apply the operations not on the original image f, but to Gaussian-smoothed versions of the images of the requisite powers of the partial derivatives in matrix M. Feel free to try it either way!

Hough Transform-based Line Detection

(This is no longer part of the assignment - in case you have already done it, please show it to the TAs.)
 

Desirable: lots of experimentation. Moral of the story (assignment):

 One can have an edge over others if one does not cut any corners.
But one should know where to draw a line...

The Nevatia-Babu Masks:


Venues and Group Assignments to TAs:

Venue: PC Lab, 1st Floor, EE Department (Ph. 5756)
Avdhoot A. Bane: bane@ee.iitb.ac.in 09:00 - 09:20 -> group 02
09:20 - 09:40 -> group 03
09:40 - 10:00 -> group 05
10:00 - 10:20 -> group 07
10:20 - 10:40 -> group 08
10:40 - 11:00 -> group 10
11:00 - 11:20 -> group 12
11:20 - 11:40 -> group 16
11:40 - 12:00 -> group 17

D. Soumya: soumya@ee.iitb.ac.in
09:00 - 09:20 -> group 01
09:20 - 09:40 -> group 04
09:40 - 10:00 -> group 06
10:00 - 10:20 -> group 09
10:20 - 10:40 -> group 11
10:40 - 11:00 -> group 13
11:00 - 11:20 -> group 14
11:20 - 11:40 -> group 15
11:40 - 12:00 -> group 18


Sumantra Dutta Roy  Department of Electrical Engineering, IIT Bombay, Powai,
Mumbai - 400 076, INDIA. sumantra@ee.iitb.ac.in