oliveox / digikam-object-detection-plugin

DigiKam media files search by contained objects
9 stars 1 forks source link

Digikam Object Detection "Plugin"

Gives the ability to search for media files inside a DigiKam collection by the objects they contain

How does it work?

The interface between the DigiKam UI and this Python project is the DigiKam SQLite database, in which this "plugin" inserts the objects detected in the DigiKam collection files. These objects appear as tags in the DigiKam UI, under the root tag named 'objects'

Install

Prerequisites

Steps

  1. clone this project
  2. cd inside the project
  3. optional: create a virtual environment and activate it
  4. pip install -r requirements.txt
  5. pip install -r https://raw.githubusercontent.com/ultralytics/yolov5/master/requirements.txt
  6. cd src
  7. cp .env-example .env
  8. fill up the .env file with your specific paths
  9. python main.py
  10. once the process finishes, open / restart DigiKam and you should have all the detected objects as tags inside the root 'objects' tag

Configuration

.env file parameters

Support

Even if this project doesn't have any unit / integration / etc. tests, I'm gonna resume and concentrate the supported features, based on the scenarios I've met. Feel free to contribute if you believe in this project.

Operating Systems

Media files (specific formats specified here)

Machine Learning Processing Hardware

Contribute

Drop an issue if you have any questions, suggestions or observations. Other to be implemented features I've been thinking about can be found in the TODO file or in the codebase, marked with # TODO, but I'm open to ideas.

Credits

DigiKam - media manager: https://www.digikam.org/ The object detection core is YOLOv5