- All students are required to carry out a project in order to pass
the course.
- The grade achieved on the project affects the final grade for the
course (3,4, or 5) but is not used in evaluating whether a student has
passed or not.
- Projects give up to 10 points.
- Projects should be carried out in teams of 3-5 students.
The choice of the project is free.
Email me your choice and feel free to suggest your team partners
before Monday 6 September at 12:00
(see Important Dates + Instructions).
I will then make some adjustments to equalize the teams,
and inform you before Thursday 9 September at 12:00.
- Help with projects will be given on: Thursday 30 September
(see Important Dates + Instructions).
- Students should write a report about their project. The
deadline for receiving the written report is: Thursday 14 October
at 08:00 (see Important Dates + Instructions).
NOTE:
More details and guidelines for each project will be given in the Project-Help sessions.
1. Wavelet compression of images
Wavelet and wavelet-packet image compression promises state of the
art image compression ratios (e.g. 100:1) and is the basis of the
next generation of
compression standards (e.g. JPEG2000). Critically important
in achieving the highest possible compression ratios is to use
the most suitable wavelet basis functions. In this project
you should investigate how compression ratio and image
quality depends on the choice of wavelet basis functions.
Hints: Use the image of
two superimposed galaxies
http://fy.chalmers.se/~romeo/RRY025/mfiles/galax2.mat
as your starting point. Type 'wavemenu' to get started. The Matlab Wavelet Toolbox will be
introduced during the course. Extensive documentation
about the toolbox can be found at
http://www.mathworks.com/access/helpdesk/help/toolbox/wavelet/
TO-DO List
(which I will explain in more detail at the Project-Help session :-)
2. Comparison of wavelet and discrete cosine transform
compression
Wavelet image compression promises state of the art image compression
ratios (e.g. 100:1) and is the basis of the next generation of
compression standards (e.g. JPEG2000). In this project compare
the compression ratios and root mean square errors of different types
of grayscale images using Cosine and Wavelet based methods. For cosine
compression choose a blocksize of 8, and set to zero all but say the
largest 8 cosine coefficients in each block to get 8:1 compression.
Compare with wavelet compression, for a similar compression ratio,
using a biorthogonal wavelet basis.
At what compression ratio is the image quality from wavelets the same
as the 8:1 compressed cosine image?
Hints: Block processing can be achieved via
the matlab command blkproc
TO-DO List
(which I will explain in more detail at the Project-Help session :-)
3. Lossy waveform based image compression
Take a grayscale image or set of images,
and apply lossy waveform based compression.
Use a simple predictor and quantizer,
then use a Digital Pulse Code Modulation:
see lecture notes on Image Compression II, pp. 5-7.
What degree of compression is possible?
Are the results visually acceptable?
TO-DO List
(which I will explain in more detail at the Project-Help session :-)
4. Homomorphic filtering
Many photographs are affected by strong variations in
illumination. One way to enhance such images, so that
details are visible in both the bright and dark areas,
is via homomorphic filtering. In this processing technique
we first take the logarithm of the image before filtering.
The method is described in chapter 4.9.6 of the textbook (3rd Ed., 2008).
Apply
this technique to the image
http://fy.chalmers.se/~romeo/RRY025/mfiles/forest.mat
Use load('forest.mat') to load the the forestgray image.
Attempt to choose
either interactively or automatically the best parameters for
the filter function to give the best possible enhancement of
the image.
Help :-)
5. Local image enhancement
Many photographs are affected by strong variations in
brightness. Standard methods of global histogram equalisation
do a poor job of enhancing such images. One way to improve such
images so that details are visible in both the bright and dark
areas is via local enhancement, as described in chapters 3.3.3
and 3.3.4 of the textbook (3rd Ed., 2008). Both local histogram
equalisation and simpler methods using local mean and variance
can be used to advantage to improve such images. Implement these
algorithms and apply them to the image
http://fy.chalmers.se/~romeo/RRY025/mfiles/forest.mat
Use
load('forest.mat') to load the the forestgray image.
Attempt to choose
either interactively or automatically the best parameters for
the local histogram box or for the transfer function based on
the local mean and variance.
Help :-)
6. Movie restoration via scratch removal
A recent active area of image processing is the restoration
of old movie films. Many of these old films are deteriorating
and there are active efforts to convert them into digital form
and remove distortions.
One major problem affecting old movies is the presence of scratches.
Devise a simple algorithm to identify scratches and 'repair' such
scratches by replacing affected pixels by adjacent ones. In the basic project
choose one colour and apply your scratch removal algorithm to the individual
frames separately. An example of a movie affected by scratches can be found
in the file
http://fy.chalmers.se/~romeo/RRY025/mfiles/film1_big.jpg
In this figure the left column shows the original
frames. The middle column shows the frames after colour correction.
The final column shows the frames after applying a scratch removal algorithm.
Load this image into matlab using imread, then extract
a frame from the middle column. This will have three
colour layers (red, green, blue). Apply initially your algorithm
to one frame of one of the colour layers.
Use the multi-colour and multi-frame data set to aid the scratch removal algorithm.
Help :-)
7. Restoring a rotationally blurred image
An image is taken from an orbiting satellite which is
rapidly spinning on its axis. The result is that even
during the shortest exposure time the satellite rotates
by 10 degrees and the images are rotationally
blurred. Design and implement an algorithm to restore
the image and save the mission.
Hints:
Create a suitable rotationally blurred image via using
imrotate, selecting the highest possible
quality interpolation (bicubic). This project is
harder than it looks.
Help :-)
8. Restoring an image affected by constant speed
camera motion using pseudo inverse and Wiener filter
A distant object is photographed through a telephoto lens
from a moving car, such that during the exposure time the
image is convolved by a space-invariant horizontal boxcar of
several pixels. In addition a small amount of Gaussian noise is added.
Implement and test Pseudo -Inverse and Wiener filter restoration.
Which method produces the best results?
Hints: For Wiener filtering assume an image power spectral
density function typical for the class of images being restored, or
assume it to be power law with some inner cutoff and white
noise.
Help :-)