`Where was this taken?' -- Semi-supervised kernel based learning for location recognition

Bill Triggs, MOVI, INRIA Grenoble, France
http://www.inrialpes.fr/lear/people/triggs

This computer vision / machine learning project will use semi-supervised kernel-based learning methods to build a program capable of recognizing different indoor or outdoor locations from small sets of example images.

Nonlinear learning methods such as Support Vector Machines have recently become very popular in visual pattern recognition. They classify unseen patterns by comparing them to a small number of reference patterns selected automatically from a larger training set, measuring pattern similarity using a user-specified `kernel function'. The construction method guarantees strong theoretical and practical performance, but in their usual form Support Vector Machines require all of the training patterns to be fully classified before training starts. This is tedious in image-based applications where training may involve many thousands of images or image subregions, most of which contain no interesting pattern. `Semi-supervised' or `transductive' methods offer a possible solution to this problem. In essence, they seed the learning process with a few labelled training patterns, then use many unlabelled ones to `fill in the gaps' by a process analogous to clustering.

The aim of this project is to build a small prototype system to study the usefulness of the semi-supervised approach and compare it to the fully-supervised one, in the context of location recognition from collections of images. The images will be represented by sets of distinctive translation- and scale- invariant local features extracted from them. Several suitable codes exist for the learning part: the transductive method in the SVMlight library might be a good starting point. The program will be implemented under Linux or Solaris, preferably in C or C++ but Java and Matlab are also possible.

The candidate should have a strong practical interest in computer vision or pattern recognition and very strong analytical abilities. Proficiency in the chosen programming language is also required. Some knowledge of numerical optimization would be very helpful, as would previous experience of programming with images.