Older Projects...

Note: For academic reasons some of the projects' source codes are protected by a password. To obtain the password please contact me by using your university/company mail address (mail from yahoo, hotmail, gmail etc... will not be considered) and clearly state the purpose of your request.

Projects for the University of Amsterdam: Projects for the University of Bologna:

Mean-shift Tracker
Field: Multimedia Information Retrieval
Language:
en
en The mean-shift tracker is a special case of the kernel based tracker. Instead of doing a brute force search of all surrounding pixels, a gradient method is used to efficiently move towards the new position of the target. The new position of the target will of course be the positions of the candidate histogram with the smallest distance from the target. But we won't calculate the distance for all pixel positions, we will do it in an iterative fashion, starting from the last known position.
it Descrizione in Italiano non disponibile
Available downloads:

Tracking a football player Tracking a table-tennis ball
Improving self-localisation and behaviour for Aibo's soccer-playing robots
Field: Design and Organisation of Autonomous Systems
Language:
en
en The goal of the RoboCup Project is to let a robot soccerteam win from a human team in 2050. For that reason every year the circumstances become more realistic. In this year (2005) the Aibo have to be able to play on a larger field without boundaries, and the positioning flags are moved. The challenge for this year is to design and develop the algorithms to cope with this circumstances. The paper is focused on the modification and improvement of the localization module.
it Descrizione in Italiano non disponibile
Available downloads:

The full aibo team An aibo
Affective Human-Computer Interaction
Field: Multimodal Intelligent Systems
Language:
en
en Recently there has been a growing interest in improving the interaction between humans and computers. It is argued that to achieve effective human-computer intelligent interaction, there is a need for the computer to interact naturally with the user, similar to the way humans interact. Humans interact with each other mostly through speech, but also through body gestures to emphasize a certain part of speech and/or display of emotions. Emotions are displayed by visual, vocal and other physiological means. There is more and more evidence appearing that shows that emotional skills are part of what is called 'intelligence'. One of the most important ways for humans to display emotions is through facial expressions. If we want to achieve more effective human-computer interaction, recognizing the emotional state of the human from his or her face could prove to be an invaluable tool. This work describes a real-time automatic facial expression recognition system using video or webcam input. Our work focuses on initially detecting the human face in the video stream, on classifying the human emotion from facial features and on visualizing the recognition results.
it Descrizione in Italiano non disponibile
Available downloads:

The classifier applied to the mona lisa
3D Visualization of Medical Datasets
Field: Scientific Visualization and Virtual Reality
Language:
en
en Goal of this assignment was to develop a full application that allows physicians to analyze and explore data from CT or MRI scanners. This data consist of scan slices of a patient that can be combined to form a 3D presentation of the insides of a patient. Traditionally, each slice was printed on transparent film and then analyzed separately, which means the physicians had to construct the 3D representation in their mind in order to form a diagnosis. The application we implemented in this assignment automatically constructs this 3D representation for the physician and thus allowing the physicians to effectively visualize and analyze this data, extracting additional information through the use of computer graphics
it Descrizione in Italiano non disponibile
Available downloads:

An isosurfaces visualization A volumetric exploration
Deployment of a Language Detector Grid Service
Field: Grid Computing
Language:
en
en The aim of this project was to build a grid service and to aggregate the service with another to provide additional, higher-level services. There are two issues to be considered, namely how to create and deploy a grid service and what kind of service create, which would be a useful grid service. The way to create and deploy a grid service is explained in detail in Sotomayor's globus 4 tutorial (http://gdp.globus.org/gt4-tutorial/singlehtml/progtutorial_0.2.html) which describes the deployment process in five steps. For the service itself we used our background as AI students to come up with an idea that would combine grid computing with AI: An highly accurate second order Markov Model Language Detector Service
it Descrizione in Italiano non disponibile
Available downloads:

The accuracy of the detector
The Melange Project
Field: Internet Information
Language:
en
en In this project is the attempt from a team consisting of twelve people to build a web search engine for WebCLEF, the web track of the Cross Language Evaluation Forum (CLEF). The WebCLEF dataset consists of governmental web pages of many European countries in as many different languages. The main challenge of this search engine is to deal with multiple languages. In order to do this, we took the existing retrieval engine Terrier and extended it with several modules. We built a language detector, both for online and offline use, that is based on a very efficient and effective n- gramming algorithm. To improve multilingualism in the search results we built a query translator that expands the query supplied by the user with translations. To facilitate the translation we also built a module that automatically creates dictionaries. Using a mix of alignment techniques translations of the same content are compared and dictionaries extracted. This resulted in a German-English-Dutch dictionary which is used for query expansion hut also can be queried for translations independently. We also tried to exploit the fact that we deal with hyperlinked data. We performed link analysis and calculated a PageRank value for every document in the dataset.A search engine with a new style of features needs a new style of interface to accommodate them. We built an interactive web interface with several nice features like online query language detection, optional results language specification, etc.
it Descrizione in Italiano non disponibile
Available downloads:

The melange logo
Probabilistic Context Free Grammar Parser
Field: Language and Speech Processing
Language:
en
en The use of statistical methods in areas such as language processing, speech recognition and grammar learning, switched from being virtually unknown to being a fundamental approach in the last ten years. Thanks to this, we now have available a big number of corpora which we can use to extract statistical information and can help us to understand the underlying structures of the languages. In fact, these data sets are usually annotated and we can use these annotations, together with statistics, in order to spot certain regularities or frequent characteristics of a language. Within the multiple tasks that can be performed with such knowledge, the target of this project is the machine reconstruction of the syntax (parse) of a sentence. We would like to understand which rules generated a sentence, in order to understand which class of sentence we are dealing with.
it Descrizione in Italiano non disponibile
Available downloads:

Part of Speech Tagger
Field: Language and Speech Processing
Language:
en
en In this project we implemented a Hidden Markov Model POS tagger. To achieve this gradually, the project was shattered in four main sub-projects, or project steps. The first step was to implement Markov language model over word sequences. One of the targets of the first sub-project was to load a file with sentences (each word is delimited with a space) extracting from it a table of unigrams and bigrams with their own frequencies. After that, we had to build a procedure that calculated the probability of any word given the previous, for every bigram encountered. The next requirement was to build a procedure that takes a sentence and calculates its probability. Finally, we had to implement another procedure that takes a sequence of words as input and, by enumerating all the possible sequences that can be created with those words, outputs the sentence with the highest probability. As an optional extra task, we managed to efficiently find the sentence with the highest probability implementing the Viterbi algorithm, feeding it with a lattice created by the sequence of words given as input. The second step of the project was to use the structures we created in the first step to create a Markov language model over POS tags sequences and to extract a table of word-POS pairs with their probability, in order to have a lexical model over the word-tag pairs. Furthermore, we were required to build a procedure that takes a sentence as input and builds for that sentence a lattice assigned by a 1st-order Markov model. The third step is to implement the Viterbi algorithm for POS tagging and the forward algorithm to easily calculate the sentence probability. In this step it was required to evaluate the performance of the produced POS tagger. The fourth and final step consisted in smoothing the lexical model in order to deal with unseen POS/word pairs, evaluating and comparing it with the one done for the third step (without smoothing).
it Descrizione in Italiano non disponibile
Available downloads:

Q-learning and Value Iteration
Field: Multigent Systems and Distributed Artificial Intelligence
Language:
en
en In this project we implemented two different learning algorithms for software agents. Both are aimed to learn an optimal policy in a Markov Decision Process. The methods are Value Iteration and Q-learning. The learning methods were implemented for the pursuit environment with one predator and one prey for Value Iteration, and two predators and one prey for Q-learning.
it Descrizione in Italiano non disponibile
Available downloads:

The pursuit domain
Multiagent coordination
Field: Multigent Systems and Distributed Artificial Intelligence
Language:
en
en For this project we had to implement an algorithm that achieve the coordination of four predators trying to catch two preys. One prey is captured if the predators are surrounding it from all four directions(N,S,W,E). To tackle this problem, we used the important fact that the world is fully observable, so every predator can use this common knowledge and predict the moves of the other predators.
it Descrizione in Italiano non disponibile
Available downloads:

The pursuit domain
Multiagent Traffic Management
Field: Multigent Systems and Distributed Artificial Intelligence
Language:
en
en This is a presentation based on the paper from Kurt Dresner and Peter Stone
it Descrizione in Italiano non disponibile
Available downloads:

A screenshot of the simulator
One-dimensional Learning
Field: Automated Learning and Adaptive Knowledge Systems
Language:
en
en The purpose and goal of this project was to design and implement a small system able to predict a class of a single numerical variable in a binomial class problem. In order to do this, it was requested to implement or to think of one or more "1D classifiers", discussing their computational complexities in the learning phases, the performances on the given dataset, the differences and similarities with related or alternative methods. I developed a full extensible application and framework with four well-known and state-of-the-art algorithms, together with an additional task-specific naive algorithm
it Descrizione in Italiano non disponibile
Available downloads:

A screenshot of the 1Dlearner
en We will propose a framework that will allow computer vision scientists and other data fusion engineers to implement their algorithms easier and faster into AR systems. The framework will inhibit a model of the desired environment of study and all the communication to and from sensors in this world. The data from these sensors and can vary in type and range but the way this is retrieved and altered in the world model will be standardized. The main idea behind this that it is easier and faster for different scientists working on the same world model to manipulate data streaming from a database in a known format than it is from reading signals from an (unknown) hardware device. This assumes that a former part of the computational complexity will be performed by the input hardware and this will eventually decrease the algorithmic complexity used by the different applications using the data. When we incorporate the framework into the real life application, we will be able to adopt new technologies and systems very fast, because the only requirement is that we have to rewrite the communication and modeling layers between this systems and our model. Our framework can be used in virtually every field that requires human-computer interaction through data fusion.
it Descrizione in Italiano non disponibile
Available downloads:

An application example
The GGLE Project
Field: Advanced Database Techniques
Language:
en
en The project is inspired by Google, the market leader as it comes to internet based search. Its technical infrastructure consist of a large number of replicated databases, which are accessed concurrently by thousands of users. The database schema and query set is relatively simple and all actions are geared at reducing the time to deliver good search results to the user. The task assigments are geared at understanding the complexity involved of setting up such a system and the impact of the choices made..
it Descrizione in Italiano non disponibile
Available downloads:

A performance graph
Bayes Classifier
Field: Machine Learning: Pattern Recognition
Language:
en
en Build a Bayes classifier by using a multivariate Gaussian as class-conditional density model and plot the decision boundary.
it Descrizione in Italiano non disponibile
Available downloads:

Kernel Estimators
Field: Machine Learning: Pattern Recognition
Language:
en
en In this project we examined the effectiveness of two different classification methods, the n-nearest-neighbor and the parzen-estimator. The two methods were tested on two datasets with different dimensions and number of classes. To measure the effectiveness we ran each classifier over a subset of the datasets and recorded the number of misclassifications for each classifier with varying smoothing parameters. To get a better estimate we averaged the result over ten different test runs, each using a different training set. This then gave us an idea on how dependent the results for both methods are on the smoothing parameter, and how it should be adjusted according to different shapes of datasets.
it Descrizione in Italiano non disponibile
Available downloads:

Project Screenshot
EM for a mixture of Gaussian densities
Field: Machine Learning: Pattern Recognition
Language:
en
en The Aim of this project was to train a classifier based on a mixture of Gaussians by using the EM-algorithm. We first implemented the EM algorithm and then used the trained classifier to measure its performance for a different number of mixture components and different datasets. Also we produced some graphical output to visualize how the EM-algorithm for a mixture of Gaussians works.
it Descrizione in Italiano non disponibile
Available downloads:

Project Screenshot Project Screenshot
Logistic Discriminant
Field: Machine Learning: Pattern Recognition
Language:
en
en In this assignment we implemented a logistic discriminant, obtaining its parameters by maximizing the log-likelihood function. Afterwards we tested this discriminant on two data sets, the banana-data and the SPECT data. For the banana-data the correct result can be easily plotted; however, for the SPECT data we can only measure the percentage of correct classification. For the third part of the lab, we pruned away features with the least discriminative power and measured the performance of the logistic discriminant as a function of the number of features used.
it Descrizione in Italiano non disponibile
Available downloads:

Project Screenshot
Adaboost
Field: Machine Learning: Pattern Recognition
Language:
en
en In this assignment we implemented a complex (or strong) classifier based on the weighted combination of very simple (or weak) classifiers, built on a single feature linear discriminant. This is the basic form of a procedure known as Boosting and is called AdaBoost (adaptive boosting). Afterwards we tested the performance of the strong classifier on two data sets, the banana data and the SPECT data, by averaging the test and train error over 10 different random division of test and training sets. The results shows that this procedure really boosts the performances considerably.
it Descrizione in Italiano non disponibile
Available downloads:

Project Screenshot
Principal Components Analysis
Field: Machine Learning: Pattern Recognition
Language:
en
en This lab shows the implementation of two PCA techniques and highlights which one is better to use in which case. It then goes on with some experiments that give a visualization of what the principal components stand for and how data samples are affected using a PCA projection of the data set. Essentially we could show that PCA projection only preserves information where the greatest variance in the dataset occurs. Furthermore we could show that only using 9 principal components we can already capture about 70% of the total variance of the dataset and that the benefit of including more principal components versus the number of components that we need to include decrease quickly as the number of components increases.
it Descrizione in Italiano non disponibile
Available downloads:

Project Screenshot
VideoMouse (Bachelor Thesis)
Field: Computer Vision
Language:
it
en English description not available
it In questo elaborato verra' sviluppata un' applicazione utilizzando dei recenti algoritmi della Computer Vision, un campo dell'intelligenza artificiale sempre piu' in espansione ed in perfezionamento. Questa applicazione e' stata pensata e concepita come strumento di supporto per utenti disabili, con lo scopo di riuscire a consentire un normale utilizzo di un sistema informativo senza implicare una radicale modifica delle strutture gi`a esistenti. Attraverso algoritmi ad-hoc, si realizzera' infatti un innovativo "puntatore visivo" che possa subentrare e sostituire parzialmente o totalmente l'utilizzo dei tradizionali sistemi di input, utilizzando esclusivamente una economica webcam. Grazie a questa applicazione, si spera che sara' possibile garantire una corretta integrazione nella "Societa' dell'informazione" anche per la categoria "debole" degli utenti tetraplegici (ovvero con disabilita' motorie agli arti).
Available downloads:

Project Screenshot
Emulazione di una CPU
Field: Architettura degli Elaboratori
Language:
it
en English description not available
it Scopo di questa esercitazione e' la realizzazione completa di un'architettura di processore attraverso strumenti (software) di emulazione circuitale.
Available downloads:

Project Screenshot
Modellazione e Resa in grafica 3D
Field: Computer Graphics
Language:
it
en English description not available
it La galleria Borromini (anche conosciuta come galleria prospettica) e' il frutto di studi matematici ed architettonici del Borromini in collaborazione con il padre. A rendere questa galleria famosa e' l'effetto ottico che essa produce: la sua lunghezza sembra essere superiore ai 30 metri, mentre non ne supera i 9. Questo progetto prende in considerazione la galleria come potrebbe apparire all'occhio e non il modello reale che lo produce. Della galleria verra' dunque solo ripreso lo stile architettonico cercando di interpretare al meglio il modello virtuale partendo da una sua foto.
Available downloads:

Project Screenshot Project Screenshot
Implementazione di un architettura P2P
Field: Computer Networks
Language:
it
en English description not available
it Realizzazione di due entita' inserite in un'architettura volta al trasferimento di file, operanti concorrentemente su hosts diversi.
Available downloads:

Project Screenshot
Core OS
Field: Operating Systems
Language:
it
en English description not available
it Le specifiche per il progetto di laboratorio prevedono la realizzazione di un'architettura emulata e di un sistema operativo limitati all'esecuzione di programmi scritti in RedCode (un linguaggio di basso livello appositamente modificato) usando un linguaggio di programmazione a scelta. La natura di questa emulazione richiede la gestione del multi-threading, che ci permette in questo caso di astrarre l'unicita' dello scorrere del tempo su numerosi oggetti (funzionanti in realta' al di sopra di una sola macchina virtuale), quindi opportuni meccanismi di sincronizzazione devono essere implementati per soddisfare questi requisiti. Fin dall'inizio ci siamo proposti di soddisfare almeno due Varianti, in particolare ci affascinava l'idea di un numero differente di processori e guerrieri.
Available downloads:

Project Screenshot
Sito web del Cassero
Field: Interfaces Technology and Usability
Language:
it
en English description not available
it Redesign ed estensione del sito web del Cassero.
Available downloads:

en English description not available
it Progettazione, implementazione ed interazione fra diversi siti web con lo stesso interesse utilizzando le piu' recenti tecnologie per il web
Available downloads: