Tired about always being labelled as 'Asian'? Desire your individuality? Sometimes, people can't tell each other apart. More often than not, people can't tell asians apart. Even if some can, it may not always be accurate. Sometimes, unknowingly people also use it as a means of harrasing other people. However, machine learning algorithms trained with a supervised model can accurately detect the myriad facial features that can distinguish asian ethnicities. In this case we focus on Chinese, Japanese, and Korean ethnicities apart.
What it does
The core of our application using a trained tensorflow (machine learning) classifier to differentiate between the three asian ethnicities of Korean, Japanese, and Chinese. Using the distinguishing facial characteristics such as eye, nose, and ear shape, as well as differential relative distances of those facial features, our classifier has been able to successfully cluster by ethnicity.
How we built it
We built a web application on Flask to power the logic behind gathering information for our machine learning classifier to work on. The web app serves as a basic interface to communicate the necessary user inputted images to dynamically classify into the three ethnicities.
Challenges we ran into
The main challenges were our lack of experience with rapid development with web based applications. Our machine learning classifiers were the crux of our application and our experience training such classifiers was quick to implement. However, we ran into a variety of issues loading the app onto certain hosting platforms. We attempted django, docker and local based services. However, we were successful with an AWS EC2 instance hosting our app.
Accomplishments that we're proud of
We are proud of the functionality in how our app can using scientific methodologies to cluster facial features given appropriate training data. The clustering algorithms provided by tensorflow and google's inception dataset have powerful applications in a variety of settings for rapid image based identification. After the completion of this app, we have also made significant headway into training our classifiers to identify suspects of interest based on clothing associations.
What we learned
We definitely learned, the hard way, of the intricacies of rapid and reliable web application development.
What's next for Race Detector
As mentioned above, the applications for having a quick and reliable image classification and subsequent methodological and programmatic clustering are many. We have been working on training more accurate classifiers to quickly identify suspects in question based on clothing in groups of people and crowded environments.
Longest Stack Name: AWSPythonFlaskHTMLJSCSSTensorFlowJQueryUbuntu