Bug 336253 - Create a New tag, Unconfirmed Faces [patch]
Summary: Create a New tag, Unconfirmed Faces [patch]
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Faces-Engine (show other bugs)
Version: 5.0.0
Platform: unspecified Linux
: NOR wishlist
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-06-15 07:06 UTC by Henrique Santos Fernandes
Modified: 2017-01-16 20:30 UTC (History)
17 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.5.0
Sentry Crash Report:


Attachments
Gives the option to inverse the normal filtering (4.13 KB, patch)
2015-05-14 14:00 UTC, Christoph Huckle
Details
Patch for unconfirmed Person tag (8.87 KB, patch)
2017-01-16 14:12 UTC, Mario Frank
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Henrique Santos Fernandes 2014-06-15 07:06:27 UTC
When detecting faces, there is a tag called Unknow People.

But after trying to Recognize. Sometimes there is faces that became "unconfirmed"

I would like to filter this uncofirmed faces, so i can only see the new "not confirmed" faces.

If i have 1000 Jonh's photos,  when i try to recognize faces, if now i have 1002 Jonhs photos, i simple can't know wich one is unconfirmed.  I would lke to be able to see this results.

Other litle thing to ask, the tag "Unknow people" is no writen to the file metadata, even if i tried to syncrozine the files.

Because would be nice to filter like an Event and Unconfirmed faces, so i can confirm all faces of that Event etc.

Reproducible: Didn't try

Steps to Reproduce:
Import photos.
Run Faces Recognize.

Actual Results:  
Import photos
Run Faces Recognize.
Filter for some pople tags
Look for every single people (passing the mouse in the picture) and see if that faces is confirmed or not.

Expected Results:  
Import photos.
Run Faces Recognize.
Filter for unconfirmed faces and some others tags.
Confirm new detected faces.
Done
Comment 1 caulier.gilles 2014-08-24 11:28:48 UTC
Why not to use Color Labels for this task. With 4.2.0, it's now possible to show all items with a specific label assigned.

