Reconnaissance faciale dans Nextcloud
L’application Face Recognition de Nextcloud a besoin de l’extension PHP pdlib, elle-même basée sur la bibliothèque dlib. Les deux se compilent à la main.
Avant de commencer : un snapshot
La compilation installe pas mal de choses sur le serveur. Mon Nextcloud tourne dans un conteneur LXC sur un volume LVM, je fais donc un snapshot avant de commencer :
lvcreate -s -L 160G -n nextcloud_backup /dev/lxc/nextcloud
En cas de problème, on revient à l’état d’avant avec :
lvconvert --mergesnapshot /dev/lxc/nextcloud_backup
Dépendances
apt update && apt upgrade
apt install wget sudo git make cmake gcc g++
Compiler dlib
cd /root
git clone https://github.com/davisking/dlib.git
cd dlib/dlib
mkdir build
cd build
cmake -DBUILD_SHARED_LIBS=ON ..
make
sudo make install
Compiler l’extension PHP pdlib
cd /root
git clone https://github.com/goodspb/pdlib.git
cd pdlib
phpize
./configure --enable-debug
make
sudo make install
Activez l’extension puis redémarrez PHP-FPM :
echo 'extension="pdlib.so"' > /etc/php/8.2/mods-available/pdlib.ini
phpenmod pdlib
systemctl restart php8.2-fpm
Activer la reconnaissance faciale
Installez l’application Face Recognition depuis l’interface de Nextcloud, puis téléchargez le modèle et lancez l’analyse des photos :
sudo -u www-data php occ face:setup --model 1
sudo -u www-data php occ face:background_job