Challenge Overview
Welcome to the Topcoder Age & Gender Determination Facial Analysis Algorithm Challenge
Overview
Our client wants to develop an Android app to detect the age and gender of a person by performing an analysis of their photograph. The eventual solution would work offline and must work live with the device’s camera stream (frame by frame detection though the live camera stream)
Challenge Requirements
The success criteria for this application is that it must detect age & gender with at least 80% accuracy and within 0.2 seconds of detecting a face in the camera stream.
The available dataset with the client is 50,000 records with a general population and having multiple variables associated with age and gender detection. The dataset is semi structured and the client has currently been using an off the shelf solution which does not provide the required level of accuracy.
The client has been leveraging Google Vision for facial detection, basic mood states and attention span detection. However, they’ve not been able to identify a suitable solution for age and gender detection.
Sample dataset & images are available here -
https://data.vision.ee.ethz.ch/cvl/rrothe/imdb-wiki/
This dataset will be used for reviewing the submissions.Success Criteria
For this challenge, the submissions must implement an algo that meet the following requirements
-determine the age and gender of a person based on a photo
-should be 80% or more accurate within determination of age and gender within 0.2 seconds of detecting a face
-the age can be within a span of 5 years, for example it could suggest a person is between the ages of 30-35 (Rather than an exact figure)
-it should be able to do this with multiple faces if there are more than one face detected
-Please make sure that your source code is well modularised and well commented
The following reference links will be helpful
https://data.vision.ee.ethz.ch/cvl/rrothe/imdb-wiki/
http://www.robots.ox.ac.uk/~vgg/software/vgg_face/
https://cmusatyalab.github.io/openface/
https://bytefish.de/blog/gender_classification/
Consideration for Future Use
-
Please note that we will eventually use this algorithm to make these detections locally on an Android device using the live camera stream, and that no images will be saved to the device.
-
It will be a client side Android app that works offline so no web services can be used for determining age or gender.
Review Criteria
-
The submissions will be judged by the subjectively on a scale of 1-10 based on the following criteria & the provided dataset
-
Adherence to mentioned requirements
-
Accuracy
-
Performance
-
Code quality
-
Final Submission Guidelines
-
Algorithm implementation source code - the solution must be implemented in Java so that it can be incorporated into the Android app.
-
Detailed description of Algorithm including all references, links
-
Demo video of your solution in action