Image Processing Application

From Sea of Fate
Jump to navigationJump to search

Introduction

Now that there are a few webservers on the Homelab Proxmox host it is time to look at starting to make use of it. The first project will be to organise and manage my collection of Photographs that have been accumulating over the last 25 years. It is assumed that there are many other applications that will attempt to accomplish the same or similar management to some degree.

Things that I will need to learn

  • Some sort of knowledge of C/C++ I already have some limited knowledge of C and I can use AI to generate some of the code. This will be the simple jobs that need to be done as ordered by the AI, like move this file from here to there.
  • To implement any sort of NLU integration will need to learn a bit of Python and at present I know very little of the language.
  • To implement the AI I will have to learn Prolog or if I can't get on with Prolog some other language that can orchestrate a load of other.
  • A limited amount of knowledge of database programming will be required but probably not that much. AI can write the code to do the CRUD but I will still need to understand the general concepts.

Project Outline

The goal of the project will be to be able to manage a growing photo collection. Some of the design objectives are :-

  • It should be able to import photos as simply as possible via a Samba share, a http upload, SCP and SFTP and may also use something like Nextcloud
  • It should be automated where possible using whatever tools seem to be most appropriate.
  • Once the images have been uploaded to the master data store, there should be some method of uploading them to google image processing so that they can have extra tags generated based on the photo.
  • It should be able to backup and archive the photo collection automatically.
  • It should be enable the user to access all images from a simple interface.
  • Integration with a Natural Language Processor will be a longer term goal
  • Speech recognition will also be a long term goal.

I want to be able to see an image on my photo website or somewhere else and I want to be able to get to the best copy of that image or I want to get pictures of an event and get the rest of the pictures of that same event As it is seen from the early stages we need to have a database that holds the information about the images MySQL/Maria is a good choice. We will also need robust methods of identifying each image, the most reliable is going to be adding an id to the metadata we will use XMP as it is already extensible and can be in a specific namespace.

Backup & Archive

Backups will be for everything if possible and there should be a spare hd on the Pear and not part of the ZFS set or it could be just an external HD but offsite will be a bit more limited most likely to google as it is included in the price of the AI engine. The archive will be just the base images and video and most likely be on Azure cold storage as that looks to be the cheapest.

Interface/s

There should be a Web interface as the initial method of control with some sort of AI interface to follow.

Database

We will be using MSQL/Maria as the database to hold all of the information concerning the images. The tables will need to be able to be flexible enough to allow future expansion from a few base tables

Initial Import

The initial import will be from a pair of Samba shares imaginatively called import and export. we will enable other sources of import as time passes. what I see happening is that the images will be copied to import and the system will import them from there. from that point on they will become the responsibility of the system.