Thursday, 30 March 2017

FAD-Facial Age Determinator

FAD - Facial Age Determinator is a Python based software to determine the age of people using skin texture. It determines the age group of people and classifies them into 4 groups, kids(1-10), young(10-25),adults(25-50),seniors(51+).

Applications

  • Vending Machines for cigarettes and beer
  • Age Appropriate Advertisements
  • Targeted Advertisements on Bill Boards
  • Age Restricted Entry Zones(Bars, Adult Cinema)
  • As a filter in other Facial Processing Systems
  • Human Robot Interactions
  • Smart Car System Adaptive Behavior(Determining whether to apply brakes based on age group of pedestrian crossing.)
  • Elderly Assistance Systems
  • Enhanced Security for Kids Only Zones etc 

Implementation Details

 

  • Uses OpenCV for Image Processing
  • Trained on FERET database
  • Uses KNN 10 neighbor uniform Manhattan classifier
  • Use of ULBP (8,2) - 59 bin LBP
  • Response Time of System <20ms(Optimization Possible. Tested on i5-7200u with 8GB ram)
  • RAM requirement is high (about 700 MB for a trained dataset of 3700 images)
  • Suitable for Real Time Applications can process >50fps video.
  • Accuracy : 81.7%(maximum possible with 19 neighbor distance canberra 82.7). More accurate than human who can achieve 78% efficiency.

 Testing

A set of 280 test were carried out by dividing the FERET database into 2 parts, 3699 training images and 395 test images. 
The tests were carried out by varying the number of neighbors to be considered, the distance function to be used and the whether the influence of neighbors on determining the class of the test case would be considered uniformly or based on the distance
The test results can obtained in .xlsx format with the code download given below in the download sections.

Further Development

  • The software is being further developed as time permits. 
  • Code to crowd source the database using IMAP or POP through emails is one of the plans.
  • Further I would like to make such a facial database available for free for further such research.
  • Code needs to be multi-threaded to make use of modern multi-core architecture.
  • Possible porting of code into C++ to further reduce the response  time.
  • Uploading the code to Git Hub.

Code 

Code can downloaded from Mediafire: click here to download.


Screenshots










No comments:

Post a Comment