Git Product home page Git Product logo

mediamgr's People

Contributors

geomat0101 avatar

Watchers

 avatar

mediamgr's Issues

face collisions

If two jpgs are the same image but differ in metadata or something else not impactful then we get the same face_identifier hash computed for a face in each image, causing a collision.

Need to move away from relational FK media_id on the Faces document and replace it with an edge relationship so we can graph the same face contained by multiple media docs

image ingestion

assuming not a duplicate or banished content:

  • get exif metadata from within the image
  • technical properties about the file (hash, location, etc)
  • figure out how to safely resize so facial recognition gets best quality without blowing out the memory on the GPU
  • get faces

ArangoDB bootstrap

Discussed in #10

Originally posted by geomat0101 May 13, 2023
Some options:

  • Traditional RDBMS (e.g. mysql/postgres)
  • sqlite (flat files, no daemon, flexible, but no concurrency)
  • NoSQL - key-value store / document store (e.g. MongoDB, OrientDB)
  • NoSQL - graph db (e.g. neo4j)

I think ArangoDB (wikipedia) looks very close to ringing most of the bells for what we're going to need to manage. From a high level, it's a nosql key-value document store with graph relationships built in and has its own relational query language (AQL). Python is well supported.

Take a look and see if you are into exploring this more or want to go with something we know better.

schema versioning

need something that mediamgr.models.connect can check to see if the schema needs to be updated.

  • set version in mediamgr.schema at either module or preferably collection and graph levels
  • when connect() creates the schema, it stashes the version somewhere in a special arangodb state collection
  • future connects compare schema versions and if different the schema is re-applied via collection.configure and indexes get checked

image rotation and face recognition accuracy

There was a noticeable difference in face recognition accuracy in some images that I ran down to the fact they were stored natively in landscape mode with an exif 'orientation' value that hints which way is up to image viewers. The recognizer was absolutely terrible on these rotated images until I re-saved them in portrait orientation using gimp, then they worked great.

dlib can probably do the rotation in memory prior to passing it off to the face detector we just need to check the exif data and see if it's something that needs doing

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.