This paper deals with the problem of face recognition from a single image per person by producing virtual images using neural networks. To this aim, the person and variation information are separated and the associated manifolds are estimated using a nonlinear neural information processing model. For increasing the number of training samples in neural classifier, virtual images are produced for the neutral pose samples in a gallery dataset. By designing various structures of neural networks, the quality of virtually produced images, and consequently the recognition accuracy rate are improved. To obtain person information manifold codes giving better performance in describing the other persons and in generalizing, a learning method based on unsupervised clustering is presented. Applying this learning method and training classifier with virtual images, gives an accuracy rate of 83.63% on test dataset, which shows 12.73% improvement in comparison with training classifier using neutral pose samples.