Aperçu

Dans un article précédent, nous avons présenté une procédure pour développer un flux de reconnaissance d’image à l’aide de Node-RED et TensorFlow.js. Maintenant, appliquons ces enseignements de ce que nous avons fait et développons un système d’alerte par e-mail qui utilise une caméra de surveillance avec la reconnaissance d’image. Comme le montre l’image suivante, nous allons créer un flux qui envoie automatiquement une alerte par e-mail lorsqu’une personne suspecte est capturée dans un cadre de caméra de surveillance.

Tensor1

Objectif: Développer le flux

Dans ce flux, l’image de la caméra de surveillance est périodiquement acquise à partir du serveur Web, et l’image est affichée sous le « Image originale » nœud en bas à gauche. Après cela, l’image est reconnue à l’aide du TensorFlow.js nœud. Le résultat de la reconnaissance et l’image avec les résultats de la reconnaissance sont affichés sous déboguer l’onglet et le « Image avec annotation » nœud, respectivement.

Tensor2

Si une personne est détectée par reconnaissance d’image, un e-mail d’alerte avec le fichier image en pièce jointe sera envoyé à l’aide du SendGrid nœud. Comme il est difficile de mettre en place une vraie caméra de surveillance, nous utiliserons un échantillon image envoyée par une caméra de surveillance dans la préfecture de Kanagawa au Japon pour vérifier la quantité d’eau dans la rivière.

Publicité

Nous expliquerons la procédure de création de ce flux dans les sections suivantes. Pour l’environnement Node-RED, utilisez votre PC local, un Raspberry Pi ou un déploiement basé sur le cloud.

Installez les nœuds requis

Cliquez sur le menu hamburger en haut à droite de l’éditeur de flux Node-RED, allez à « Gérer la palette » -> Onglet « Palette » -> « Installer » onglet et installez les nœuds suivants.

Créer un flux d’acquisition de données d’image

Tout d’abord, créez un flux qui acquiert les données binaires d’image du serveur Web. Comme dans le flux ci-dessous, placez un nœud d’injection (le nom sera changé en « Horodatage » lorsqu’il est placé dans l’espace de travail), demande http nœud, et aperçu de l’image et connectez-les avec des fils dans l’interface utilisateur.

Tensor3

Puis double-cliquez sur le demande http node pour modifier les paramètres de propriété du nœud.

Régler demande http paramètres de propriété de nœud

Collez l’URL de l’image de la caméra de surveillance dans l’URL sur l’écran de réglage des propriétés du demande http nœud. (Dans Google Chrome, lorsque vous cliquez avec le bouton droit sur l’image et sélectionnez « Copier l’adresse de l’image » dans le menu, l’URL de l’image est copiée dans le presse-papiers.) Sélectionnez également « Un tampon binaire » comme format de sortie.

Tensor4

Exécutez le flux pour acquérir des données d’image

Clique le Déployer en haut à droite de l’éditeur de flux, puis cliquez sur le bouton injecter le nœud est à gauche. Ensuite, le message est envoyé depuis le injecter nœud au demande http nœud à travers le fil, et l’image est acquise à partir du serveur Web qui fournit l’image de la caméra de surveillance. Après réception des données d’image, un message contenant les données au format binaire est envoyé au aperçu de l’image nœud, et l’image est affichée sous le aperçu de l’image nœud.

Tensor5

Une image de la rivière prise par la caméra de surveillance s’affiche en bas à droite.

Créer un flux pour la reconnaissance d’image des données d’image acquises

Ensuite, créez un flux qui analyse ce qui se trouve dans l’image acquise. Placer un cocossd nœud, un déboguer node (le nom sera changé en msg.payload quand vous le placez), et une seconde aperçu de l’image nœud.

Ensuite, connectez le borne de sortiel sur le côté droit du demande http node et le borne d’entrée sur le côté gauche du cocossd nœud.

Ensuite, connectez le borne de sortie sur le côté droit du cocossd nœud et le nœud de débogage, le borne de sortie sur le côté droit du cocossd node et le borne d’entrée sur le côté gauche du aperçu de l’image nœud avec les fils respectifs.

À travers le fil, les données binaires de l’image de la caméra de surveillance sont envoyées au cocossd nœud, et après que la reconnaissance d’image soit effectuée à l’aide de TensorFlow.js, le nom de l’objet est affiché dans le déboguer et l’image avec le résultat de la reconnaissance d’image s’affiche dans le aperçu de l’image nœud.

Tensor6

le cocossd node est conçu pour stocker le nom de l’objet dans la variable msg.payload, et les données binaires de l’image avec l’annotation dans la variable msg.annotatedInput.

Pour que ce flux fonctionne comme prévu, vous devez double-cliquer sur le bouton aperçu de l’image nœud utilisé pour afficher l’image et modifier les paramètres de propriété du nœud.

Régler aperçu de l’image paramètres de propriété de nœud

Par défaut, le aperçu de l’image Le nœud affiche les données d’image stockées dans la variable msg.payload. Ici, changez cette variable par défaut en msg.annotatedInput.

