/demandator

it's a thing that asks staff to other things that return stuff

Primary LanguagePythonGNU Lesser General Public License v3.0LGPL-3.0

Demandator version

Demandator is a package to use to ask image classification of images from your shell.

Features

  • 🔍 Classify images
  • 📊 Plot graph of prediction
  • 💾 Save results to improve the AI model throught transfer learning
  • 👥 Manage users

Gettin' Started

Demandator requires Python 3.6 to run.

Before you can actually start, you will need to install some required packages. On Debian based distributions, you can do this by simple running

sudo apt install git

Clone the repository and install the dependencies.

1) Clone the repository

$ git clone https://github.com/FedericoFogolin/demandator.git

2) Enter the repository from the folder where you downloaded the file

$ cd demandator

3) Create a new user with the following command

$ python3 demandator_pkg/scripts/dbmanager.py -a <name_user> -p <password>

4) Test the program with one of the images provided

$ python3 main.py test_images/test.jpg -u <username> -p <password>

5) If everything worked out properly (🤞), you can run the classificator with your own files

$ python3  main.py <image-path> -u <username> -p <password>

Optional Arguments

You can add one or more of the below arguments to personalize your queries

Arg DFLT Range Description
-g off None Plot the graph of predictions
-n 5 1-50 Number of results to display
-v off count <= 2 Display verbosity
-t 0.0 0.00 <= Float <= 0.99 Limit results to that minimum threshold

Tests

You can also run a series of tests in order to verify that the program behaves correctly with different inputs. To be able to do that we implemented a test suite which you can run by typing the following while being in the demandator folder:

$ python3 -m unittest -v -b tests/test_main.py

Technologies

Demandator is created with:

Modules

Demandator uses a number of modules to work properly, so make sure to have them properly installed:

  • numpy - NumPy is the fundamental package for scientific computing with Python
  • argparse - Parser for command-line options, arguments and sub-commands
  • hashlib - Secure hashes and message digests
  • sqlite3 - DB-API 2.0 interface for SQLite databases
  • os - Miscellaneous operating system interfaces
  • sys - System-specific parameters and functions
  • requests - Python HTTP for Humans.
  • ast - Abstract Syntax Trees
  • PIL - Python Imaging Library
  • cv2 - Wrapper package for OpenCV python bindings.
  • logging - Logging facility for Python
  • verboselogs - Verbose logging level for Python's logging module

Future Features

  • 🔑 Manage maximum number of calls throught access tokens
  • 📸 Classify multiple images at once
  • 🔍Possibility to switch from classification to object detection and back
  • 📌Display detected object boundaries

Authors

License


GPL

Free Software 4ever, Hell Yeah!