Face Detection for Evolution
John Montgomery
msc37jxm@cs.bham.ac.uk

This project consists of several python scripts and a python C++ extension.
To compile the C++ extension you may need to alter the accompanying Makefile slightly.  In particular to use a webcam you may need to
later the line:

	CAMERA = $(ROBOTICS)/src/PhilipsCamera.cc $(ROBOTICS)/src/ccvt_c1.cc

As it has been setup to compile at the Birmingham University CS department, with "robotics" support enabled.  If you have trouble
compiling the webcam support it can be removed, by removing "Camera.o" from the OBJS line and commenting out any other lines referring to
the webcam related files.

It will also be necessary to use SWIG 1.3.  This can be installed locally (in your home directory) if need be and used by changing SWIG
to something like:

	SWIG = ../SWIG/swig -I../SWIG/Lib -I../SWIG/Lib/python

There are 3 different programs that can be run:

	python main.py -params=params.txt

Runs the genetic algorithm, using the parameters found in "params.txt"

	python detectface.py "template1.txt template2.txt" <jpg image files>

To detect faces in jpg image files.  Ratio-Template files can be grouped at the command line.  Those appearing inside the same set of
quotes (" and ") will be AND'ed together.  Groups will then be OR'ed together afterwards.

	python VideoDetect.py "template1.txt template2.txt"

Which works in a similar fashion to detectface.py, but uses the webcam.  Alternatively run the command "./runwebcamdetector.sh" to
demonstrate the system with a relatively good combination of ratio-templates.

The included ratio-templates (in MRTExperiment{7,8,9}) are those from the "moderate" experiments.
A few face, nonface and background images have been included.