Tensor7

Régler injecter paramètres de propriété de nœud

Puisque le flux est exécuté régulièrement toutes les minutes, le injecter La propriété du nœud doit être modifiée. dans le Répéter menu déroulant, sélectionnez « intervalle » Et mettre « 1 minute » comme intervalle de temps. De plus, puisque nous voulons démarrer le processus d’exécution périodique immédiatement après avoir appuyé sur la touche Déployer , cochez la case à gauche de «Injecter une fois après 0,1 seconde».

Tensor8

Exécutez le flux pour la reconnaissance d’image

Le processus de flux sera exécuté immédiatement après avoir appuyé sur Déployer bouton. Lorsque la personne (l’auteur) est affichée sur la caméra de surveillance, le résultat de la reconnaissance d’image « la personne » est affiché dans l’onglet de débogage sur la droite. Aussi, sous le aperçu de l’image noeud, vous verrez l’image annotée d’un carré orange.

Tensor9

Créer un flux d’envoi d’un e-mail lorsqu’une personne est prise dans la caméra de surveillance

Enfin, créez un flux pour envoyer l’image annotée par e-mail lorsque le nom de l’objet dans le résultat de la reconnaissance d’image est « la personne ». En tant que nœud suivant de la cocossd nœud, placez un commutateur nœud qui effectue la détermination de la condition, un changement nœud qui attribue des valeurs, et un sendgrid nœud qui envoie un e-mail et connectez chaque nœud avec un fil.

Tensor10

Ensuite, modifiez les paramètres de propriété pour chaque nœud, comme détaillé dans les sections ci-dessous.

Ajuste le commutateur paramètres de propriété de nœud

Définissez la règle pour exécuter le flux suivant uniquement si msg.payload contient la chaîne « la personne »

Pour définir cette règle, saisissez « la personne » dans la chaîne de comparaison pour la condition « == » (sur le côté droit du « Az » Élément UX dans la boîte de dialogue des paramètres de propriété pour le nœud de commutation).

Tensor11

Ajuste le changement paramètres de propriété de nœud

Pour joindre l’image avec annotation à l’e-mail, remplacez les données d’image stockées dans la variable msg.annotatedInput à la variable msg.payload. Tout d’abord, ouvrez le menu déroulant de « Az » sur le côté droit de l’élément UX de « Valeur cible » et sélectionnez «Msg.». Puis entrez « AnnotatedInput » dans la zone de texte à droite.

Tensor12

Si vous oubliez de changer pour «Msg.» dans le menu déroulant qui apparaît lorsque vous cliquez sur «Az», le flux ne fonctionne souvent pas bien, alors vérifiez à nouveau pour être sûr qu’il est réglé sur «Msg.».

Ajuste le sendgrid paramètres de propriété de nœud

Définissez la clé API à partir du Écran de gestion SendGrid. Ensuite, entrez l’adresse e-mail de l’expéditeur et l’adresse e-mail du destinataire.

Tensor13

Enfin, pour voir plus facilement ce que fait chaque nœud, ouvrez les propriétés de nœud de chaque nœud et définissez le nom approprié.

Validez le fonctionnement du flux pour envoyer un email lorsque la caméra de surveillance capture une personne dans le cadre

Lorsqu’une personne est capturée dans l’image de la caméra de surveillance, le résultat de la reconnaissance d’image est affiché dans l’onglet de débogage de la même manière que dans le flux de confirmation précédent et le cadre orange est affiché dans l’image sous le aperçu de l’image nœud de « Image avec annotation ». Vous pouvez voir que la personne est correctement reconnue.

Tensor14

Après cela, si le processus de jugement, le processus de substitution et le processus de transmission par e-mail fonctionnent comme prévu, vous recevrez un e-mail avec le fichier image avec l’annotation attachée à votre smartphone comme suit:

Tensor15

Conclusion

En utilisant le flux créé dans cet article, vous pouvez également créer un système de sécurité simple pour votre propre jardin à l’aide d’une caméra connectée à un Raspberry Pi. À plus grande échelle, la reconnaissance d’image peut également être exécutée sur des données d’image acquises à l’aide de caméras réseau prenant en charge des protocoles tels que ONVIF.

À propos de l’auteur: Kazuhito Yokoi est ingénieur au centre de solutions OSS d’Hitachi, situé à Yokohama, au Japon.

Rate this post
Publicité
Article précédentMusk révèle un dispositif Neuralink fonctionnel chez Pig
Article suivantAnime Limited révèle la date d’octobre 2020 pour Birthday Wonderland, Sword Art Online: Alicization, Turn-A Gundam et plus
Avatar
Violette Laurent est une blogueuse tech nantaise diplômée en communication de masse et douée pour l'écriture. Elle est la rédactrice en chef de fr.techtribune.net. Les sujets de prédilection de Violette sont la technologie et la cryptographie. Elle est également une grande fan d'Anime et de Manga.

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici