Tartalomjegyzék:
- 1. lépés: A projektben használt dolgok
- 2. lépés: Hardvercsatlakozás
- 3. lépés: Szoftverprogramozás
- 4. lépés: Kész
Videó: Arcfelismerés Smart Lock LTE Pi HAT segítségével: 4 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
Egyre szélesebb körben használják az arcfelismerést, ebből intelligens zárat készíthetünk.
1. lépés: A projektben használt dolgok
Hardver alkatrészek
- Raspberry Pi 3 B modell
- Raspberry Pi kamera modul V2
- Grove - Váltó
- LTE Cat 1 Pi HAT (Európa)
- 10,1 hüvelykes 1200x1980 HDMI IPS LCD kijelző
Szoftveralkalmazások és online szolgáltatások
- WinSCP
- Notepad ++
2. lépés: Hardvercsatlakozás
Ebben a projektben azt tervezzük, hogy picamerával készítünk képeket, és felismerjük az arcokat, majd megjelenítjük a felismerés eredményét a képernyőn. Ha ismertek az arcok, nyissa ki az ajtót, és SMS -ben küldje el a megadott telefonszámra, hogy ki nyitotta az ajtót.
Tehát csatlakoztatnia kell egy kamerát a Raspberry Pi kamera interfészéhez, és telepítenie kell az antennát és a Grove - Relay -t az LTE Pi kalaphoz, majd csatlakoztatnia kell a HAT -ot a Pi -hez. A képernyő HDMI -kábelen keresztül csatlakoztatható a Raspberry Pi -hez, ne felejtse el csatlakoztatni a tápellátást a képernyőhöz és a Pi -hez.
3. lépés: Szoftverprogramozás
Arcfelismerés
Köszönet Adam Geitgey -nek és arcfelismerő projektjének, használhatjuk a világ legegyszerűbb arcfelismerő könyvtárát a Raspberry Pi -n. A következő lépések bemutatják, hogyan állíthatja be az arcfelismerést a Pi -n.
1. lépés: A raspi-config használatával konfigurálja a kamera és a GPU memóriáját.
sudo raspi-config
Az interfész opciók - Kamera kiválasztásával engedélyezze a pikamerat, majd válassza a Speciális beállítások - Memória felosztás lehetőséget a GPU memória beállításához, és ezt 64 -re kell változtatni. Miután befejezte, indítsa újra a Raspberry Pi -t.
2. lépés: Telepítse a szükséges könyvtárakat.
sudo apt-get update
sudo apt-get upgrade sudo apt-get install build-essential / cmake / gfortran / git / wget / curl / graphicsmagick / libgraphicsmagick1-dev / libatlas-dev / libavcodec-dev / libavformat-dev / libboost-all-dev / libgtk2. 0-dev / libjpeg-dev / liblapack-dev / libswscale-dev / pkg-config / python3-dev / python3-numpy / python3-picamera / python3-pip / zip sudo apt-get clean
3. lépés. Készítse el a picamerea támogató tömbjét.
sudo pip3 telepítés -frissítse a picamera [tömb]
4. lépés. Telepítse a dlib és az arcfelismerőt.
sudo pip3 install dlib
sudo pip3 install face_recognition
5. lépés Töltse le és futtassa az arcfelismerő példát
git klón-egyetlen ág
cd./face_recognition/examples python3 facerec_on_raspberry_pi.py
FIGYELMEZTETÉS: Ha az ImportError hibaüzenetet kapta: libatlas.so.3: nem tudja megnyitni a megosztott objektumfájlt: Nincs ilyen fájl vagy könyvtár, futtassa a következő parancsot a javításához.
Relé
Ha kész az arcfelismerés, folytathatjuk a további funkciók hozzáadását. Csatlakoztattuk a Grove - Relay -t az LTE Cat 1 Pi HAT -hoz, de az digitális portot használ az I2C port helyett.
Ez a Raspberry Pi 3B tűje, láthatjuk az SDA és az SCL csapokat a tábla 3. és 5. lábában.
Így a relét úgy tudjuk vezérelni, hogy a digitális jelet az 5-ös érintkezőre továbbítja. Futtassa a Raspberry Pi-n lefelé irányuló python programot, ha semmi baj nem történik, Ti-Ta-t hall a reléből.
importálja az RPi. GPIO -t GPIO -ként
RELAY_PIN = 5 GPIO.setmód (GPIO. BOARD) GPIO.setup (RELAY_PIN, GPIO. OUT) GPIO. kimenet (RELAY_PIN, GPIO. HIGH)
Tehát itt az ötlet, betöltünk egy ismert mappát egy mappából, felismerjük a picamera által rögzített arcokat, ha az arc a mappában, vezérlőrelé az ajtó kinyitásához. Csomagolhatjuk őket egy osztályba, itt a load_known_faces () metódus és az unlock () metódus, a befejezett program a cikk végén letölthető.
def load_known_faces (self):
ismert_felületek = os.listdir (saját._ ismert_felületek_útvonala) ismert_archoz ismert_felületekben: saját._ ismert_felületek_neve.független (ismert_arc [0: len (ismert_arc) - len ('. jpg']) ismert_arc_kép_arc = arc_felismerés.terhelés_kép_fájl (saját._ ismert_felületek_útvonal +) self._ ismert_felületek_kódolás.append (face_recognition.face_encodings (ismert_arc_kép) [0]) return len (self._ ismert_felületek_kódolása) def feloldás (self): if self._ matched.count (True)> 0: GPIO.output (self._ relay_pin, GPIO. HIGH) print ('Ajtó nyitva') time.sleep (5) GPIO.output (self._ relé_pin, GPIO. LOW) self._ reset_recognise_params () return true self._ retry_count += 1 print ('Kérjük, próbálja újra… { } '. format (self._ retry_count)) return Hamis
Gondoljon transzcendensen, megmutathatjuk a képet, aki felismerte, a PIL és a matplotlib könyvtárak hasznosak lehetnek, köztük a matplotlib -et manuálisan kell telepíteni, futtassa ezt a parancsot a Raspberry Pi terminálján.
sudo pip3 telepítse a matplotlib programot
Importálja őket a kódjába, és módosítsa, ha blokkolja az unlock () metódust, mint ez:
img = Image.open ('{}/{}. jpg'.format (self._ ismert_felületek_útvonala, saját._ ismert_felületek_neve [0]))
plt.imshow (img) plt.ion () GPIO.output (self._ relé_pin, GPIO. HIGH) print ('Ajtó nyitva') plt.pause (3) plt.close () GPIO.output (self._ relay_pin, GPIO. LOW) self._ reset_recognise_params () return true
Most, ha felismert egy arcot, a mappában lévő kép megjelenik a képernyőn.
SMS
Néha szeretnénk tudni, ki van a szobánkban, és most van egy hely az LTE Cat 1 Pi HAT számára. Csatlakoztassa a SIM -kártyát, és kövesse az alábbi lépéseket annak ellenőrzésére, hogy működik -e vagy sem.
1. lépés: Engedélyezze az UART0 használatát a Raspberry Pi alkalmazásban
A nano használatával szerkesztheti a config.txt fájlt a /boot fájlban
sudo nano /boot/config.txt
adja hozzá a dtoverlay = pi3-disable-bt alját, és tiltsa le a hciuart szolgáltatást
sudo systemctl letiltja a hciuart
majd törölje a konzolt = serial0, 115200 a cmdline.txt fájlban a /boot -ban
sudo nano /boot/cmdline.txt
Miután mindent megtett, indítsa újra a Raspberry Pi -t.
2. lépés: Töltse le a példát, és futtassa.
Nyisson meg egy terminált a Raspberry Pi -n, írja be ezeket a parancsokat soronként.
cd ~
git klón https://github.com/Seeed-Studio/ublox_lara_r2_pi_hat.git cd ublox_lara_r2_pi_hat sudo python setup.py telepítse a cd tesztet sudo python test01.py
Ha ezeket a kimeneteket látja a terminálon, az LTE Cat 1 Pi HAT jól működik.
40 tűs GPIO-fejlécet észleltünk
A CTS0 és az RTS0 engedélyezése GPIO 16 és 17 rts cts ébredéskor… modul neve: LARA-R211 RSSI: 3
Most már tudtuk, hogy a HAT jól működik, hogyan lehet SMS -t küldeni? Az első dolog, amit tudnia kell, hogy a Raspberry Pi az UART által küldött AT parancsokon keresztül kommunikál a HAT -tal. AT parancsokat küldhet az LTE HAT -nak, ha ezt a kódot futtatja pythonban
az ublox_lara_r2 importból *
u = Ublox_lara_r2 () u.initialize () u.reset_power () # Zárja be a hibakeresési masszázst u.debug = Hamis u.sendAT ( )
Az SMS küldésére vonatkozó AT parancs a következő
AT+CMGF = 1
AT+CMGS =
tehát itt a _send_sms () módszer:
def _send_sms (saját):
ha ön._ phonenum == Nincs: return False for unlocker in self._ elismerés_arc_nevek (): if self._ ublox.sendAT ('AT+CMGF = 1 / r / n'): print (self._ ublox.response) if self. _ublox.sendAT ('AT+CMGS = "{}" / r / n'.format (self._ phonenum)): print (self._ ublox.response) if self._ ublox.sendAT (' {} belép a szobába. / x1a'.format (unlocker)): print (self._ ublox.response)
FIGYELMEZTETÉS: Az LTE Cat 1 Pi HAT könyvtára, amelyet a python2 írt, és nem túl kompatibilis a python3 -mal, ha arcfelismeréssel szeretné használni, kérjük, töltse le a cikk végén található linkről.
Ajánlott:
MATLAB Egyszerű arcfelismerés: 4 lépés
MATLAB egyszerű arcfelismerés: Ennek az oktatóanyagnak a fő célja az, hogy megmutassa, mennyire egyszerű lesz a képfeldolgozás. A MATLAB segítségével az arcfelismerés és -követés fontos és aktív kutatási terület, ezért elmagyarázom hogyan lehet ezt megcsinálni
Opencv arcfelismerés, képzés és felismerés: 3 lépés
Opencv arcfelismerés, képzés és felismerés: Az OpenCV egy nyílt forráskódú számítógépes látáskönyvtár, amely nagyon népszerű olyan alapvető képfeldolgozási feladatok elvégzéséhez, mint az elmosódás, képkeverés, a kép javítása, valamint a videó minősége, küszöbértékek stb. A képfeldolgozás mellett bizonyít
Arcfelismerés és azonosítás - Arduino arcazonosító OpenCV Python és Arduino használatával: 6 lépés
Arcfelismerés és azonosítás | Arduino arcazonosító az OpenCV Python és Arduino használatával .: Arcfelismerés Az AKA arcazonosító manapság az egyik legfontosabb funkció a mobiltelefonokban. Tehát felmerült bennem egy kérdés, " kaphatok arcazonosítót az Arduino projektemhez " és a válasz igen … Utazásom a következőképpen kezdődött: 1. lépés: Hozzáférés
Arcfelismerés a gyakorlatban: 21 lépés
Arcfelismerés a gyakorlatban: Ez a téma annyira lenyűgöz, hogy elveszítem az alvásomat: A számítógépes látás, a tárgyak és emberek észlelése egy előre betanított modell segítségével
ESP32 CAM arcfelismerés MQTT támogatással - AI-gondolkodó: 4 lépés
ESP32 CAM arcfelismerés MQTT támogatással | AI-Thinker: Helló! Meg akartam osztani a kódomat egy projekthez, ha szükségem lenne egy ESP CAM-ra, arcfelismeréssel, amely adatokat küldhet az MQTT-nek. Nos, hátha 7 óra után több kódpéldán keresztül néztem, és megkerestem, mi az, befejeztem