Sisukord:
- Samm: asjad, mida vajate
- 2. samm: Opencv-sissejuhatus ja installimine
- 3. samm: näo tuvastamine ja äratundmine reaalajas videos
- Samm: koodi käivitamine
Video: Opencv näotuvastus: 4 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Näotuvastus on tänapäeval üsna tavaline asi paljudes rakendustes, näiteks nutitelefonides, paljudes elektroonilistes vidinates. Selline tehnoloogia hõlmab palju algoritme ja tööriistu jne., Mis kasutab mõnda sisseehitatud sisseehitatud SOC -platvormi, näiteks Raspberry Pi ja avatud lähtekoodiga arvutinägemust raamatukogud nagu OpenCV, saate nüüd lisada näotuvastuse oma rakendustele, näiteks turvasüsteemidele.
Selles projektis räägin teile, kuidas Raspberry Pi abil näotuvastust luua ja oleme kasutanud inimese nime kuvamiseks arduino+Lcd.
Samm: asjad, mida vajate
1. VAARIKAS PI
2. ARDUINO UNO / NANO
3,16x2 lCD -Ekraan
4. RASPI-CAMERA / WEBcam (paremate tulemuste jaoks eelistan veebikaamerat)
2. samm: Opencv-sissejuhatus ja installimine
OpenCV (avatud lähtekoodiga arvutinägemisteek) on väga kasulik raamatukogu - see pakub palju kasulikke funktsioone, nagu teksti tuvastamine, näotuvastus, objektide tuvastamine, sügavuskaartide loomine ja masinõpe.
See artikkel näitab teile, kuidas installida Opencv ja muud teegid Raspberry Pi -le, mis on abiks objektide tuvastamise ja muude projektide tegemisel. Sealt õpime, kuidas teha pildi- ja videotoiminguid, täites objektide tuvastamise ja masinõppe projekti. Täpsemalt kirjutame pildil nägude tuvastamiseks lihtsa koodi.
Mis on OpenCV?
OpenCV on avatud lähtekoodiga arvutite nägemise ja masinõppe tarkvara kogu. OpenCV on välja antud BSD litsentsi alusel, muutes selle tasuta nii akadeemiliseks kui ka äriliseks kasutamiseks. Sellel on C ++, Python ja Java liidesed ning see toetab Windowsi, Linuxi, Mac OS -i, iOS -i ja Androidi. OpenCV on loodud arvutusliku efektiivsuse tagamiseks ja keskendub tugevalt reaalajas rakendustele.
Kuidas installida OpenCV Raspberry Pi -le?
OpenCV installimiseks peab meil olema Python installitud. Kuna Raspberry Pis on Pythoniga eellaaditud, saame OpenCV otse installida.
Sisestage allolevad käsud, et veenduda, kas teie Raspberry Pi on ajakohane, ja värskendada Raspberry Pi installitud pakette uusimatele versioonidele.
sudo apt-get updates sud apt-get upgrade
Sisestage terminalis järgmised käsud, et installida oma Raspberry Pi jaoks OpenCV jaoks vajalikud paketid.
sudo apt install libatlas3-base libsz2 libharfbuzz0b libtiff5 libjasper1 libilmbase12 libopenexr22 libilmbase12 libgstreamer1.0-0 libavcodec57 libavformat57 libavutil55 libswscale4 libqtgui4 libqt4-test libqtcore4
Sisestage järgmine käsk, et installida oma Raspberry Pi jaoks OpenCV 3 Python 3 jaoks, pip3 ütleb meile, et OpenCV installitakse Python 3 jaoks.
sudo pip3 installige opencv-contrib-python libwebp6
Nüüd tuleks OpenCV installida.
(kui ilmnesid vead: saate seda siiski teha, järgides allolevat linki
https://www.instructables.com/id/Raspberry-Pi-Hand…)
Ärge kiirustage, peame kontrollima, kas see oli õigesti paigaldatud või mitte
Testige oma opencv -d järgmiselt:
1. minge oma terminali ja tippige "python"
2. seejärel tippige "import cv2".
3. seejärel tippige "cv2._ version_".
seejärel installige need teegid
pip3 install python-numpy
pip3 installige python-matplotlib
Testkood pildi nägude tuvastamiseks:
import cv2
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml");
image = cv2.imread ('teie faili nimi') #example cv2.imread ('home/pi/Desktop/filename.jpg')
saate väljundi nagu ruudukujulised kastid, mis on moodustatud pildil olevate inimeste nägudele.
3. samm: näo tuvastamine ja äratundmine reaalajas videos
import cv2
import numpy np -na
import os
impordi seeria
ser = jada. Seriaal ('/dev/ttyACM0', 9600, timeout = 1) #/dev/ttyACM0 võib teie puhul muutuda, sõltub arduino'st
cascadePath = "haarcascade_frontalface_default.xml"
faceCascade = cv2. CascadeClassifier (cascadePath)
äratundja = cv2.face.createLBPHFaceRecognizer ()
pildid =
sildid =
failinime jaoks os.listdir ('andmekogum'):
im = cv2.imread ('Andmekogum/'+failinimi, 0)
images.append (im)
labels.append (int (failinimi.split ('.') [0] [0]))
#print failinimi
names_file = avatud ('labels.txt')
names = names_file.read (). split ('\ n')
tunnistaja.treen (pildid, np.massiiv (sildid))
print 'Koolitus tehtud… '
font = cv2. FONT_
HERSHEY_SIMPLEXcap = cv2. VideoCapture (1) # teie videoseade
lastRes = "count = 0
samas (1):
_, frame = cap.read ()
hall = cv2.cvtColor (raam, cv2. COLOR_BGR2GRAY)
näod = faceCascade.detectMultiScale (hall, 1,3, 5)
loe+= 1
(x, y, w, h) nägude puhul:
cv2. ristkülik (raam, (x, y), (x+w, y+h), (255, 0, 0), 2)
kui arv> 20: res = nimed [äratundja.prognoos (hall [y: y+h, x: x+w])-1]
kui res! = lastRes:
lastRes = res
print lastRes
ser.write (lastRes)
loend = 0
murda
cv2.imshow ('raam', kaader)
k = 0xFF & cv2.waitKey (10)
kui k == 27:
murda
cap.release ()
ser.close ()
cv2.destroyAllWindows ()
Samm: koodi käivitamine
1. Laadige alla eelmises etapis manustatud failid
2. kopeerige oma hallid fotod (6 pilti/ näidist …..) oma andmekogumi kausta
1. Tom Cruise 1_1, 1_2, 1_3, 1_4, 1_5, 1_6 (andmekogumi pildi number avatud andmekogumi kausta jaoks)
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. Raudmees4_1, 4_2, 4_3, 4_4, 4_5, 4_6
sarnaselt ülaltoodule saate lisada vastavate isikute sildid,
nii et kui pi tuvastab näo 1_1, 1_2, 1_3, 1_4, 1_5, 1_6 hulgast, nägi see nime Tom Cruise, seega olge fotode üleslaadimisel ettevaatlik ………………
ja seejärel ühendage oma arduino oma vaarika Pi -ga ja tehke muudatused main.pyodeser = serial. Serial ('/dev/ttyACM0', 9600, timeout = 1) 3. sisestage kõik allalaaditud failid (main.py, andmestiku kaust, haarcascade_frontalface_default.xml ühes kaustas.)
3. Nüüd avage Raspi terminal, käivitage oma kood "sudo python main.py" abil
Soovitan:
Näotuvastus Raspberry Pi 4B -l kolmes etapis: 3 sammu
Näotuvastus Raspberry Pi 4B-l kolmes etapis: Selles juhendis teeme näotuvastust Raspberry Pi 4-l koos Shunya O/S-ga, kasutades Shunyaface'i raamatukogu. Shunyaface on näotuvastus-/tuvastusteek. Projekti eesmärk on saavutada kiireim avastamis- ja äratundmiskiirus
MATLAB lihtne näotuvastus: 4 sammu
MATLABi lihtne näotuvastus: selle juhendi peamine eesmärk on näidata, kui lihtne on pilditöötlus. MATLABFace abil on näo tuvastamine ja jälgimine olnud oluline ja aktiivne uurimisvaldkond, seetõttu selgitan teile kuidas seda teha saab
Opencv näotuvastus, koolitus ja äratundmine: 3 sammu
Opencv näotuvastus, koolitus ja äratundmine: OpenCV on avatud lähtekoodiga arvutite nägemisraamatukogu, mis on väga populaarne selliste põhiliste pilditöötlusülesannete täitmisel nagu hägusus, piltide segamine, pildi ja video kvaliteedi parandamine, lävimine jne. Lisaks pilditöötlusele see tõestab
Näotuvastus ja tuvastamine - Arduino näotuvastus OpenCV Pythoni ja Arduino abil .: 6 sammu
Näotuvastus ja tuvastamine | Arduino näotuvastus OpenCV Pythoni ja Arduino abil .: Näotuvastus AKA näo ID on tänapäeval üks olulisemaid funktsioone mobiiltelefonides. Niisiis, mul tekkis küsimus " kas ma saan oma Arduino projekti jaoks näo -id " ja vastus on jaatav … Minu teekond algas järgmiselt: 1. samm: juurdepääs meile
Näotuvastus praktikas: 21 sammu
Näotuvastus praktikas: see on teema, mis mind nii lummab, et ajab magama: arvuti nägemine, objektide ja inimeste tuvastamine eelnevalt koolitatud mudeli kaudu