Sisällysluettelo:
- Vaihe 1: Tässä projektissa käytetyt asiat
- Vaihe 2: Laitteistoyhteys
- Vaihe 3: Ohjelmointi
- Vaihe 4: Valmis
Video: Kasvontunnistus Smart Lock LTE Pi HAT: 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Kasvojentunnistusta käytetään yhä laajemmin, voimme käyttää sitä älykkään lukon luomiseen.
Vaihe 1: Tässä projektissa käytetyt asiat
Laitteiston osat
- Raspberry Pi 3 Malli B
- Raspberry Pi -kameramoduuli V2
- Grove - Viesti
- LTE Cat 1 Pi HAT (Eurooppa)
- 10,1 tuuman 1200x1980 HDMI IPS LCD -näyttö
Ohjelmistosovellukset ja verkkopalvelut
- WinSCP
- Muistio ++
Vaihe 2: Laitteistoyhteys
Tässä projektissa aiomme ottaa kuvia pikakameralla ja tunnistaa niissä kasvot ja näyttää tunnistustuloksen näytöllä. Jos kasvot ovat tiedossa, avaa ovi ja lähetä tekstiviestillä määritettyyn puhelinnumeroon kuka avasi oven.
Joten sinun on liitettävä kamera Raspberry Pi -kameran käyttöliittymään ja asennettava antenni ja Grove - Rele LTE Pi -hattuun ja liitettävä HAT Pi -laitteeseen. Näyttö voidaan liittää Raspberry Pi -laitteeseen HDMI -kaapelilla, älä unohda kytkeä virtaa näyttöön ja Pi: hen.
Vaihe 3: Ohjelmointi
Kasvojen tunnistus
Kiitos Adam Geitgeystä ja hänen kasvojentunnistusprojektistaan, voimme käyttää maailman yksinkertaisinta kasvojentunnistuskirjastoa Raspberry Pi: llä. Seuraavat vaiheet näyttävät, kuinka voit määrittää kasvojentunnistuksen Pi -laitteeseen.
Vaihe 1. Määritä kameran ja näytönohjaimen muisti raspi-config-toiminnolla.
sudo raspi-config
Kun valitset käyttöliittymän vaihtoehdot - Kamera ottaaksesi pikakameran käyttöön, valitse sitten Lisäasetukset - Muistijakaja asettaaksesi GPU -muistin. Muuta se 64. Kun olet valmis, käynnistä Raspberry Pi uudelleen.
Vaihe 2. Asenna tarvittavat kirjastot.
sudo apt-get päivitys
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
Vaihe 3. Tee picamerea -tuki.
sudo pip3 install -päivitä picamera [array]
Vaihe 4. Asenna dlib ja kasvojentunnistus.
sudo pip3 asenna dlib
sudo pip3 asenna face_recognition
Vaihe 5. Lataa ja suorita esimerkki kasvojentunnistuksesta
git klooni-yksi haara
cd./face_recognition/esimerkit python3 facerec_on_raspberry_pi.py
VAROITUS: Jos sinulla on ImportError: libatlas.so.3: ei voi avata jaetun objektin tiedostoa: Ei tällaista tiedostoa tai hakemistoa, korjaa se suorittamalla seuraava komento.
Rele
Kun kasvojentunnistus on valmis, voimme jatkaa lisäominaisuuksien lisäämistä. Yhdistimme Grove - releen LTE Cat 1 Pi HAT -laitteeseen, mutta se käyttää digitaalista porttia I2C -portin sijaan.
Tämä on Raspberry Pi 3B: n pin-out, voimme nähdä SDA-nastan ja SCL-tapin, jotka sijaitsevat levyn nastoissa 3 ja 5.
Voimme siis ohjata relettä antamalla digitaalisen signaalin nastaan 5. Suorita Raspberry Pi -laitteen python-ohjelma, jos mikään ei mene pieleen, kuulet releen Ti-Ta.
Tuo RPi. GPIO GPIO: ksi
RELAY_PIN = 5 GPIO.setm (GPIO. BOARD) GPIO.setup (RELAY_PIN, GPIO. OUT) GPIO. output (RELAY_PIN, GPIO. HIGH)
Joten tässä on idea, lataamme tunnetut kasvot kansiosta, tunnistamme picamera -kameran ottamat kasvot, jos kansion kasvot, ohjaa rele oven avaamiseksi. Voimme pakata ne luokkaan, tässä on load_known_faces () -menetelmä ja unlock () -metodi, valmis ohjelma voidaan ladata tämän artikkelin lopussa.
def load_known_faces (itse):
tunnetut_kasvot = os.listdir (itse._ tunnetut_käytäntöpolut) tunnetuille kasvoille tunnetuissa käyttöliittymissä: itse._ tunnetut kasvot_nimi.append (tunnetut_kasvot [0: len (tunnetut_kasvot) - len ('. jpg')]) tunnetut kasvot -kuvat = kasvotunnistus.latauskuvakuvatiedostot (tunnetut) itse._ tunnetut_liittymät_koodaus.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 ('Ovi auki') time.sleep (5) GPIO. output (self._ rele_pin, GPIO. LOW) self._ reset_recognise_params () return true self._ retry_count += 1 print ('Yritä uudelleen… { } '. format (self._ retry_count)) return False
Ajattele transsendenttisesti, voimme näyttää kuvan, kuka tunnisti, kirjastot PIL ja matplotlib voivat olla hyödyllisiä, muun muassa matplotlib on asennettava manuaalisesti, suorita tämä komento Raspberry Pi -päätteessäsi.
sudo pip3 asenna matplotlib
Tuo ne koodiin ja muuta, jos estät lukituksen avausmenetelmässä () seuraavasti:
img = Image.open ('{}/{}. jpg'.format (itse._ tunnetut_käyttöpolut, itse._ tunnetut_käyttäjien_nimet [0]))
plt.imshow (img) plt.ion () GPIO.output (itse._ relay_pin, GPIO. HIGH) print ('Ovi auki') plt.pause (3) plt.close () GPIO. output (self._ relay_pin, GPIO. LOW) itse._ reset_recognise_params () return True
Jos kasvot tunnistetaan, kansion kuva näytetään näytöllä.
tekstiviesti
Joskus haluamme tietää, kuka on huoneessamme, ja nyt on paikka LTE Cat 1 Pi HATille. Liitä SIM -kortti siihen ja testaa toimiiko se noudattamalla vaiheita.
Vaihe 1. Ota UART0 käyttöön Raspberry Pi: ssä
Käytä nanoa muokataksesi config.txt -tiedostoa /boot
sudo nano /boot/config.txt
lisää dtoverlay = pi3-disable-bt sen pohjaan ja poista hciuart-palvelu käytöstä
sudo systemctl poista hciuart käytöstä
poista sitten konsoli = serial0, 115200 cmdline.txt -tiedostossa /boot
sudo nano /boot/cmdline.txt
Kun kaikki on tehty, sinun on käynnistettävä Raspberry Pi uudelleen.
Vaihe 2. Lataa esimerkki ja suorita se.
Avaa pääte Raspberry Pi -laitteellasi, kirjoita nämä komennot sille rivi riviltä.
cd ~
git-klooni https://github.com/Seeed-Studio/ublox_lara_r2_pi_hat.git cd cd ublox_lara_r2_pi_hat sudo python setup.py asenna cd-testi sudo python test01.py
Jos näet nämä lähdöt päätelaitteessasi, LTE Cat 1 Pi HAT toimii hyvin.
40-nastainen GPIO-otsikko havaittu
CTS0: n ja RTS0: n ottaminen käyttöön GPIO-laitteissa 16 ja 17 rts cts herätessä… moduulin nimi: LARA-R211 RSSI: 3
Nyt tiesimme, että HAT toimii hyvin, miten sitä käytetään tekstiviestien lähettämiseen? Ensimmäinen asia, joka sinun on tiedettävä, on, että Raspberry Pi kommunikoi HAT: n kanssa UART: n lähettämien AT -komentojen kautta. Voit lähettää AT -komentoja LTE HAT: lle suorittamalla tämän koodin pythonissa
ublox_lara_r2 -tuonnista *
u = Ublox_lara_r2 () u.initialize () u.reset_power () # Sulje virheenkorjaus hieronta u.debug = False u.sendAT ('')
AT -komento tekstiviestien lähettämiseen on seuraava
AT+CMGF = 1
AT+CMGS =
joten tässä on _send_sms () -menetelmä:
def _send_sms (itse):
jos itse._ phonenum == Ei mitään: palauta False for unlocker in self._ tunnista_kasvun_nimet (): if self._ ublox.sendAT ('AT+CMGF = 1 / r / n'): print (self._ ublox.response) if self. _ublox.sendAT ('AT+CMGS = "{}" / r / n'.format (self._ phonenum)): tulosta (self._ ublox.response) jos itse._ ublox.sendAT (' {} astu huoneeseen. / x1a'.format (lukituksen avaaja)): tulosta (itse._ ublox.response)
HUOMAUTUS: LTE Cat 1 Pi HAT: n kirjasto, jonka on kirjoittanut python2, joka ei ole kovin yhteensopiva python3: n kanssa. Jos haluat käyttää sitä kasvojentunnistuksen kanssa, lataa se tämän artikkelin lopussa olevasta linkistä.
Suositeltava:
Kasvontunnistus Raspberry Pi 4B: llä kolmessa vaiheessa: 3 vaihetta
Kasvontunnistus Raspberry Pi 4B: llä kolmessa vaiheessa: Tässä Instructable-ohjelmassa aiomme suorittaa kasvojentunnistuksen Raspberry Pi 4: llä Shunya O/S: n kanssa Shunyaface-kirjaston avulla. Shunyaface on kasvojentunnistus-/tunnistuskirjasto. Hankkeen tavoitteena on saavuttaa nopein havaitsemis- ja tunnistamisnopeus
Smart Central Lock: 6 vaihetta (kuvilla)
Älykäs keskuslukko: Tuntuu mahtavalta, kun sinulla on valta hallita asioita etänä. Älykäs keskuslukituslaite moottoripyörälle (polkupyörälle). tällä laitteella voit ohjata polkupyörän virtalukkoa. voit lukita/ avata sen etänä. Voi myös käynnistää ja pysäyttää moottorin
Kasvontunnistus käytännössä: 21 vaihetta
Kasvontunnistus käytännössä: Tämä on aihe, josta olen niin ihastunut, että se saa minut nukkumaan: Tietokonenäkö, esineiden ja ihmisten havaitseminen esikoulutetun mallin avulla
Smart-door-lock-using-vadelma_pi_ja_GSM_modemSim800_RFID: 5 vaihetta
Smart-door-lock-using-raspberry_pi_and_GSM_modemSim800_RFID: Tässä opetusohjelmassa käyn läpi, miten EM-18 RFID Reader -moduuli integroidaan Raspberry Pi -levyyn. Näytän myös, kuinka integroida toimilaite, tässä tapauksessa rele, vastaamaan RFID -moduulin oikeaan lukemaan. Tämä toimilaite voi olla solen
Kasvontunnistus+tunnistus: 8 vaihetta (kuvien kanssa)
Kasvontunnistus+tunnistus: Tämä on yksinkertainen esimerkki käynnissä olevasta kasvojentunnistuksesta ja kameran OpenCV -tunnistuksesta. HUOMAUTUS: TEIN TÄMÄN PROJEKTIN ANTURIKILPAILUUN JA KÄYTIN KAMERAA ANTURINA SEURAAMIS- JA TUNNISTUSKASVOIHIN. Joten tavoitteemme Tässä istunnossa 1. Asenna Anaconda