101 lines
4.6 KiB
Plaintext
101 lines
4.6 KiB
Plaintext
## GENERAL
|
|
|
|
* Face matching:
|
|
- upgrade to face distance per face per file
|
|
- so we dont get 2 x same face in one file, and if it could match say Cam and Mich for 1 face, take the higher match, not the first one to be over the threshold
|
|
- allow for threshold/settings to be tweaked from the GUI?
|
|
---> at least settings for default value (back to 0.6 / 0.5?)
|
|
---> with override table to do per file / per face?
|
|
- face locations:
|
|
START FORM SCRATCH so all images have face_locn data
|
|
- algo:
|
|
for each face (even known) in image
|
|
foreach refimg
|
|
get face_distance
|
|
sort by face_distance
|
|
for each face
|
|
connect lowest score with that face (for this file)
|
|
this means this face is no longer 'free' for a match
|
|
if (sorted) face distance > 0.55 stop as no further 'matches'
|
|
- use cnn model (check ftst.py) for ref images, and potentially as a setting to check images without a face?
|
|
- or always?
|
|
-- would CUDA be useful here? (which is faster say an old 730 or the AMD cpu?)
|
|
|
|
|
|
|
|
* viewer:
|
|
can we make it preload next/prev images, and only reload the image div when we jump? to make arrow-based nav much faster
|
|
|
|
* remove dirs after the duplicate cleanup removes all its content
|
|
|
|
* could look to remove the hand fixing of json.loads of array data --> seems you can make your own datatype in the ORM, and it can do the conversion every time you use it
|
|
- https://stackoverflow.com/questions/28143557/sqlalchemy-convert-column-value-back-and-forth-between-internal-and-database-fo
|
|
|
|
* fix up logging in general
|
|
* comment your code
|
|
* more OO goodness :)
|
|
|
|
## DB
|
|
* Dir can have date in the DB, so we can do Oldest/Newest dirs in Folder view
|
|
|
|
### BACKEND
|
|
* revisit SymlinkName() and make it simpler (see comment in shared.py)
|
|
* if you change paths in settings, then re-run Initialisation checks (for symlinks to new path names)
|
|
- this actively is crashing, added a file in storage2/ (no symlink), so job mgr crashed, and DB doesnt have the content until you make the symlink (via re-running job mgr)
|
|
-- started on some basic optimisations (commit logs every 100 logs, not each log)
|
|
- with debugs: import = 04:11, getfiledetails== 0:35:35
|
|
- without debugs: import == 04:03, getfiledetails == 0:35:36 -- not a sig diff
|
|
- with exifread & debug: import == 04:26
|
|
|
|
*** Need to use thread-safe sessions per Thread, half-assed version did not work
|
|
|
|
need a manual button to restart a job in the GUI,
|
|
(based on file-level optims, just run the job as new and it will optim over already done parts and continue)
|
|
|
|
Future:
|
|
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
|
|
|
|
Admin
|
|
-> delete old jobs / auto delete jobs older than ???
|
|
-> do I want to have admin roles/users?
|
|
|
|
### UI
|
|
??? ipads can't do selections and contextMenus, do I want to re-factor to cater for this?
|
|
|
|
file details is sort of crap - only works on import path
|
|
- probably better to have a different 'view', e.g. folders/flat/detailed
|
|
|
|
job management:
|
|
joblog needs to show only say 25 log lines (last?) by default and allow see start/end, page by page, and search
|
|
clear all jobs (via GUI)
|
|
clear old jobs? (via b/end?)
|
|
clear FE messages (at least dup ones on File data deletion) -- in backend
|
|
need to copy into here the jquery/fa files so we don't need internet to function
|
|
- for that matter run lightspeed against all this
|
|
|
|
timelineview? (I think maybe sunburst for large amounts of files, then maybe something more timeline-series for drilling in?)
|
|
(vertical timeline, date has thumbnails (small) horizontally along
|
|
a page, etc.?
|
|
https://www.highcharts.com/docs/chart-and-series-types/timeline-series
|
|
https://www.highcharts.com/demo/sunburst
|
|
https://www.highcharts.com/demo/heatmap
|
|
https://www.highcharts.com/demo/packed-bubble-split
|
|
|
|
|
|
### SORTER
|
|
* exif processing?
|
|
* location stuff - test a new photo from my camera out
|
|
-- image is in dir, need to look at exifread output
|
|
|
|
### FUTURE:
|
|
* can emby use nfo for images (for AI/tags?)
|
|
-NO sadly
|
|
|