Home » Nextcloud » Nextcloud 27 Recognize App installieren

Nextcloud 27 Recognize App installieren

Heute schauen wir uns an, wie sich die Gesichts- und Objekterkennung über die Recognize App auf Nextcloud 27 installieren und einrichten lässt. Die Gesichter und Objekte Erkennung ermöglicht eine automatische Kategorisierung nach Gesichtern, Wahrzeichnen, Orten und ebenso Szenen.

Nextcloud Recognize Beispielfoto von nextcloud.com

Die Nextcloud Recognize App ist eine Erweiterung für die Nextcloud-Plattform, die Bilderkennungsfunktionen bietet. Mit dieser App könnt Ihr Eure Fotos und Bilder automatisch kategorisieren lassen, basierend auf den darauf abgebildeten Objekten, Personen oder Szenen. Das Hauptziel dieser App ist es, die Bildersuche und -organisation in Nextcloud zu verbessern. Hier sind einige Hauptmerkmale und Informationen zur Recognize App:

  • Deep Learning und Bilderkennung: Die Recognize App verwendet Machine Learning-Modelle, um den Inhalt von Bildern zu erkennen. Die verwendeten Modelle können verschiedene Objekte, Tiere, Landschaften und sogar Gesichter erkennen.
  • Integration mit Nextcloud: Einmal installiert und aktiviert, integriert sich die Recognize App nahtlos in die Nextcloud-Benutzeroberfläche. Ihr könnz dann Schlagwörter sehen, die automatisch zu ihren Bildern hinzugefügt wurden, basierend auf dem, was auf den Bildern erkannt wurde.
  • Datenschutz: Ein Hauptvorteil der Verwendung von Nextcloud und Erweiterungen wie Recognize ist der Datenschutz. Im Gegensatz zu vielen Online-Diensten, die Bilderkennungsfunktionen anbieten, werden die Daten und Bilder in Nextcloud lokal auf Eurem Server gespeichert und verarbeitet, ohne dass sie an Dritte weitergegeben werden.
  • Anpassung: Die Erkennung lässt sich auf eigenen Bedürfnisse anpassen da vollständig OpenSource
  • Anforderungen: Für die effektive Nutzung der Recognize App müssen bestimmte technische Voraussetzungen erfüllt sein, insbesondere hinsichtlich der Server-Ressourcen, da Bilderkennung und Deep Learning rechenintensiv sind.
  • Zukünftige Entwicklungen: Wie bei vielen Open-Source-Projekten, kann die Funktionalität und Effizienz der Recognize App im Laufe der Zeit durch Beiträge aus der Community verbessert werden.

Vorausetzungen

Ihr benötigt Zugriff auf Eure Nextcloud via Kommandozeile. Ausserdem sollte der Server ausreichend dimensioniert sein, vor allem wenn Ihr tausende Fotos auf Eurer Nextcloud gespeichert hat. Meine persönliche Nextcloud mit 4 CPU Kernen und 6GB Arbeitsspeicher benötigte ungefähr 2 Tage um die Fotos meiner Partnerin mit ca 7000 Fotos zu kategorsieren.

Euere CPU Sollte den nativen TensorFlow-Betrieb unterstützen, anonsten wird in Software gerechnet was die Berechnungszeit praktisch vervierfacht. Falls Ihr Nextcloud Baremetal, also direkt auf einem Rechner installiert habt, und die CPU nicht ältern als 4 Jahre ist, ist das kein Problem. Habt Ihr Nextcloud auf einer virtuellen Maschine installiert, musst der Virtualisierungshost AES unterstützen. Auf Einer Virtualsierungssoftware wie zum Beispiel Proxmox setzt in den CPU-Einstellungen der virtuallen Maschine entweder auf x86-64-v2-AES oder Host. Habt Ihr Proxmox in einem LXC-Container laufen, kümmert sich der Kernel von Proxmox direkt um die Verarbeitung und deshalb gelten die Features der CPU die Ihr installiert habt.

