Si alguna vez has instalado Recognize junto a Nextcloud Memories y te has quedado esperando a que aparezcan personas, conoces la decepción. Las apps son excelentes, pero la configuración por defecto en un servidor autoalojado a menudo termina con una vista de Personas vacía, una cola que nunca se vacía o un escaneo que solo detecta las caras grandes y bien iluminadas. Este tutorial repasa la edición MediaLab de Memories + Recognize —nuestro fork de ambas apps de código abierto para Nextcloud 34— y explica qué cambiamos en tu servidor para que el nextcloud memories reconocimiento facial genere de verdad personas, búsqueda y álbumes utilizables.
Las apps en sí siguen siendo de código abierto bajo AGPL-3.0, escritas por sus autores originales (Memories por Varun Patil, Recognize por Marcel Klehr y Nextcloud). La edición MediaLab es nuestro fork, no una versión oficial, y los autores no la respaldan. El código fuente es público: Memories en la rama casapu/nc34 y Recognize en la rama casapu/stable12. Lo que pagas es el trabajo en tu servidor, facturado por horas con un mínimo de 4 horas.
Memories vs Photos vs Immich, en un párrafo
Las tres te dan una línea de tiempo de fotos. Memories es una app de Nextcloud, así que vive dentro de la misma cuenta, permisos y almacenamiento que ya tienes; Immich es un servicio aparte con su propia base de datos y app móvil. La edición MediaLab se centra en lo que ocurre después de la línea de tiempo: reconocimiento facial, búsqueda en lenguaje natural, limpieza de duplicados, eventos e historias. Si tu biblioteca ya está en Nextcloud y quieres esa inteligencia ahí, este es el camino.
Requisitos previos
- Nextcloud 34, en un servidor que controles.
- Suficiente espacio en disco para el entorno de Python/ONNX y los modelos de ML (las comprobaciones de configuración de Recognize informan del espacio en disco).
- Una GPU si quieres reconocimiento facial y búsqueda rápidos; CUDA/cuDNN deben coincidir con tu controlador. Un servidor solo con CPU funciona, pero es más lento.
- Cron en funcionamiento y una cola de tareas en segundo plano activa — Recognize informa de ambos en sus diagnósticos.
- Tu biblioteca de fotos actual, o una exportación de Google Takeout si estás importando.
Paso 1: Instalar ambas apps y el entorno de ML
Instalamos Memories y Recognize en tu Nextcloud 34, incluido el entorno de Python/ONNX y los modelos. Esta es la parte que más se equivoca en las configuraciones domésticas: Recognize necesita su parte de Python y los archivos de modelos en su sitio antes de que cualquier escaneo tenga sentido. La página de diagnósticos de administración de la edición MediaLab ejecuta comprobaciones de configuración para la GPU, CUDA/cuDNN, los modelos, cron, la cola y el espacio en disco, así que ves de inmediato qué falta en lugar de adivinar.
Paso 2: Configurar bien la GPU y los modelos
El reconocimiento facial en la edición MediaLab usa InsightFace (RetinaFace + ArcFace) sobre ONNX Runtime con aceleración por GPU. Configuramos los controladores de la GPU, CUDA/cuDNN para machine learning y los modelos de reconocimiento facial y búsqueda. Si más adelante cambias entre backends, se conservan los nombres que ya has asignado.
Cuando el entorno está sano, occ recognize:status te da el estado de la cola y del escaneo. Los errores recientes aparecen en la página de administración y como notificaciones, lo que es mucho más útil que una cola silenciosa.
Paso 3: Por qué Recognize no encuentra caras — y qué cambiamos
Las causas habituales son las que comprueban los diagnósticos: modelos no descargados, cron que no se ejecuta, la cola atascada o vistas previas demasiado pequeñas para el detector. La edición MediaLab añade detección por mosaicos y un tamaño de vista previa configurable, para que las caras pequeñas en el encuadre también se encuentren, además de un ajuste de tamaño mínimo de cara para filtrar ruido. Un re-escaneo solo añade caras nuevas en lugar de rehacer toda la biblioteca, y el progreso del escaneo se muestra en directo.
En el lado del emparejamiento, las caras nuevas se asignan directamente a personas conocidas, una persona nunca aparece dos veces en una misma foto, y los grupos sin nombre se fusionan automáticamente con la persona nombrada cuando coinciden. Eso es lo que convierte un montón de grupos sin nombre en una vista de Personas utilizable.
Paso 4: Trabajar con las personas
Una vez ejecutado el escaneo, el flujo de trabajo es el mismo en ambas apps:
- En Memories, abre una persona y usa find this person in more photos para ampliar el álbum.
- Añade personas manualmente en el visor con people in this photo.
- En Recognize, dibuja un recuadro para añadir una cara y luego asígnala, sepárala o ignórala.
- Revisa las personas sin nombre con las sugerencias; el seguimiento de ráfagas evita que las secuencias inunden la lista de revisión.
- Los álbumes de personas siguen automáticamente a una persona reconocida, con las mejores fotos primero.
Una puntuación de prominencia por cara y la detección de sujeto/fondo ayudan a separar las buenas tomas del público del fondo.
Paso 5: Búsqueda y duplicados
La búsqueda de fotos en lenguaje natural usa embeddings CLIP multilingües, así que puedes describir una escena en lugar de rebuscar en carpetas. Los grupos de duplicados y casi duplicados se construyen a partir de hashes perceptuales más CLIP; en Memories, Similar photos ofrece una limpieza de conservar la más grande. Ambas funciones dependen del mismo proceso de indexación, así que arregla primero la cola si los resultados parecen escasos.
Paso 6: Eventos, historias y Takeout
Memories agrupa las fotos en eventos automáticos por intervalo de tiempo y distancia, y puede guardarlos como álbumes en bloque. Un resumen semanal y Stories a pantalla completa te dan una razón para abrir la app. Los clips y vídeos hechos a partir de fotos pueden incluir una tarjeta de título, ubicación, personas etiquetadas, texto sobre el vídeo y música de fondo elegida por ambiente, codificados en la GPU en segundo plano con progreso y notificaciones.
Si vienes de Google, los sidecars de Takeout se importan en el momento de la indexación —fecha, ubicación, descripción, personas y favorito— sin tocar los archivos en sí.
Consejos y resolución de problemas
- Nada en Personas tras horas: comprueba primero
occ recognize:statusy los diagnósticos de administración; cron y la cola suelen ser los culpables. - Solo se encuentran caras grandes: activa la detección por mosaicos y aumenta el tamaño de vista previa, luego ejecuta un re-escaneo; solo añade caras nuevas.
- GPU sin usar: verifica CUDA/cuDNN frente a la versión de tu controlador en las comprobaciones de configuración.
- Archivos dañados o poco habituales: RAW, TIFF, AVIF, JXL y JPEG dañados están cubiertos por el escaneo en la edición MediaLab.
- Privacidad: la sección privada cifra las fotos con XChaCha20-Poly1305, las saca de Files y solo las abre con el código del propietario; el desnudo se mantiene fuera de la biblioteca para que nunca llegue a la línea de tiempo, los álbumes ni las personas.
- Compartir: los enlaces cortos de álbum funcionan con Shortcloud, y los álbumes y las personas tienen acciones al pasar el cursor.
Más contexto en nuestra base de conocimiento; para dudas puntuales, la FAQ es un buen punto de partida.
Conclusión
El reconocimiento facial no es una casilla que marcar: es un entorno, una cola, un modelo y una serie de decisiones de ajuste. La edición MediaLab empaqueta las correcciones (InsightFace en GPU, detección por mosaicos, herramientas de revisión, búsqueda en lenguaje natural, duplicados, eventos e importación de Takeout) y nosotros la instalamos, configuramos y mantenemos en tu servidor, incluidas actualizaciones, mejoras de Nextcloud, reindexación y resolución de problemas. Si quieres delegar todo esto, consulta la página del producto o contacta con nosotros con tu versión de Nextcloud, sistema operativo, GPU y tamaño de la biblioteca para recibir un presupuesto.