The process of organizing photos can be a huge pain. And when they aren't organized, it is still a pain to search through huge unsorted folders, looking for that one photo. This application aims to resolve this dilemma by using machine learning to implement the following features:
-
Category Tags: identifies common objects in an image, using them to tag the image with one or more categories
- Categories include: Portrait, Group Photo, Urban, Pet, Nature, Sports, Food
- The objects that the models are trained to detect, and how they map to the categories, are listed in
tagger/categories.py
-
Name Tags: identifies people in an image and tags the image with their names
-
Rotation Correction: detects crooked images and straightens them
-
Low-Light Enhancement: detects dark images and brightens them
- Beta feature: may output images with bright neon spots
-
Ensure that Python>=3.9 (with pip) is installed
-
Download the application
- To get only the files required to run the application, download and unzip a Release
- To also get the reports, datasets, notebooks, etc., clone the repository (much larger folder):
-
Create a virtual environment to run the application in (optional, but recommended)
- Navigate to the project directory
- See Python Docs
- For the first command, use
venv
as the directory name instead oftutorial-env
- If using PowerShell, run the
Activate.ps1
script instead
- For the first command, use
- This ensures that the packages necessary to run the application are used without adding to or replacing packages in the main python package directory
-
In the project directory, install the required packages
pip install -r requirements.txt
- Run
python main.py
to start application - Access application at http://127.0.0.1:8080/
- Application usage instructions can be found on the homepage, and a visual walkthrough in the final report