In the scope of this master thesis we investigated the problem of face recognition in unconstrained environments, where a system has to be robust against varying face pose, expression and illumination as well as low resolution, ageing of subjects and infrared capturing mode. The work contains a survey of the field and a detailed description of the methodology used in the making of the face recognition system prototype that was developed in the process. While focusing on feature extraction, we also examined different solutions in the stages of normalization, dimensionality reduction and classication. The work concludes with an analysis of the results achieved during testing, which was performed on the FERET, SCface and ChokePoint datasets. On the first two of the three mentioned datasets we also examined the effect of frontalization. To the best of our knowledge, we achieved the best results in literature on SCface and ChokePoint datasets.