Being curious about how face recognition tools work, I wanted to learn about its implementation and dig in more into the machine learning field, thus I decided to pursue this with image recognition and classification for this project, adding a touch of offline capability to it. Being able to use an app like this offline allows people with no internet access to still be able to classify images in this case, but this could also apply to doctors in areas with poor connection to be able to use to identify and classify types of parasites, bacterias, or other organisms that can help save people's lives.

What it does

This TensorFlow web application lets users classify images either taken live through their device's camera or locally by uploading one. The app uses a trained model converted to the TensorFlow.js format to provide the predictions for each image chosen with percentages shown of its confidence in inferring what it is. The serviceworker also lets user to be able to use this offline.

How I built it

I built it using React and tensorflow for the web application the and model, with html and css for the front-end. I used IBM Watson's ML resource platform for the model training. Most importantly, I made use of service workers making it a progressive web app that can provide offline functionality, as shown in the demo.

Challenges I ran into

Challenges included to integrate the model into the React app and getting used to IBM Watson ML's platform being new to it. Figuring out how to also allow camera device to be used was a challenge I ran into.

Accomplishments that I'm proud of

I am most proud of tackling the ML field that I have recently been curious about, and focusing on computer vision, and also to use new technologies such as Watson ML platform to create and train models. I am also proud of having been able to not only have the uploading feature available, but also the live camera use, as well as being able to use the app offline with serviceworkers.

What I learned

I learned how to make a machine learning app that classifies images, and integrate that within a React app. I also learned how to make a progressive web app using serviceworkers. I also learned how much classification instances is used in the real world through research, and that computer vision can not only detect and classify, but can also track objects.

What's next for ClassifyIT

Next, I will take this progressive web app one step further and explore the facial recognition field of Machine Learning. I want to be able to learn how to recognize people's faces, and not only objects or images. Also, I am planning on making Visionary into a mobile app for even easier access to users.

Built With

Share this project: