This GitHub repository contains all source codes for my bachelor thesis. The software includes a mobile client, server, and database, which can be used for stolen painting recognition.
The repo has three main parts:
- Mobile application for Android OS
- written in Java
- developed in Android Studio
- full project in /client/Stolen-Art-Finder/ directory
- Dockerized Django server
- server side of the project
- easily installed using Docker
- two separate containers for django and database
- implements RESTful API
- performs the painting recognition
- full source code in server directory
- Jupyter notebooks
- jupyter notebooks were used for downloading/augmenting paintings and to demonstrate the ORB algorithm
- data augmentation notebook, data downloader notebook, orb demonstration notebook
- all notebooks are in jupyter_notebooks directory
Each directory contains separate README.md with details of usage.
- Install Docker on the host machine.
- Install Docker Compose
- Open terminal and navigate to the server directory.
- Run this command to start the server:
admin@admin:~$ docker-compose up- Wait for the server to start, check if it is running.
You can download the apk file from this repository and simply install it on your Android device. However, if you want to use the application with your server, you have to modify the BASE_URL variable to contain the URL of your server:
- Open the APIClient.java file located in the networking package.
- Change the URL
private static final String BASE_URL = "http://111.111.111.111:88/";- Build and install the app.
To run or view the notebooks install Jupyter Software. Then run the jupyter notebook command from the projects directory.
admin@admin:~$ jupyter notebookBecause the notebooks depend on a lot of packages, it is highly recommended to use the project's conda environment. Please install Conda and then see the CONDA.md file for instructions on how to setup jupyter notebook to work with the environment.