by Tamilselvan Balasuntharam, Harrish Thasarathan, Tommy Turcotte and Spencer Denford https://github.com/Harry-Thasarathan/Java-Project.git
Here we present our final project for csci2020u, a computer vision and deep learning application with 3 interactive demonstrations. These include a hand written (single) digit recognizer, where the user can draw a number and our trained neural network will recognize it. A binary cat vs dog classifier, where the user can feed an image of a dog or cat and have a neural network determine which animal it is. As well as a Style Transfer demonstration where the user can take a webcam picture of themselves and have the style of the photo changed (similar to instagram filters).
- Java 1.8 (JDK)
- DeepLearning4j Library
- Maven
- Clone this repo (allows use of DL4j libraries):
$ git clone https://github.com/deeplearning4j/dl4j-examples.git
$ cd dl4j-examples/
$ mvn clean install- mvn clean install can take some time
- Note that the library is large, delete it from your system when finished if you prefer
- Clone our repo
$ git clone https://github.com/Harry-Thasarathan/Java-Project.git
$ cd Java-Project
$ mvn clean install- Open the project in IntelliJ, navigate to the Java-Project folder (stuff outside gives us git errors to remove), that is where the working code is and run the server and then the client files from IntelliJ, this will show the main menu from there you can view the rest of the demos
Left click and draw a number (0 to 9), then press enter. Our code will print the networks prediction as to the number classification. Below that is a more detailed label
Upload a photo of a dog or a cat using our menu system. Press button to view the prediction on the left. Our code will distinguish weather it is a dog or a cat.
Pressing the Capture! button will capture a webcam image. Pressing Stylize! will then run the style transfer algorithm on the webcam image. Since the style transfer image is computationally expensive and doesnt work well in the javafx thread (even as a seperate task), use our menu systems open command to open you file system and open the produced images to the screen. They are saved under resources.
- Tracks people in cliend
- provides main menu (run server then client)
Harry
- Hand Written Digits Demo (AlexNet network trained in python in google colab free tesla k80 GPU on Mnist dataset)
- Readme
- Cat vs Dog network trained in Python (CNN also google colab)
Tamilesh
- UI for cats vs dog prediction
- Style Transfer Algorithm Modifications
- Style Transfer UI
Spencer Denford
- Color extraction (ended up not using in demo for space)
- Readme
Tommy Turcotte
- Server functionality
- Client functionality

