Reconnaissance faciale dans Nextcloud Memories + Recognize avec GPU : l'édition MediaLab

Guide pratique de l'édition MediaLab de Memories et Recognize : pourquoi la reconnaissance faciale ne trouve rien, l'apport d'InsightFace sur GPU et de la détection par tuiles, et comment faire fonctionner personnes, recherche, doublons et stories.

Si vous avez déjà installé Recognize à côté de Nextcloud Memories et attendu que des personnes apparaissent, vous connaissez la déception. Les applications sont excellentes, mais la configuration par défaut sur un serveur auto-hébergé se solde souvent par une vue People vide, une file d'attente qui ne se vide jamais, ou un scan qui ne repère que les grands visages bien éclairés. Ce tutoriel parcourt l'édition MediaLab de Memories + Recognize — notre fork des deux applications open source pour Nextcloud 34 — et explique ce que nous modifions sur votre serveur pour que la nextcloud memories reconnaissance faciale produise réellement des personnes, une recherche et des albums exploitables.

Les applications elles-mêmes restent open source sous AGPL-3.0, écrites par leurs auteurs d'origine (Memories par Varun Patil, Recognize par Marcel Klehr et Nextcloud). L'édition MediaLab est notre fork, pas une version officielle, et les auteurs ne la cautionnent pas. Le code source est public : Memories sur la branche casapu/nc34 et Recognize sur la branche casapu/stable12. Ce que vous payez, c'est le travail sur votre serveur, facturé à l'heure avec un minimum de 4 h.

Memories vs Photos vs Immich, en un paragraphe

Les trois vous donnent une chronologie de photos. Memories est une application Nextcloud : elle vit donc dans le même compte, les mêmes permissions et le même stockage que ceux que vous exploitez déjà ; Immich est un service séparé, avec sa propre base de données et son application mobile. L'édition MediaLab se concentre sur ce qui vient après la chronologie : reconnaissance faciale, recherche en langage naturel, nettoyage des doublons, événements et stories. Si votre bibliothèque est déjà dans Nextcloud et que vous voulez cette intelligence à cet endroit, c'est la voie à suivre.

Prérequis

  • Nextcloud 34, sur un serveur que vous contrôlez.
  • Suffisamment d'espace disque pour l'environnement Python/ONNX et les modèles ML (les vérifications de configuration de Recognize indiquent l'espace disque).
  • Un GPU si vous voulez une reconnaissance faciale et une recherche rapides ; CUDA/cuDNN doivent correspondre à votre pilote. Un serveur sans GPU fonctionne, mais plus lentement.
  • Un cron fonctionnel et une file de tâches d'arrière-plan active — Recognize en rend compte tous les deux dans ses diagnostics.
  • Votre bibliothèque photo existante, ou un export Google Takeout si vous importez.

Étape 1 : installer les deux applications et l'environnement ML

Nous installons Memories et Recognize sur votre Nextcloud 34, y compris l'environnement Python/ONNX et les modèles. C'est la partie que la plupart des installations domestiques ratent : Recognize a besoin de son côté Python et de ses fichiers de modèles en place avant qu'un scan ait un sens. La page de diagnostics d'administration de l'édition MediaLab exécute des vérifications de configuration pour le GPU, CUDA/cuDNN, les modèles, le cron, la file d'attente et l'espace disque : vous voyez immédiatement ce qui manque au lieu de deviner.

Étape 2 : bien configurer le GPU et les modèles

La reconnaissance faciale de l'édition MediaLab repose sur InsightFace (RetinaFace + ArcFace) via ONNX Runtime avec accélération GPU. Nous configurons les pilotes GPU, CUDA/cuDNN pour le machine learning, ainsi que les modèles de reconnaissance faciale et de recherche. Si vous changez de backend plus tard, les noms déjà attribués sont conservés.

Lorsque l'environnement est sain, occ recognize:status vous donne l'état de la file d'attente et du scan. Les erreurs récentes apparaissent dans la page d'administration et sous forme de notifications, ce qui est bien plus utile qu'une file silencieuse.

Étape 3 : pourquoi Recognize ne trouve aucun visage — et ce que nous changeons

Les causes habituelles sont celles que les diagnostics vérifient : modèles non téléchargés, cron inactif, file d'attente bloquée, ou aperçus trop petits pour le détecteur. L'édition MediaLab ajoute la détection par tuiles et une taille d'aperçu configurable, pour que les visages petits dans le cadre soient tout de même trouvés, ainsi qu'un réglage de taille minimale de visage pour filtrer le bruit. Un nouveau scan ajoute seulement les nouveaux visages au lieu de refaire toute la bibliothèque, et la progression du scan s'affiche en direct.

Côté correspondance, les nouveaux visages sont attribués directement aux personnes connues, une personne n'apparaît jamais deux fois sur une même photo, et les groupes sans nom sont fusionnés automatiquement avec la personne nommée lorsqu'ils correspondent. C'est ce qui transforme un tas de groupes sans nom en une vue People exploitable.

Étape 4 : traiter les personnes

Une fois le scan effectué, le déroulé est le même dans les deux applications :

  • Dans Memories, ouvrez une personne et utilisez find this person in more photos pour étendre l'album.
  • Ajoutez des personnes manuellement dans la visionneuse avec people in this photo.
  • Dans Recognize, tracez un cadre pour ajouter un visage, puis attribuez-le, détachez-le ou ignorez-le.
  • Passez en revue les personnes sans nom à l'aide des suggestions ; le suivi des rafales évite que les séquences saturent la liste de révision.
  • Les albums de personnes suivent automatiquement une personne reconnue, avec les meilleures photos en premier.

Un score de proéminence par visage et la détection de sujet/arrière-plan aident à trier les bonnes prises de vue de la foule en arrière-plan.

Étape 5 : recherche et doublons

La recherche de photos en langage naturel utilise des embeddings CLIP multilingues : vous pouvez décrire une scène au lieu de fouiller des dossiers. Les groupes de doublons et quasi-doublons sont construits à partir de hachages perceptuels et de CLIP ; dans Memories, Similar photos propose un nettoyage en conservant la plus grande. Les deux fonctions dépendent du même pipeline d'indexation : corrigez donc d'abord la file d'attente si les résultats semblent maigres.

Étape 6 : événements, stories et Takeout

Memories regroupe les photos en événements automatiques selon l'écart temporel et la distance, et peut les enregistrer en albums en masse. Un récapitulatif hebdomadaire et des Stories en plein écran vous donnent une raison d'ouvrir l'application. Les clips et vidéos faits à partir de photos peuvent inclure une carte de titre, le lieu, les personnes identifiées, du texte sur la vidéo et une musique de fond choisie selon l'ambiance, encodés sur le GPU en arrière-plan avec progression et notifications.

Si vous venez de Google, les fichiers sidecar Takeout sont importés au moment de l'indexation — date, lieu, description, personnes et favori — sans toucher aux fichiers eux-mêmes.

Astuces et dépannage

  • Rien dans People après des heures : vérifiez d'abord occ recognize:status et les diagnostics d'administration ; le cron et la file d'attente sont les coupables habituels.
  • Seuls les grands visages sont trouvés : activez la détection par tuiles et augmentez la taille d'aperçu, puis lancez un nouveau scan ; il n'ajoute que les nouveaux visages.
  • GPU non utilisé : vérifiez CUDA/cuDNN par rapport à la version de votre pilote dans les vérifications de configuration.
  • Fichiers endommagés ou inhabituels : RAW, TIFF, AVIF, JXL et les JPEG endommagés sont pris en charge par le scan de l'édition MediaLab.
  • Confidentialité : la section privée chiffre les photos avec XChaCha20-Poly1305, les sort de Files et ne les ouvre qu'avec le code du propriétaire ; la nudité est tenue hors de la bibliothèque pour qu'elle n'atteigne jamais la chronologie, les albums ni les personnes.
  • Partage : les liens d'album courts fonctionnent avec Shortcloud, et les albums comme les personnes disposent d'actions au survol.

Pour aller plus loin, consultez notre base de connaissances ; pour une question ponctuelle, la FAQ est un bon point de départ.

Conclusion

La reconnaissance faciale n'est pas une simple case à cocher : c'est un environnement, une file d'attente, un modèle et une série de choix de réglage. L'édition MediaLab rassemble les correctifs (InsightFace sur GPU, détection par tuiles, outils de révision, recherche en langage naturel, doublons, événements et import Takeout) et nous l'installons, la configurons et la maintenons sur votre serveur, y compris les mises à jour, les montées de version de Nextcloud, la réindexation et le dépannage. Si vous souhaitez nous confier ce travail, consultez la page produit ou contactez-nous avec votre version de Nextcloud, votre système d'exploitation, votre GPU et la taille de votre bibliothèque pour obtenir une estimation.

Cet article a été rédigé avec l’aide de l’IA à partir de la documentation de nos produits ou des sources indiquées et vérifié automatiquement avant publication.

À lire ensuite

Vous utilisez Emby, Jellyfin ou Nextcloud ?

Nos plugins et applications ajoutent la TV en direct, les sous-titres, l’inscription et la sécurité à votre propre serveur, avec un essai gratuit.