Obsah:
- Zásoby
- Krok 1: Krok 1: Dekapitujte
- Krok 2: Krok 2: Přidejte Smart
- Krok 3: Krok 3: Naplňte ji
- Krok 4: Krok 4: Nastavte Pi
- Krok 5: Krok 5: Pohyb hlavy
- Krok 6: Krok 6: Making It Hoot
- Krok 7: Krok 7: Streamujte video z Pi
- Krok 8: Krok 8: Detekce těla
- Krok 9: Krok 9: Odesílání oznámení o zombie
- Krok 10: What a Hoot
Video: Zombie Detection Smart Security Owl (Deep Learning): 10 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:18
Ahoj všichni, vítejte na T3chFlicks! V tomto halloweenském tutoriálu vám ukážeme, jak jsme na světskou klasiku domácnosti: bezpečnostní kameru vložili super strašidelný zvrat.
Jak?! Vytvořili jsme sovu pro noční vidění, která ke zpracování lidí využívá zpracování obrazu. A hučí, stejně jako skutečná věc!
Z tohoto projektu jsme byli nadšení a čekali jsme na něj od chvíle, kdy nový Raspberry Pi 4 upustil. Má 4 GB RAM, což otevírá dveře spoustě opravdu vzrušujících možností, včetně zpracování obrazu pomocí modelů hlubokého učení v reálném čase.
Pokud si chcete dávat pozor na blížící se zombie na Halloween, nebo si jen po zbytek roku prohlížet zahradu, je to pro vás to pravé. Zabezpečení nemusí být nudné, aby bylo účinné!
Zásoby
Pro toto sestavení budete potřebovat:
- Raspberry Pi 4 (4 GB RAM) Amazon
- Kamera pro noční vidění Amazon
- Micro Servo Amazon
- Falešná sova Amazon
- Lepidlo Amazon
- Malovat Amazon
- Šrouby Amazon
- USB reproduktor Amazon
- Velký (5v+) přenosný napájecí zdroj Amazon
- 3D tiskárna Amazon
Krok 1: Krok 1: Dekapitujte
A. Vytáhněte hlavu ze sovy (někdy prostě musíte být brutální) silným zatažením za hlavu, kde se přichytí k prameni.
b. Hlava sovy je spojena s tělem pomocí válce, který sedí na vrcholu velké pružiny. Vyjměte tento válec vytažením šroubu.
C. Válec, který jste právě odstranili, je vyroben ze dvou částí, plastového kelímku a ložiska, které je uvnitř. Vyjměte ložisko z válce pomocí šroubováku (nebo podobného nástroje).
d. Pomocí šroubu, který spojoval válec s pružinou, připevněte servo k válci.
E. Vyjměte pružinu odšroubováním tří šroubů, které ji připevňují k tělu.
F. V horní části těla sovy vytvořte otvor, který je dostatečně velký, aby se do něj vešly dráty a kabel kamery. K tomu jsme použili neelegantní kombinaci vrtačky a šroubováku.
Krok 2: Krok 2: Přidejte Smart
A. 3D vytiskněte pouzdro na fotoaparát a namalujte jej tak, aby odpovídalo sovičce - použili jsme levné akrylové barvy. Malování není zásadní krok, ale dramaticky zlepšuje celkový vzhled!
b. Sovou hlavou vzhůru nohama zašroubujte horní část pouzdra fotoaparátu do vnitřní části hlavy, kde vyčnívá zobák.
C. Vložte kameru do pouzdra a připojte kabel kamery.
d. Přilepte servo k hornímu panelu pružiny.
E. Připojte dlouhé vodiče k pinům serv (5V, Gnd, signál)
F. Protáhněte kabel kamery a vodiče pro servo pružinou a otvorem, který jste vytvořili v horní části těla, aby byly uvnitř dutého těla sovy.
Krok 3: Krok 3: Naplňte ji
A. Vyjměte zátku ze spodní části sovy a zvětšte velikost tohoto otvoru řezáním plastu. Pokračujte ve zvětšování velikosti, dokud se Raspberry Pi a reproduktor nevejdou do těla sovy.
b. Jakmile je otvor dostatečně velký, aby se dovnitř vešly všechny součásti, vytáhněte kabel kamery, který jste přiváděli skrz horní část sovy, ze základny a zapojte jej do Raspberry Pi.
C. Podobně protáhněte vodiče serva a zapojte je do Raspberry Pi:
- +5v na servo => +5V na Pi
- Gnd servo => gnd Pi
- Servo signálu => pin 12 Pi
d. Připojte reproduktor USB k Pi.
E. Vložte kartu SD do Pi.
F. Napájení Pi pomocí přenosného napájecího zdroje.
G. Vložte Pi, napájecí zdroj a reproduktor do sovy otvorem v základně.
Krok 4: Krok 4: Nastavte Pi
VŠECHNY KÓDY NAJDETE NA
A. Stáhněte si Raspian a nahrajte jej na SD kartu pomocí Balena Etcher.
b. Vzdálený přístup k pi
- Přidejte soubor s názvem ssh na spouštěcí sd kartu
-
Přidejte soubor s názvem wpa_supplicant.conf a vložte své přihlašovací údaje pro wifi
ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev update_config = 1
network = {ssid = "MySSID" psk = "MyPassword"}
C. Vložte kartu SD do pí a zkuste přístup přes ssh.
Krok 5: Krok 5: Pohyb hlavy
Kurz kódu pro pohyb hlavy (ovládání serva s malinovým pi)
Abychom mohli ovládat servo běžící na Pi, vytvoříme skript, který ovládá piny GPIO, ke kterým je servo připojeno.
A. Připojte servo k Pi:
- +5 V na servu => +5 V na Pi
- Gnd servo => gnd na Pi
- Servo signálu => pin 12 na Pi
b. Nejprve musíte nastavit piny gpio, aby používaly PWM na signálním pinu serva.
C. Pak je to tak jednoduché, jako vybrat pracovní cyklus (zde vysvětleno) signálního kolíku pro přesunutí serva z 90 stupňů s pracovním cyklem 7,5 až 0 stupňů, když je pracovní cyklus 2,5, a na 180 stupňů s pracovním cyklem 12.5
importujte RPi. GPIO jako GPIO
doba importu 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 stupňů čas.spánek (1) p. ChangeDutyCycle (2,5) # 0 stupňů čas.spánek (1) p. ChangeDutyCycle (12,5) # 180 stupňů čas.spánek (1) kromě KeyboardInterrupt: p.stop () GPIO.cleanup ()
Krok 6: Krok 6: Making It Hoot
Tutoriál kódu pro výrobu houkání sovy (přehrávání zvuku s malinovým pi)
A. Připojte reproduktor USB.
b. Stáhněte si zvuk - vybrali jsme strašidelný hukot.
C. Přehrajte zvuk spuštěním tohoto příkazu: omxplayer -o alsa: hw: 1, 0 owl_sound.mp3
[d. Pokud to nefunguje, zkontrolujte, jaký výstup váš Pi používá a na jaké hlasitosti pomocí příkazu alsamixer - přivítá vás obrazovka mixu, kde můžete změnit hlasitost a vybrat své mediální zařízení. Chcete -li zvýšit hlasitost zvuku, proveďte příkaz jako tento omxplayer -o alsa: hw: 1, 0 owl_sound.mp3 --vol 500 Chcete -li tento zvuk přehrát pomocí Pythonu, podívejte se na náš testovací skript.]
importní podproces
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. TRUBKA)
Krok 7: Krok 7: Streamujte video z Pi
Tutoriál k vytvoření streamu malinové pi kamery
A. Spusťte python app.py a zobrazte ve své místní síti na adrese https://raspberrypi.local: 5000
b. Tento kód byl převzat a mírně upraven od Miguela Grinberga https://blog.miguelgrinberg.com/post/flask-video-… pěkně vysvětluje, jak se to dělá, a jeho návody jsou skvělé-podívejte se na něj! Základní koncept spočívá v tom, že ke zvýšení rychlosti streamování používáme vlákna a generátory.
Krok 8: Krok 8: Detekce těla
Kód pro detekci těla (ImageNetSSD ve video streamu s malinovým pi)
A. Protože používáme Raspberry Pi 4, řekli jsme si, že je nejlepší vyzkoušet na něm některé modely hlubokého učení namísto základní metody HaarCascade, na kterou jsme byli dosud omezeni.
b. Podívali jsme se na některé z předem vycvičených modelů, jako je YOLOv3, který vypadá super. Malé váhy YOLOv3, které by byly pro Pi ideální, ale nemohli jsme je spustit:(C. Místo toho jsme se rozhodli pro model MobileSSD, který můžeme spustit pomocí modulu openCVs DNN (hluboká neurální síť), jak jsme se dozvěděli z tohoto kódu: https://heartbeat.fritz.ai/real-time-object-detection-on-raspberry -pi-using-opencv-dnn-98827255fa60 a od hrdiny tutoriálů pro zpracování obrázků, Adriana Rosebrocka: https://www.pyimagesearch.com/2017/09/11/object-detection-with-deep-learning-and- opencv/
d. Protože se však snažíme streamovat tento obsah a spouštět modely na každém snímku, výsledkem je zpožděné fragmentované video. Znovu jsme se naučili od Adriana Rosebrocka https://www.pyimagesearch.com/2017/10/16/raspberry-pi-deep-learning-object-detection-with-opencv/ a pomocí modulu Python multiprocessing jsme umístili naše obrázky do front kde je lze zpracovat, aniž by byl tak silně blokován stream kamery.
E. Zkuste spustit kód sami:)
Krok 9: Krok 9: Odesílání oznámení o zombie
Kód pro odeslání oznámení (python na telefon)
A. Rozhodli jsme se použít službu upozornění
b. Můžete získat bezplatný účet a stáhnout si aplikaci a opravdu rychle se připravit na vytváření mobilních oznámení. Oznámení jsme vytvořili pomocí skriptu pythonu takto.
importovat žádosti
payload = {"app_key": "APP_KEY", "app_secret": "APP_SECRET", "target_type": "app", "content": "Sova detekovala zombie." } r = requests.post ("https://api.pushed.co/1/push", data = užitečné zatížení)
Je to velmi jednoduché a název oznámení si můžete přizpůsobit!
Krok 10: What a Hoot
Doufáme, že se vám náš projekt Smart Security Owl líbil! Tohle byla super zábava a cítím se mnohem bezpečněji, když vím, že můj dům střeží naše důvěryhodná sova.
Pokud si myslíte, že by to byl báječný halloweenský doplněk vaší chytré domácnosti, hlasujte pro nás v halloweenské soutěži Instructables a jako obvykle nezapomeňte lajkovat, komentovat a odebírat!
Zaregistrujte se do našeho seznamu adresátů!
Doporučuje:
Arduino Halloween Edition - vyskakovací obrazovka zombie (kroky s obrázky): 6 kroků
Arduino Halloween Edition - vyskakovací obrazovka Zombies (kroky s obrázky): Chcete vyděsit své přátele a udělat na Halloween křik? Nebo si jen chcete udělat dobrý žert? Tato vyskakovací obrazovka Zombie to dokáže! V tomto Instructable vás naučím, jak snadno vytvářet vyskočené zombie pomocí Arduina. HC-SR0
Kostým karnevalu Zombie Pi Zombie: 6 kroků
Kostým karnevalu Zombie Pi Zombie: Měli jste někdy pocit, jako byste měli v žaludku motýly? Poslední karnevalový den jsem se tak cítil … Jako fanoušek Walking Dead jsem chtěl udělat zvyk, který se rovná sérii. Procházel jsem se po městě a snažil jsem se nenajít zombie. Najednou jsem viděl Ricka
Pimp Zombie se zářícíma očima: 5 kroků (s obrázky)
Pimp Zombie With Glowing Eyes: Naučte se, jak do stávající postavy přidat LED diody s efektem zářících očí. V mém případě jsem na Halloween použil figurku zombie. To je docela snadné a nevyžaduje žádné pokročilé dovednosti
Owl Prowl: 5 kroků (s obrázky)
Owl Prowl: Owl Prowl je soutěžní hra pro čtyři hráče, která se hraje s alternativními ovladači. Čtyři hráči musí v herním prostoru hrát jako sova. Jejich cílem je chytit co nejvíce myší, než vyprší čas. Každý hráč používá plyšovou sovu k ovládání
Crazy Circuits: Open Source Electronics Learning System: 8 kroků (s obrázky)
Crazy Circuits: Open Source Electronics Learning System: Vzdělávací a domácí trh je zaplaven modulárními systémy „učení“elektroniky, jejichž cílem je naučit děti a dospělé klíčové koncepce STEM a STEAM. Zdá se, že produkty jako LittleBits nebo Snapcircuits dominují každému svátečnímu dárkovému průvodci nebo rodičovskému blogu