Facial Age Regression Software

TensorFlow implementation of the algorithm in the paper Age Progression/Regression by Conditional Adversarial Autoencoder.

Thanks to the Pytorch implementation by Mattan Serry, Hila Balahsan, and Dor Alt.

'APRIL® Face Aging software is a crowd-pulling prop to inform smokers and non-smokers about the impact of smoking on premature and excessive wrinkling of the skin. APRIL's magic lies in personalising the message by aging the face of the person sitting in front of you. It is a great motivational tool and works particularly well with young women. The software, called Age Progression Manipulator, is developed as the result of the method. Age Progression Manipulator offers a couple of features in which users can experience. Below is a few key features that is available. From 1963 to 2013.

Facial

Pre-requisites

  • Python 2.7x
  • Scipy 1.0.0
  • TensorFlow (r0.12)
    • Please note that you will get errors if running with TensorFlow r1.0 because the definition of input arguments of some functions have changed, e.g., tf.concat and tf.nn.sigmoid_cross_entropy_with_logits.
  • The code is updated to run with Tensorflow 1.7.0, and an initial model is provided to better initialize the network. The old version is backed up to the folder old_version.
Facial Age Regression Software

Datasets

  • FGNET
  • UTKFace (Access from the Github link or the Wiki link)

Photo Age Regression Software Free

Prepare the training dataset

You may use any dataset with labels of age and gender. In this demo, we use the UTKFace dataset. It is better to use aligned and cropped faces. Please save and unzip UTKFace.tar.gz to the folder data.

Training

Age

The training process has been tested on NVIDIA TITAN X (12GB). The training time for 50 epochs on UTKFace (23,708 images in the size of 128x128x3) is about two and a half hours.

During training, a new folder named save will be created, including four sub-folders: summary, samples, test, and checkpoint.

  • samples saves the reconstructed faces at each epoch.
  • test saves the testing results at each epoch (generated faces at different ages based on input faces).
  • checkpoint saves the model.
  • summary saves the batch-wise losses and intermediate outputs. To visualize the summary,

After training, you can check the folders samples and test to visualize the reconstruction and testing performance, respectively. The following shows the reconstruction (left) and testing (right) results. The first row in the reconstruction results (left) are testing samples that yield the testing results (right) in the age ascending order from top to bottom.

The reconstruction loss vs. epoch is shown below, which was passed through a low-pass filter for visualization purpose. The original record is saved in folder summary.

Custom Training

Testing

Note: savedir specifies the model name saved in the training. By default, the trained model is saved in the folder save (i.e., the model name).Then, it is supposed to print out the following message.

Specifically, the testing faces will be processed twice, being considered as male and female, respectively. Therefore, the saved files are named test_as_male.png and test_as_female.png, respectively. To achieve better results, it is necessary to train on a large and diverse dataset.

A demo of training process

The first row shows the input faces of different ages, and the other rows show the improvement of the output faces at every other epoch. From top to bottom, the output faces are in the age ascending order.

Files

  • FaceAging.py is a class that builds and initializes the model, and implements training and testing related stuff
  • ops.py consists of functions called FaceAging.py to implement options of convolution, deconvolution, fully connection, leaky ReLU, load and save images.
  • main.py demonstrates FaceAging.py.

Citation

Zhifei Zhang, Yang Song, and Hairong Qi. “Age Progression/Regression by Conditional Adversarial Autoencoder.” IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017.

Age-progression photos are widely used by investigators to located missing persons and hunt for wanted fugitives.

TheNational Center for Missing & Exploited Children have successfully used age progressed photos to reunite long-term missing children with their families. The success they’ve experienced has been has crossed over into law enforcement organizations like the United States Marshals Service who are tasked with tracking down some of our nation’s most violent criminals.

Civil attorneys also use age-progressed images during wrongful death lawsuits to show how their clients might have appeared if they lived a full-life.

Other individuals request age-progressed images of missing & deceased family members to provide them hope and comfort.

Forensic Facial Imaging Expert and IAI Certified Forensic Artist Michael W. Streed has over 200 hours of specialized training in age progression from the National Center for Missing and Exploited Children. He uses traditional illustration techniques blended with photo editing software to create powerful images that seek to pay respect to those missing & lives lost too soon.

Requirements:

Facial Age Regression Software

  • Most up-to-date, scanned portrait-style photograph. Note: Fugitive Investigators should provide as much lifestyle or medical information as legally allowed.
  • Include photographs of bloodline siblings or parents taken at, or near the age as the missing/deceased person.
  • Scanned photographs should be a minimum of 5 x 7 inches in size at 300-600 dpi resolution. Multiple or oversized photos should be sent via SketchCop®’s WeTransfer service.
  • SketchCop® WILL NOT accept original photographs.
Note: There is no guarantee the completed image will be an ‘exact likeness’ of the missing or deceased person. The image should only be considered an “approximation” only.

Facial Age Progression Software

Software

If you need an age-progression photo, please use the request form on the right-side of the screen.