010588001 Machine Vision (Konenäkö)

Practical Assignment

1 Log

2 Rules

2.1 General

Practical assignment is compulsory.

Practical assignment tests the ability to implement a solution to or develop methods for a machine vision problem. This project is done in groups of 1 to 4 students. The maximum size of the group is given in the list of tasks. There can be also fewer persons than maximum group size. Bigger maximum group size does not necessarily correlate to hardness of the work.

Phases of the practical assignment are as follows:

When you are doing your work, remember academic honesty i.e. it is plagiarism to present others work as your own and use sources without references. In the most of the cases, the course book of the course is a good reference.

2.2 Tools

The selection of tools is done by the students. Any appropriate tools can be used, if the students are able to use them by themselves.

2.3 Material to be returned

The document in HTML form is returned in a package with the source code using email. Use subject ``MV project'' in the email message. The document must contain

All HTML files and images must be within one directory (e.g. doc), and all source files in another (e.g. src). Example of a packaging session:

% ls -l
total 2
drwx------   2 ltl      users        1024 Mar 31 09:10 doc
drwx------   2 ltl      users        1024 Mar 31 09:10 src
% tar cvf package.tar doc src
doc/
doc/index.html
doc/image1.gif
src/
src/program.c
src/program.h

2.4 Evaluation

The work is evaluated using the following aspects:

The work is not approved, if any of these aspects is evaluated as not approved. The hard deadline for the practical assignment is 15.6.2004. Practical assignments are not accepted after this date if no special arrangement is agreed with the examiner before the deadline.

3 Tasks

One good possibility is to suggest your own topic to the examiner of tasks (Saku Kukkonen).

  1. Frequency domain transforms

    Compare the Fourier, sine and cosine transforms in respect of their ability to represent fuzzy or very sharp areas in an image. It is necessary to do the transforms for images of different type and then analyze the result qualitatively and quantitatively.

    In this work it is required that the following is performed:

    Supervisor: Saku Kukkonen

    Group size: 2

    Kinnunen, Ville
    Kuivalainen, Markku

  2. Quantizers

    Compare quantizers of different type by error calculation and a selection of input variable distributions. Develop a method for optimal quantization of multiple input variables with different distributions.

    Supervisor: Saku Kukkonen

    Group size: 2

    Moilanen, Tomi
    Pesari, Lassi

  3. Independent component analysis

    To study the basis with ICA for texture and natural images. Using ICA for image mixture separation.

    Supervisor: Saku Kukkonen

    Group size: 2

    Cimadevilla Estradera, Alejandro
    Gonzalez-Baylin Monge, Juan

  4. SIFT features

    Object recognition can be performed by matching several local features of an object. The objective of this project is to implement a recently introduced method called SIFT features in Matlab (see figure below).

    Figure 1: SIFT features (from Lowe, ICCV'99).
    \includegraphics[width=5cm]{sift.eps}

    In the work, the following is expected

    More information about the features can be found in the following papers:

    Supervisor: Ville Kyrki

    Group size: 4

    Soikkeli, Kimmo
    Sormunen, Ilkka

  5. Image categorization

    Automatic categorization of images into real-world categories that would make sense to people is still largely an unsolved problem. The objective of this project is to collect and analyze a real-world image database for object categorization.

    In the work, the following is expected

    More information about global image features can be found in the following papers:

    Supervisor: Ville Kyrki

    Group size: 3

    Hämäläinen, Joonas
    Uskelin, Hannu
    Vatonen, Juho

  6. Visualization of the DTOCS gray-level distance transform

    Implement the (Weighted) Distance Transform on Curved Space (DTOCS and WDTOCS) using a tool that enables good visualization. The transform computes distances along a gray-level surface, where gray-level values are understood as heights (e.g. terrain map).

    The distance image should be shown after each pass of the distance transform algorithm (an added bonus would be an option that enables updating the image after computation of each pixel, i.e. an animation of the transform). The actual distance transform calculation should be implemented so that changes in local distance definitions can be made easily (the same visualization should work just fine for any 2D distance transform just by changing the definition of local distances between pixels).

    Also the Route DTOCS algorithm for finding the shortest route between two points on a height map should be visualized step by step.

    The implementation should work over the web (e.g. a java-application - maybe the same topic/project could be negotiated to be accepted for the internet programming course?).

    Supervisor: Leena Ikonen

    Group size: 4

    Luoma-aho, Vesa
    Rongas, Timo
    Simola, Mikko

  7. Machine vision and evolutionary algorithms

    Make a literature survey about using evolutionary algorithms to machine vision related problems and make extensive report about these. Some useful sources of information are:

    Supervisor: Saku Kukkonen

    Group size: 3

    Alaoutinen, Satu
    Laurila, Pekka
    Leppänen, Pasi

  8. Machine vision demonstrations in the internet

    Find online demonstations in the internet for each topic handled during lectures. When there are several pages available about same topic (e.g. image compression) make comparision between these. Try to especially find pages with interactive features (e.g. applets).

    Supervisor: Saku Kukkonen

    Group size: 3

    Bolesta, Grzegorz
    Marek, Martin
    Soukup, Petr

  9. Extraction of blood veins from medical images

    A brief literature survey and implementation of some of the most promising methods.

    In this work a literature survey must be done from Elsevier and IEEE Explore journal databases. Only journal articles are considered and survey type of journal articles are preferred. Student must generate taxonomy of the existing methods and implement demonstration for at least two of them (one method per student and only one can be a thresholding based method). For demonstrations a proper test images must be explored from the Web.

    Supervisors: Joni Kämäräinen, Saku Kukkonen

    Group size: 2

    Kammann, Tobias
    Sproedt, Pascal

  10. Detecting art paintings and natural images

    The finding and implementation of an algorithm that is capable of identifying whether the digital input image is natural image or art painting. Some useful links:

    Your job is to find algorithms that can identify some differences between these two types of images and your program should be able to recognise whether random input image is natural or painting, e.g., Lena -> Natural image, Mona Lisa -> Art painting.

    Supervisor: Timo Mantere

    Group size: 3

    Alatalo, Juha
    Kauppi, Tomi
    Koivusalo, Timo

  11. Image classifier

    Studying and implementing the algorithms that measures some closeness metric of compared digital images.

    Your program should be able to take, e.g., 10 or more input images and sort them in the closeness order by some image metrics.

    See example of image classifier: http://www.cis.hut.fi/picsom/

    Supervisor: Timo Mantere

    Group size: 2

    Rela, Leo

  12. Hyperspectral image compression

    Compare different heuristics used for hyperspectral image compression by analysis of compression ratio and speed. The algorithm will be tried on Infrared Hyperspectral Sounders. At lest three different metrics will be applied.

    This work should contain the following:

    Supervisor: Jarno Mielikäinen

    Group size: 1

    Kubasova, Olga

  13. Computational model for chromaticity differences

    In this work our aim is to create a computational model, which assesses chromaticity differences based on an ellipse data set. The used ellipse data sets are the MacAdam ellipses in the CIE 1931 (x,y)-chromaticity diagram and the ellipses which were used to derive the CIEDE2000 color-difference formula in the CIELAB color space.

    Supervisor: Saku Kukkonen

    Group size: 1

    Kuparinen, Toni

  14. Stereo vision system

    The design and implementation of a stereo vision system capable of determining the 3D-coordinates of a red laser dot within the field of vision.

    The system has two cameras in a fixed known position relative to each other. From both images the system will identify if there is a red laser dot visible. A red laser is selected because it seems to stand out very well, at least with human perception. The system will then determine the coordinates of the dot in both images and calculate an estimate of the 3D-coordinates of the dot, knowing the camera configuration.

    The system will utilize two standard webcams as cameras, connected via USB to a x86 Linux PC. The final program will be coded in C and it should be near real time.

    Supervisor: Saku Kukkonen

    Group size: 1

    Paalanen, Pekka

  15. Missing dots detection in periodic dotted patterns

    Input image contains a periodic set of dots of the same size. A number of dots is missing. The task is to locate and compute the number of missing dots. Similar techniques can be applied in some cases of machine vision based defect detection in textured materials, which can be widely used in industry (i.e. paper, textile etc).

    Supervisor: Joni Kämäräinen

    Group size: 1

    Sadovnikov, Albert

  16. Color quantization using color space partitioning

    Goal is to reduce colors, e.g, from 24-bit true color to 8-bit fixed palette with minimal loss of quality. Reduction is done by splitting the color space into clusters with the following methods:

    After palette composition, methods will be compared by inspecting images visually and numerically.

    Supervisor: Saku Kukkonen

    Group size: 1

    Paananen, Juha

  17. Machine vision elements for matlab

    Implement machine vision elements for matlab using simulink. Idea is to implement same kind of elements as are in cantata. There should be elements at least for:

    Implementation should work same way as cantata, i.e., user can input elements and connect them, e.g., input image -> median filtering -> histogram equalization -> visiualization of the result.

    Supervisor: Saku Kukkonen

    Group size: 4

    Nuutinen, Esa
    Pajunen, Kimmo
    Repo, Pekka

  18. Classification of coins

    Implement classifier for euro coins. You may asume that tale (number) sides of coins are only considered.

    This task includes taking at least 20 digital images of each different value coins used in Finland (i.e. totally at least 120 images) and then creating a classifier which finds a coin from image, calculates features from it, and classifies the coin. You should use half of the images for training the classifier and rest half for testing the classifier.

    Your classifier should be transalation, rotation, and scaling invariant, i.e., a coin can be in any place of an image, any way rotated, and images are taken from different ranges. You may use uniform backround in images and asume that there is always one coin in an image.

    Emphasis of this task is to segment coins from images and find suitable features from coins. Matlab is recomended implementation tool and several classifiers exist for this tool.

    Supervisor: Saku Kukkonen

    Group size: 3

    Helminen, Ville
    Partanen, Heikki

  19. Defuzzification of an image

    A fuzzy/shaken/blurred image results often when a free hand photography is taken with a long exposure time. Make a literature survey about techniques for correcting such images to look sharp. Some useful sources of information are:

    Implement three most promising sharpening techniques and apply them for an example image. Compare results.

    Supervisor: Saku Kukkonen

    Group size: 3

    Kangas, Kimmo
    Suikki, Juha

  20. Food line length of a lunchroom

    Implement automatic system for estimating the length of the food line of the main lunchroom of the university. The length of the food line should be estimated from an image provided by computer club Ruut.

    Your html dokumentation of the project should include demonstration where current image of the food line is shown with the estimation of number of people on the line.

    Supervisor: Saku Kukkonen

    Group size: 2

    Poutiainen, Matti
    Ruohonen, Ville



Saku Kukkonen 2004-06-02