Sisällysluettelo:
- Vaihe 1: Tarvitsemasi asiat
- Vaihe 2: Opencv-esittely ja asennus
- Vaihe 3: Kasvojen tunnistaminen ja tunnistaminen reaaliaikaisessa videossa
- Vaihe 4: Koodin suorittaminen
Video: Opencv -kasvojentunnistus: 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Kasvojentunnistus on nykyään melko yleinen asia monissa sovelluksissa, kuten älypuhelimissa, monissa elektronisissa laitteissa. Tällainen tekniikka sisältää paljon algoritmeja ja työkaluja jne., Joka käyttää joitain upotettuja sulautettuja SOC -alustoja, kuten Raspberry Pi ja avoimen lähdekoodin tietokonenäkö kirjastoissa, kuten OpenCV, voit nyt lisätä kasvojentunnistuksen omiin sovelluksiisi, kuten turvajärjestelmiin.
Tässä projektissa kerron sinulle, kuinka rakentaa kasvojentunnistus käyttämällä Raspberry Pi -laitetta, ja olemme käyttäneet arduino+Lcd: tä henkilön nimen näyttämiseen.
Vaihe 1: Tarvitsemasi asiat
1. RASPBERRY PI
2. ARDUINO UNO / NANO
3,16 x 2 LCD -NÄYTTÖ
4. RASPI-CAMERA / WEBcam (mieluummin verkkokamera paremman tuloksen saavuttamiseksi)
Vaihe 2: Opencv-esittely ja asennus
OpenCV (avoimen lähdekoodin tietokonenäkökirjasto) on erittäin hyödyllinen kirjasto - se tarjoaa monia hyödyllisiä ominaisuuksia, kuten tekstintunnistuksen, kasvojentunnistuksen, kohteen tunnistamisen, syvyyskarttojen luomisen ja koneoppimisen.
Tässä artikkelissa kerrotaan, kuinka Opencv ja muut kirjastot asennetaan Raspberry Pi -laitteeseen, mikä on kätevää objektien havaitsemisessa ja muissa projekteissa. Sieltä opimme kuva- ja videotoimintojen suorittamisen suorittamalla objektien tunnistamis- ja koneoppimisprojektin. Erityisesti kirjoitamme yksinkertaisen koodin havaitaksesi kuvan kasvot.
Mikä on OpenCV?
OpenCV on avoimen lähdekoodin tietokonevisio- ja koneoppimisohjelmistokirjasto. OpenCV julkaistaan BSD -lisenssillä, joten se on ilmainen sekä akateemiseen että kaupalliseen käyttöön. Siinä on C ++, Python ja Java -rajapinnat ja se tukee Windows-, Linux-, Mac OS-, iOS- ja Android -käyttöjärjestelmiä. OpenCV on suunniteltu laskennalliseen tehokkuuteen ja keskittyy vahvasti reaaliaikaisiin sovelluksiin.
Kuinka asentaa OpenCV Raspberry Pi: hen?
Jotta voimme asentaa OpenCV: n, meidän on asennettava Python. Koska Vadelma Pis on esiladattu Pythonilla, voimme asentaa OpenCV: n suoraan.
Kirjoita alla olevat komennot varmistaaksesi, että Raspberry Pi on ajan tasalla ja päivittääksesi Raspberry Pi: n asennetut paketit uusimpaan versioon.
sudo apt-get updatesudo apt-get upgrade
Kirjoita seuraavat komennot päätelaitteeseen asentaaksesi tarvittavat paketit OpenCV: lle Raspberry Pi -laitteeseesi.
sudo apt install libatlas3-base libsz2 libharfbuzz0b libtiff5 libjasper1 libilmbase12 libopenexr22 libilmbase12 libgstreamer1.0-0 libavcodec57 libavformat57 libavutil55 libswscale4 libqtgui4 libqt4-test libqtcore4
Kirjoita seuraava komento asentaaksesi OpenCV 3 for Python 3 Raspberry Pi -laitteeseesi, pip3 kertoo, että OpenCV asennetaan Python 3: lle.
sudo pip3 asenna opencv-contrib-python libwebp6
Nyt OpenCV on asennettava.
(jos tapahtui virheitä: voit silti tehdä sen alla olevan linkin kautta
https://www.instructables.com/id/Raspberry-Pi-Hand…)
Älä nyt kiirehdi, meidän on tarkistettava, onko se asennettu oikein vai ei
Testaa opencv:
1. mene päätelaitteeseesi ja kirjoita "python"
2. kirjoita sitten "import cv2".
3. kirjoita sitten "cv2._ version_".
asenna sitten nämä kirjastot
pip3 asenna python-numpy
pip3 asenna python-matplotlib
Testikoodi kasvojen havaitsemiseksi kuvassa:
tuoda cv2
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml");
image = cv2.imread ('tiedostosi nimi') #example cv2.imread ('home/pi/Desktop/filename.jpg')
saat tuloksen kuin neliön muotoiset laatikot, jotka on muodostettu kuvassa olevien ihmisten kasvoille.
Vaihe 3: Kasvojen tunnistaminen ja tunnistaminen reaaliaikaisessa videossa
tuoda cv2
tuo numpy np: nä
tuonti
tuoda sarja
ser = sarja. sarja ('/dev/ttyACM0', 9600, aikakatkaisu = 1) #/dev/ttyACM0 saattaa muuttua tapauksessasi, riippuu arduinosta
cascadePath = "haarcascade_frontalface_default.xml"
faceCascade = cv2. CascadeClassifier (cascadePath)
tunnistin = cv2.face.createLBPHFaceRecognizer ()
kuvat =
tarrat =
tiedostonimelle os.listdir ('Dataset'):
im = cv2.imread ('Dataset/'+tiedostonimi, 0)
images.append (im)
labels.append (int (tiedostonimi.split ('.') [0] [0]))
#print tiedostonimi
names_file = open ('labels.txt')
names = names_file.read (). split ('\ n')
tunnistaja.juna (kuvat, np.sarja (tarrat))
print 'Koulutus valmis… ''
fontti = cv2. FONT_
HERSHEY_SIMPLEXcap = cv2. VideoCapture (1) # videolaitteesi
lastRes = '' count = 0
samalla (1):
_, frame = cap.read ()
harmaa = cv2.cvtColor (kehys, cv2. COLOR_BGR2GRAY)
kasvot = faceCascade.detectMultiScale (harmaa, 1,3, 5)
määrä+= 1
(x, y, w, h) kasvoille:
cv2.suorakulmio (kehys, (x, y), (x+w, y+h), (255, 0, 0), 2)
jos määrä> 20: res = nimet [tunnistin.ennustus (harmaa [y: y+h, x: x+w])-1]
jos res! = lastRes:
lastRes = res
tulosta lastRes
ser.write (lastRes)
määrä = 0
tauko
cv2.imshow ('kehys', kehys)
k = 0xFF & cv2.waitKey (10)
jos k == 27:
tauko
cap.release ()
ser.close ()
cv2.destroyAllWindows ()
Vaihe 4: Koodin suorittaminen
1. Lataa edellisessä vaiheessa liitetyt tiedostot
2. kopioi harmaat valokuvasi (6 kuvaa/ näytettä…..) tietojoukkokansioosi
1. Tom Cruise 1_1, 1_2, 1_3, 1_4, 1_5, 1_6 (tietojoukon kuvan numero avoimempaan tietojoukkokansioon)
2. Brad Pitt-2_1, 2_2, 2_3, 2_4, 2_5, 2_6
3. Leo-3_1, 3_2, 3_3, 3_4, 3_5, 3_6
4. Ironman4_1, 4_2, 4_3, 4_4, 4_5, 4_6
kuten yllä, voit lisätä tarroja vastaaville henkilöille,
joten jos pi havaitsee kasvot joukosta 1_1, 1_2, 1_3, 1_4, 1_5, 1_6, se on lueteltu Tom Cruisena, joten ole varovainen ladatessasi valokuvia ………………
ja liitä sitten arduino vadelma Pi -laitteeseesi ja tee muutokset main.py -kooderiin = serial. Serial ('/dev/ttyACM0', 9600, timeout = 1) 3. kirjoita kaikki ladatut tiedostot (main.py, dataset -kansio, haarcascade_frontalface_default.xml yhdessä kansiossa.)
3. Nyt avaa Raspi-päätelaite ajaa koodisi "sudo python main.py"
Suositeltava:
QR -koodinlukija OpenCV: n avulla Pythonissa: 7 vaihetta
QR-koodinlukija OpenCV: n avulla Pythonissa: Nykymaailmassa näemme, että QR-koodia ja viivakoodia käytetään lähes kaikkialla tuotteen pakkaamisesta verkkomaksuihin, ja nykyään näemme QR-koodit jopa ravintolassa nähdäksemme valikon. epäile, että se on nyt iso ajatus. Mutta oletko koskaan kärsinyt
Reaaliaikainen Rubikin kuution silmät ratkaistu Ratkaisu Raspberry Pi: n ja OpenCV: n avulla: 4 vaihetta
Reaaliaikainen Rubikin kuution sokeat ratkaisija Raspberry Pi: n ja OpenCV: n avulla: Tämä on Rubikin kuutiotyökalun toinen versio, joka on suunniteltu ratkaisemaan silmät. Ensimmäinen versio on JavaScriptin kehittämä, näet projektin RubiksCubeBlindfolded1Toisin kuin edellinen, tämä versio käyttää OpenCV -kirjastoa värien ja e
Vision 4all - Sistema Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Aplicativo Android: 6 vaihetta
Vision 4all - Sistema Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Applicativo Android: DESCRI Ç Ã OO intuito do projeto é dar autonomia para deficientes visuais se locomoverem em ambientes como casas ou ostoskeskukset ja lentoasemat.A locomo ç ã o em ambientes j á mapeados pode ou n ã o s
Colec.te - Lixeira Inteligente Qualcomm Dragonboard 410c + OpenCV: 7 vaihetta
Colec.te - Lixeira Inteligente Qualcomm Dragonboard 410c + OpenCV: A nossa lixeira inteligente koostuu erillisistä ç ã o autom á tica do lixo. Atravin verkkokamera, tunniste tai tyyppi de lixo e o deposita no compartimento sopivuus para posteriormente ser reciclado
Kuvankäsittely Raspberry Pi: llä: OpenCV: n asentaminen ja kuvan värin erotus: 4 vaihetta
Kuvankäsittely Raspberry Pi: llä: OpenCV: n ja kuvan värin erottamisen asentaminen: Tämä viesti on ensimmäinen useista kuvankäsittelyoppaista, joita on tarkoitus seurata. Katsomme tarkemmin kuvan muodostavia pikseleitä, opimme asentamaan OpenCV: n Raspberry Pi -laitteeseen ja kirjoitamme myös testikomentosarjoja kuvan ottamiseksi ja myös