Taula de continguts:

Detecció de zombis Mussol de seguretat intel·ligent (aprenentatge profund): 10 passos (amb imatges)
Detecció de zombis Mussol de seguretat intel·ligent (aprenentatge profund): 10 passos (amb imatges)

Vídeo: Detecció de zombis Mussol de seguretat intel·ligent (aprenentatge profund): 10 passos (amb imatges)

Vídeo: Detecció de zombis Mussol de seguretat intel·ligent (aprenentatge profund): 10 passos (amb imatges)
Vídeo: KL24: Zombies [Horror Comedy] by James Lee, Gavin Yap & Shamaine Othman 2024, Desembre
Anonim

Hola a tothom, benvinguts a T3chFlicks! En aquest tutorial de Halloween, us mostrarem com posem un toc fantasmagòric a un clàssic mundà de la llar: la càmera de seguretat.

Com ?! Hem creat un mussol de visió nocturna que utilitza el processament d’imatges per fer un seguiment de la gent. Ah, i ho fa, com la cosa real!

Ens ha emocionat molt aquest projecte i l’hem estat esperant des que va sortir el nou Raspberry Pi 4. Té 4 GB de memòria RAM, que obre la porta a moltes possibilitats realment emocionants, inclòs fer processament d’imatges amb models d’aprenentatge profund en temps real.

Si voleu estar pendents d’apropar-vos als zombis per Halloween o simplement comprovar el vostre jardí la resta de l’any, aquest és el vostre. La seguretat no ha de ser avorrida per ser efectiva.

Subministraments

Per a aquesta compilació, necessitareu:

  • Raspberry Pi 4 (4 GB Ram) Amazon
  • Càmera de visió nocturna Amazon
  • Micro Servo Amazon
  • Fals Owl Amazon
  • Pega Amazon
  • Pinta Amazon
  • Cargols Amazon
  • Altaveu USB Amazon
  • Alimentació portàtil gran (5v +) Amazon
  • Impressora 3D Amazon

Pas 1: Pas 1: Decapitar

Pas 1: decapitar
Pas 1: decapitar
Pas 1: decapitar
Pas 1: decapitar
Pas 1: decapitar
Pas 1: decapitar

a. Estireu el cap del mussol (de vegades només heu de ser brutals) tirant-lo fort del cap on s’enganxa a la molla.

b. El cap del mussol es connecta amb el cos mitjançant un cilindre que s’assenta damunt d’una gran molla. Traieu aquest cilindre traient el cargol.

c. El cilindre que acabeu de treure està format per dues parts, una copa de plàstic i un coixinet que hi ha dins. Traieu el coixinet del cilindre amb un tornavís (o una eina similar).

d. Amb el cargol que connectava el cilindre amb el moll, fixeu el servo al cilindre.

e. Traieu la molla descargolant els tres cargols que la fixen al cos.

f. Feu un forat a la part superior del cos del mussol que sigui prou gran per adaptar-se a alguns cables i al cable de la càmera. Per fer-ho, hem utilitzat una combinació poc elegant d’un trepant i un tornavís.

Pas 2: Pas 2: afegiu Smart

Pas 2: afegiu Smart
Pas 2: afegiu Smart
Pas 2: afegiu Smart
Pas 2: afegiu Smart
Pas 2: afegiu Smart
Pas 2: afegiu Smart

a. Imprimiu en 3D la funda de la càmera i pinteu-la perquè coincideixi amb el mussol: hem utilitzat algunes pintures acríliques barates. Pintar no és un pas vital, però millora dramàticament l’aspecte general.

b. Amb el cap del mussol cap per avall, cargoleu la part superior de la caixa de la càmera a l’interior del cap, on sobresurt el bec.

c. Introduïu la càmera a la funda i connecteu el cable de la càmera.

d. Enganxeu el servo al tauler superior de la molla.

e. Connecteu cables llargs als servo pins (5V, Gnd, senyal)

f. Introduïu el cable i els cables de la càmera del servo a través de la molla i pel forat que heu fet a la part superior del cos perquè quedin dins del cos buit del mussol.

Pas 3: Pas 3: ompliu-la

Pas 3: ompliu-la
Pas 3: ompliu-la
Pas 3: ompliu-la
Pas 3: ompliu-la
Pas 3: ompliu-la
Pas 3: ompliu-la
Pas 3: ompliu-la
Pas 3: ompliu-la

a. Traieu el tap de la part inferior del mussol i augmenteu la mida d’aquest forat tallant el plàstic. Continueu augmentant la mida fins que el Raspberry Pi i l’altaveu puguin encabir-se al cos del mussol.

b. Un cop el forat sigui prou gran perquè tots els components hi cabin, traieu el cable de la càmera que heu alimentat per la part superior del mussol de la base i connecteu-lo al Raspberry Pi.

c. De la mateixa manera, estireu els servocables i connecteu-los al Raspberry Pi:

  • + 5v al servo => + 5V al Pi
  • Gnd servo => gnd Pi
  • Servo de senyal => pin 12 Pi

d. Connecteu l’altaveu USB al Pi.

e. Inseriu la targeta SD al Pi.

f. Power Pi mitjançant font d'alimentació portàtil.

g. Introduïu el Pi, la font d'alimentació i l'altaveu al mussol a través del forat de la base.

Pas 4: Pas 4: configureu el Pi

Pas 4: configureu el Pi
Pas 4: configureu el Pi

TOT EL CODI ES POT TROBAR A

a. Descarregueu Raspian i pengeu-lo a la vostra targeta SD mitjançant Balena Etcher.

b. Per accedir al vostre pi de forma remota

  • Afegiu un fitxer anomenat ssh a la vostra targeta sd d'arrencada
  • Afegiu un fitxer anomenat wpa_supplicant.conf i poseu les vostres credencials de wifi

    ctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdev update_config = 1

    network = {ssid = "MySSID" psk = "MyPassword"}

c. Inseriu la targeta SD al pi i proveu-hi l'accés mitjançant ssh.

Pas 5: Pas 5: Moure el cap

Pas 5: Moure el cap
Pas 5: Moure el cap

Tutorial de codi per moure el cap (controlar un servo amb un raspberry pi)

Per controlar un servo que s’executa al Pi, crearem un script que controli els pins GPIO als quals està connectat el servo.

a. Connecteu el servo al Pi:

  • + 5v al servo => + 5V al Pi
  • Gnd servo => gnd a Pi
  • Servo de senyal => pin 12 a Pi

b. Primer heu de configurar els pins gpio per utilitzar PWM al pin de senyal del servo.

c. A continuació, és tan senzill com seleccionar el cicle de treball (explicat aquí) del pin de senyal per moure el servo de 90 graus amb un cicle de treball de 7,5 a 0 graus quan el cicle de treball és de 2,5 i a 180 graus amb un cicle de treball de 12.5

importar RPi. GPIO com a GPIO

temps d'importació 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 graus time.sleep (1) p. ChangeDutyCycle (2.5) # 0 graus time.sleep (1) p. ChangeDutyCycle (12.5) # 180 graus time.sleep (1) excepte KeyboardInterrupt: p.stop () GPIO.cleanup ()

Pas 6: Pas 6: fer-ho

Pas 6: fer-ho
Pas 6: fer-ho
Pas 6: fer-ho
Pas 6: fer-ho

Tutorial de codis per fer sonar el mussol (reproduint àudio amb un raspberry pi)

a. Connecteu l’altaveu USB.

b. Baixeu-vos un so: vam triar un crit fantasmagòric.

c. Reprodueix el so executant aquesta ordre: omxplayer -o alsa: hw: 1, 0 owl_sound.mp3

[d. Si això no funciona, comproveu quina sortida utilitza el vostre Pi i quin volum utilitzeu amb l’ordre alsamixer: us rebrà la pantalla del mesclador on podreu canviar el volum i seleccionar el dispositiu multimèdia. Per augmentar el volum del so, feu l'ordre com aquest omxplayer -o alsa: hw: 1, 0 owl_sound.mp3 --vol 500 Per reproduir aquest so mitjançant Python, consulteu el nostre script de prova.]

subprocés d’importació

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. PIPE)

Pas 7: Pas 7: Transmet el vídeo des del Pi

Pas 7: emetre el vídeo des del Pi
Pas 7: emetre el vídeo des del Pi
Pas 7: emetre el vídeo des del Pi
Pas 7: emetre el vídeo des del Pi

Tutorial de codi per crear un flux de càmera de raspberry pi

a. Executeu python app.py i visualitzeu-lo a la vostra xarxa local a https://raspberrypi.local: 5000

b. Aquest codi ha estat pres i adaptat lleugerament de Miguel Grinberg https://blog.miguelgrinberg.com/post/flask-video- … explica molt bé com es fa i els seus tutorials són fantàstics. El concepte bàsic és que utilitzem fils i generadors per millorar la velocitat de transmissió.

Pas 8: Pas 8: Detecció del cos

Pas 8: detecció del cos
Pas 8: detecció del cos

Codi per a la detecció del cos (ImageNetSSD en un flux de vídeo amb raspberry pi)

a. Com que fem servir el Raspberry Pi 4, vam pensar que era millor provar-hi alguns models d’aprenentatge profund en lloc del mètode bàsic HaarCascade al que ens hem limitat fins ara.

b. Vam fer una ullada a alguns dels models pre-entrenats que hi havia, com ara YOLOv3, que té un aspecte fantàstic. YOLOv3 minúsculs pesos, que haurien estat perfectes per al Pi, però no ho vam poder fer funcionar:(c. En lloc d’això, vam optar pel model MobileSSD que podem executar mitjançant el mòdul OpenCVs DNN (deep neural net), tal com vam aprendre d’aquest codi: https://heartbeat.fritz.ai/real-time-object-detection-on-raspberry -pi-using-opencv-dnn-98827255fa60 i de l'heroi dels tutorials de processament d'imatges, Adrian Rosebrock: https://www.pyimagesearch.com/2017/09/11/object-detection-with-deep-learning-and- opencv /

d. No obstant això, a mesura que intentem transmetre aquest contingut i executar models en tots els fotogrames, es tradueix en un vídeo fragmentat i retardat. Vam tornar a aprendre d’Adrian Rosebrock https://www.pyimagesearch.com/2017/10/16/raspberry-pi-deep-learning-object-detection-with-opencv/ i vam utilitzar el mòdul de processament múltiple Python per posar les nostres imatges en cues on es poden processar sense bloquejar tant el flux de la càmera.

e. Proveu d'executar el codi vosaltres mateixos:)

Pas 9: pas 9: enviament de notificacions de zombis

Pas 9: enviament de notificacions de zombis
Pas 9: enviament de notificacions de zombis
Pas 9: enviament de notificacions de zombis
Pas 9: enviament de notificacions de zombis

Codi per enviar una notificació (python al telèfon)

a. Vam decidir utilitzar el servei de notificació

b. Podeu obtenir un compte gratuït i descarregar l’aplicació i configurar-vos ràpidament fent notificacions mòbils. Vam crear les notificacions mitjançant un script python com aquest.

sol·licituds d’importació

payload = {"app_key": "APP_KEY", "app_secret": "APP_SECRET", "target_type": "app", "content": "Owl ha detectat un zombi." } r = requests.post ("https://api.push.co/1/push", dades = càrrega útil)

És molt senzill i podeu personalitzar el nom de la notificació.

Pas 10: Què Hoot

Quina pinta!
Quina pinta!

Esperem que us hagi agradat el nostre projecte Smart Security Owl. Aquesta ha estat una marca molt divertida i em sento molt més segur sabent que la nostra casa està protegida pel nostre mussol de confiança.

Si creieu que això seria un fabulós complement de Halloween a la vostra llar intel·ligent, voteu-nos al concurs Instructables Halloween i, com és habitual, recordeu que m’agrada, comenteu i subscriviu-vos.

Inscriviu-vos a la nostra llista de correu!

Recomanat: