matiasdelellis / facerecognition

Nextcloud app that implement a basic facial recognition system.
GNU Affero General Public License v3.0
518 stars 46 forks source link

face recognition fails to display group with 11k faces in a single group #628

Open rhatguy opened 1 year ago

rhatguy commented 1 year ago

I have been working on tagging my 41k picture collection for a few weeks. I recently got a "mega-cluster" created. It has 11k faces in the cluster. Many of which are clearly not the same person. I named the person (through the memories app), then went into the face recognition app in settings to try to split the cluster up. However when I click on the person I named I'm seeing a gateway timout after 30 seconds in the browser console. It seems its taking face recognition to long to return the complete list of 11k faces.

This concerns me about the scalability of the app in general as I legitimately have over 11k pictures of my daughter tagged through Digikam with metadata stored inside EXIF inside the image. If nextcloud/face recognition can not legitimately handle groups this large, it won't be a fit for my photo collection.

Expected behaviour

I should be able to see all faces tagged as this person and subsequently split them into appropriate groups.

Actual behaviour

gateway timeout in the browser console

Steps to reproduce

  1. use face recognition to discover 11k pictures of the same person
  2. go into the face recognition app in nextcloud settings
  3. click on the person with 11k faces

Server configuration

Client configuration

Logs

Chuckame commented 1 year ago

Same for me, but even with smaller groups like only hundreds of faces. When changing the page, it also not cancel the request that is destroying the cpu for nothing until it finishes :/

matiasdelellis commented 1 year ago

Hi Both, Before trying to separate a cluster of 11k people where they mixed, I would try to reduce the 'Clustering threshold' from settings. This will improve the result, although you will have to name more clusters.

About the high CPU usage, is Memories more responsive? They are two completely different approaches to both applications, and I could mimic their operation.