next up previous contents
Next: My multi-operator approach Up: Evolving Facial Expressions Previous: Evolving Facial Expressions

Traditional Genetic Algorithms

A technique which has been used a lot in similar problems is the technique known as genetic algorithms. Briefly, genetic algorithms mimic the biological process of evolution. In this method, each possible solution (in this case, each facial expression) is a chromosome in the ``gene pool''. The process is run in cycles; at every cycle, each chromosome is given a score relating to its ``fitness'' (according to some criterion). Those with the lowest scores are eliminated from the gene pool and those with the highest scores are crossed with other chromosomes, producing offspring.

If one visualises the chromosomes as points in an N-dimensional space, this process causes the gene pool to converge towards an optimal solution. However, there is a problem: the solution may be a local optimum; if this is the case, this process will miss other optimal solutions. Since the process of evolution reduces genetic diversity, it cannot jump to another optimum elsewhere. To counteract this, mutation is introduced; in other words, every now and then, a chromosome is randomly changed.

At first, I experimented with the genetic algorithm approach to the facial evolution problem. I had a program in which a human user acts as the selection mechanism, giving the chromosomes scores at each round. However, this approach turned out to be inadequate; it is too slow and tedious and does not give the user sufficient control over the process of evolution.



Andrew C Bulhak
Tue Nov 7 11:44:11 EST 1995