Gilles Caulier
Comment 2 caulier.gilles 2014-08-24 17:32:57 UTC
*** Bug 263400 has been marked as a duplicate of this bug. ***
Comment 3 Henrique Santos Fernandes 2014-08-24 18:07:55 UTC
(In reply to Gilles Caulier from comment #1)
> Why not to use Color Labels for this task. With 4.2.0, it's now possible to
> show all items with a specific label assigned.
> 
> Gilles Caulier

Sorry, did not understand, how would i use this to find out with images are not confirmed yet?
Comment 4 caulier.gilles 2014-08-24 20:53:38 UTC
Example : Select all unconfirmed faces after a detection process and assign Red color label. In Labels view you can find quickly this set of images. When face are assigned to one Red labeled image, remove Red from it.

Gilles Caulier
Comment 5 Henrique Santos Fernandes 2014-08-24 23:39:10 UTC
(In reply to Gilles Caulier from comment #4)
> Example : Select all unconfirmed faces after a detection process and assign
> Red color label. In Labels view you can find quickly this set of images.
> When face are assigned to one Red labeled image, remove Red from it.
> 
> Gilles Caulier

I could also do this with a simple tag. I will do something like this.. i might just add a new tag to all my images, once i confirm a face a will have to untag it.

It does not seen pretty, but does the job.

I still think it could be shown somehow, as this information is already saved somewhere.
Comment 6 greenleaf123 2014-10-19 07:40:48 UTC
*** This bug has been confirmed by popular vote. ***
Comment 7 greenleaf123 2014-10-19 07:48:29 UTC
I second this feature request: It is very unwieldy to manually filter all images with unconfirmed faces.
When I select people and then a person I see pictures but can't select which ones need to be confirmed. Even if I had tagged them before "unconfirmed" there would be no way to know if the picture had other - potentially unconfirmed - faces on but to start preview mode.
It would be great if these steps could be avoided by having digikam keeping track of unconfirmed faces in a way easily selectable / filterable.
Comment 8 Alejandro 2015-04-22 15:46:36 UTC
I also second this feature. CUrrently, I need to move the cursor over each one of the 1500 photos of my wife to see which ones of them are "new"
Comment 9 Christoph Huckle 2015-04-27 13:44:32 UTC
I also second this request.

It is unpractical for me to introduce a manual color selection, as when I want to check the unconfirmed for my wife I only want to see these, and not all unconfirmed for every other person.

I'd even work on this myself, but so far I'm lacking the insight in the digikam source. Any developers close to Baden, Switzerland?

BR,
Chris.
Comment 10 Christoph Huckle 2015-05-14 14:00:55 UTC
Created attachment 92592 [details]
Gives the option to inverse the normal filtering

Hi all,

I created a solution for myself which works quite well so far. I changed the normal filtering in a way, so that the selected tag is filtered out, instead of filtered for.
So I open the faceview which shows all confirmed and unconfirmed pictures of my wife, then I select her name in the tag filter on the right and all the confirmed pictures are filtered out and only the unconfirmed are left.

The inversion is done via a checkbox, so the normal way of filtering is not lost.

Let me know what you think.

BR,
Chris
Comment 11 Liz 2015-05-14 14:27:49 UTC
(In reply to Christoph Huckle from comment #10)
> Created attachment 92592 [details]
> Gives the option to inverse the normal filtering

Yes, perfect!
Comment 12 Maik Qualmann 2015-05-14 17:28:40 UTC
The inversed tags filter mode is already included in digiKam. Right-click on the tag in the filter->Tag Filter Mode-> Must Not Have This Tag

Maik
Comment 13 Christoph Huckle 2015-05-15 04:35:03 UTC
Thanks Maik. Should have read the manual, I guess.

WIth the option explained by Maik, for me any other feature is not needed.

BR
Chris.
Comment 14 Maik Qualmann 2015-05-15 06:02:47 UTC
Note: The inversed selection of tags is also possible with the middle mouse button.

Maik
Comment 15 Liz 2015-05-15 14:28:27 UTC
(In reply to Christoph Huckle from comment #13)
> WIth the option explained by Maik, for me any other feature is not needed.

Same here, the existing feature addresses my needs perfectly.
Comment 16 caulier.gilles 2015-05-15 15:53:38 UTC
So, file can be closed as well ?

Gilles Caulier
Comment 17 Henrique Santos Fernandes 2015-05-15 16:14:49 UTC
This does not work if you manually tag person before.

Or i missed something?
Comment 18 Henrique Santos Fernandes 2015-05-15 16:21:06 UTC
And the this only works if you want to confirm a specif person..

If you just want to confirm or not all pictures that are unconfirmed that is not possible...
Comment 19 Liz 2015-05-15 16:45:11 UTC
After trying this out for a while, I agree with the last comment. I have a large number of people tagged, and having to check them one at a time for new unconfirmed matches is very tedious. It would be much better if all unconfirmed faces could be shown in a single list, grouped by person.
Comment 20 andregronwald78 2015-08-08 19:18:03 UTC
Yes, I would appreciate such a feature as well. I knew it from Picasa a long time ago, that was great...
Comment 21 greenleaf123 2015-09-20 21:54:32 UTC
Just a note in regard to the workflow of comment 13: For me it (quite immediately) ended with digikam 3.5 in bug 338176 (see also bug 323888 as you may have to relearn faces to resolve bug 338176).

I wholeheartedly agree to comment 19.
Comment 22 Evert Vorster 2016-07-09 08:28:11 UTC
Just using the newest DigiKam 5.0.0 now, and this is still an issue. 
I have many faces detected in my thousands of photos. 

The method of finding photos without a tag does not work, as the photo gets a tag when there is another already tagged face in it. 

Really, we need a tag called unconfirmed face, and grouped by who the software thinks it is.
Comment 23 jflemer 2016-10-03 03:45:03 UTC
I'm willing to work on this issue given minimal direction from core developers.
Comment 24 Mario Frank 2017-01-16 14:12:00 UTC
Created attachment 103438 [details]
Patch for unconfirmed Person tag

I second the feature request, too.

But I think using filters is not so nice. The user would have to mark the faces before recognition. And he would have to mark all images he imports.
Meaning: When we have a Unknown tag, why don't we also have an Unconfirmed tag where all unconfirmed images are shown? The user could see transparently
which faces need to be confirmed and does not need to add markings which he has to remove at the end again.

I took some time at the weekend to find some way to accomplish that.
In fact it was not even this complex.

I introduced the new special tag Unconfirmed which is automatically created if not present. In detection phase, faces are marked as unknown as usual.
In recognition phase, the faces are marked with the recognised face tag, as usual. But additionally, they are connected as autodetected person to the Unconfirmed tag. In this property, I store the id of the person as which the face was recognised and also the face region. 

With small adoptions in the image lister all recognised faces are now shown both in the face tag which was recognised (person A) and the Unconfirmed tag (with the suggested tag being person A).

Confirming the person can now be done in both tags. And the confirmed identity is set as expected. Confirming the face also removes the face from unconfirmed tag.
Rejecting the face also removes the face from both the recognised tag and also from the Unconfirmed tag. Rescanning for faces (detection) also removes the connection
to the Unconfirmed tag if unconfirmed results should be thrown away.

Can someone revise my patch?
Comment 25 Simon 2017-01-16 14:39:26 UTC
I don't have time to look at it in the moment, but one question: Would
it also be (easily) possible to show unconfirmed faces of just one
person? Maybe a switch to show unconfirmed only, confirmed only or both
instead of one "container" with all the unconfirmed results.
Comment 26 Mario Frank 2017-01-16 14:43:44 UTC
(In reply to Simon from comment #25)
> I don't have time to look at it in the moment, but one question: Would
> it also be (easily) possible to show unconfirmed faces of just one
> person? Maybe a switch to show unconfirmed only, confirmed only or both
> instead of one "container" with all the unconfirmed results.

I currently see no easy way. The only thing that *could* be quite easy
is grouping by face tag.
Comment 27 caulier.gilles 2017-01-16 15:14:26 UTC
I take a look in patch, and it's sound fine. I don't yet tested it. I will do it this evening.

Gilles
Comment 28 caulier.gilles 2017-01-16 17:44:30 UTC
Mario,

The patch work as expected here. perfect.

Wolfgang, 

As the workflow have changed for face recognition step, this must be described in handbook.

Gilles
Comment 29 Mario Frank 2017-01-16 18:26:23 UTC
Git commit 7a7c29c0b8b36bd30a190a6cb4dc5f43960034a8 by Mario Frank.
Committed on 16/01/2017 at 18:24.
Pushed by mfrank into branch 'master'.

I introduced the new special tag Unconfirmed which is automatically created if not present. In detection phase, faces are marked as unknown as usual.
In recognition phase, the faces are marked with the recognised face tag, as usual. But additionally, they are connected as autodetected person to the Unconfirmed tag. In this property, I store the id of the person as which the face was recognised and also the
face region.

With small adoptions in the image lister all recognised faces are now shown both in the face tag which was recognised (person A) and the Unconfirmed tag (with the suggested tag being person A).

Confirming the person can now be done in both tags. And the confirmed identity is set as expected. Confirming the face also removes the face from unconfirmed tag.
Rejecting the face also removes the face from both the recognised tag and also from the Unconfirmed tag. Rescanning for faces (detection) also removes the connection
to the Unconfirmed tag if unconfirmed results should be thrown away.
FIXED-IN: 5.5.0

M  +3    -1    NEWS
M  +10   -0    libs/database/coredb/coredbconstants.cpp
M  +2    -0    libs/database/coredb/coredbconstants.h
M  +21   -3    libs/database/item/imagelister.cpp
M  +25   -0    libs/database/tags/facetags.cpp
M  +3    -0    libs/database/tags/facetags.h
M  +15   -1    libs/database/tags/facetagseditor.cpp
M  +12   -0    libs/database/tags/facetagsiface.cpp
M  +5    -0    libs/database/tags/facetagsiface.h

https://commits.kde.org/digikam/7a7c29c0b8b36bd30a190a6cb4dc5f43960034a8
Comment 30 caulier.gilles 2017-01-16 18:52:39 UTC
Mario,

Turn on "Setup/Views/Tree-Views/Show a count of items..." option. Unconfirmed tag still at zero.

Gilles
Comment 31 Mario Frank 2017-01-16 20:25:02 UTC
Git commit f11e34f7c376e92d8820c81f743a7fdeaaa380a1 by Mario Frank.
Committed on 16/01/2017 at 20:20.
Pushed by mfrank into branch 'master'.

This patch introduces the functionality to filter tags for assigning.
Only face tags are given if configured so. The setup option is located in misc setup settings.

Also, the Unconfirmed face tag now shows the count of contained faces.
Related: bug 262168
FIXED-IN: 5.5.0

M  +3    -1    NEWS
M  +10   -0    app/items/overlays/assignnameoverlay.cpp
M  +3    -0    libs/database/dbjobs/dbjob.cpp
M  +2    -0    libs/settings/applicationsettings.cpp
M  +3    -0    libs/settings/applicationsettings.h
M  +10   -0    libs/settings/applicationsettings_miscs.cpp
M  +3    -0    libs/settings/applicationsettings_p.cpp
M  +3    -0    libs/settings/applicationsettings_p.h
M  +11   -0    utilities/facemanagement/assignnamewidget.cpp
M  +8    -2    utilities/setup/setupmisc.cpp

https://commits.kde.org/digikam/f11e34f7c376e92d8820c81f743a7fdeaaa380a1
Comment 32 Mario Frank 2017-01-16 20:27:56 UTC
(In reply to caulier.gilles from comment #30)
> Mario,
> 
> Turn on "Setup/Views/Tree-Views/Show a count of items..." option.
> Unconfirmed tag still at zero.
> 
> Gilles

Hey Gilles,
fixed that one, too.

Will see what I can fix in the next days. For today I'm done ... headache.
Comment 33 Henrique Santos Fernandes 2017-01-16 20:30:35 UTC
Thank you guys.

I'vent really used face detection because of this.

Actually i need to update my digikam installation.