56 lines
1.9 KiB
Plaintext
56 lines
1.9 KiB
Plaintext
### DB
|
|
|
|
### BACKEND
|
|
*** Need to use thread-safe sessions per Thread, half-assed version did not work
|
|
|
|
* create A WalkTree( dir, func ) that calls func(file) per file ... for use
|
|
* in AI, but also maybe gen hash, etc.
|
|
|
|
* need a "batch" processing system that uses ionice to minimise load on mara and is threaded and used DB to interact with gunicorn'd pa
|
|
|
|
* pa_job_manager, needs ai code
|
|
* needs broad jobs to:
|
|
DONE: find files in {import_dir & storage_dir}
|
|
DONE: calc thumbs/hashes { " }
|
|
run AI against { " }
|
|
move files from import_dir to appropriate sub_dir in storage_dir (list will come from pa web)
|
|
|
|
NEW_FILE -> add, has_unidentified_face
|
|
?has_face?,
|
|
|
|
AI_SCAN:
|
|
id
|
|
date of scan
|
|
version of code?
|
|
settings used
|
|
AI_SCAN_FILE_LINK
|
|
id to link to AI_scan
|
|
refimg used/found
|
|
|
|
When AI kicks in, it processes per person per DIR, only compares to an image if it has_unidentified_face
|
|
|
|
Admin
|
|
-> reset face_flag
|
|
|
|
AI
|
|
-> rescan <dir> for <person> --> can do this on new image only
|
|
(optimised to only scan has_unidentified_face)... BUT if you change
|
|
thresholds on AI, or we get a new/better one some day, then it can
|
|
all images with faces, or if we 'reset face_flag' rescan all images
|
|
|
|
|
|
TODO: Handle file deletions from file system (remove dangling DIR/FILE combos) -- also when moving to storage_dir, need to reset DIR, but keep FILE data
|
|
|
|
### UI
|
|
|
|
### AI
|
|
* store reference images (UI allows this now)
|
|
* check images
|
|
* allow for threshold/settings to be tweaked from the GUI
|
|
- it would be good to then say, just run the scanner against this image or maybe this DIR, to see how it IDs ppl
|
|
|
|
### SORTER
|
|
* date stuff
|
|
* exif processing?
|
|
* location stuff - test a new photo from my camera out
|