From 06846b86c5cbecacc6de894899e65302463fb887 Mon Sep 17 00:00:00 2001 From: Damien De Paoli Date: Mon, 2 Jan 2023 22:42:22 +1100 Subject: [PATCH] fixed BUG-105, unmatched faces now ignores overridden faces --- BUGs | 1 - ai.py | 7 +++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/BUGs b/BUGs index 17bc295..4fd0d7b 100644 --- a/BUGs +++ b/BUGs @@ -1,7 +1,6 @@ ### Next: 112 BUG-100: I managed to get 2 photos matching mich in the NOT_WORKING photo (probably dif refimgs but same p.tag?) = /photos/2012/20120414-damien/IMG_8467.JPG -BUG-105: show unmatched needs to handle overrides (ignore face, etc.) BUG-106: cant add trudy /pat? as refimgs via FaceDBox - seems the cropped trudy face is not sufficient to find a face, how odd... (it came from a face bbox, BUT, I have grown the face seln by 10%?) diff --git a/ai.py b/ai.py index f3eb01d..46c0070 100644 --- a/ai.py +++ b/ai.py @@ -14,7 +14,7 @@ import io import base64 from job import Job, JobExtra, Joblog, NewJob -from face import Face, FaceFileLink, FaceRefimgLink +from face import Face, FaceFileLink, FaceRefimgLink, FaceNoMatchOverride, FaceForceMatchOverride # pylint: disable=no-member @@ -82,7 +82,10 @@ def run_ai_on_storage(): @app.route("/unmatched_faces", methods=["GET"]) @login_required def unmatched_faces(): - faces=Face.query.join(FaceFileLink).join(FaceRefimgLink, isouter=True).filter(FaceRefimgLink.refimg_id==None).order_by(Face.h.desc()).limit(10).all() + # get overrides and exclude them as they have been processed already + fnmo_ids = [id[0] for id in FaceNoMatchOverride.query.with_entities(FaceNoMatchOverride.face_id).all()] + fmo_ids = [id[0] for id in FaceForceMatchOverride.query.with_entities(FaceForceMatchOverride.face_id).all()] + faces=Face.query.join(FaceFileLink).join(FaceRefimgLink, isouter=True).filter(FaceRefimgLink.refimg_id==None).filter(Face.id.not_in(fnmo_ids+fmo_ids)).order_by(Face.h.desc()).limit(10).all() imgs={} for face in faces: f = Entry.query.join(File).join(FaceFileLink).filter(FaceFileLink.face_id==face.id).first()