Training a neural network via back-propagation using an image has been done before. The actual pixels can be fed into the network as the inputs. This approach works great when trying to recognize textures or objects with fixed orientation and scale.
This method is not so practical for face recognition since the face is never a constant and there are other variables such as orientation, lighting, expression, distance to camera, etc. Also for images with large numbers of pixels the computation can become very complex. For example a 200x200 image would require 40000 inputs!
I choose instead to parameterize the face using information from the contour and eyes found earlier as well as some picture information.
I broke the face into 8 parameters
I then used these parameters to train the neural network for a set of different faces.