A face recognition method that can cope with the variations due to the changes in lighting and pose is presented in this paper. This system uses the output of a face detection module that extracts human faces within an input scene image. To compensate for illumination effects, an algorithm is proposed which applies an embossing operator to the detected face images to remove the illumination effects. Next, variations in the face images due to changes in pose are compensated for by using an algorithm that generates corresponding front-view face images of the detected face images; thus the perspective invariant recognition of the input face image becomes feasible. This algorithm first calculates a 3D head model from a 2D input face image. Once a 3D head is found, 2D face images can be rendered under different pose and lighting effects. For face recognition, a front-view face image is rendered. The resulting front-view face image is then directed to a fractal-based recognition algorithm. Three different experiments are carried out on a large collection of face images. The results are presented and discussed.