People: Manually tag faces in pictures #1108

Open
opened 2026-02-20 00:06:15 -05:00 by deekerman · 33 comments
Owner

Originally created by @graciousgrey on GitHub (Sep 24, 2021).

Originally assigned to: @omerdduran on GitHub.

As a user, I would like to manually tag faces in my pictures in case they were not automatically detected.

Related Issues / PRs:

Acceptance Criteria:

  • There MUST be an option to display all markers (automatically created and manual) in fullscreen mode
  • The user MUST be able to mark a face (ideally using a square) in fullscreen mode
  • The user SHOULD be able to assign a person to face markers in fullscreen mode
  • The face marker MUST be saved in the database
  • Manually marked faces MUST appear on the people tab within the edit dialogue
  • The UI MUST be fully responsive
  • Unit tests for the core functionality MUST exist
  • Acceptance for the core functionality MUST exist
  • Documentation MUST be updated
Originally created by @graciousgrey on GitHub (Sep 24, 2021). Originally assigned to: @omerdduran on GitHub. **As a user, I would like to manually tag faces in my pictures in case they were not automatically detected.** Related Issues / PRs: - https://github.com/photoprism/photoprism/pull/5081 Acceptance Criteria: - [ ] There MUST be an option to display all markers (automatically created and manual) in fullscreen mode - [ ] The user MUST be able to mark a face (ideally using a square) in fullscreen mode - [ ] The user SHOULD be able to assign a person to face markers in fullscreen mode - [ ] The face marker MUST be saved in the database - [ ] Manually marked faces MUST appear on the people tab within the edit dialogue - [ ] The UI MUST be fully responsive - [ ] Unit tests for the core functionality MUST exist - [ ] Acceptance for the core functionality MUST exist - [ ] Documentation MUST be updated
Author
Owner

@lastzero commented on GitHub (Dec 28, 2021):

Please don't add funds to IssueHunt anymore! 🎁

While we like IssueHunt and are grateful for the donations we've received so far, it hasn't proven to be a sustainable funding option for us as we spend much of our time maintaining existing features and providing support.

If we don't have enough resources to provide support and bugfixes, we can't start working on new features.

@lastzero commented on GitHub (Dec 28, 2021): Please don't add funds to IssueHunt anymore! 🎁 While we like IssueHunt and are grateful for the donations we've received so far, it hasn't proven to be a sustainable funding option for us as we spend much of our time maintaining existing features and providing support. If we don't have enough resources to provide support and bugfixes, we can't start working on new features.
Author
Owner

@Anderen2 commented on GitHub (Mar 7, 2022):

I'd like to add a golden label to this one, if possible! (Tell me if this is not the way to request it) :)

@Anderen2 commented on GitHub (Mar 7, 2022): I'd like to add a golden label to this one, if possible! (Tell me if this is not the way to request it) :)
Author
Owner

@Szeraax commented on GitHub (Apr 30, 2022):

I'd happily accept just being able to tag people without any marker if that is much easier to implement. Would still expect that I can just search in the people area and see all images of that user regardless of whether there is marker or not.

@Szeraax commented on GitHub (Apr 30, 2022): I'd happily accept just being able to tag people without any marker if that is much easier to implement. Would still expect that I can just search in the people area and see all images of that user regardless of whether there is marker or not.
Author
Owner

@antoniomacri commented on GitHub (Nov 25, 2022):

I'm also very interested in this issue, or the simpler version which just adds people without markers.

Have you evaluated or found problems on kvalev proposal?

How could anyone help?

@antoniomacri commented on GitHub (Nov 25, 2022): I'm also very interested in this issue, or the simpler version which just adds people without markers. Have you evaluated or found problems on [kvalev proposal](https://github.com/kvalev/photoprism/pull/51)? How could anyone help?
Author
Owner

@graciousgrey commented on GitHub (Nov 26, 2022):

As mentioned in the ticket description, a prerequisite for this is a new photoviewer #1307 .

For adding people without a marker there is a separate issue: https://github.com/photoprism/photoprism/issues/1863

Users can help by becoming a member or by helping with issues marked "Help wanted" :)

@graciousgrey commented on GitHub (Nov 26, 2022): As mentioned in the ticket description, a prerequisite for this is a new photoviewer #1307 . For adding people without a marker there is a separate issue: https://github.com/photoprism/photoprism/issues/1863 Users can help by becoming a [member](https://photoprism.app/membership) or by helping with issues marked "Help wanted" :)
Author
Owner

@pluton-house commented on GitHub (Jan 9, 2023):

There are a number of disappointed Synology DiskStation users of PhotoStation, which has been deprecated in the new version of Synology's Operating System (DSM) version 7. The replacement, Synology Photos, ignores XMP data, so naturally those users who have spent years carefully manually creating People tags are furious and have been looking for an alternative. (see https://community.synology.com/enu/forum/1/post/145770 and https://community.synology.com/enu/forum/20/post/139889 for example). PhotoPrism has been cited as a possible replacement, but in its current form it too does not support the XMP tags.
The requirements to satisfy these people (including me!) are:

  • Read existing XMP data from photos for the rectangle and name of person, index in database
  • Enable user to add, delete or modify person tags (with their rectangle)
  • Globally rename a person
  • Update the original JPG with the changes
    Otherwise, PhotoPrism seems to be generally superior to PhotoStation, so would be a welcome replacement.
    Example JPG with XML tags here: IMG_20220918_125128
@pluton-house commented on GitHub (Jan 9, 2023): There are a number of disappointed Synology DiskStation users of PhotoStation, which has been deprecated in the new version of Synology's Operating System (DSM) version 7. The replacement, Synology Photos, ignores XMP data, so naturally those users who have spent years carefully manually creating People tags are furious and have been looking for an alternative. (see https://community.synology.com/enu/forum/1/post/145770 and https://community.synology.com/enu/forum/20/post/139889 for example). PhotoPrism has been cited as a possible replacement, but in its current form it too does not support the XMP tags. The requirements to satisfy these people (including me!) are: - Read existing XMP data from photos for the rectangle and name of person, index in database - Enable user to add, delete or modify person tags (with their rectangle) - Globally rename a person - Update the original JPG with the changes Otherwise, PhotoPrism seems to be generally superior to PhotoStation, so would be a welcome replacement. Example JPG with XML tags here: ![IMG_20220918_125128](https://user-images.githubusercontent.com/11576668/211288650-3b306ddf-99f5-4cbf-9873-79de9c2bbdb0.JPG)
Author
Owner

@graciousgrey commented on GitHub (Jan 9, 2023):

@pluton-house as far as I can see we do have open feature requests for all the points you mention. Feel free to leave a 👍 in them

Read existing XMP data from photos for the rectangle and name of person, index in database

#554

Enable user to add, delete or modify person tags (with their rectangle)

Manually adding faces it the topic of this issue. Removing faces as well as changing assignments is possible already.

Globally rename a person

This is also possible

Update the original JPG with the changes

#402

@graciousgrey commented on GitHub (Jan 9, 2023): @pluton-house as far as I can see we do have open feature requests for all the points you mention. Feel free to leave a :+1: in them >Read existing XMP data from photos for the rectangle and name of person, index in database #554 >Enable user to add, delete or modify person tags (with their rectangle) Manually adding faces it the topic of this issue. [Removing faces](https://docs.photoprism.app/user-guide/organize/people/#remove-faces) as well as [changing assignments](https://docs.photoprism.app/user-guide/organize/people/#change-people-assignments) is possible already. >Globally rename a person This is also [possible](https://docs.photoprism.app/user-guide/organize/people/#rename-people) >Update the original JPG with the changes #402
Author
Owner

@cerealcable commented on GitHub (Jul 27, 2023):

I'm going to work on manually adding face markers to the UI following @lastzero's commit for #1548, though out of scope for the work I'm going to do here is making them available for future recognition. This would be just being able to mark faces that aren't currently recognized automatically.

@cerealcable commented on GitHub (Jul 27, 2023): I'm going to work on manually adding face markers to the UI following @lastzero's commit for #1548, though out of scope for the work I'm going to do here is making them available for future recognition. This would be just being able to mark faces that aren't currently recognized automatically.
Author
Owner

@lastzero commented on GitHub (Jul 27, 2023):

@cerealcable When using the new POST /api/v1/markers endpoint, it should be enough to submit the FileUID and X, Y, W, H as relative coordinates, so floating point numbers between 0 and 1, e.g. W = 0.1 if the width of the face is 10% of the image width. Unfortunately, I'm not 100% sure anymore if the height is relative to the image width or relative to the height, for some reason. I probably chose an implementation that is compatible with the detection library we use. You can find out by checking the values of automatically detected faces - or otherwise ask for help! :)

@lastzero commented on GitHub (Jul 27, 2023): @cerealcable When using the new `POST /api/v1/markers` endpoint, it should be enough to submit the `FileUID` and `X`, `Y`, `W`, `H` as relative coordinates, so floating point numbers between 0 and 1, e.g. W = 0.1 if the width of the face is 10% of the image width. Unfortunately, I'm not 100% sure anymore if the height is relative to the image width or relative to the height, for some reason. I probably chose an implementation that is compatible with the detection library we use. You can find out by checking the values of automatically detected faces - or otherwise ask for help! :)
Author
Owner

@Blendan1 commented on GitHub (Nov 2, 2023):

I used the new api to create a chrome plugin that allows you to manually mark faces

https://github.com/Blendan1/PhotoPrismFaceMarker

There's still some documentation missing and the UI and UX needs some polish, but I will implement those things in the coming days.

Feedback, questions or requests are welcome.

@Blendan1 commented on GitHub (Nov 2, 2023): I used the new api to create a chrome plugin that allows you to manually mark faces https://github.com/Blendan1/PhotoPrismFaceMarker There's still some documentation missing and the UI and UX needs some polish, but I will implement those things in the coming days. Feedback, questions or requests are welcome.
Author
Owner

@Blendan1 commented on GitHub (Nov 3, 2023):

@lastzero I got a question for the API, as I'm using it in my extension:

Will the manually marked faces also be used to improve face recognition in some way?

@Blendan1 commented on GitHub (Nov 3, 2023): @lastzero I got a question for the API, as I'm using it in my extension: Will the manually marked faces also be used to improve face recognition in some way?
Author
Owner

@thfrei commented on GitHub (Nov 3, 2023):

@Blendan1
Very nice. It works fine for me and is very nicely integrated into the main UI. Thank you for your work.

For further reference:

  • Two things that weren't immediatly clear to me, but how you use this extension:
    • After marking a face, Right-Click would hide the main image.
    • Marking is done with two clicks. First click start square, second click stop square.

From a UX perspective, I think it would be very nice to make the picture available in the "faces" section always. Like this one can just go to the next image and manually check if there are faces that were not recognized.

@thfrei commented on GitHub (Nov 3, 2023): @Blendan1 Very nice. It works fine for me and is very nicely integrated into the main UI. Thank you for your work. For further reference: - Two things that weren't immediatly clear to me, but how you use this extension: - After marking a face, Right-Click would hide the main image. - Marking is done with two clicks. First click start square, second click stop square. From a UX perspective, I think it would be very nice to make the picture available in the "faces" section always. Like this one can just go to the next image and manually check if there are faces that were not recognized.
Author
Owner

@Blendan1 commented on GitHub (Nov 3, 2023):

@thfrei

Thank you for the feedback, the UI changes with showing the full picture in faces is definitely on my list and I will get to that as soon as I have time.

Also many thanks for explaining how to use it, sorry that I forgot to add that, I will update the readme with those instructions ASAP.

Btw. When you draw and you right click you cancel the draw without closing the image.

I hope to be able to implement all UX and UI changes that I have planned (better popup, full image in faces, better instructions, adding names in popup?) Will be done by the end of the week

@Blendan1 commented on GitHub (Nov 3, 2023): @thfrei Thank you for the feedback, the UI changes with showing the full picture in faces is definitely on my list and I will get to that as soon as I have time. Also many thanks for explaining how to use it, sorry that I forgot to add that, I will update the readme with those instructions ASAP. Btw. When you draw and you right click you cancel the draw without closing the image. I hope to be able to implement all UX and UI changes that I have planned (better popup, full image in faces, better instructions, adding names in popup?) Will be done by the end of the week
Author
Owner

@Blendan1 commented on GitHub (Nov 3, 2023):

@cerealcable When using the new POST /api/v1/markers endpoint, it should be enough to submit the FileUID and X, Y, W, H as relative coordinates, so floating point numbers between 0 and 1, e.g. W = 0.1 if the width of the face is 10% of the image width. Unfortunately, I'm not 100% sure anymore if the height is relative to the image width or relative to the height, for some reason. I probably chose an implementation that is compatible with the detection library we use. You can find out by checking the values of automatically detected faces - or otherwise ask for help! :)

I just wanted to add that the X and w are relative to the image width and the y and h to the image height, for anyone planning on working on something with this api

@Blendan1 commented on GitHub (Nov 3, 2023): > @cerealcable When using the new `POST /api/v1/markers` endpoint, it should be enough to submit the `FileUID` and `X`, `Y`, `W`, `H` as relative coordinates, so floating point numbers between 0 and 1, e.g. W = 0.1 if the width of the face is 10% of the image width. Unfortunately, I'm not 100% sure anymore if the height is relative to the image width or relative to the height, for some reason. I probably chose an implementation that is compatible with the detection library we use. You can find out by checking the values of automatically detected faces - or otherwise ask for help! :) I just wanted to add that the X and w are relative to the image width and the y and h to the image height, for anyone planning on working on something with this api
Author
Owner

@lastzero commented on GitHub (Nov 3, 2023):

@Blendan1 Since manually marked faces are unlikely to meet the requirements of the machine learning model we use, they are currently not automatically matched or clustered. If it later turns out that this is not the case and many/most can actually be used with the model, then we can reconsider this.

@lastzero commented on GitHub (Nov 3, 2023): @Blendan1 Since manually marked faces are unlikely to meet the requirements of the machine learning model we use, they are currently not automatically matched or clustered. If it later turns out that this is not the case and many/most can actually be used with the model, then we can reconsider this.
Author
Owner

@Blendan1 commented on GitHub (Nov 6, 2023):

Hello everyone,

Today I want to share the state of my project (PhotoPrismFaceMarker) with you:

Update

  • Better UI
    • Image is now centered in popover
    • Popover now has a background
    • Markers with names are now shown in green
  • Added a preview of the image to the faces tab
    • can be toggled with the button next to the plus
    • will show placed markers
  • Fixed the bug where slow loading would sometimes break the extension

Current Roadmap (sorted by priority):

  1. Updating README.MD with better documentation
  2. Adding Mobile/Touch device support
    • Proper controls on touch devices
    • Zoom function to show more details in lager images
  3. Adding option to name markers in popover
  4. Adding option to remove markers in popover

New Installation Method

As stated in the roadmap mobile support is planned, but there's (at least to my knowledge) now was to install extensions in chrome mobile and having to install an extension on every browser where you want to use the feature (and update that manually) is a bit much for me.

So here is the solution i came up with:

Currently I only have docs for Nginx as that's what I'm using so fell free to contact me for adding other options.

I created the project SimpleJsServer that allows to host all JS in a dir as a single file in a simple way, that way it can be injected into the page by Nginx on load so that no extension installation is needed and every device gets the save addon version.

The Readme.md from SimpleJsServer shows the details for the setup, afterwards just copy the contentScript.js from PhotoPrismFaceMarker into the folder and your all setup.

Remember to uninstall the extension in chrome to avoid conflicts

I'm planing on also updating PhotoPrismBulkEditor to have the same contentScript.js so that you can install it the same way and it can also be used on mobile.

Another thing I'm also planing on releasing a npm package with an api allowing easy modification of the PhotoPrism Frontend, so that this can become an unofficial way to make addons

As always Feedback, Questions and Requests are welcome,

Have a great day everyone

@Blendan1 commented on GitHub (Nov 6, 2023): Hello everyone, Today I want to share the state of my project ([PhotoPrismFaceMarker](https://github.com/Blendan1/PhotoPrismFaceMarker)) with you: ### Update - Better UI - Image is now centered in popover - Popover now has a background - Markers with names are now shown in green - Added a preview of the image to the faces tab - can be toggled with the button next to the plus - will show placed markers - Fixed the bug where slow loading would sometimes break the extension ### Current Roadmap (sorted by priority): 0. Updating README.MD with better documentation 1. Adding Mobile/Touch device support - Proper controls on touch devices - Zoom function to show more details in lager images 2. Adding option to name markers in popover 3. Adding option to remove markers in popover ### New Installation Method As stated in the roadmap mobile support is planned, but there's (at least to my knowledge) now was to install extensions in chrome mobile and having to install an extension on every browser where you want to use the feature (and update that manually) is a bit much for me. So here is the solution i came up with: #### Currently I only have docs for Nginx as that's what I'm using so fell free to contact me for adding other options. I created the project [SimpleJsServer](https://github.com/Blendan1/SimpleJsServer) that allows to host all JS in a dir as a single file in a simple way, that way it can be injected into the page by Nginx on load so that no extension installation is needed and every device gets the save addon version. The Readme.md from [SimpleJsServer](https://github.com/Blendan1/SimpleJsServer) shows the details for the setup, afterwards just copy the `contentScript.js` from [PhotoPrismFaceMarker](https://github.com/Blendan1/PhotoPrismFaceMarker) into the folder and your all setup. Remember to uninstall the extension in chrome to avoid conflicts I'm planing on also updating [PhotoPrismBulkEditor](https://github.com/Blendan1/PhotoPrismBulkEditor) to have the same `contentScript.js` so that you can install it the same way and it can also be used on mobile. Another thing I'm also planing on releasing a npm package with an api allowing easy modification of the PhotoPrism Frontend, so that this can become an unofficial way to make addons As always Feedback, Questions and Requests are welcome, Have a great day everyone
Author
Owner

@Blendan1 commented on GitHub (Nov 6, 2023):

@thfrei This update contains the cage you requested, I hope I implement it in the right way.

@Blendan1 commented on GitHub (Nov 6, 2023): @thfrei This update contains the cage you requested, I hope I implement it in the right way.
Author
Owner

@maxime1992 commented on GitHub (Nov 6, 2023):

@lastzero about your comment, I've got a few questions.

I really want to tag more people in my picture that haven't been found automatically. I'm wondering though:

    1. Do you reckon it's a good idea to do so? I'm guessing that if the API was built to do that, it probably is. But I want to make sure that if I invest the time in doing so (and it's going to take a long time to manually review/assign everyone I can think of), it won't be an issue later on (not sure why it'd be tbh but I can imagine issues with the models etc if those are ever used later on)
    1. Would you say it's fine to tag people who are not appearing from the front at all on the picture. As in, if I only see their back for example but I know for sure it's this person, is it fine to mark it as such? My worry being that if the model later on tries to use those pictures it'd totally screw up the model because it wouldn't be people's faces but on the other hand, that'd be extremely helpful to tag people even from the back so that I can really find all the pics one person is in. Would you say it's a bad idea to do so or it's totally fine and you're fine with that usage?

Thanks a lot

@maxime1992 commented on GitHub (Nov 6, 2023): @lastzero about your [comment](https://github.com/photoprism/photoprism/issues/1548#issuecomment-1792155913), I've got a few questions. I really want to tag more people in my picture that haven't been found automatically. I'm wondering though: - 1) Do you reckon it's a good idea to do so? I'm guessing that if the API was built to do that, it probably is. But I want to make sure that if I invest the time in doing so (and it's going to take a long time to manually review/assign everyone I can think of), it won't be an issue later on (not sure why it'd be tbh but I can imagine issues with the models etc if those are ever used later on) - 2) Would you say it's fine to tag people who are not appearing from the front at all on the picture. As in, if I only see their back for example but I know for sure it's this person, is it fine to mark it as such? My worry being that if the model later on tries to use those pictures it'd totally screw up the model because it wouldn't be people's faces but on the other hand, that'd be extremely helpful to tag people even from the back so that I can really find all the pics one person is in. Would you say it's a bad idea to do so or it's totally fine and you're fine with that usage? Thanks a lot
Author
Owner

@thfrei commented on GitHub (Nov 28, 2023):

I created the project SimpleJsServer that allows to host all JS in a dir as a single file in a simple way, that way it can be injected into the page by Nginx on load so that no extension installation is needed and every device gets the save addon version.

@Blendan1 I have to admit, I love this approach. It's ingenious. However it also makes me feel uneasy to deliver an application that has automatically injected JS, even if I do it myself. I guess, I'll need to wait for photoprism to properly support Face-Tagging. I hope they get inspired by your solution!

@thfrei commented on GitHub (Nov 28, 2023): > I created the project [SimpleJsServer](https://github.com/Blendan1/SimpleJsServer) that allows to host all JS in a dir as a single file in a simple way, that way it can be injected into the page by Nginx on load so that no extension installation is needed and every device gets the save addon version. @Blendan1 I have to admit, I love this approach. It's ingenious. However it also makes me feel uneasy to deliver an application that has automatically injected JS, even if I do it myself. I guess, I'll need to wait for photoprism to properly support Face-Tagging. I hope they get inspired by your solution!
Author
Owner

@Blendan1 commented on GitHub (Nov 28, 2023):

@Blendan1 I have to admit, I love this approach. It's ingenious. However it also makes me feel uneasy to deliver an application that has automatically injected JS, even if I do it myself. I guess, I'll need to wait for photoprism to properly support Face-Tagging. I hope they get inspired by your solution!

@thfrei I get that, my thoughts on that are just that the plugin does exactly the same thing, but it will only work on chrome desktop. So as long as I'm in control what's the worst that could happen?

Answer: the same worst case as with a plugin

That's why I think this approach is the next best thing to manipulating the source files itself

@Blendan1 commented on GitHub (Nov 28, 2023): > @Blendan1 I have to admit, I love this approach. It's ingenious. However it also makes me feel uneasy to deliver an application that has automatically injected JS, even if I do it myself. I guess, I'll need to wait for photoprism to properly support Face-Tagging. I hope they get inspired by your solution! @thfrei I get that, my thoughts on that are just that the plugin does exactly the same thing, but it will only work on chrome desktop. So as long as I'm in control what's the worst that could happen? Answer: the same worst case as with a plugin That's why I think this approach is the next best thing to manipulating the source files itself
Author
Owner

@strugee commented on GitHub (Nov 28, 2023):

the next best thing to manipulating the source files itself

Why not just do that then and upstream your code? 😉 sounds like you've already got a lot of the functionality working!

@strugee commented on GitHub (Nov 28, 2023): > the next best thing to manipulating the source files itself Why not just do that then and upstream your code? 😉 sounds like you've already got a lot of the functionality working! <!-- Edit to test a GitHub bug -->
Author
Owner

@JezausTevas commented on GitHub (May 26, 2024):

It has been over two years since this feature was requested, accepted, tagged with a "priority" badge and even a third-party solutions were deployed to address it. Is it ever going to be implemented into the project?
I know there are other features to implement, but the backend API is already there, we just need the UI button to submit it.

@JezausTevas commented on GitHub (May 26, 2024): It has been over two years since this feature was requested, accepted, tagged with a "priority" badge and even a third-party solutions were deployed to address it. Is it ever going to be implemented into the project? I know there are other features to implement, but the backend API is already there, we just need the UI button to submit it.
Author
Owner

@KevinGelking commented on GitHub (Jun 11, 2024):

I'd like to chime in and say that I, too, would love this feature added.
As a compromise for now, I'd be OK with having a field in the picture settings that has a LIST of all detected people in the picture, even if there's no 'face-square' associated with it. These would be excluded from the algorithm but show up when searching for the person.

Here's my case:
When I visited my gf in her country we took I took quite a lot of pictures including her or us. On most pictures the face is detected... on some it isnt. Now, if I search for either her or me, I get most pictures, but not all. To find all I either have to custom-make an album (defeating the person detection) or search for it in the whole collection.

Another case:
Sometimes the face detection does... weird things. Like detecting something in the background as a face while completely ignoring the faces. You COULD add this 'face' as the person, but that will mess up the algorithm.
E.g. here's a picture that, in my opinion, clearly shows two faces. The face detection detected one, and the 'face' is the rim of the girl's glasses.
image
image

@KevinGelking commented on GitHub (Jun 11, 2024): I'd like to chime in and say that I, too, would love this feature added. **As a compromise** for now, I'd be OK with having a field in the picture settings that has a LIST of all detected people in the picture, even if there's no 'face-square' associated with it. These would be excluded from the algorithm but show up when searching for the person. Here's my case: When I visited my gf in her country we took I took quite a lot of pictures including her or us. On most pictures the face is detected... on some it isnt. Now, if I search for either her or me, I get most pictures, but not all. To find all I either have to custom-make an album (defeating the person detection) or search for it in the whole collection. Another case: Sometimes the face detection does... weird things. Like detecting something in the background as a face while completely ignoring the faces. You COULD add this 'face' as the person, but that will mess up the algorithm. E.g. here's a picture that, in my opinion, clearly shows two faces. The face detection detected one, and the 'face' is the rim of the girl's glasses. ![image](https://github.com/photoprism/photoprism/assets/30538130/be7f4a91-2dfc-4ca0-88dc-48e483ff2726) ![image](https://github.com/photoprism/photoprism/assets/30538130/d9afb851-595f-4fbc-826f-a683120260d3)
Author
Owner

@GlassedSilver commented on GitHub (Jul 8, 2024):

I'd like to chime in and say that I, too, would love this feature added. As a compromise for now, I'd be OK with having a field in the picture settings that has a LIST of all detected people in the picture, even if there's no 'face-square' associated with it. These would be excluded from the algorithm but show up when searching for the person.

Here's my case: When I visited my gf in her country we took I took quite a lot of pictures including her or us. On most pictures the face is detected... on some it isnt. Now, if I search for either her or me, I get most pictures, but not all. To find all I either have to custom-make an album (defeating the person detection) or search for it in the whole collection.

Another case: Sometimes the face detection does... weird things. Like detecting something in the background as a face while completely ignoring the faces. You COULD add this 'face' as the person, but that will mess up the algorithm. E.g. here's a picture that, in my opinion, clearly shows two faces. The face detection detected one, and the 'face' is the rim of the girl's glasses. image image

I wonder how much of that may be attributed to "wrongly trained" face models for when you tag people with their faces partially hidden, obstructed, etc...

Which reminds me it'd be so sweet to tag people instead of just faces.
This would be SO very, very important for cosplay photography where the face is WILDLY different every time, but you still want to be able to quickly bring up a person's associated pics.

@GlassedSilver commented on GitHub (Jul 8, 2024): > I'd like to chime in and say that I, too, would love this feature added. **As a compromise** for now, I'd be OK with having a field in the picture settings that has a LIST of all detected people in the picture, even if there's no 'face-square' associated with it. These would be excluded from the algorithm but show up when searching for the person. > > Here's my case: When I visited my gf in her country we took I took quite a lot of pictures including her or us. On most pictures the face is detected... on some it isnt. Now, if I search for either her or me, I get most pictures, but not all. To find all I either have to custom-make an album (defeating the person detection) or search for it in the whole collection. > > Another case: Sometimes the face detection does... weird things. Like detecting something in the background as a face while completely ignoring the faces. You COULD add this 'face' as the person, but that will mess up the algorithm. E.g. here's a picture that, in my opinion, clearly shows two faces. The face detection detected one, and the 'face' is the rim of the girl's glasses. ![image](https://private-user-images.githubusercontent.com/30538130/338711711-be7f4a91-2dfc-4ca0-88dc-48e483ff2726.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA0MTM0NzUsIm5iZiI6MTcyMDQxMzE3NSwicGF0aCI6Ii8zMDUzODEzMC8zMzg3MTE3MTEtYmU3ZjRhOTEtMmRmYy00Y2EwLTg4ZGMtNDhlNDgzZmYyNzI2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzA4VDA0MzI1NVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTUwZDQ0MTFhNDQwZDllMmVmM2I3Mzg5Mjk5OTk2ZWY0MDZlZmNhYWIwYjVhZjJkOGU5MmM0ODNhODI2ZWI2NWYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.vAEwACErwfpdla8Nr27o7X_ZZ9HDGlY20g5HUc_6h4w) ![image](https://private-user-images.githubusercontent.com/30538130/338711719-d9afb851-595f-4fbc-826f-a683120260d3.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA0MTM0NzUsIm5iZiI6MTcyMDQxMzE3NSwicGF0aCI6Ii8zMDUzODEzMC8zMzg3MTE3MTktZDlhZmI4NTEtNTk1Zi00ZmJjLTgyNmYtYTY4MzEyMDI2MGQzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzA4VDA0MzI1NVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQ3Yjk1ZWRiMGJlYmQ0MWQ5MmRlMzUwMGEyN2E0ODFmMGE0ZjFiY2ZhZDY0OGE5NjQwOWJiMTMzYWQ0NmU2NzMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.zmLHeOYzotzU-e8rWdihms3FhHPBW0bKkxuPXAAd6Gk) I wonder how much of that may be attributed to "wrongly trained" face models for when you tag people with their faces partially hidden, obstructed, etc... Which reminds me it'd be so sweet to tag people instead of just faces. This would be SO very, very important for cosplay photography where the face is WILDLY different every time, but you still want to be able to quickly bring up a person's associated pics.
Author
Owner

@graciousgrey commented on GitHub (Jul 8, 2024):

@KevinGelking @GlassedSilver Tagging people without adding a face marker is planned as well:

@graciousgrey commented on GitHub (Jul 8, 2024): @KevinGelking @GlassedSilver Tagging people without adding a face marker is planned as well: - https://github.com/photoprism/photoprism/issues/1863
Author
Owner

@kevincox commented on GitHub (Jul 8, 2024):

"wrongly trained" face models for when you tag people with their faces partially hidden, obstructed, etc...

Part of the problem is that PhotoPrism doesn't offer an alternative to this right now. You options are often to tag an obstructed face or not have the photo associated with the person.

@kevincox commented on GitHub (Jul 8, 2024): > "wrongly trained" face models for when you tag people with their faces partially hidden, obstructed, etc... Part of the problem is that PhotoPrism doesn't offer an alternative to this right now. You options are often to tag an obstructed face or not have the photo associated with the person.
Author
Owner

@GlassedSilver commented on GitHub (Jul 8, 2024):

"wrongly trained" face models for when you tag people with their faces partially hidden, obstructed, etc...

Part of the problem is that PhotoPrism doesn't offer an alternative to this right now. You options are often to tag an obstructed face or not have the photo associated with the person.

That's my point indeed 👍

@KevinGelking @GlassedSilver Tagging people without adding a face marker is planned as well:

* [People: Manually assign people to photos/videos without setting a marker #1863](https://github.com/photoprism/photoprism/issues/1863)

Oh excellent, I must have missed that one, thank you so much for the issue, I've subscribed to it right away! :)

@GlassedSilver commented on GitHub (Jul 8, 2024): > > "wrongly trained" face models for when you tag people with their faces partially hidden, obstructed, etc... > > Part of the problem is that PhotoPrism doesn't offer an alternative to this right now. You options are often to tag an obstructed face or not have the photo associated with the person. That's my point indeed 👍 > @KevinGelking @GlassedSilver Tagging people without adding a face marker is planned as well: > > * [People: Manually assign people to photos/videos without setting a marker #1863](https://github.com/photoprism/photoprism/issues/1863) Oh excellent, I must have missed that one, thank you so much for the issue, I've subscribed to it right away! :)
Author
Owner

@KevinGelking commented on GitHub (Jul 8, 2024):

@KevinGelking @GlassedSilver Tagging people without adding a face marker is planned as well:

Having that feature would be ideal, because <1st> it wouldn't mess with the algorithm (in my example I have the option to add one of the detected faces, but it's obviously not detected correctly) and <2nd> it would allow for me to add people that are present in the picture but were not detected (in my example one face was detected, no way to tag the other person)

@KevinGelking commented on GitHub (Jul 8, 2024): > @KevinGelking @GlassedSilver Tagging people without adding a face marker is planned as well: > > * [People: Manually assign people to photos/videos without setting a marker #1863](https://github.com/photoprism/photoprism/issues/1863) Having that feature would be ideal, because <1st> it wouldn't mess with the algorithm (in my example I have the option to add one of the detected faces, but it's obviously not detected correctly) and <2nd> it would allow for me to add people that are present in the picture but were not detected (in my example one face was detected, no way to tag the other person)
Author
Owner

@DavidBertet commented on GitHub (Feb 23, 2025):

I built an initial version of what that could look like.
You can add / move / resize a marker, then select and assign a person to it. I'm open to feedbacks before to cleanup the code and submit something.

https://github.com/user-attachments/assets/c1ccda16-4a1d-4f37-ad2e-d33b17c8f58e

@lastzero I didn't check yet how automatically detected faces work

  • What's the right way to detect it's an automated marker, so we can't move/resize it?
  • How do the manual marker needs to be stored so it doesn't collapse with automated ones?
  • Could having the zone help detecting the face characteristics if we reran the detection logic?
@DavidBertet commented on GitHub (Feb 23, 2025): I built an initial version of what that could look like. You can add / move / resize a marker, then select and assign a person to it. I'm open to feedbacks before to cleanup the code and submit something. https://github.com/user-attachments/assets/c1ccda16-4a1d-4f37-ad2e-d33b17c8f58e @lastzero I didn't check yet how automatically detected faces work - What's the right way to detect it's an automated marker, so we can't move/resize it? - How do the manual marker needs to be stored so it doesn't collapse with automated ones? - Could having the zone help detecting the face characteristics if we reran the detection logic?
Author
Owner

@pluton-house commented on GitHub (Feb 24, 2025):

That's looking really good! Could there also be an option to (perhaps temporarily) also show the names on the overall picture, next to or inside the face boxes? Then checking becomes a one-step process instead of two.

@pluton-house commented on GitHub (Feb 24, 2025): That's looking really good! Could there also be an option to (perhaps temporarily) also show the names on the overall picture, next to or inside the face boxes? Then checking becomes a one-step process instead of two.
Author
Owner

@GlassedSilver commented on GitHub (Feb 24, 2025):

I built an initial version of what that could look like. You can add / move / resize a marker, then select and assign a person to it. I'm open to feedbacks before to cleanup the code and submit something.
photoprism_add_face_manually.mp4

@lastzero I didn't check yet how automatically detected faces work

* What's the right way to detect it's an automated marker, so we can't move/resize it?

* How do the manual marker needs to be stored so it doesn't collapse with automated ones?

* Could having the zone help detecting the face characteristics if we reran the detection logic?

I know this may be off-topic because it doesn't add to the code directly, but I hope adding to morale counts as well in a world where FOSS developers and maintainers suffer burn out and difficult community culture:

I love you!

@GlassedSilver commented on GitHub (Feb 24, 2025): > I built an initial version of what that could look like. You can add / move / resize a marker, then select and assign a person to it. I'm open to feedbacks before to cleanup the code and submit something. > photoprism_add_face_manually.mp4 > > [@lastzero](https://github.com/lastzero) I didn't check yet how automatically detected faces work > > * What's the right way to detect it's an automated marker, so we can't move/resize it? > > * How do the manual marker needs to be stored so it doesn't collapse with automated ones? > > * Could having the zone help detecting the face characteristics if we reran the detection logic? I know this may be off-topic because it doesn't add to the code directly, but I hope adding to morale counts as well in a world where FOSS developers and maintainers suffer burn out and difficult community culture: I love you!
Author
Owner

@lastzero commented on GitHub (Mar 10, 2025):

@DavidBertet Hi David! I'm very sorry for the delayed response. The last few weeks have been crazy busy for us. You are welcome to message us directly via Matrix/Element for any development related questions:

Regarding your questions:

What's the right way to detect it's an automated marker, so we can't move/resize it?

Automatically detected faces will have the marker_src / MarkerSrc set to "image", while manual markers should have this attribute set to "manual" - just like manually added labels.

How do the manual marker needs to be stored so it doesn't collapse with automated ones?

In exactly the same way, except that you set the source to "manual". I've already extended our REST API for this, and would be happy to do further work on it if needed for you to proceed.

Could having the zone help detecting the face characteristics if we reran the detection logic?

If a face is manually tagged, we could theoretically generate an embedding for it. However, it's possible (and likely) that users will tag people from behind or in other ways that aren't suitable for automatic matching - thus causing conflicts and/or false positives. So without testing it in practice, it's hard to say if this makes sense, or if it complicates things and doesn't help the user experience...

@lastzero commented on GitHub (Mar 10, 2025): @DavidBertet Hi David! I'm very sorry for the delayed response. The last few weeks have been crazy busy for us. You are welcome to message us directly via Matrix/Element for any development related questions: - if you don't have an account yet, you can create one at https://app.element.io/ - then simply send us an email with your username or connect through our [public community chat](https://link.photoprism.app/chat) Regarding your questions: > What's the right way to detect it's an automated marker, so we can't move/resize it? Automatically detected faces will have the marker_src / MarkerSrc set to "image", while manual markers should have this attribute set to "manual" - just like manually added labels. > How do the manual marker needs to be stored so it doesn't collapse with automated ones? In exactly the same way, except that you set the source to "manual". I've already extended our REST API for this, and would be happy to do further work on it if needed for you to proceed. > Could having the zone help detecting the face characteristics if we reran the detection logic? If a face is manually tagged, we could theoretically generate an embedding for it. However, it's possible (and likely) that users will tag people from behind or in other ways that aren't suitable for automatic matching - thus causing conflicts and/or false positives. So without testing it in practice, it's hard to say if this makes sense, or if it complicates things and doesn't help the user experience...
Author
Owner

@Oniric75 commented on GitHub (Apr 21, 2025):

I built an initial version of what that could look like. You can add / move / resize a marker, then select and assign a person to it. I'm open to feedbacks before to cleanup the code and submit something.
photoprism_add_face_manually.mp4

@lastzero I didn't check yet how automatically detected faces work

* What's the right way to detect it's an automated marker, so we can't move/resize it?

* How do the manual marker needs to be stored so it doesn't collapse with automated ones?

* Could having the zone help detecting the face characteristics if we reran the detection logic?

you are the boss ! i'm trying different photo manager just to get this kind of option because it's so annoying otherwise ...
i don't understand why it's not a default option ...

do you know when you plan/can push this major upgrade ? i can't manage to get the option in the release version, i tried "experimental feature" but no more luck.

i'm currently using synology photo since several years, but i'm tired of this same issue (not been able to add people manually when they have a mask or from behind & Co)

@Oniric75 commented on GitHub (Apr 21, 2025): > I built an initial version of what that could look like. You can add / move / resize a marker, then select and assign a person to it. I'm open to feedbacks before to cleanup the code and submit something. > photoprism_add_face_manually.mp4 > > [@lastzero](https://github.com/lastzero) I didn't check yet how automatically detected faces work > > * What's the right way to detect it's an automated marker, so we can't move/resize it? > > * How do the manual marker needs to be stored so it doesn't collapse with automated ones? > > * Could having the zone help detecting the face characteristics if we reran the detection logic? you are the boss ! i'm trying different photo manager just to get this kind of option because it's so annoying otherwise ... i don't understand why it's not a default option ... do you know when you plan/can push this **major** **upgrade** ? i can't manage to get the option in the release version, i tried "experimental feature" but no more luck. i'm currently using synology photo since several years, but i'm tired of this same issue (not been able to add people manually when they have a mask or from behind & Co)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/photoprism#1108
No description provided.