dnutiu / ImageTagger

Image Tagger is an application that predicts an image's tags using deep-learning. It is useful for photographers who want to improve their workflow by auto-tagging images.
https://blog.nuculabs.dev
GNU General Public License v3.0
6 stars 1 forks source link
deep-learning desktop fedora free-software image java keywords kotlin linux macos photography resnet software tagging ubuntu windows

Image Tagger

Image Tagger is a simple software application for predicting an image's keywords using a deep learning model based on resnet.

It allows photographers to automate the image tagging process. 📸


Instructions

  1. Download a release from the release page.
  2. Unzip the release.
  3. Run ImageTagger\image\bin\ImageTagger.

./docs/application.png

Photo credit: https://unsplash.com/@ndcphoto

Alternatively see Flatpak installation instructions.

Development

If you want to build the application yourself, you will need Java 17 JDK and the AI models available in the AIModels release.

The release archive is in the releases page.

Note: On Linux desktop related features (opening images, folders) are handled via xdg-open.

Building and Running from source

To build from source you will need Java 17 JDK and Gradle.

Due to some GitHub limitations that do not allow me to upload large files, you'll need to download the AIModels zip file which contains the deep learning models and place them into the ImageTagger/img-ai/src/main/resources/dev/nuculabs/imagetagger/ai/ path.

To build the project run:

gradlew build

To run:

gradlew run

Building the Flatpak

To build the Flatpak run the following commands:

cd flatpak
./build.sh

It will build the flatpak using the latest sources from this repo.

Building a package (Fedora Example)

To build a package run

gradle jpackage <<< "--type rpm"

To install and run the application:

dnf install ./img-ui/build/jpackage/imagetagger-1.0-1.x86_64.rpm
/opt/imagetagger/bin/ImageTagger

Blog

You can visit my tech blog at https://blog.nuculabs.dev.

Credits