Skip to content

A microservice based application for classifying images in a remote storage location such as a drop box folder

License

Notifications You must be signed in to change notification settings

mungujn/image-classification-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Image categorizer. An image classification application

Overview

The system utilizes two services, the image-classifier and the downloader-uploader service .

Classifier service

Build Status codecov

Downloader, uploader service

Build Status codecov

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.

Frontend

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.

Running the system

  1. Generate a dropbox access token and set it as an environment variable called ACCESS_TOKEN
  2. Define a SERVICE_KEY environment varible which serves as an extra layer of security
  3. Create a folder in dropbox called 'All'
  4. Place the images that you want to classify in that folder
  5. Install the requirements defined in each services' requirements.txt file
  6. Start the downloader-uploader service
  7. Start the image-classifier service
  8. 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
  9. The system will start the classification and update you on its progress along the way

Script output

Script output

About

A microservice based application for classifying images in a remote storage location such as a drop box folder

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages