The system utilizes two services, the image-classifier and the downloader-uploader service .
To help understand the system consider this scenario: You have 1000 photos in a drop box folder. The photos are of 5 types of items. You would like to generate 5 folders, each having all the photos of a particular item type.
The frontend described in this repo is a script that interacts with the two micro-services, serving to demonstrate usage of the system. It invokes the downloader-uploader first to dowload images from a dropbox folder called 'all'. It then invokes the image-classifier service to classify these images and move them to individual folders. Finally the frontend invokes the downloader-uploader service again to upload the classified images back up to seperate folders in dropbox.
The image-classifier and downloader-uploader repos each have READMEs that explain their design and functionality in more detail.
- Generate a dropbox access token and set it as an environment variable called ACCESS_TOKEN
- Define a SERVICE_KEY environment varible which serves as an extra layer of security
- Create a folder in dropbox called 'All'
- Place the images that you want to classify in that folder
- Install the requirements defined in each services' requirements.txt file
- Start the downloader-uploader service
- Start the image-classifier service
- Run main.py and pass in the classes you want to sort your uploaded images by e.g 'python main.py --classes cat dog truck' will sort for cats, dogs and trucks
- The system will start the classification and update you on its progress along the way
Script output