Skip to content

🌭Top 5 projects @ UGAHacks 3 - Image recognition Android app that uses machine learning with TensorFlow, Docker, and Node.js

License

Notifications You must be signed in to change notification settings

richardred/WienerScreener

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WienerScreener - https://wiener.world

https://play.google.com/store/apps/details?id=sexy.wiener.wienerscreener

This is an Android application that takes a picture and utilizes a neural network to determine whether or not the picture is of a hot dog.

How it works

We trained a neural network using TensorFlow machine learning algorithms with thousands of images defined as either 'wiener' or 'not wiener' until it could successfully identify hot dogs.

An Android application was created so users could take photos and have them evaluated for hot dog status using the data from the trained neural network.

To accomplish this, a web server was created using Node.js and Docker to handle user requests and process uploaded images.

ImageMagick was then used to overlay a response image to the client that displays 'wiener' or 'not wiener'.

All of the files in the server directory were created in a Linux Virtual Machine environment and are now hosted on a Google Cloud server which currently runs all of the back end functionalities.

Because everything is handled server-side, the neural network could be retrained with new data at any time to recognize anything else, and the client wouldn't even have to update their device for the new changes to take place.

The domain https://wiener.world was purchased in order to maximize the quality of the user experience.

How to use

Visit https://wiener.world/ and click the download link for the android APK, then simply install from a file manager and it's ready to go!

Tap the 'scan for wieners' button at the bottom of the screen, take a picture of anything, then wait for the app to give you an answer (typically takes anywhere from 5 to 30 seconds depending on internet speed).

Built With

  • TensorFlow - an open-source machine learning framework with python libraries

  • Google Cloud Platform Compute Engine - virtual machines/servers running in Google data centers

  • Android Studio - the official integrated development environment (IDE) for Google's Android operating system in which the Java code for the Android application was written.

  • Docker - an open-source project for automating the deployment of applications as portable, self-sufficient containers that can run on the cloud or on-premises.

  • Node.js - a JavaScript runtime built on Chrome's V8 JavaScript engine, specifically the Express framework to create a web server on the Google Cloud server that would handle the front-end application requests.

  • ImageMagick - an open-source image manipulation tool that was used to create overlays displaying the wiener status of a photo.

  • Caddy - a web server and proxy which was used to automatically generate HTTPS certificates for the wiener.world domain/subdomains

License

This project is licensed under the MIT License - see the License file for details