Problème d'installation avec la mise à jour 20220803

Tu as eu le même type d’erreur que moi :

CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.

Il manque cmake, ce sera ajouté dans une prochaine mise à jour. Il devrait en manquer d’autres, du coup il faut patienter, sinon faire comme moi et identifier petit à petit les modules manquants après chaque échec.

oui, j’ai vu tes remarques… je n’ai pas les connaissances pour faire ça :sweat_smile: .
je vais sagement attendre et essayer de comprendre ce qui est dit :nerd_face:
bravo @mika-nt28 pour le travail!

Ce n’est pas une erreur ça.
Normalement un packet doit installer toutes ses dépendances au autres

par rapport à la version d’avant, l’installation se fait « rapidement »… avec la mise à jour, en 1h30-2h c’est installé (nok) alors qu’avant c’était 10h d’installation des dépendances chez moi. le log faisait au moins 15000 lignes. si ça peut être une piste.

1 « J'aime »

Bonjour
C’est bien le but d’utiliser les package qui normalement sont precompile.

Ce que je ne comprends pas c’est que si les dépendances était déjà installé il y a rien de nouveau.
J’ai enlevé le réinstallé pour ne pas forcer les mise à jour inutile

Finalement ce n’est pas le paquet libblas-dev mais libopenblas-dev.

Il manquait aussi le paquet liblapack-dev :

Lapack (http://www.netlib.org/lapack/) libraries not found

Par contre, impossible d’installer la dernière version de numpy sur les Raspberry :

numpy/core/src/umath/loops_trigonometric.dispatch.c.src:202:20: internal compiler error: in convert_move, at expr.c:218

Le souci semble connu https://github.com/numpy/numpy/issues/21038, problème avec Raspberry, Buster et Python 3.7. De plus, la dernière version de numpy demande Python 3.8 (numpy · PyPI), il faudra se contenter d’une version inférieure à 1.21.5.

Bref, j’ai ajouté le dépôt piwheels à pip qui permet de récupérer les binaires pré-compilées des modules Python sur nos Raspberry (https://www.piwheels.org/) :

cat << '_EOF_' > /etc/pip.conf
[global]
extra-index-url=https://www.piwheels.org/simple/

[install]
constraint=/etc/pip-constraints.txt
_EOF_
echo "numpy<1.21.5; python_version=='3.7'" > /etc/pip-constraints.txt

Installation des dépendances en cours…

question bête… comment tu rajoutes ça? en SSH ou sur un fichier d’installation des dépendances?

as-tu réussi?

Oui en SSH :wink:

J’ai eu d’autres soucis entre temps dans la compilation des dépendances, en voici quelques un :

libf77blas.so.3: cannot open shared file: no such file or directory
et
CMake was unable to find a build program corresponding to "Ninja".

Pour ça, j’ai installé les paquets libatlas-base-dev et ninja-build.

J’ai relancé l’installation à nouveau. Par contre il faut plus que 1Go de RAM ou mettre du swap car chez moi ça plante avec 1Go RAM uniquement.

petit retour d’expérience:
dans « vérification des packages système » j’ai ça:


et surtout:

sur ce site il est préconisé de ne pas installer via les commandes"pip" et « apt-get », mais plutôt avec ce script d’installation (modifié pour avoir la version 4.6.0):

$ wget https://github.com/Qengineering/Install-OpenCV-Raspberry-Pi-32-bits/raw/main/OpenCV-4-6-0.sh
$ sudo chmod 755 ./OpenCV-4-6-0.sh
$ ./OpenCV-4-6-0.sh

l’installation via ce script c’est bien déroulée.
je ne sais pas si c’est compatible avec le plugin?

Ouf après plusieurs jours de tentatives, j’ai réussi à avoir les dépendances à OK.

Je suis resté sur l’installation standard via pip3 tout en ajoutant quelques paquets que j’ai précisé plus haut. J’ai aussi du ajouter le dépôt piwheels car je n’ai pas réussi à installer numpy sur mon Raspberry.

Par contre, prévoir 4Go de swap, sinon ça plante.

Je peux enfin tester le plugin au lieu de compiler :smiley:

1 « J'aime »

Bon je crois que je dois refaire avec l’installation des paquets demandés, je n’ai pas le support de FFMPEG :

FFMPEG is disabled. Required libraries: libavcodec;libavformat;libavutil;libswscale. Missing libraries: libavcodec;libavformat;libavutil;libswscale

Est-ce que tu peux m’envoyer le json
Je le mettrai à jour en rentrant de vacances

Oui je regarderais pour te fournir ça, je finis les tests. Pour l’instant, le démon est OK, je n’ai juste pas de détection. D’ailleurs quelques remarques :

  • Depuis la page « Configuration des Camera », on peut ajouter une caméra mais pas sauvegarder ;
  • Depuis le panel du plugin, si je fais « Tout télécharger », j’ai une archive.tar.gz, or quand je regarde son contenu, c’est le contenu de core/php/ de Jeedom…
    Pourtant, quand je regarde l’URL, j’ai un autre chemin : http://****/core/php/downloadFile.php?pathfile=/data/facerecognition/le_nom_de_camera/
  • Problème de typo: « Apprentissage du vissage » → « Apprentissage du visage », « Importer les photo de visage vissage » → « Importer les photos de visage », « Nombre d’image détécté » → « Nombre d’image détectée », « detection » → « détection », « Taille minimal du visage a la detection » → « Taille minimale du visage à la détection », « Liste des cameras surveillés » → « Liste des caméras surveillées », « Adress de connexion » → « Adresse de connexion », « Configuration des Camera » → « Configuration des caméras », « Demon » → « Démon », « Reconnaissance facial » → « Reconnaissance faciale »…

J’édite mon message précédent. En effet, j’avais eu des soucis lorsque j’avais crée 2 équipements avec le même nom mais des objets différents (ce qui est possible dans Jeedom). Après investigation, j’ai remarqué que le plugin ne gérait pas les objets. En effet lorsque j’enregistre, l’URL d’upload est http://****/plugins/facerecognition/core/ajax/facerecognition.ajax.php?action=UpladeFacePicture&user=NOM_EQUIPEMENT , donc on a un unique dossier NOM_EQUIPEMENT sur le serveur et aucune référence à l’objet.

Partant de ce principe, j’ai testé sans les objets.
Depuis le panel, dans Apprentissage du visage, j’ai tenté de charger une image, j’ai ça dans la requête : http://*****/plugins/facerecognition/core/ajax/facerecognition.ajax.php?action=UpladeFacePicture&user=undefined , pourquoi undefined au lieu du nom de l’équipement ?
Si je charge une image depuis la page de l’équipement, dans Lancer, j’ai bien « Photo correctement importé », le dossier est bien crée avec l’image dedans. Quand je retourne sur la page « Apprentissage du visage » du panel, je vois toutes les images importées quelque soit le visage sélectionné. De plus, les images de prévisualisation sont vide et quand je tente de voir l’URL, ça me donne ce chemin http://*******/core/php/downloadFile.php?pathfile=/var/www/html/plugins/facerecognition/core/ajax/…/…/data/dataset//NOM_EQUIPEMENT/ pour toutes les images. Le téléchargement donne un fichier NOM_EQUIPEMENT impossible à ouvrir.

J’ai activé le mode debug et le visage est bien détecté mais Détection et Dernière entrée sont toujours à vide…

0445|[2022-08-10 15:22:45.195]DEBUG : [NOM_CAMERA] 1  visages ont été détecté.
0446|[2022-08-10 15:22:46.214]DEBUG : [NOM_CAMERA] color=000000 r=0  g=0  b=0
0447|[2022-08-10 15:22:46.216]DEBUG : [NOM_CAMERA][NOM_EQUIPEMENT] Incrémentation du nombre d'image: .1
0448|[2022-08-10 15:22:47.425]DEBUG : [NOM_CAMERA][NOM_EQUIPEMENT] Decrémentation du nombre d'image: .0

Qu’à tu configurer pour la détection.
Je pense que tu as mis un nombre d’images important ou une sensibilité forte

J’ai mis à 1 et sensibilité à la moitié (par défaut). Je vais le descendre au plus petit pour tester :wink:

Ça marche mieux en jouant avec la sensibilité. Par contre j’ai n’ai pas coché « Prendre une video lors de la detection » et il m’enregistre quand même des vidéos mp4. Et sur le serveur ça enregistre bien dans le dossier que j’ai fourni, mais si je tente de le técharger, le chemin est faux

Fichier non trouvé : /var/www/html//data/facerecognition/NOM_CAMERA/NOM_EQUIPEMENT_20220811121957.jpg

Du coup je présume, qu’en utilisant /core/php/downloadFile.php, le chemin choisi doit être dans le dossier /var/www/html/ ?

Ah non, j’ai modifié à /var/www/html/plugins/facerecognition/data/snapshot, je vois bien l’URL à

http://*****/core/php/downloadFile.php?pathfile=%2Fvar%2Fwww%2Fhtml%2Fplugins%2Ffacerecognition%2Fdata%2Fsnapshot%2Fc2m%2FNOM_EQUIPEMENT_20220811124941.jpg

Mais quand je clique dessus, j’ai encore l’erreur :

Fichier non trouvé : /var/www/html//data/facerecognition/NOM_CAMERA/NOM_EQUIPEMENT_20220811124941.jpg

Bon en attendant, je vais utiliser /var/www/html//data/facerecognition

Du coup, comment as-tu réussi à installer les dépendances ? Moi j’ai le « force reinstall » qui refait toute l’installation de opencv… C’est pour essayer de comprendre.
Sinon j’attends la prochaine mise à jour :stuck_out_tongue_winking_eye: