Wie die maschinelle Indizierung von Immich private Fotos durchsuchbar macht

Eva Wong ist die Technische Redakteurin und und leidenschaftliche Tüftlerin bei ZimaSpace. Eine lebenslange Geek mit einer Leidenschaft für Homelabs und Open-Source-Software, sie spezialisiert sich darauf, komplexe technische Konzepte in zugängliche, praktische Anleitungenzu übersetzen. Eva ist der Meinung, dass Self-Hosting Spaß machen und nicht einschüchternd sein sollte. Durch ihre Tutorials befähigt sie die Community, Hardware-Setups zu entmystifizieren, vom Bau ihres ersten NAS bis hin zur Beherrschung von Docker-Containern.

Immich macht Fotos durchsuchbar, indem vorbereitete Bilder in gespeicherte Repräsentationen umgewandelt werden, die mit Suchanfragen verglichen und nach Zugriffsrechten gefiltert werden können.

Ein Elternteil erinnert sich an ein rotes Fahrrad auf einem Urlaubsfoto, aber nicht an den Dateinamen oder das Datum, und durchsucht den Heimserver für Fotos in Alltagssprache. Ein nützliches Ergebnis erfordert mehr, als das Bild auf der Festplatte zu speichern. Visuelle Repräsentation, Datenbankabfrage und Berechtigungsumfang müssen zusammenspielen, während das ausgewählte Modell bestimmt, welche Ähnlichkeiten die Suche erkennen kann.

Die Vorbereitung eines Bildes ist nicht das Training eines Modells

Beim Importieren einer Mediathek wird normalerweise mit einem vorhandenen Modell eine Inferenz durchgeführt; dabei wird kein neues, allgemein einsetzbares Modell anhand der Familiensammlung trainiert. Der Server bereitet verwertbare Bildeingaben vor, fordert eine Analyse an und verknüpft die zurückgegebenen Informationen mit einem Asset. Dieser Unterschied erklärt, warum ein großer Erstimport Rechenleistung verbraucht, ohne ein Trainingsprojekt für den Haushalt zu erfordern.

Lokale visuelle Indexierung ermöglicht es einer gehosteten Fotoanwendung, Suchrepräsentationen zu erstellen, bevor ein Benutzer eine Suchanfrage stellt. Der erste Durchlauf benötigt Zeit, weil jedes geeignete Bild weiterhin verarbeitet werden muss. Sobald Repräsentationen vorhanden sind, kann eine spätere Suche diese wiederverwenden, anstatt die gesamte Bildanalyse erneut auf jedes Foto anzuwenden.

Die Bereitschaftsgrenze liegt daher hinter dem Upload. Ein lesbares Original kann vorhanden sein, bevor seine visuelle Repräsentation verfügbar ist. Betrachten Sie die anfängliche Indexierung als eine eigene Phase, und werten Sie eine erfolgreiche Übertragung oder eine schnell angezeigte zwischengespeicherte Vorschau nicht als Beleg dafür, dass die semantische Analyse für dieses Asset abgeschlossen ist.

Embeddings verbinden Bilder mit Wörtern

Ein Embedding ist eine numerische Repräsentation, die zum Vergleich von Bedeutung oder visuellen Inhalten verwendet wird. Ein Bildencoder und ein kompatibler Textencoder übertragen unterschiedliche Eingaben in vergleichbare Repräsentationen. Die Suchphrase wird nicht einfach mit einem heimlich erzeugten Dateinamen abgeglichen, und ein erfolgreiches Ergebnis bedeutet nicht, dass das System für jedes Bild eine genaue Bildunterschrift erstellt hat.

Kontrastives Bild-Text-Lernen bringt verwandte Bilder und Beschreibungen während des Trainings in Einklang und trennt weniger verwandte Paare. Bei der Suche unterstützt die trainierte Repräsentation Vergleiche zwischen einer Phrase und gespeicherten Bildvektoren. Das ist der Mechanismus hinter der Suche nach visuellen Konzepten, ohne jedem relevanten Foto zuvor dasselbe wörtliche Stichwort zuweisen zu müssen.

So kann ein Fahrrad am Strand bei einer beschreibenden Phrase weit oben erscheinen, selbst wenn keines der beiden Wörter in den Metadaten vorkommt. Das ist eine Relevanzbewertung und kein Beweis dafür, dass das Bild jedes angeforderten Detail enthält. Formulierung, Bildausschnitt, kleine Objekte und konkurrierende visuelle Merkmale können das Ranking trotz unveränderter Originaldatei beeinflussen.

Die Datenbank macht Ergebnisse abrufbar

Die Berechnung eines Vektors beendet den Abrufprozess nicht: Die Anwendung muss ihn speichern und zusammen mit Informationen über das Asset durchsuchen. Die Datenbank gibt Kennungen für mögliche Ergebnisse zurück, woraufhin die Anwendung die entsprechenden Medien bereitstellen kann. Rechendurchsatz und Latenz beim Datenbankabruf sind miteinander verbundene, aber unabhängig messbare Bestandteile der Nutzungserfahrung.

Das Such-Backend ist versionsabhängig. Immich hat die Unterstützung für pgvecto.rs in v3 entfernt und empfiehlt VectorChord als Nachfolger. Daher sollte ein älterer Architekturartikel, in dem pgvecto.rs genannt wird, nicht als aktuelle Empfehlung für die Bereitstellung dienen. Das dauerhafte Prinzip ist die Kombination aus gespeicherten Vektoren und relationalem Anwendungsstatus, nicht der Name einer historischen Erweiterung.

Zur Veranschaulichung des Umfangs belegen 100.000 Vektoren mit jeweils 512 Vier-Byte-Werten als Rohzahlen etwa 205 MB. Das ist keine Schätzung für eine Immich-Datenbank: Tatsächliche Dimensionen, Datentypen, Indizes, Zeilen und Write-Ahead-Logging verändern die Gesamtsumme. Die Berechnung zeigt lediglich, warum sich eine Repräsentation vom Speichern eines weiteren Bildes in voller Auflösung unterscheidet.

-15% OFF

Personen, Metadaten und visuelle Suche sind unterschiedliche Wege

Visuelle Suche, Metadatenfilterung und der Abruf nach benannten Personen beantworten unterschiedliche Fragen. Ein Datumsfilter verwendet aufgezeichnete Informationen; die visuelle Suche bewertet eine Szenenbeschreibung; gesichtsbezogene Funktionen erkennen und gruppieren Gesichter, die ein Benutzer anschließend benennen kann. Die Erwartung, dass alle drei wie ein exakter Abgleich von Dateinamen funktionieren, verschleiert, warum ein Weg funktioniert, während ein anderer enttäuscht.

Die Organisation von Familienfotos profitiert davon, diese Wege zu kombinieren, statt von einem Modell zu verlangen, jede Information wiederherzustellen. Ein Personenname, ein ungefährer Monat und eine visuelle Beschreibung schränken unterschiedliche Aspekte der Sammlung ein. Ihr Nutzen hängt von den verfügbaren Metadaten, der abgeschlossenen Verarbeitung und den Fotos ab, auf die das aktuelle Konto zugreifen darf.

Die Unterscheidung verhindert außerdem einen Genauigkeitsfehler: Das Erkennen eines visuell ähnlichen Gesichts ist kein unabhängiger Identitätsnachweis. Prüfen Sie Gruppen, bevor Sie sich auf einen Namen verlassen, insbesondere wenn Alter, Beleuchtung oder Verdeckung das Erscheinungsbild verändern. Präzise administrative oder sensible Entscheidungen sollten außerhalb eines Ähnlichkeitsrankings bleiben, das zum Durchsuchen einer Fotosammlung entwickelt wurde.

Privatsphäre und Genauigkeit haben getrennte Grenzen

Ein lokales Modell kann die Bildanalyse auf dem Heimserver halten, doch die Vertrauensgrenze folgt dem konfigurierten Endpunkt. Wenn die Analyse an einen anderen Rechner gesendet wird, verarbeitet dieser Rechner die bereitgestellten Eingaben. Ein entfernter Beschleuniger in einem privaten Netzwerk und ein unbekannter gehosteter Endpunkt haben unterschiedliche Auswirkungen auf die Privatsphäre, selbst wenn beide als Remote-Maschinenlernen bezeichnet werden.

Einschränkungen des Modells sind von der Privatsphäre der Bereitstellung getrennt. Die ursprüngliche CLIP-Forschung beschreibt Schwächen bei Aufgaben wie dem Zählen und bei feinen Unterscheidungen und weist darauf hin, dass die Ergebnisse von den bereitgestellten Kategorien oder Prompts abhängen. Eine lokale Inferenz beseitigt diese Grenzen nicht und verwandelt einen Ähnlichkeitswert nicht in eine sachlich korrekte Beschreibung eines Familienereignisses.

Die Behauptung privater Suche scheitert, wenn sie voraussetzt, dass Self-Hosting automatisch jeden Endpunkt, jedes Backup, jedes Konto und jedes geteilte Album absichert. Die Behauptung genauer Suche scheitert, wenn sie eine vollständige Trefferquote bei beliebigen Formulierungen verspricht. Nennen Sie beide Grenzen: Wer die Eingaben verarbeitet und was die Repräsentation in der ausgewählten Sammlung sinnvoll unterscheiden kann.

Überprüfen Sie die Pipeline mit bekannten Fotos

Erstellen Sie eine kleine, autorisierte Referenzsammlung mit eindeutigen Objekten, mehrdeutigen Szenen, kleinen Details und mehreren bekannten Personen. Vergleichen Sie nach Abschluss der Verarbeitung die exakte Metadatenfilterung mit visuellen Suchanfragen und dem Abruf nach benannten Personen. Notieren Sie das ausgewählte Modell und die Serverversion, damit eine spätere Änderung anhand derselben Beispiele statt anhand der Erinnerung bewertet werden kann.

Ein eigener Modellwechsel-Versuch berichtete von einer deutlich anderen Suchqualität mit einem anderen konfigurierten Modell. Diese Beobachtung spricht dafür, die Relevanz anhand persönlicher Beispiele zu prüfen, statt anzunehmen, dass jedes größere Modell jede Suchanfrage verbessert. Hardwarekosten, Sprachabdeckung und Anforderungen an die erneute Verarbeitung müssen getrennt von einem einzelnen begeisterten Bericht über bessere Ergebnisse betrachtet werden.

Akzeptieren Sie die Pipeline, wenn repräsentative Assets die erforderliche Verarbeitung abgeschlossen haben, berechtigte Benutzer die erwarteten Beispiele abrufen können und Schwächen dokumentiert statt verborgen werden. Wenn die Metadatensuche ein Asset findet, die visuelle Formulierung jedoch nicht, prüfen Sie die Relevanz, bevor Sie einen Datenverlust vermuten. Wenn die Analyse umgeleitet wurde, überprüfen Sie den empfangenden Host als separate Datenschutzentscheidung.

Tech- & KI-Zentrum

Mehr zum Lesen

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.