Table des matières:
- Fournitures
- Étape 1: Étape 1: Décapiter
- Étape 2: Étape 2: Ajouter Smart
- Étape 3: Étape 3: Remplissez-la
- Étape 4: Étape 4: Configurer le Pi
- Étape 5: Étape 5: Déplacer la tête
- Étape 6: Étape 6: Faire Hoot
- Étape 7: Étape 7: Diffusez la vidéo à partir du Pi
- Étape 8: Étape 8: Détection du corps
- Étape 9: Étape 9: Envoi de notifications de zombies
- Étape 10: Quelle huée
Vidéo: Zombie Detecting Smart Security Owl (Deep Learning): 10 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
Salut à tous, bienvenue sur T3chFlicks ! Dans ce didacticiel d'Halloween, nous allons vous montrer comment nous avons donné une touche effrayante à un classique de la maison: la caméra de sécurité.
Comment?! Nous avons créé un hibou à vision nocturne qui utilise le traitement d'images pour suivre les gens. Oh, et ça hulule, tout comme la vraie chose !
Nous avons été très enthousiasmés par ce projet et nous attendons de le faire depuis la sortie du nouveau Raspberry Pi 4. Il est doté de 4 Go de RAM, ce qui ouvre la porte à de nombreuses possibilités vraiment passionnantes, notamment le traitement d'images avec des modèles d'apprentissage en profondeur en temps réel.
Si vous voulez garder un œil sur les zombies qui approchent à Halloween, ou simplement vérifier votre jardin le reste de l'année, c'est celui qu'il vous faut. La sécurité n'a pas besoin d'être ennuyeuse pour être efficace !
Fournitures
Pour cette construction, vous aurez besoin de:
- Raspberry Pi 4 (4 Go de RAM) Amazon
- Caméra de vision nocturne Amazon
- Micro Servo Amazon
- Faux Hibou Amazone
- Colle Amazone
- Peinture Amazone
- Vis Amazon
- Haut-parleur USB Amazon
- Grande alimentation portable (5v+) Amazon
- Imprimante 3D Amazon
Étape 1: Étape 1: Décapiter
une. Tirez la tête de la chouette (il suffit parfois d'être brutal) en tirant fort sur sa tête où elle s'attache au ressort.
b. La tête du hibou se connecte au corps par un cylindre qui repose sur un grand ressort. Retirez ce cylindre en enlevant la vis.
c. Le cylindre que vous venez de retirer est composé de deux parties, une coupelle en plastique et un roulement qui se trouve à l'intérieur. Retirez le roulement du cylindre à l'aide d'un tournevis (ou d'un outil similaire).
ré. A l'aide de la vis qui reliait le cylindre au ressort, fixez le servo au cylindre.
e. Retirez le ressort en dévissant les trois vis qui le fixent au corps.
F. Faites un trou dans le haut du corps du hibou qui est assez grand pour contenir des fils et le câble de la caméra. Pour ce faire, nous avons utilisé une combinaison inélégante d'une perceuse et d'un tournevis.
Étape 2: Étape 2: Ajouter Smart
une. Imprimez en 3D le boîtier de l'appareil photo et peignez-le pour qu'il corresponde au hibou - nous avons utilisé des peintures acryliques bon marché. La peinture n'est pas une étape vitale, mais elle améliore considérablement l'apparence générale !
b. Avec la tête du hibou à l'envers, vissez le haut du boîtier de l'appareil photo à l'intérieur de sa tête, là où le bec dépasse.
c. Mettez l'appareil photo dans le boîtier et connectez le câble de l'appareil photo.
ré. Collez le servo sur le panneau supérieur du ressort.
e. Connectez les fils longs aux broches du servo (5V, Gnd, signal)
F. Faites passer le câble de la caméra et les fils du servo à travers le ressort et à travers le trou que vous avez fait dans le haut du corps afin qu'ils soient à l'intérieur du corps creux du hibou.
Étape 3: Étape 3: Remplissez-la
une. Retirez le bouchon du bas de la chouette et augmentez la taille de ce trou en coupant le plastique. Continuez à augmenter la taille jusqu'à ce que le Raspberry Pi et le haut-parleur puissent s'insérer dans le corps du hibou.
b. Une fois que le trou est suffisamment grand pour que tous les composants s'insèrent à l'intérieur, tirez le câble de la caméra que vous avez fait passer par le haut du hibou hors de la base et branchez-le sur le Raspberry Pi.
c. De même, tirez les fils du servo et branchez-les sur le Raspberry Pi:
- +5v sur servo => +5V sur Pi
- Gnd servo => masse Pi
- Signal servo => broche 12 Pi
ré. Branchez le haut-parleur USB sur le Pi.
e. Insérez la carte SD dans le Pi.
F. Power Pi à l'aide d'une alimentation portable.
g. Insérez le Pi, l'alimentation et le haut-parleur dans le hibou à travers le trou de la base.
Étape 4: Étape 4: Configurer le Pi
TOUT LE CODE PEUT ÊTRE TROUVÉ SUR https://github.com/sk-t3ch/cctv-owl !
une. Téléchargez Raspian et téléchargez-le sur votre carte SD à l'aide de Balena Etcher.
b. Pour accéder à votre pi à distance
- Ajoutez un fichier appelé ssh à votre carte SD de démarrage
-
Ajoutez un fichier appelé wpa_supplicant.conf et placez vos identifiants wifi dans
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1
réseau={ ssid="MySSID" psk="MyPassword" }
c. Insérez la carte SD dans le pi et essayez un accès via ssh.
Étape 5: Étape 5: Déplacer la tête
Tutoriel de code pour déplacer la tête (contrôler un servo avec un raspberry pi)
Pour contrôler un servo fonctionnant sur le Pi, nous allons créer un script qui contrôle les broches GPIO auxquelles le servo est connecté.
une. Connectez le servo au Pi:
- +5v sur servo => +5V sur Pi
- Gnd servo => gnd sur Pi
- Signal servo => broche 12 sur Pi
b. Vous devez d'abord configurer les broches gpio pour utiliser PWM sur la broche de signal du servo.
c. Ensuite, il suffit de sélectionner le cycle d'utilisation (expliqué ici) de la broche de signal pour déplacer le servo de 90 degrés avec un cycle d'utilisation de 7,5 à 0 degrés lorsque le cycle d'utilisation est de 2,5 et à 180 degrés avec un cycle d'utilisation de 12,5
importer RPi. GPIO en tant que GPIO
heure d'importation GPIO.setmode(GPIO. BOARD) GPIO.setwarnings(False) GPIO.setup(12, GPIO. OUT) p = GPIO. PWM(12, 50) p.start(7.5) try: while True: p. ChangeDutyCycle (7.5) # 90 degrés time.sleep(1) p. ChangeDutyCycle(2.5) # 0 degrés time.sleep(1) p. ChangeDutyCycle(12.5) # 180 degrés time.sleep(1) sauf KeyboardInterrupt: p.stop() GPIO.cleanup()
Étape 6: Étape 6: Faire Hoot
Tutoriel de code pour faire hurler le hibou (lecture audio avec un raspberry pi)
une. Branchez le haut-parleur USB.
b. Téléchargez un son - nous avons choisi une huée effrayante.
c. Jouez le son en exécutant cette commande: omxplayer -o alsa:hw:1, 0 owl_sound.mp3
[ré. Si cela ne fonctionne pas, vérifiez quelle sortie votre Pi utilise et à quel volume en utilisant la commande alsamixer - vous serez accueilli avec l'écran de mixage où vous pouvez modifier le volume et sélectionner votre périphérique multimédia. Pour augmenter le volume de votre son, exécutez la commande comme celle-ci omxplayer -o alsa:hw:1, 0 owl_sound.mp3 --vol 500 Pour jouer ce son en utilisant Python, jetez un œil à notre script de test.]
sous-processus d'importation
command = "omxplayer -o alsa:hw:1, 0 owl_sound.mp3 --vol 500" player = subprocess. Popen(command.split(' '), stdin=subprocess. PIPE, stdout=subprocess. PIPE, stderr=subprocess. TUYAU)
Étape 7: Étape 7: Diffusez la vidéo à partir du Pi
Tutoriel de code créant un flux de caméra raspberry pi
une. Exécutez python app.py et affichez-le sur votre réseau local à l'adresse
b. Ce code a été repris et légèrement adapté de Miguel Grinberg https://blog.miguelgrinberg.com/post/flask-video-… il explique bien comment c'est fait et ses tutoriels sont géniaux - deffo, regardez-le ! Le concept de base est que nous utilisons des threads et des générateurs pour améliorer la vitesse de streaming.
Étape 8: Étape 8: Détection du corps
Code pour la détection du corps (ImageNetSSD sur un flux vidéo avec raspberry pi)
une. Étant donné que nous utilisons le Raspberry Pi 4, nous avons pensé qu'il était préférable d'essayer des modèles d'apprentissage en profondeur dessus au lieu de la méthode de base HaarCascade à laquelle nous nous sommes limités jusqu'à présent.
b. Nous avons jeté un coup d'œil à certains des modèles pré-entraînés, comme YOLOv3 qui a l'air super cool. Des poids minuscules YOLOv3, ce qui aurait été parfait pour le Pi, mais nous n'avons pas pu le faire fonctionner:(c. Au lieu de cela, nous avons opté pour le modèle MobileSSD que nous pouvons exécuter à l'aide du module openCVs DNN (deep neural net), comme nous l'avons appris de ce code: https://heartbeat.fritz.ai/real-time-object-detection-on-raspberry -pi-using-opencv-dnn-98827255fa60 et du héros des tutoriels de traitement d'images, Adrian Rosebrock: https://www.pyimagesearch.com/2017/09/11/object-detection-with-deep-learning-and- opencv/
ré. Cependant, comme nous essayons de diffuser ce contenu et d'exécuter des modèles sur chaque image, cela se traduit par une vidéo lente et fragmentée. Nous avons encore appris d'Adrian Rosebrock https://www.pyimagesearch.com/2017/10/16/raspberry-pi-deep-learning-object-detection-with-opencv/ et avons utilisé le module de multitraitement Python pour mettre nos images dans des files d'attente où ils peuvent être traités sans bloquer autant le flux de la caméra.
e. Essayez d'exécuter le code vous-même:)
Étape 9: Étape 9: Envoi de notifications de zombies
Code pour envoyer une notification (python vers téléphone)
une. Nous avons décidé d'utiliser le service de notification
b. Vous pouvez obtenir un compte gratuit et télécharger l'application et vous configurer très rapidement en créant des notifications mobiles. Nous avons créé les notifications à l'aide d'un script python comme celui-ci.
demandes d'importation
payload = { "app_key": "APP_KEY", "app_secret": "APP_SECRET", "target_type": "app", "content": "Le hibou a détecté un zombie." } r = request.post ("https://api.pushed.co/1/push", data=payload)
C'est super simple et vous pouvez personnaliser le nom de votre notification !
Étape 10: Quelle huée
Nous espérons que vous avez apprécié notre projet Smart Security Owl ! Cela a été très amusant et je me sens beaucoup plus en sécurité en sachant que ma maison est gardée par notre fidèle chouette.
Si vous pensez que ce serait un fabuleux ajout d'Halloween à votre maison intelligente, veuillez voter pour nous dans le concours Instructables Halloween et comme d'habitude, n'oubliez pas d'aimer, de commenter et de vous abonner !
Inscrivez-vous à notre liste de diffusion !
Conseillé:
Shake Detecting Talking Hat avec Circuit Playground Express : 12 étapes (avec photos)
Shake Detecting Talking Hat avec Circuit Playground Express : Ce tutoriel simple et rapide vous apprend à fabriquer un chapeau parlant ! Il répondrait avec une réponse soigneusement traitée lorsque vous «posez» une question, et cela pourrait peut-être vous aider à décider si vous avez des inquiétudes ou des problèmes. Dans mon cours de Wearable Tech, je
Pimp Zombie aux yeux brillants : 5 étapes (avec photos)
Pimp Zombie With Glowing Eyes : Apprenez à ajouter des LED avec un effet yeux brillants à une figurine existante. Dans mon cas, j'ai utilisé une figurine de zombie pour Halloween. C'est assez facile à faire et ne nécessite aucune compétence avancée
Owl Prowl : 5 étapes (avec photos)
Owl Prowl : Owl Prowl est un jeu compétitif à quatre joueurs joué avec des contrôleurs alternatifs. Les quatre joueurs doivent incarner un personnage hibou dans l'espace de jeu. Leur objectif est d'attraper le plus de souris avant la fin du temps imparti. Chaque joueur utilise un hibou en peluche pour contrôler
Easy Crawling Zombie Hand. : 15 étapes (avec photos)
Easy Crawling Zombie Hand.: Cette instruction n'a pas besoin de pistolet de soudage. Les enfants peuvent s'entraîner en toute sécurité pour créer un circuit simple. Mais méfiez-vous des petits objets qui peuvent être avalés par accident. Besoin matériel : - Moteur de vibration (1,5 ~ 3 V, avec fil) - Ruban conducteur (10 mm, Single Side, alun
Cyborg Zombie Evolution : 9 étapes (avec photos)
Cyborg Zombie Evolution : C'est bien connu de l'âge de la vapeur à l'âge du steampunk… qu'il soit cool, effrayant, mignon ou les trois à la fois, donner vie à une créature prend de l'électricité. Dans le cas de ce zombie cyborg en tant que cellule galvanique unique, connu sous le nom de &q