Ihr solltet über aussreichend Arbeitspeicher verfügen. 4GB sind das absolute minimum.

Installation der App

Installiert Euch die App Recognize von Nextcloud Apps auf Eurem Server. Die App findet Ihr Ihr in den Apps unter Organisation:

Nextcloud Recognize im Dashboard installieren

Die App wird leider noch nicht funktionieren da die Trainingsmodelle noch installiert werden müssen, dazu müssen wir uns auf dem Server einloggen auf dem Nextcloud installiert ist. Stellt eine Verbindung per SSH her.

Wir müssen zuerst das passende Repository hinzufügen, öffnet dazu die Repoliste mit:

sudo nano /etc/apt/sources.list.d/20-pdlib.list

und fügt folgendes am Ende der Datei hinzu:

deb [signed-by=/usr/share/keyrings/delellis-archive-keyring.gpg arch=amd64] https://repo.delellis.com.ar jammy jammy

Danach laden wir uns den Schlüssel dafür herunter mit:

wget -O- https://repo.delellis.com.ar/repo.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/delellis-archive-keyring.gpg

Die Grundvorausetzungen sind getätigt. Kommen wir zur Installation, wir updaten dazu erstmal alle Repos mit:

sudo apt update

und installieren uns das passende php Modul:

sudo apt install php8.1-pdlib

Bite ersetzt 8.1 mit Eurer aktuell installierten php Version

Jetzt installieren wir die PD Libaries für die App und führen folgende Befehle nacheinander aus:

sudo apt-get install libx11-dev
sudo apt-get install libopenblas-dev liblapack-dev
sudo apt install cmake
sudo apt install php-dev

Danach installieren wir noch die shared library (Dlib):

sudo git clone https://github.com/davisking/dlib.git
cd dlib/dlib
sudo mkdir build
CD build
sudo cmake -DBUILD_SHARED_LIBS=ON ..
sudo make
sudo make install

Jetzt die eigentliche Installation:

sudo git clone https://github.com/goodspb/pdlib.git
cd pdlib
sudo phpize
sudo ./configure --enable-debug
sudo make
sudo make install

Das was auch schon mit der Installation!

Wir aktivieren die PD Libaries noch in dem Ihr in der Datei

sudo nano /etc/php/8.1/cli/php.ini

folgendes am Ende der Datei hinzufügt: (8.1 mit Eurer Version ersetzen)

[pdlib]
extension="pdlib.so"

Wir laden gleich noch die korrekten Modelle für die Erkennungssoftware herunter. Geht dazu in euren Nextcloud Ordner und führt folgenden Befehl aus:

sudo -u www-data php8.1 ./occ recognize:download-models

8.1 wieder mit Eurer Version ersetzen!

Einrichtung der Recognize App

Geht wieder auf Eures Nextcloud Dashboard, navigiert in die Verwaltungseinstellungen und öffnet links den Tap Erkennung. Ist die war die Installation erfolgreich müssen folgende 2 Checkmarks unter Status vorhanden sein:

Einstellungen der Recognize App

Ihr könnt weiter unten festlegen auf was die erkennung angewendet werden soll. Zur Verfügung stehen Gesichtserkennung, Objekt- und Wahrzeichenerkennung, und die Audio und Video Erkennung und Klassification. Bedenkt, dass die Objekterkerkennung wirklich massiv Rechenleistung benötigt und Eurer Nextcloud Rechner je nach Anzahl Foto, und je nach Austattung der Hardware mehrere Tage am Kategorisieren ist. Ihr könnt versuchen die Anzahl an Batches leicht zu erhöhen falls Ihr eine sehr moderne CPU (AMD x59xx oder 79xx Serie oder Intel i7 ab 11xxx) Euer eigen nennt. Empfehlungen werden von der App aber bereits festgelegt.

CPU Kerne

Ihr könnt festlegen wieviel CPU Kerne Recognize für die Kategorisierung benutzen darf. 0 bedeutet alle Kerne, limitiert die Anzahl der Kerne Falls Euer Server während der Kategorisierung langsam und träge reagiert.

Tensor Betrieb

Der Tensor Flow Betrieb ermöglicht die Berechnungen in Hardware AES. Dazu benötigt Ihr eine CPU welche AES untersützt, oder eine Virtualisierungssoftware wie Proxmox die diese Funktion anbietet. Ist das der Fall, wird im Dashboard angemerkt dass Tensor Flow aktiviert ist:

Tensor Flow aktiviert

Weiter unten habt Ihr noch die GPU unterstützte Kategorisierung, in der Regel haben aber die wenigsten Nutzer eine kompatible Grafikkarte welche im Bereich von mehreren tausend Euro liegt.

Weitere Befehle im Server-Terminal

Ihr könnt mit weiteren Befehlen alle Klassifizierungen löschen, neustarten oder zurücksetzen. Ihr müsst dazu in euerem Nextcloud Ordner Befehle mit folgendem Syntax ausführen:

sudo -u www-data php8.1 ./occ BEFEHL

Schauen wir uns die Liste an

Um alle Modelle vor der Ausführung der Klassifizierungs-Aufgaben herunterzuladen, führt den folgenden Befehl im Server-Terminal aus:

occ recognize:download-models

Mit dem folgenden Befehl lässt sich eine vollständige Klassifizierung auslösen. (Die Klassifizierung wird in mehreren parallel laufenden Hintergrundjobs ausgeführt).

occ recognize:recrawl

Um einen vollständigen Klassifizierungslauf im Terminal auszuführen, führt folgendes aus (Die Klassifizierung wird in deinem Terminal nacheinander ausgeführt.).

occ recognize:classify

Bevor Ihr eine vollständige anfängliche Klassifizierung auf der Kommandozeile ausführst, solltet Ihr, um Probleme zu vermeiden, alle Hintergrundverarbeitungen stoppen, die bei der Installation als geplant erkannt wurden.

occ recognize:clear-background-jobs

Führt Folgendes aus, um einen Gesichter-Clustering-Lauf für jeden Benutzer im Terminal auszuführen (Das Clustering wird in deinem Terminal nacheinander ausgeführt.).

occ recognize:cluster-faces

Um alle Gesichtscluster zu entfernen, aber die Rohdaten der erkannten Gesichter beizubehalten, führt Folgendes im Terminal aus:

occ recognize:reset-face-clusters

Um alle erkannten Gesichter und Gesichtscluster zu entfernen, führt Folgendes im Terminal aus:

occ recognize:reset-faces

Mit dem folgenden Befehl könnt Ihr die Tags aller Dateien zurücksetzen, die zuvor von der App Recognize klassifiziert wurden:

occ recognize:reset-tags

Mit dem folgenden Befehl könnt Ihr alle Tags löschen, denen keine Dateien mehr zugeordnet sind:

occ recognize:cleanup-tags

Führt folgendes im Terminal aus, um Schlagwörter zu entfernen, die von der Reconize Version 2 für alle Dateien erstellt wurden:

occ recognize:remove-legacy-tags

Die Bedienung habt Ihr nun auch kennen gelernt. Die Resultate könnt Ihr nach einer weile in der Foto App von Nextcloud begutachten. Bitte beachtet dass die Erkennung nicht immer zu 100% korrekt ist. Es ist möglich, dass 1 Person als 2 Personen erkannt wird oder dass ein Gesicht garnicht klassifiziert werden kann. Korrigiert diese Fehler indem Ihr in der Foto App auf ein erkanntes Gesicht geht, und dies mit dem selben Gesicht, welches als ein anderes erkannt wurde, zusammenfügt.

Habt Ihr Fragen zum Artikel Nextcloud 27 Recognize App installieren ? Schreibt sie in die Kommentare!

Ähnliche Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert