AIDE pour projet de camera pour les champs et les prés

Bonjour à tous, bien que n’étant pas un nOOb total, je suis bien arriéré désormais dans ce domaine que j’ai délaissé trop longtemps. (j’ai 50 ans)
Ayant commencé sur ZX81 Sinclair et autres Oric 1 ou Atmos (j’en vois qui rigolent, oui je date de la préhistoire informatique! :wink: ), aujourd’hui je me tourne vers la communauté pour me faire aider.

La plus grande part d’entre vous n’ignore pas les problèmes liés aux mutilations de chevaux (et aussi de vaches) que se passent en ce moment. Comme d’autres je me suis tourné vers les caméras de chasse à vision nocturne, mais force est de constater que c’est pas terrible, loin s’en faut!

Du coup je vous sollicite pour m’aider à concevoir une caméra de surveillance et d’alerte, à base de Raspberry PI (Pi Zéro?) pouvant utiliser une optique de qualité jour/IR (comme la HQ avec lentille grand angle), avec détection et pouvant envoyer une info via SMS ou SMTP à l’instar des caméras de chasse 4G.
J’ai déjà parcouru ce qui existe sur certains websites PI, tout semble disponible, la programmation est mon plus gros handicap avec le temps, car si je peux télécharger des codes déjà faits, je ne me sens pas capable (actuellement) de recompiler toutes ces données diverses pour mettre tout ça au point tout seul.

Merci de bien vouloir m’aider.

Cordialement,

Christophe

Si je ne suis pas sur le bon topic, merci aux admins de me déplacer.

Hello,

@Nabla est l’homme qu’il te faut.

Mais sache que ton projet est largement faisable.

hello,

il existe un logiciel open source qui pourrait faire le job: c’est motion sur cette page ( https://trevilly.com/installation-de-motioneye-sur-raspbian-buster-videosurveillance/) un tuto qui semble complet avec un lien vers une autre où est indiquer la manière de paramétrer l’envoi de SMS, la détection de mouvement,etc.
bien sur il existe d’autres tutoriels…
pour la prise de vue nocturne ( problème d’éclairage IR ) des infos là : https://www.axis.com/files/whitepaper/wp_ir_in_surveillance_72228_fr_1807_lo.pdf

Et pour finir un peu de philo: https://dicocitations.lemonde.fr/citation_auteur_ajout/54351.php

Merci pour ces premiers retours, je vais contacter Nabla en MP.
Ceux qui ont de bonnes idées, n’hésitez pas.

BOF, tu as raison, la jeunesse c’est dans la tête! Mais je sprint quand même moins vite qu’avant! :smiley:

Yo,

On m’a sifflé ?
Merci @Gpapig

Bon, pour l’âge, on va rire.
Je suis vachement plus jeune que @Corsaire29 ; j’ai 15 ans (bon, 15 ans 3 fois dans la réalité)

En simplifiant,
Je sais utiliser MotionEye pour faire de la vidéosurveillance et recevoir un SMS.
Mais je passe par une API de chez Free car je dispose d’un forfait FreeMobile pour mon téléphone.

J’ai fait de la prise de photos en nocturne avec le module 5mpx en version IR et un RpiZero (je surveillais des oiseaux sauvages) et la qualité était OK, mais j’était en proximité forte.
Dans ton cas, ça semble insuffisant.

++

Je pense que pour commencer nous devons déterminer les besoins.

  • Un capteur Jour/IR de qualité ou deux capteurs différents se relayant, je penche pour la nouvelle caméra HQ dont on peut retirer le filtre IR
  • Des leds IR : on trouve aussi facilement des solutions en 12v, comment les interconnecter pour le déclenchement?
  • Une lentille grand angle pour capter un max de choses, c’est de la surveillance…
  • Un détecteur de mouvement? Il me semble que l’on peut laisser cela au capteur image par modification des pixels, mais est ce assez fiable, j’ai souvenir que oui quand j’opérais un système de vidéosurveillance… Le détecteur de mouvement est limité en distance.
  • Une carte RpiZéro pour une taille contenue et permettre une dissimulation aisée du dispositif mais il faut un adaptateur pour la caméra.
  • Une batterie capable de tenir plusieurs jours plus une 12v si projecteur IR déporté.
  • Un boitier étanche, il en existe un à moins de 7€ en ABS gris (à repeindre) avec support Rpi dedans.
  • Une carte com 4G acceptant une carte SIM avec une antenne, j’ai trouvé la Waveshare 4G/3G/2G/GSM/GPRS/GNSS Hat for Raspberry Pi Zero W WH 2B 3B 3B+ voici le lien :
    https://www.amazon.fr/Waveshare-4G-Raspberry-SIM7600E-H-Supports/dp/B07F1NSGQ8?ref_=ast_sto_dp
    Elle semble aussi faire le positionnement… (si on me la vole???) :confused:

Je pense avoir fait le tour des besoins, certains éléments ne sont pas donnés, mais une caméra achetée dans le commerce non plus, leur problème étant la qualité d’image nocturne.

Si vous voyez autre chose?
Pensez vous faisable ce projet?

Je vois un petit problème:
les caméras utilisent un filtre infrarouge (un bour de plastique à décoller, si j’ai bien compris) pour avoir de belles images de jour . si on veut voir quelque chose la nuit (sans être vu), on décolle -et c’est une opération quasiment irréversible- le filtre IR https://www.framboise314.fr/camera-12-megapixels-a-objectif-cs-pour-le-raspberry-pi/

Ceci implique, si vous voulez « voir » aussi bien de jour que de nuit, d’avoir … deux cameras (et pour des raisons de prises, 2 RPi : un malheur n’arrive pas seul).

En plus je n’ai pas compris comment fonctionne le détecteur de mouvement (ou plutôt, ce qu’il doit faire) :

  • doit il détecter les vaches et les chevaux quand ils bougent?

  • doit il detecter le mouvement des branches et des brins d’herbe (voire des nuages) quand il y a du vent?

  • doit il détecter la secte des mutilateurs?

J’ai pensé à cette histoire de filtre, je ne crois pas que cela soit un problème, les infra-rouges existent de jour comme de nuit et les deux systèmes de vidéosurveillance que j’ai eu à piloter utilisaient des caméras faisant les deux. Les infra-rouges sont intéressants la nuit car invisibles à l’œil humain non aidé et il en est de même pour les chevaux et vaches, qu’il ne s’agit pas de perturber. Cela reste des proies qui peuvent avoir des réactions de fuite en entraînant tout sur leur passage. L’utilisation des caméras de chasse a confirmé l’absence de vision IR et donc de réaction non souhaitée lors du déclanchement des flashes IR en phase de test.

Le but est de détecter une activité anormale, sur les accès, pour anticiper un souci. Cela n’est malheureusement pas valable en « open field », chaque chose a ses limites, là il faut une surveillance constante… et des moyens hors de portée.

Yo,

En vrac, en passant en coup de vent,

J’ai des Cam IP de base (très basse résolution) que j’utilise avec MotionEye (elles servent juste à balancer le flux vidéo)
Images OK en jour (couleurs assez normales); images en noir et blanc de nuit mais on voit bien car les LED IR font office d’éclairage.

J’ai une caméra NoIR pour le Rpi et le jour, les images sont « rosées ».
Mais la qualité est meilleure.
La « rositude » ne parait pas être un vrai problème.

La détection que j’utilise est la modif d’image de MotionEye MAIS et le mais est GRAND), c’est dans une maison avec tout de fermé donc le gars (ou la fille) qui entrerait déclencherait la modif d’image par effet de lumière (si en plein jour) ou par effet de déplacement.
En extérieur, c’est plus compliqué …
Tout bouge tout le temps, ne serait-ce que les effets de lumière lié aux nuages.

On peut imaginer de faire une photo toutes les 10 secondes et de l’envoyer sur un serveur afin de les voir (tout en conservant les images sur le serveur pour preuve/sécurité durant 1 semaine).
Je peux refaire ça en bash sur un Rpi Zéro je pense ; je l’ai fait dans le temps.
(on peut même incruster des annotations sur l’image)

Toi, tu es sur ton PC/tél et tu vois en direct une page web qui a un auto-refresh toutes les 10 secondes pour toujours voir la dernière image

D’après mes connaissance, on ne peut pas ouvrir les ports les ports en connexion 4G donc pas d’accès au système de vidéo-surveillance (sauf si les opérateurs ont changé leurs politiques récemment).

++

Je suppose que les vaches et les chevaux, avant d’être mutilés, se débattent s’ils sont dérangés, voire poussent des cris d’orfraie.
Avez vous pensé à équiper les vaches de cloches, et les vaches et les chevaux de micros+accéleromètres+radios+ arduini+batteries (le Rpi ayant aussi une radio et recevant les données de micro+accelero )? C’est beaucoup plus compliqué comme logiciel, mais permettrait de detecter une activité anormale de votre troupeau (velage; envie d’evasion) outre la secte des mutilateurs.

@dbrion06 : On ne peut pas tout surveiller comme ça, d’autant que les animaux bougent la nuit, ce sont des proies en alerte. Beaucoup d’animaux sauvages traversent les prairies et effraient parfois les animaux suffisamment pour qu’ils rompent les clôtures.
Je n’ai que des chevaux. Les chevaux se laissent assez facilement approcher par l’homme, ils sont habitués, une vache c’est plus dangereux. De plus les animaux mutilés ont été immobilisés, pour la plus part, laissant supposer que certaines personnes impliquées connaissent le fonctionnement d’un cheval.

Concernant mes amis agriculteurs, ils savent quand il va y avoir vêlage, c’est bien maîtrisé, aucun besoin d’appareillage autre que les aides pour les bêtes en cas de difficulté, c’est le rôle du véto.
Par contre c’est une idée pour les éleveurs d’ovins en montagne avec les loups.

Je reste sur mon idée qui a conduit notre communauté à se doter de caméras de chasse mais qui nous ont déçues par leur médiocre qualité.

@Nabla : merci pour ces infos. Les vidéosurveillances que j’ai connues ne posaient pas de souci la nuit en extérieur en détection par modification d’image, la sensibilité était réglable.
Concernant la lumière rosée, cela n’est pas un souci.

J’ai commencé à commander des pièces basiques (boitier, batterie…) je commanderai les pièces importantes que les besoins réels seront définis. J’ai écarté la Rpi4 car la carte HAT 4G n’est pas encore déclarée compatible, donc si je l’achète, cela pourra poser problème.

Bon, si les animaux bougent la nuit (et que des animaux sauvages traversent les prairies) , ça va générer du bruit et des accelerations, mais aussi modifier pas mal de pixels…
Se baser sur des images uniquement , sans distinction entre « mouvements toleres » (ex : des arbres ou des brins d’herbe sous l’effet du vent; des vaches ou des chevaux) et mouvements intolerables (un bonhomme; un loup) ménera à des fausses alertes en pagaille.

On peut avec motioneyes fixer des zones où on ne cherche pas à detecter de mouvement (ex : le ciel, avec des nuages n’est pas interessant).

Je ne sais si motioneyes peut donner, pour chaque pixel -votre camera est fixe-, l’amplitude des variations tolerées (opencv peut le faire depuis les années 2000, mais implique de savoir programmer en python - ou C++ ou java-). Ceci permettrait de filtrer les mouvements de feuilles, branches ou brins d’herbe dûes au vent.

Par contre, des zones non fixes (par exemple, une vache peut choisir de ne pas dormir au même endroit: souvent, c’est plus gros qu’un être humain) sont très difficiles à gérer (yolo, géré partiellement par opencv, qui est un bon detecteur d’objets divers -dont des animaux, des bonshommes, des voitures -, met 1 minute par image pour detecter sur RPI3 … et est difficile à -re-entraîner )

Quelle que soit la configuration, vous vous acheminez vers pas mal de fausses alertes avec les techniques actuelles sous RPi.

A noter que l’emploi d’acceleromètres et de micros n’est pas une boutade:

déjà, ça limite le nombre de fausses alertes si on fait une alerte si
a) la camera detecte un mouvement suspect
ET
b) les micros et acceleromètres détectent une agitation suspecte et bruyante.

(l’emploi d’acceleromètres a été utilisé, avec un GPS, sur des pumas dans les rocheuses -savoir si et où ils dorment-. L’emploi de thermomètres, d’acceleromètres et de radio -localisation par goniomètrie- a été utilisé pour l’elevage extensif de vaches au Kenya (savoir si elles sont malades -ont de la fièvre; sont agitées- et dans quelle direction les chercher , ce eventuellemen hors couverture GPS)

Petite idée en passant, pourquoi ne pas intégrer des capteurs infrarouges?
Je ne me rend pas compte de la surface/distance de ce que tu souhaites surveiller mais peut-être que en placant stratégiquement les capteurs et les caméras tu arriverais à un résultat correcte.

Des capteurs PIR (c’est leur petit nom) sont dispo un peu partout et surtout ils ne coutent pas grande chose.

1 J'aime

Il y a un petit problème avec les capteurs IR de grande longueur d’onde/ thermique (opposé à l’IR proche de la lumière qui sort d’un projecteur et sert à la vision nocturne des cameras): ils determinent si une zone est anormalement chaude ou change anormalement de température (et leur sortie est seuillée, en tout ou rien IIRC https://www.amazon.fr/Détecteur-mouvement-Détection-humains-présence/dp/B01F1P266Y).
comme les vaches et les chevaux sont nus, ils peuvent emettre davantage d’IR thermique qu’un mutilateur de bêtes (je suppose qu’il est habillé et masqué). Si, en plus, les bêtes sont libres d’aller où elles veulent ou de reemuer dans leur sommeil, une zone à proteger sera difficile/impossible à delimiter.

un vieux réflexe de analyste/programmeur m’a amené à la réflexion suivante :

quel est le but rechercher:
. filmer les animaux entrain de se faire torturer ou prévenir l’intrusion

on est d’accord c’est prévenir l’intrusion… donc en fonction de l’endroit où se trouve les animaux ciblés par ces malades on doit pouvoir déterminer des chemins d’accès ( d’abord des véhicules puis plus près des piétons )

donc sur ces différents points d’accès on imagine des barrières ( électronique : laser, ir, détection mouvement vidéo, pression, etc.)
le but de ces barrières étant de déclencher un capture video ; et c’est la ou ça se complique…

Il est possible avec un logiciel adhoc (opencv) de repérer si, sur la photo transmise par la caméra a un poste dédié à ce programme, s’il s’agit d’un véhicule ( éventuellement de repérer sa plaque ) ou d’un piéton.

on peut alors envisager que la nuit un véhicule avec une plaque inconnue ou un piéton se promenant la nuit peut être une intrusion.

la question qui reste c’est qu"est qu’on fait ? qui se charge du problème ? le délai de réaction est-il suffisant pour empêcher/limiter l’agression…

source :
opencv : https://opencv.org/
https://pymotion.com/lecture-plaques-dimmatriculation/
https://www.youtube.com/watch?v=MkcUgPhOlP8

1 J'aime

@bof :
l’article en français sur opencv + tesseract est très bien.
J’aurais rajouté à vos liens le site https://www.learnopencv.com/
tenu par un des chefs de projets d’opencv, offrant des programmes commentés et documentés pour (essentiellement, mais pas tout) opencv , avec des niveaux de complexité variés (du traitement d’image basique aux réseaux de neurones fort complexes - tesseract fonctionne maintenant avec un réseau de neurones). Ce site est moins ardu que la doc d’ocv, et offre
a) des bouts de code écrits en C++ et python pour la même fonction (m’a appris python) (souvent)
b) un moteur de recherche dans les articles
.c) des comparaisons entre divers algorithmes, sur des bases de données et du matériel (des gros PC…) fixés.

Normalement, l’évolution du matériel, tant en prix qu’en performances, permet d’espèrer que ces techniques de traitement, voire de reconnaissance d’images pourront « fonctionner » sur des successeurs de RPi (il y a déjà des bouts assez jolis qui fonctionnent à peu près: yolo prend son temps pour detecter, mais se trompe rarement; on peut re-entraîner un reseau de neurones avec une RPi3 en … une semaine -avec des fermes à GPU, ça prend des heures, et souvent, il faut payer ces heures).

A noter que, malgré toutes les critiques que j’ai pu faire, un ensemble camera (+ éventuellement détecteurs autres) peut s’installer progressivement et que la secte des mutilateurs de chevaux cessera vraisemblablement de sévir avec l’arrivée du mauvais temps et du froid, au moins jusqu’à l’été prochain, laissant le temps de choisir et de faire des essais.

il y a aussi cette clé usb avec un vpu (https://software.intel.com/content/www/us/en/develop/articles/raspberry-pi-4-and-intel-neural-compute-stick-2-setup.html)
video : http://raspberrypi4u.blogspot.com/2019/07/car-detection-with-raspberry-pi-4-intel.html

big brother is watching us :wink:

1 J'aime

Oh, on en en train d’assister à une proliferation de periferiques capables de faire tourner des réseaux de neurones, plutôt en mode detection (inference: ) qu’en mode -re-entraînement (ce dernier implique de calculer des milliers -cas du réentraînement- ou des millions -cas de l’entraînement- de paramètres sur des bases de données comptant des myriades d’images, que l’on peut torturer à volonté -les bruiter, les deformer aleatoirement, les tourner, entre autres…-)
µIl y a aussi un autre mode, que j’appelle « chausse pieds », qui consiste à convertir un reseau de neurones entraîne par vos soins ou fourni par des zoos dédiés (https://www.kaggle.com/ n’est pas mal comme zoo: offre des cours en video omericoine, des scripts d’entrainement, des bases de milliers d’images, des reseaux préentraînés). comme des réseaux de neurones sont calculés en flottants 32 bits, certains peuvent être très contents d’avoir des poids en entiers 8 bits , ou en « flottants » 16 bits… Opencv peut assumer une partie de ces conversions de format.

Les plus petits reseaux de neurones pour l’imagerie tournent/tourneront en inference sous maixduino https://projetsdiy.fr/nouvelle-carte-developpement-seeedstudio-sipeed-maixduino-format-arduinoesp32-avec-unite-traitement-ai-vision-audio/ (une carte avec un EPS32, un RISCV agrémenté d’une couche de convolution; livré souvent avec une camera).elektor donne un exemple d’entraînement+ conversion de format+ mise dans le maixduino.
Le jetsonnano a au moins les mêmes capacité d’entraînement/reentrainement que le RPi3 -ça prend des jours…- (comme c’est un 64 bits, certains processes de compilation peuvent aller jusqu’au bout, pas sous RµPIOS 32…), et ses GPU peuvent accélérer significativement les temps de reconnaissance -inference-. Il est un peu plus cher , et beaucoup plus gourmand en electricité que l’intelneuralcomputestick.

Pour la necessité de reentraîner (ou de jeter) : https://www.learnopencv.com/cnn-fully-convolutional-image-classification-with-tensorflow/ donne un reseau de neurones qui "tourne " bien en inference sur RPi4 -une minute-, mais est un peu bizarre.:
https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.gettyimages.ae%2Fdetail%2Fnews-photo%2Fnewlyweds-iraqi-kurds-salar-chomany-and-soma-mohammed-pet-a-news-photo%2F1227890843&psig=AOvVaw1KEzlb7FBtiSCNn66_n_5T&ust=1601025484817000&source=images&cd=vfe&ved=2ahUKEwjizNTruoHsAhXEgHMKHd-cDzEQr4kDegUIARCiAQ est une photo du marriage d’un guide de montagne kurde du Bashur avec une instit amatrice de randonnée : seule un être humain (d’accord, les tourtereaux sont en gilet jaune…) est détecté -Ms Soma Mohamad est vue de tros loin;
le cheval est vu … comme un gros chien (un Saint Bernard ou un berger des Pyrenees; je ne me souviens pas du type).
Ce topic de learnopencv a fait bien rire mes copains (avec des images liées à l’histoire kurde). En fait, la base de données qui a servi à entraîner est gigantesque, mais toutes les mémés americaines aiment poster des photos de leurs chiens de race… qui se retrouvent pour entraîner le reseau de neurones prêt à l’emploi (au moins un emploi hilarant et ludique).
Yolo est plus serieux… mais plus lent…

Quant à la reconnaissance de plaques d’immatriculation:

le lien que vous donnez est excellent, cependant, il ne peut fonctionner que pour des voitures sombres et horizontales (la plaque d’immatriculation est detectée par un detecteur de contours faisant l’hypothèse que la voiture est plus sombre que la plaque). EAST fonctionne bien, mais lentement sur RPi3 -je parie qu’il en est de même sous Pi4- https://www.learnopencv.com/deep-learning-based-text-detection-using-opencv-c-python/ et peut detecter du texte en bias (des mutilateurs de chevaux peuvent garer leur voiture de travers) , quelle que soit la couleur de la voiture. Tesseract fonctionne très bien avec du texte en français (il n’y a que le kurde que tesseract ne supporte pas -retiré des dépôts debian- , du fait d’un mélange, lors de l’entraînement, entre le kurmanji -alphabet latin, inspiré de l’alphabet d’un ethylojacobin et considérablemen amélioré par les frères BadirXan - et le sorani -alphabet arabopersique, avce consonnes et voyelles supplémentaires-.

C’est pour ça que je conseille, si onveut se lancer dans la reconnaissance d’image, de prendre le temps -et ça peut faire baisser les prix, faire debugguer les maixduini, trier dans les réseaux de neurones préentraînés…-

Bonsoir, j’y ai pensé mais les distances peuvent être grandes.

Merci à tous, j’ai vraiment eu beaucoup à lire!

Tout est intéressant et mériterai d’être approfondi.
Néanmoins, je dois me concentrer sur quelque chose d’assez simple à mettre en œuvre.
En effet, il ne s’agit pas que de moi et mes chevaux.
Je souhaite mettre en œuvre une chose utile au plus grand nombre et donc être assez polyvalent et simple.
On allume, ça fonctionne et c’est pas trop cher pour qu’un max de propriétaires et/ou éleveurs puissent s’équiper.
Le but n’est pas de dissuader, cela ne fonctionnera pas, ni d’empêcher, c’est peu probable.
Le mieux et de pouvoir identifier, avoir des éléments de justice et si on peut avoir la chance d’alerter suffisamment tôt (grâce à l’alerte SMS par exemple) faire intervenir la maréchaussée pour interrompre l’attaque, voire, les appréhender.
Le pire dans cette histoire et qu’il semble qu’un certain nombre de « copy cats » soient à l’œuvre désormais… problème de la médiatisation à outrance de notre société.

J’ai reçu les premiers éléments, je récupère mes cartes Pi la semaine prochaine.