Skip to content
Finding Wally Web Application
HTML Python CSS
Branch: master
Clone or download
Latest commit 593cb1e Aug 5, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
findingwally Update views.py Jul 14, 2018
locale Create django.po Jul 5, 2018
mysite Update urls.py Jul 4, 2018
static Add files via upload Jul 11, 2018
templates Update home.html Jul 16, 2018
training
LICENSE Initial commit Jul 1, 2018
README.md

README.md

findingwally

Finding Wally Web Application

URL: http://findingwally.pythonanywhere.com

A facial-recognition (image detection) web-application using a convolutional neural network to solve puzzles from the children’s picture-book series Where’s Wally.

An adaption of the work done by Tadej Magajna as a web application on the PythonAnywhere webhosting service.

Languages

Python 3.5+, JavaScript, HTML, CSS

Requirements

The images, annotations, model checkpoint, and trained model from Tadej Magajna; or alternatively, you can create separate similar images and annotations to retrain the model derived from his checkpoint, or to train a model from scratch. For simply implementing a Web application to predict Wally's location (and not training a new model), only a frozen inference graph (the trained model) is needed, and found on his repository. His images and annotations come from Valentino Constantinou.

TensorFlow Object Detection API and its dependencies for both training and prediction; TensorFlow 1.3+. Read Tadej's post about his work to get started here. A similar explination on the use of TensorFlow's Object Detection API by Dat Tran can be found here.

N.B. It does seem however, that the API has been malfunctioning for some time now. It appears to be training (in this case, a transfer learning from a pretrained model, with progressively decreasing losses as expected), but in reality, training through the Object Detection API incurs a deleterious effect on the parameters of the model (cf. the issue as described here https://github.com/tensorflow/models/issues/2952). In which case, the frozen_inference_graph.py file from Tadej Magajna can be an initial substitute to get you started assembling a similar Web app.

UPDATE: It seems that as of August 1, 2018, a solution to the above issue has appeared whereby the phrase "load_all_detection_checkpoint_vars: true" is inserted into the training configuration file to copy all of the saved variables. (cf. the issue as described here https://github.com/tensorflow/models/issues/4944).

To generate detection plots:

matplotlib

NumPy

PIL

Backend framework:

Django

A web hosting service; I used PythonAnywhere.com, and followed its provided procedures to set up the website.

Frontend:

Bootstrap, provided in this repository as a min file

jQuery, provided in this repository as a min file

You can’t perform that action at this time.