Current Projects

  
Job
Yes, everyone has to make a living somehow. You would think that someone would be willing to pay me money just to sit around playing with new ideas, hoping to discover something useful (read: profitable). That is commonly referred to as research -- finding a research job in SA is rather difficult, partly because all SA companies are far to short-sighted to realise the benefit of (potentially pointless) research.
Update: Strangely enough, I managed to secure a research position at the Meraka Institute/CSIR. This means I am now working in the Remote Sensing Research Unit.
Ph.D Thesis

I have recently completed my Ph.D thesis, entitled "An Analysis of Particle Swarm Optimizers" Here's the abstact:
  Many scientific, engineering and economic problems involve the optimisation of a set of parameters. These problems include examples like minimising the losses in a power grid by finding the optimal configuration of the components, or training a neural network to recognise images of people's faces. Numerous optimisation algorithms have been proposed to solve these problems, with varying degrees of success. The Particle Swarm Optimiser (PSO) is a relatively new technique that has been empirically shown to perform well on many of these optimisation problems. This thesis presents a theoretical model that can be used to describe the long-term behaviour of the algorithm. An enhanced version of the Particle Swarm Optimiser is constructed and shown to have guaranteed convergence on local minima. This algorithm is extended further, resulting in an algorithm with guaranteed convergence on global minima. A model for constructing cooperative PSO algorithms is developed, resulting in the introduction of two new PSO-based algorithms. Empirical results are presented to support the theoretical properties predicted by the various models, using synthetic benchmark functions to investigate specific properties. The various PSO-based algorithms are then applied to the task of training neural networks, corroborating the results obtained on the synthetic benchmark functions.
You can download the complete thesis (in Postcript format) from my publications page.

M.Sc Thesis
My M.Sc thesis dealt mainly with a Computer Vision application. Here's the abstract from my thesis, "A Device-free Locator using Computer Vision Techniques":
  "Device-free locators allow the user to interact with a system without the burden of being physically in contact with some input device or without being connected to the system with cables. This thesis presents a device-free locator that uses computer vision techniques to recognize and track the user's hand. The system described herein uses a video camera to capture live video images of the user, which are segmented and processed to extract features that can be used to locate the user's hand within the image. Two types of features, namely moment based invariants and Fourier descriptors, are compared experimentally. An important property of both these techniques is that they allow the recognition of hand-shapes regardless of affine transformation, e.g. rotation within the plane or scale changes. A neural network is used to classify the extracted features as belonging to one of several hand signals, which can be used in the locator system as 'button clicks' or mode indicators. The Siltrack system described herein illustrates that the above techniques can be implemented in real-time on standard hardware."
You can download the complete thesis (in Postcript format) from my publications page.
Other projects
I have more than a passing interest in distributed computing. My third year project involved a distributed system written in Java. It was disguised as a multiplayer game, though ;)
My true passion remains computer graphics, but at the moment I'm also doing some experiments with digital signal processing (FFT's, compression, pattern recognition, etc.). These interests are more of a hobby, but I do code regularly at these problems (I have yet to produce a program that other people will find useful, but then again, I'm just coding for my own pleasure anyway).
I've done quite a bit of research in AI over the last three years, mostly on Neural Network training algorithms. This explains my interest in Optimization, which led me to Particle Swarm Optimizers.