Cuprins:
- Pasul 1: Lucruri utilizate în acest proiect
- Pasul 2: Conexiune hardware
- Pasul 3: Programare software
- Pasul 4: Terminat
Video: Blocare inteligentă de recunoaștere a feței cu LTE Pi HAT: 4 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
Recunoașterea feței este din ce în ce mai utilizată, o putem folosi pentru a crea o blocare inteligentă.
Pasul 1: Lucruri utilizate în acest proiect
Componente hardware
- Raspberry Pi 3 Model B.
- Raspberry Pi Camera Module V2
- Grove - Releu
- LTE Cat 1 Pi HAT (Europa)
- Afișaj LCD IPS HDMI de 10,1 inci 1200x1980
Aplicații software și servicii online
- WinSCP
- Notepad ++
Pasul 2: Conexiune hardware
În acest proiect, intenționăm să facem fotografii cu picamera și să recunoaștem fețele din ele, apoi să afișăm rezultatul recunoașterii pe ecran. Dacă se cunosc fețe, deschide ușa și trimite cine a deschis ușa la numărul de telefon specificat prin SMS.
Deci, trebuie să conectați o cameră la interfața camerei Raspberry Pi și să instalați antena și Grove - Releu la pălăria LTE Pi, apoi conectați HAT la Pi. Ecranul poate fi conectat la Raspberry Pi printr-un cablu HDMI, nu uitați să conectați alimentarea la ecran și la Pi.
Pasul 3: Programare software
Recunoaștere facială
Mulțumim pentru Adam Geitgey și proiectul său de recunoaștere a feței, putem folosi cea mai simplă bibliotecă de recunoaștere a feței din lume pe Raspberry Pi. Următorii pași vă vor arăta cum să configurați recunoașterea feței pe Pi.
Pasul 1. Utilizați raspi-config pentru a configura camera și memoria GPU.
sudo raspi-config
Alegerea Opțiunilor interfeței - Cameră pentru a activa camera foto, apoi alegerea Opțiuni avansate - Memorie împărțită pentru a seta memoria GPU, aceasta ar trebui schimbată la 64. După finalizare, reporniți Raspberry Pi.
Pasul 2. Instalați bibliotecile necesare.
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
Pasul 3. Asigurați picamerea acceptă matrice.
sudo pip3 install --upgrade picamera [array]
Pasul 4. Instalați dlib și recunoașterea feței.
sudo pip3 instalează dlib
sudo pip3 instalează face_recognition
Pasul 5. Descărcați și rulați exemplu de recunoaștere a feței
git clone --single-branch
cd./face_recognition/examples python3 facerec_on_raspberry_pi.py
AVIZ: Dacă ați primit ImportError: libatlas.so.3: nu se poate deschide fișierul de obiect partajat: Nu există un astfel de fișier sau director, executați următoarea comandă pentru a remedia problema.
Releu
Când recunoașterea feței este gata, putem continua să adăugăm funcții suplimentare. Am conectat Grove - Relay la LTE Cat 1 Pi HAT, dar utilizează mai degrabă un port digital decât un port I2C.
Acesta este pin-out pentru Raspberry Pi 3B, putem vedea pin SDA și pin SCL situate în pinul 3 și pinul 5 al plăcii.
Deci, putem controla releul prin ieșiri de semnal digital la pinul 5. Rulați urmărind programul Python în jos pe Raspberry Pi, dacă nimic nu merge prost, veți auzi un Ti-Ta din releu.
importați RPi. GPIO ca GPIO
RELAY_PIN = 5 GPIO.setmode (GPIO. BOARD) GPIO.setup (RELAY_PIN, GPIO. OUT) ieșire GPIO (RELAY_PIN, GPIO. HIGH)
Iată deci ideea, încărcăm fețele cunoscute dintr-un folder, recunoaștem fețele capturate de picamera, dacă fața din folder, releu de control pentru a debloca ușa. Le putem împacheta într-o clasă, aici este metoda load_known_faces () și unlock (), programul finalizat poate fi descărcat la sfârșitul acestui articol.
def load_known_faces (auto):
cunoscut_faces = os.listdir (self._ cunoscut_faces_path) pentru cunoscut_face în cunoscut_faces: self._ cunoscut_faces_name.append (cunoscut_face [0: len (cunoscut_face) - len ('. jpg')]) cunoscut_face_image = face_recognition.load_image_file (self._ cunoscut_faces_) self._ known_faces_encoding.append (face_recognition.face_encodings (known_face_image) [0]) return len (self._ known_faces_encoding) def unlock (self): if self._ matched.count (True)> 0: GPIO.output (self._ relay_pin, GPIO. HIGH) print ('Ușa deschisă') time.sleep (5) GPIO.output (self._ relay_pin, GPIO. LOW) self._ reset_recognise_params () return True True._ retry_count + = 1 print ('Vă rugăm să încercați din nou … { } '. format (self._ retry_count)) returnează False
Gândiți-vă transcendental, putem arăta cine a recunoscut, bibliotecile PIL și matplotlib pot fi utile, printre acestea, matplotlib trebuie instalat manual, rulați această comandă în terminalul Raspberry Pi.
sudo pip3 instalează matplotlib
Importați-le în codul dvs. și schimbați dacă blocați în metoda unlock () astfel:
img = Image.open ('{} / {}. jpg'.format (auto._ cunoscut_faces_path, self._ cunoscut_faces_name [0]))
plt.imshow (img) plt.ion () GPIO.output (auto._ relay_pin, GPIO. HIGH) print („Ușa deschisă”) plt.pause (3) plt.close () GPIO.output (self._ relay_pin, GPIO. LOW) self._ reset_recognise_params () return True
Acum, dacă o față este recunoscută, imaginea din folder va fi afișată pe ecran.
SMS
Uneori vrem să știm cine este în camera noastră, iar acum există un loc pentru LTE Cat 1 Pi HAT. Conectați o cartelă SIM și urmați pașii în jos pentru a testa dacă funcționează sau nu.
Pasul 1. Activați UART0 în Raspberry Pi
Utilizați nano pentru a edita config.txt în / boot
sudo nano /boot/config.txt
adăugați dtoverlay = pi3-disable-bt în partea de jos a acestuia și dezactivați serviciul hciuart
sudo systemctl dezactivați hciuart
apoi ștergeți consola = serial0, 115200 în cmdline.txt în / boot
sudo nano /boot/cmdline.txt
După ce ați făcut totul, ar trebui să reporniți Raspberry Pi.
Pasul 2. Descărcați exemplul și rulați-l.
Deschideți un terminal pe Raspberry Pi, tastați aceste comenzi pentru a-l rând cu rând.
cd ~
git clone https://github.com/Seeed-Studio/ublox_lara_r2_pi_hat.git cd ublox_lara_r2_pi_hat sudo python setup.py install cd test sudo python test01.py
Dacă vedeți aceste ieșiri în terminalul dvs., LTE Cat 1 Pi HAT funcționează bine.
Antet GPIO cu 40 de pini detectat
Activarea CTS0 și RTS0 pe GPIO-urile 16 și 17 rts cts la trezire … numele modulului: LARA-R211 RSSI: 3
Acum știam că HAT funcționează bine, cum să-l folosim pentru a trimite SMS-uri? Primul lucru pe care trebuie să-l știți este că Raspberry Pi comunică cu HAT prin comenzi de trimitere AT de către UART. Puteți trimite comenzi AT către LTE HAT executând acest cod în python
din importul ublox_lara_r2 *
u = Ublox_lara_r2 () u.initialize () u.reset_power () # Masaj de depanare închisă u.debug = False u.sendAT ( )
Comanda AT pentru trimiterea de SMS-uri este următoarea
AT + CMGF = 1
AT + CMGS =
deci iată metoda _send_sms ():
def _send_sms (auto):
if self._ phonenum == None: return False for unlocker in self._ recognise_face_names (): 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 (' {} intră în cameră. / x1a'.format (unlocker)): print (self._ ublox.response)
ANUNȚ: Biblioteca LTE Cat 1 Pi HAT scrisă de python2, care nu este foarte compatibilă cu python3, dacă doriți să o utilizați cu recunoașterea feței, vă rugăm să o descărcați de pe linkul de la sfârșitul acestui articol.
Recomandat:
Abellcadabra (Sistem de blocare a ușii cu recunoaștere a feței): 9 pași
Abellcadabra (Face Recognition Door Lock System): Așezat în timpul carantinei, am încercat să găsesc o modalitate de a ucide timpul construind recunoașterea feței pentru ușa casei. Am numit-o Abellcadabra - care este combinația dintre Abracadabra, o frază magică cu sonerie pe care o iau doar clopotul. LAUGH OUT LOUD
Inteligență artificială și recunoaștere a imaginii folosind HuskyLens: 6 pași (cu imagini)
Inteligență artificială și recunoaștere a imaginii folosind HuskyLens: Hei, ce se întâmplă, băieți! Akarsh aici de la CETech. În acest proiect, vom arunca o privire asupra HuskyLens de la DFRobot. Este un modul de cameră alimentat cu AI, capabil să facă mai multe operațiuni de inteligență artificială, cum ar fi recunoașterea feței
Sonerie cu recunoaștere a feței: 7 pași (cu imagini)
Sonerie cu recunoaștere a feței: motivație Recent, în țara mea a existat un val de jafuri care se adresează persoanelor în vârstă din propriile case. De obicei, accesul este acordat chiar de ocupanți, deoarece vizitatorii îi conving că sunt îngrijitori / asistenți medicali. Aceasta
Oglindă magică inteligentă plutitoare de pe laptopul vechi cu recunoaștere vocală Alexa: 6 pași (cu imagini)
Oglindă magică inteligentă plutitoare de pe laptopul vechi cu recunoaștere vocală Alexa: Înscrieți-vă la cursul „Electronică pe scurt” aici: https://www.udemy.com/electronics-in-a-nutshell/?couponCode=TINKERSPARK Verificați și canal YouTube aici pentru mai multe proiecte și tutoriale electronice: https://www.youtube.com/channel/UCelOO
Detectarea feței + recunoaștere: 8 pași (cu imagini)
Detectarea fețelor + recunoaștere: Acesta este un exemplu simplu de detecție și recunoaștere a feței cu OpenCV de la o cameră. NOTĂ: AM FĂCUT ACEST PROIECT PENTRU CONCURSUL DE SENZORI ȘI AM FOLOSIT CAMERA CA SENZOR PENTRU URMĂRIREA ȘI FACELE DE RECUNOAȘTERE. Deci, Scopul nostru În această sesiune, 1. Instalați Anaconda