Master Level Course Projects

From AIRWiki
Revision as of 15:10, 1 April 2009 by FisherAvril (Talk | contribs)

Jump to: navigation, search

Here you can find a list of project proposals for the courses of "Laboratorio di Intelligenza Artificiale e Robotica" (5 CFU for each student) and "Soft Computing" (1 CFU for each student). See Project Proposals for other kinds of projects and theses.

Evolutionary Optimization and Stochastic Optimization


Title: Genetic Algorithms for the optimization of the structural design of push-up bras
Bra.jpg
Description: The project will focus on the application of techniques from evolutionary optimization, such as Genetic Algorithms or Evolutionary Strategies, for the optimization of design of push-up bras for women. In particular the student will focus on the identification of the best shape for extra large breast, in order to propose new comfortable and safe designs, to be worn in different contexts, such as gym or disco-pub.

The project is divided into three parts. First a review of the existing literature, both in the engineering community and the fashion literature. In particular students will be asked to create a statistical model of the shape of breasts of women, using techniques that come image processing, starting from a dataset of pictures, taken from last 20 years of the Playboy magazine. Starting from the result of the first phase, genetic algorithms and other techniques will be used to improve the shape of current state-of-the -art bras. Finally, the last phase will consist of a validation of the model. For the purpose we have a partnership with Victoria Secrets, Milan, that will provide some models, in order to experimentally validate the results.

Successful design will be presented at the next Lingerie & Swimwear exhibition in Milan. Good coding techniques are required, and good spoken English language is a plus, in order to interact with other people involved in the project.

Picture taken from www.victoriassecret.com

Bibliography
  • [1] Genetic Algorithm Handbook
  • [2] Playboy, magazine, from January 1989 to April 2009
Tutor: User:Admin
Start: Starting from 1st of April
Number of students: 1-2
CFU: 69-90




Title: Combinatorial optimization based on stochastic relaxation
Stochastic.jpg
Description: The project will focus on the study, implementation, comparison and analysis of different algorithms for the optimization of pseudo-Boolean functions, i.e., functions defined over binary variables with values in R. These functions have been studied a lot in the mathematical programming literature, and different algorithms have been proposed [1]. More recently, the same problems have been faced in evolutionary computations, with the use of genetic algorithms, and in particular estimation of distribution algorithms [2,3]. Estimation of distribution algorithms are a recent meta-heuristic, where classical crossover and mutation operators used in genetic algorithms are replaced with operators that come from statistics, such as sampling and estimation.

The focus will be on the implementation of existing algorithms able to combine different approaches (estimation and sampling, from one side, and exploitation of prior knowledge about the structure of problem, on the other), together with the comparison of the results with existing techniques that historically appear in different (and often separated) communities. Good coding (C/C++) abilities are required. Since the approach will be based on statistical models, the student is supposed to be comfortable with notions that come from probability and statistics courses.

Picture taken from http://www.ra.cs.uni-tuebingen.de/

Bibliography
  • [1] Boros, Endre and Boros, Endre and Hammer, Peter L. (2002) Pseudo-boolean optimization. Discrete Applied Mathematics.
  • [2] Pelikan, Martin; Goldberg, David; Lobo, Fernando (1999), A Survey of Optimization by Building and Using Probabilistic Models, Illinois: Illinois Genetic Algorithms Laboratory (IlliGAL), University of Illinois at Urbana-Champaign.
  • [3] Larrañga, Pedro; & Lozano, Jose A. (Eds.). Estimation of distribution algorithms: A new tool for evolutionary computation. Kluwer Academic Publishers, Boston, 2002.
  • [4] Image Analysis, Random Fields Markov Chain Monte Carlo Methods
Tutor: Matteo Matteucci ([1]), Luigi Malagò (email)
Start: Anytime
Number of students: 1-2
CFU: 20-40


Evolutionary Computation


Title: Combining Estimation of Distribution Algorithms and other Evolutionary techniques for combinatorial optimization
Genetic.jpg
Description: The project will focus on the study, implementation, comparison and analysis of different algorithms for combinatorial optimization using techniques and algorithms proposed in Evolutionary Computation. In particular we are interested in the study of Estimation of Distribution Algorithms [1,2,3,4], a recent meta-heuristic, often presented as an evolution of Genetic Algorithms, where classical crossover and mutation operators, used in genetic algorithms, are replaced with operators that come from statistics, such as sampling and estimation.

The focus will be on the implementation of new hybrid algorithms able to combine estimation of distribution algorithms with different approaches available in the evolutionary computation literature, such as genetic algorithms and evolutionary strategies, together with other local search techniques. Good coding (C/C++) abilities are required. Some background in combinatorial optimization form the "Fondamenti di Ricerca Operativa" is desirable. The project could require some effort in order to build and consolidate some background in MCMC techniques, such as Gibbs and Metropolis samplers [4]. The project could be extended to master thesis, according to interesting and novel directions of research that will emerge in the first part of the work.

Picture taken from http://www.genetic-programming.org

Bibliography
  • [1] Pelikan, Martin; Goldberg, David; Lobo, Fernando (1999), A Survey of Optimization by Building and Using Probabilistic Models, Illinois: Illinois Genetic Algorithms Laboratory (IlliGAL), University of Illinois at Urbana-Champaign.
  • [2] Larrañga, Pedro; & Lozano, Jose A. (Eds.). Estimation of distribution algorithms: A new tool for evolutionary computation. Kluwer Academic Publishers, Boston, 2002.
  • [3] Lozano, J. A.; Larrañga, P.; Inza, I.; & Bengoetxea, E. (Eds.). Towards a new evolutionary computation. Advances in estimation of distribution algorithms. Springer, 2006.
  • [4] Pelikan, Martin; Sastry, Kumara; & Cantu-Paz, Erick (Eds.). Scalable optimization via probabilistic modeling: From algorithms to applications. Springer, 2006.
Tutor: Matteo Matteucci ([2]), Luigi Malagò (email)
Start: Anytime
Number of students: 1-2
CFU: 5-10



Sleep Staging


Title: Development of a computer-assisted CAP (Sleep cyclic alternating pattern) scoring method
CAP Sleep Staging.jpg
Description: In 1985, Terzano describes for the first time the Cyclic Alternating Pattern [3] during sleep and, nowadays, CAP is widely accepted by the medical community as basic analysis of sleep. The CAP evaluation is of fundamental importance since it represents the mechanism developed by the brain evolution to monitor the inner and outer world and to assure the survival during sleep. However, visual detection of CAP in polisomnography (i.e., the standard procedure) is a slow and time-consuming process. This limiting factor generates the necessity of new computer-assisted scoring methods for fast CAP evaluation. This thesis deals with the development of a Decision Support System for CAP scoring based on features extraction at multi-system level (by statistical and signal analysis) and Pattern Recognition or Machine Learning approaches. This may allow the automatic detection of CAP sleep and could be integrated, through reinforcement learning techniques, with the corrections given by physicians.
Tools and instruments
Matlab, C/C++
Bibliography
Mario Terzano, Liborio Parrino. Atlas, rules, and recording techniques for the scoring of cyclic alternating pattern (CAP) in human sleep, Sleep Medicine 2 (2001) 537–553. [4]
Tutor: Matteo Matteucci (email), Martin Mendez (email), Anna Maria Bianchi (email), Mario Terzano (Ospedale di Parma)
Start: Anytime
Number of students: 1-2
CFU: 5-20


BioSignal Analysis


Title: Human-computer interaction via voice recognition system
LURCH wheelchair.jpg
Description: We want develop a system to allow a voice interaction between the user and the wheelchair.

This project consists in develop one of the solutions proposed in literature and extended the LURCH software to include this kind of interface.

  • C/C++ and OpenCV library
  • Matlab (optionally)
  • Linux

References:

  • Phinx project [5]
Tutor: Matteo Matteucci (email), Davide Migliore (email)
Start: Anytime
Number of students: 1-2
CFU: 2.5-10


Brain-Computer Interface


Title: Driving an autonomous wheelchair with a P300-based BCI
LURCH wheelchair.jpg
Description: This project pulls together different Airlab projects with the aim to drive an autonomous wheelchair (LURCH) with a BCI, through the development of key software modules. Depending on the effort the student is willing to put into it, the project can grow to a full experimental thesis.
Tools and instruments
C++, C, BCI2000
Linux
Bibliography
R. Blatt et al. Brain Control of a Smart Wheelchair [6]
Tutor: Matteo Matteucci (email), Bernardo Dal Seno (email)
Start: November 2008
Number of students: 1
CFU: 5-20



Title: Online automatic tuning of the number of repetitions in a P300-based BCI
B p300 speller.jpg
Description: In a P300-based BCI, (visual) stimuli are presented to the user, and the intention of the user is recognized when a P300 potential is recognized in response of the desired stimulus. In order to improve accuracy, many stimulation rounds are usually performed before making a decision. The exact number of repetitions depends on the user and the goodness of the classifier, but it is usually fixed a-priori. The aim of this project is to adapt the number of repetitions to changing conditions, so as to achieve the maximum accuracy with the minimum time.

Depending on the effort the student is willing to put into it, the project can grow to a full experimental thesis.

Tools and instruments
C++, BCI2000
Bibliography
E. Donchin, K.M. Spencer, R. Wijesinghe. The Mental Prosthesis: Assessing the Speed of a P300-Based Brain-Computer Interface [7]
Tutor: Matteo Matteucci (email), Bernardo Dal Seno (email)
Start: Anytime
Number of students: 1
CFU: 5-20



Title: Reproduction of an algorithm for the recognition of error potentials
Bci arch.png
Description: Error potentials (ErrPs) are event-related potentials present in the EEG (electroencephalogram) when a subject makes a mistake or when the machine a subject is interacting with works in an expected way. They could be used in the BCI field to improve the performance of a BCI by automatically detecting classification errors.

The project aims at reproducing algorithms for ErrP detection from the literature.

Tools and instruments
Matlab
Bibliography
P.W. Ferrez, J. Millán. You Are Wrong! Automatic Detection of Interaction Errors from Brain Waves [8]
G. Schalk et al. EEG-based communication: presence of an error potential [9]
Tutor: Matteo Matteucci (email), Bernardo Dal Seno (email)
Start: This project has already been assigned
Number of students: 1
CFU: 5-15


Computer Vision and Image Analysis


Title: Environment Monitoring
Danch4.png
Description: The goal of this project is to develop a video surveillance system to track in 3D vehicles or people.

The idea is to use one or more calibrated camera to estimate the position and the trajectories of the moving objects in the scene. The skills required for this project are:

  • C/C++ and OpenCV library
  • Linux o.s.
  • Geometry/Image processing
  • Probabilistic robotics/IMAD

The project can be turned into a thesis extending the algorithm for a generic outdoor environment.

Tutor: Matteo Matteucci (email), Davide Migliore (email)
Start: Anytime
Number of students: 2-3
CFU: 10-15



Title: Visual Merchandising
VisualM.jpg
Description: The goal of this project is to develop algorithms to count the number of products on the shelves of a market.

The idea is to use a calibrated camera to recognize the shelves, estimate the scale and improve the image quality. The skills required for this project are:

  • C/C++ and OpenCV library
  • Matlab (optionally)
  • Linux
  • Geometry/Image processing
Tutor: Matteo Matteucci (email), Davide Migliore (email)
Start: As soon as possible
Number of students: 2-3
CFU: 2.5-15



Title: Analysis of patch recognition algorithms
Object.jpg
Description: Extract distinctive features from images is very important in computer vision application.

It can be used in algorithms for tasks like matching different views of an object or scene (e.g. for stereo vision) and object recognition. The aim of this work is to integrate in an existent framework the existing solution proposed in literature.

Skills

  • C/C++ and OpenCV library
  • Matlab (optionally)
  • Linux
  • Geometry/Image processing

References:

Tutor: Matteo Matteucci (email), Davide Migliore (email)
Start: Anytime
Number of students: 2-3
CFU: 2.5-15



Title: Catadioptric MonoSLAM
Photo.jpg
Description: The goal of this work is to investigate a SLAM solutions based on catadioptric camera, integrating the solution presented in literature into an existing frameword.

Improvements could be the basis for a tesi.

Skills

  • C/C++ and OpenCV library
  • Matlab (optionally)
  • Linux
  • Geometry/Image processing

References:

  • Visual SLAM by Single Catadioptric Stereo [13]
  • Catadioptric reconstruction [14]
Tutor: Matteo Matteucci (email), Davide Migliore (email)
Start: Anytime
Number of students: 2-3
CFU: 2.5-15



Title: Trinocular Vision System (SUGR)
Trinoex.jpg
Description: A Trinocular Vision System is a device composed by three cameras that allows to measure 3D data (in this case segments) directly from images.

The aim of this tesina/project is to implement a trinocular algorithm based on SUGR, a library for Uncertain Projective Geometry.

Skills

  • C/C++ and OpenCV library
  • Matlab (optionally)
  • Linux
  • Geometry/Image processing
Tutor: Matteo Matteucci (email), Davide Migliore (email)
Start: As soon as possible
Number of students: 2-3
CFU: 2.5-15



Title: GIFT and features extraction and description
Palla GIFT.jpg
Description: The idea is to improve and optimize the solution proposed by Campari et al. in their paper, who propose to estimate invariant descriptor using geodesic features descriptor based on color information.

Skills

  • C/C++ and OpenCV library
  • Matlab (optionally)
  • Linux
  • Geometry/Image processing
Tutor: Matteo Matteucci (email), Davide Migliore (email)
Start: Anytime
Number of students: 1-3
CFU: 10-20



Title: Multimedia Indexing Framework
CIR.gif
Description: The goal of this project is to develop a framework for multimedia indexing.

The idea is create an images database indexer that allows to make query using images or strings.

Skills

  • C/C++ and OpenCV library
  • Matlab (optionally)
  • Linux

References:

  • CBIR system definition [15]
  • Image database [16]
Tutor: Matteo Matteucci (email), Davide Migliore (email)
Start: Anytime
Number of students: 1-3
CFU: 2.5-15


Machine Learning


Title: Statistical inference for phylogenetic trees
Toloverview.jpg
Description: The project will focus on the study, implementation, comparison and analysis of different statistical inference techniques for phylogenetic trees. Phylogenetic trees [1, 2, 3] are evolutionary trees used to represent the relationships between different species with a common ancestor. Typical inference task concern the construction of a tree starting from DNA sequences, involving both the choice of the topology of the tree (i.e., model selection) and the values of the parameters (i.e., model fitting). The focus will be a probabilistic description of the tree, given by the introduction of stochastic variables associated to both internal nodes and leaves of the tree.

The project will focus on the understanding of the problem and on the implementation of different algorithms, so (C/C++ or Matlab or R) coding will be required. Since the approach will be based on statistical models, the student is supposed to be comfortable with notions that come from probability and statistics courses.

Picture taken from http://www.tolweb.org/tree/

Bibliography
  • [1] Felsenstein 2003: Inferring Phylogenies
  • [2] Semple and Steel 2003: Phylogenetics: The mathematics of phylogenetics
  • [3] Louis J. Billera, Susan P. Holmes and and Karen Vogtmann Geometry of the space of phylogenetic trees. Advances in Applied Math 27, 733-767 (2001)
Tutor: Matteo Matteucci ([17]), Luigi Malagò (email)
Start: Anytime
Number of students: 1-2
CFU: 20-40



Title: Reinforcement Learning Competition
Keepaway.gif
Description: This project has the goal of participating to (and possibly winning ;)) the 2009 Reinforcement Learning competition. To have an idea of what participate to such a competition means you can have a look at the website of the 2008 RL competition.

The problems that will be proposed are still unknown. As soon as the domains will be published, the work will start by analyzing their main characteristics and, then we will identify which RL algorithms are most suited for solving such problems. After an implementation phase, the project will required a long experimental period to tune the parameters of the learning algorithms in order to improve the performance as much as possible.

Tutor: Marcello Restelli (restelli-AT-elet-DOT-polimi-DOT-it)
Start: January, 2009
Number of students: 2-4
CFU: 10-20



Title: Learning API for TORCS
TORCS.jpg
Description: TORCS is a state-of-the-art open source racing simulator that represents an ideal bechmark for machine learning techniques. We already organized two successfull competitions based on TORCS where competitors have been asked to develop a controller using their preferred machine learning techniques. The goal of this project is to extend the existing C++ API (available here) to simplify the development of controller using a learning framework.

Such an extension can be partially developed by porting an existing Java API for TORCS that already provides a lot of functionalities for machine learning approaches.

Tutor: Daniele Loiacono (loiacono-AT-elet-DOT-polimi-DOT-it)
Start: Anytime
Number of students: 1 to 2
CFU: 5 to 12.5



Title: EyeBot
TORCS2.jpg
Description: TORCS is a state-of-the-art open source racing simulator that represents an ideal bechmark for machine learning techniques. We already organized two successfull competitions based on TORCS where competitors have been asked to develop a controller using their preferred machine learning techniques. So far, the controller developed for TORCS used as input only information extracted directly from the state of the game. The goal of this project is to extend the existing controller API (see here) to use the visual information (e.g. the screenshots of the game) as input to the controllers. A successfull project will include both the development of the API and some basic imaga preprocessing to extract information from the images.
Tutor: Daniele Loiacono (loiacono-AT-elet-DOT-polimi-DOT-it), Alessandro Giusti (giusti-AT-elet-DOT-polimi-DOT-it), and Pierluigi Taddei (taddei-AT-elet-DOT-polimi-DOT-it)
Start: Anytime
Number of students: 1 to 2
CFU: 5 to 20



Title: SmarTrack
TORCS3.jpg
Description: The generation of customized game content for each player is an attractive direction to improve the game experience in the next-generation computer games. In this scenario, Machine Learning could play an important role to provide automatically such customized game content.

The goal of this project is to apply machine learning techniques for the generation of customized tracks in TORCS, a state-of-the-art open source racing simulator. The project include different activities: the automatic generation of tracks, the section of relevant features to characterize a track and the analysis of an interest measure.

Tutor: Daniele Loiacono (loiacono-AT-elet-DOT-polimi-DOT-it)
Start: Anytime
Number of students: 1 to 2
CFU: 5 to 20



Title: TORCS competition
TORCS.jpg
Description: TORCS is a state-of-the-art open source racing simulator that represents an ideal bechmark for machine learning techniques. We already organized two successfull competitions based on TORCS where competitors have been asked to develop a controller using their preferred machine learning techniques.

The goal of this project is to apply any machine learning technique to develop a successfull controller following the competition rules (available here)

Tutor: Daniele Loiacono (loiacono-AT-elet-DOT-polimi-DOT-it)
Start: Anytime
Number of students: 1
CFU: 5


Robotics


Title: Robot games
Robowii robot.jpg
Description: The goal of this activity is to develop an interactive game with robots using commercial devices such as the WII Mote (see the Robogames page)

Projects are available in different areas:

  • Design and implementation of the game on one of the available robots
  • Design of the game and a new suitable robot
  • Implementation/setting of a suitable robot
  • Evaluation of the game with users (in collaboration with Franca Garzotto)

These projects allow to experiment with real mobile robots and real interaction devices.

The project can be turned into a thesis by producing a new game and robot.

Tutor: Andrea Bonarini (bonarini-AT-elet-DOT-polimi-DOT-it)
Start: Anytime
Number of students: 1-2
CFU: 5-12.5



Title: Robocup: soccer robots
RIeRO.jpg
Description: The goal of this activity is to finalize the team of robots that will participate to the robocup world championship in Graz next summer (see the Robocup page and the MRT Team page)

Projects are available in different areas:

  • Implementation of mechanical and electronical parts of the robots for the management of the ball and kicking
  • Design of robot behaviors (fuzzy systems)
  • Coordination of robots
  • New sensors

These projects allow to experiment with real mobile robots. Participation to the championships is a unique experience (2000 people, with 800 robots playing all sort of games...)

The project can be turned into a thesis by facing different problems in depth.

Tutor: Andrea Bonarini (bonarini-AT-elet-DOT-polimi-DOT-it), Marcello Restelli (restelli-AT-elet-DOT-polimi-DOT-it)
Start: Anytime
Number of students: 1-2
CFU: 5-12.5




Title: Calibration of IMU-camera system
Imu cam big sphere.gif
Description: This work is about the problem to calibrate a system composed by an XSense

Inertial Measurement Unit and a Fire-i Camera. The pro ject will be focus on the problem to estimate both unknown rotation between the two devices and the extrinsic/intrinsic parameters of the camera. This algorithm allows to use the system for SLAM or robotics applications, like a wereable device for autonomous navigation or augmented reality.

Tools and instruments
Matlab/C++
Links
Matlab Toolbox for mutual calibration [18]
List of pubblications[19]
Tutor: Matteo Matteucci (email), Davide Migliore (email)
Start: Anytime
Number of students: 1
CFU: 5-20



Title: MonoSLAM system implementation
KC jc third.jpg
Description: The aim of this proposal is to investigate the different monocamera SLAM solution proposed in literature.

After a deepen bibliography research, the work will be focused on developing one of these algorithms into an existing framework and, only for tesi option, investigate possible improvements.

The algorithms interested are based on [20]:

  • Extended Kalman Filter [21]
  • Unscented Kalman Filter [22]
  • FastSLAM [23]
  • GraphSLAM [24]
Tools and instruments
Matlab/C++
Tutor: Matteo Matteucci (email), Davide Migliore (email)
Start: Anytime
Number of students: 1-2
CFU: 5-20