nextcloud / recognize

👁 👂 Smart media tagging for Nextcloud: recognizes faces, objects, landscapes, music genres
https://apps.nextcloud.com/apps/recognize
GNU Affero General Public License v3.0
552 stars 46 forks source link

Don't Delete Clusters of a Removed Person #606

Open bsaggy opened 1 year ago

bsaggy commented 1 year ago

Describe the feature you'd like to request

When a cluster is removed by the user via the "Remove Person" action, the cluster disappears from the oc_recognize_face_clusters table - so I think it is permanently deleted.

What is to stop a Person in that cluster from being recreated in a new cluster if the Face Recognition is toggled off and back on, and the faces are re-detected and queued up again? I think in this case a new cluster is created again with that same Person whose cluster was removed. Unfortunately, toggling off/on is inevitable during troubleshooting and working out bugs.

It may be better to maintain the cluster state and instead hide it. New images of the "Removed Person" would also not generate a new cluster - they would just be added to the hidden cluster. This also then may benefit from a 'review / approve' process to be sure that unintended faces/images aren't added to hidden clusters without ever knowing about it.

It would also be nice to be able to view and manage a hidden "Person", but this part may be a Photos App / Memories App feature.

Thanks, Brian

Describe the solution you'd like

I would like a new cluster to not be generated in the case that the user has already performed the Remove Person function despite whether the Face Recognition feature has been toggled off/on or if a new image of the undesired Person is added to Nextcloud.

Describe alternatives you've considered

Manually delete the clusters of the undesired Person any time the Face Recognition feature is toggled off/on or a new image of the undesired Person is added to Nextcloud.

kc9jud commented 1 year ago

Would there still be an interface for removing the cluster? (I'm worried about, and still getting, the shit-clusters.)

iFreilicht commented 1 year ago

Yeah I think there need to be two different features:

The names can be different, I just want to emphasize that this feature shouldn't replace the current behavior as that has a good use-case.

marcelklehr commented 1 year ago

We are currently maintaining this app on a limited effort basis. This means Nextcloud GmbH will not invest further development resources ourselves in advancing this app with new features. That doesn't mean there will be no new features, however: We do review and enthusiastically welcome community Pull Requests. We would be more than excited if you would like to collaborate with us on this issue. Feel free to reach out here in the comments if you would like to work on this and have questions about how to go about it, how to proceed or would like a short introduction call into the code base. I'm here to help with your questions :v:

bsaggy commented 1 year ago

Hi @marcelklehr. I would love to contribute, but currently lack in skill with PHP and JS. Maybe I can change that.

Can you provide more information regarding Nextcloud GmbH's decision to not continue supporting Recognize? Are they moving away from facial recognition as a feature or using something else? What does this mean for the future of Recognize?

Thanks, Brian

marcelklehr commented 1 year ago

Hey @bdevy I realize the above message may not be fully self-explanatory. I've created a new discussion over here to explain the situation: https://github.com/nextcloud/recognize/discussions/779