Dacă ai instalat vreodată Recognize lângă Nextcloud Memories și ai așteptat să apară persoane, știi dezamăgirea. Aplicațiile sunt excelente, dar configurarea implicită pe un server self-hosted se termină des cu o secțiune People goală, o coadă care nu se golește niciodată sau o scanare care prinde doar fețele mari și bine iluminate. Acest tutorial parcurge ediția MediaLab a Memories + Recognize — fork-ul nostru al ambelor aplicații cu sursă deschisă pentru Nextcloud 34 — și explică ce schimbăm pe serverul tău ca nextcloud recunoastere faciala să producă efectiv persoane, căutare și albume utilizabile.
Aplicațiile rămân cu sursă deschisă sub AGPL-3.0, scrise de autorii lor originali (Memories de Varun Patil, Recognize de Marcel Klehr și Nextcloud). Ediția MediaLab este fork-ul nostru, nu o versiune oficială, iar autorii nu o susțin. Codul sursă este public: Memories pe branch-ul casapu/nc34 și Recognize pe branch-ul casapu/stable12. Ceea ce plătești este munca pe serverul tău, facturată la oră, cu un minim de 4 ore.
Memories vs Photos vs Immich, într-un paragraf
Toate trei îți oferă o cronologie de fotografii. Memories este o aplicație Nextcloud, deci trăiește în același cont, cu aceleași permisiuni și același spațiu de stocare pe care îl rulezi deja; Immich este un serviciu separat, cu baza lui de date și aplicația lui mobilă. Ediția MediaLab se concentrează pe ce se întâmplă după cronologie: recunoaștere facială, căutare în limbaj natural, curățarea duplicatelor, evenimente și povești. Dacă biblioteca ta este deja în Nextcloud și vrei această inteligență acolo, aceasta este calea.
Cerințe preliminare
- Nextcloud 34, pe un server pe care îl controlezi.
- Spațiu pe disc suficient pentru mediul Python/ONNX și pentru modelele ML (verificările de configurare din Recognize raportează spațiul pe disc).
- Un GPU dacă vrei recunoaștere facială și căutare rapide; CUDA/cuDNN trebuie să corespundă driverului tău. Un server doar cu CPU funcționează, dar este mai lent.
- Cron funcțional și o coadă de joburi în fundal activă — Recognize raportează ambele în diagnosticările sale.
- Biblioteca ta de fotografii existentă sau un export Google Takeout dacă imporți.
Pasul 1: Instalează ambele aplicații și mediul ML
Instalăm Memories și Recognize pe Nextcloud 34 al tău, inclusiv mediul Python/ONNX și modelele. Aici greșesc cele mai multe configurări de acasă: Recognize are nevoie de partea lui Python și de fișierele de modele la locul lor înainte ca orice scanare să aibă sens. Pagina de diagnosticare pentru administrator din ediția MediaLab rulează verificări de configurare pentru GPU, CUDA/cuDNN, modele, cron, coadă și spațiu pe disc, așa că vezi imediat ce lipsește, în loc să ghicești.
Pasul 2: Configurează corect GPU-ul și modelele
Recunoașterea facială din ediția MediaLab rulează InsightFace (RetinaFace + ArcFace) pe ONNX Runtime cu accelerare GPU. Configurăm driverele GPU, CUDA/cuDNN pentru machine learning și modelele de recunoaștere facială și de căutare. Dacă schimbi backend-ul mai târziu, numele deja atribuite sunt păstrate.
Când mediul este sănătos, occ recognize:status îți arată starea cozii și a scanării. Erorile recente apar în pagina de administrare și ca notificări, mult mai util decât o coadă tăcută.
Pasul 3: De ce nu găsește Recognize fețe — și ce schimbăm
Cauzele obișnuite sunt exact cele pe care le verifică diagnosticarea: modele nedescărcate, cron nefuncțional, coadă blocată sau previzualizări prea mici pentru detector. Ediția MediaLab adaugă detectare pe zone și o dimensiune de previzualizare configurabilă, astfel încât fețele mici în cadru sunt totuși găsite, plus o setare de dimensiune minimă a feței pentru a filtra zgomotul. O rescanare adaugă doar fețele noi, în loc să refacă întreaga bibliotecă, iar progresul scanării este afișat în timp real.
Pe partea de potrivire, fețele noi sunt atribuite direct persoanelor cunoscute, o persoană nu apare niciodată de două ori într-o singură fotografie, iar clusterele fără nume sunt fuzionate automat în persoana numită atunci când se potrivesc. Asta transformă un morman de clustere fără nume într-o secțiune People utilizabilă.
Pasul 4: Lucrează cu persoanele
După ce scanarea a rulat, fluxul de lucru este același în ambele aplicații:
- În Memories, deschide o persoană și folosește find this person in more photos pentru a extinde albumul.
- Adaugă persoane manual în vizualizator cu people in this photo.
- În Recognize, desenează un chenar pentru a adăuga o față, apoi atribuie-o, detașeaz-o sau ignoră-o.
- Revizuiește persoanele fără nume cu sugestii; urmărirea rafalelor (burst tracking) împiedică secvențele să inunde lista de revizuire.
- Albumele de persoană urmăresc automat o persoană recunoscută, cu cele mai bune fotografii primele.
Un scor de proeminență pentru fiecare față și detectarea subiectului/fundalului ajută la separarea fotografiilor reușite de mulțimea din fundal.
Pasul 5: Căutare și duplicate
Căutarea fotografiilor în limbaj natural folosește embeddings CLIP multilingve, așa că poți descrie o scenă în loc să vânezi foldere. Grupurile de duplicate și cvasi-duplicate sunt construite din hash-uri perceptuale plus CLIP; în Memories, Similar photos oferă curățare cu păstrarea celei mai mari. Ambele funcții depind de aceeași conductă de indexare, așa că repară mai întâi coada dacă rezultatele par sărace.
Pasul 6: Evenimente, povești și Takeout
Memories grupează fotografiile în evenimente automate după intervalul de timp și distanță și le poate salva în bloc ca albume. Un rezumat săptămânal și Stories pe ecran complet îți dau un motiv să deschizi aplicația. Clipurile și videoclipurile făcute din fotografii pot include un card de titlu, locația, persoanele etichetate, text peste video și muzică de fundal aleasă după stare, codificate pe GPU în fundal, cu progres și notificări.
Dacă vii de pe Google, fișierele sidecar Takeout sunt importate la momentul indexării — data, locația, descrierea, persoanele și favorita — fără să atingă fișierele în sine.
Sfaturi și depanare
- Nimic în People după ore întregi: verifică mai întâi
occ recognize:statusși diagnosticarea din administrare; cron și coada sunt de obicei vinovații. - Se găsesc doar fețe mari: activează detectarea pe zone și mărește dimensiunea previzualizării, apoi rulează o rescanare; adaugă doar fețe noi.
- GPU-ul nu este folosit: verifică CUDA/cuDNN față de versiunea driverului în verificările de configurare.
- Fișiere deteriorate sau neobișnuite: RAW, TIFF, AVIF, JXL și JPEG-urile deteriorate sunt acoperite de scanarea din ediția MediaLab.
- Confidențialitate: secțiunea privată criptează fotografiile cu XChaCha20-Poly1305, le mută din Files și le deschide doar cu codul proprietarului; nuditatea este ținută în afara bibliotecii, astfel încât să nu ajungă niciodată în cronologie, albume sau persoane.
- Partajare: linkurile scurte de album funcționează cu Shortcloud, iar albumele și persoanele au acțiuni la hover.
Mai multe detalii găsești în baza noastră de cunoștințe; pentru întrebări punctuale, FAQ este un început bun.
Concluzie
Recunoașterea facială nu este o bifă — este un mediu, o coadă, un model și o serie de alegeri de reglaj. Ediția MediaLab împachetează remedierile (InsightFace pe GPU, detectare pe zone, instrumente de revizuire, căutare în limbaj natural, duplicate, evenimente și import Takeout), iar noi o instalăm, o configurăm și o întreținem pe serverul tău, inclusiv actualizări, upgrade-uri Nextcloud, reindexare și depanare. Dacă vrei să ne lași asta pe mână, vezi pagina produsului sau contactează-ne cu versiunea de Nextcloud, sistemul de operare, GPU-ul și dimensiunea bibliotecii pentru o estimare.