Sadržaj:

Opencv prepoznavanje lica: 4 koraka
Opencv prepoznavanje lica: 4 koraka

Video: Opencv prepoznavanje lica: 4 koraka

Video: Opencv prepoznavanje lica: 4 koraka
Video: 3 РЕЦЕПТА из КУРИНОЙ ПЕЧЕНИ/ ПАШТЕТ!! ГОСТИ БУДУТ В ШОКЕ!! 2024, Studeni
Anonim
Opencv prepoznavanje lica
Opencv prepoznavanje lica

Prepoznavanje lica danas je uobičajena stvar, u mnogim aplikacijama poput pametnih telefona, mnogih elektroničkih naprava. Ova vrsta tehnologije uključuje mnogo algoritama i alata itd. Koja koristi neke ugrađene ugrađene SOC platforme poput Raspberry Pi i računalnog vida otvorenog koda. knjižnice poput OpenCV -a, sada možete dodati prepoznavanje lica vlastitim aplikacijama, poput sigurnosnih sustava.

U ovom projektu ću vam reći kako izgraditi prepoznavanje lica pomoću Raspberry Pi -a, a mi smo koristili arduino+Lcd za prikaz imena osobe.

Korak 1: Stvari koje trebate

Stvari koje trebate
Stvari koje trebate

1. MALINA PI

2. ARDUINO UNO / NANO

3,16 x 2 LCD EKRAN

4. RASPI-KAMERA / WEB kamera (za bolje rezultate preferiram web kameru)

Korak 2: Opencv-Intro i instalacija

Opencv-Intro i instalacija
Opencv-Intro i instalacija

OpenCV (knjižnica računalnog vida otvorenog koda) vrlo je korisna knjižnica - pruža mnoge korisne značajke kao što su prepoznavanje teksta, prepoznavanje lica, otkrivanje objekata, stvaranje dubinskih karata i strojno učenje.

Ovaj članak će vam pokazati kako instalirati Opencv i druge knjižnice na Raspberry Pi koje će vam dobro doći pri otkrivanju objekata i drugim projektima. Odatle ćemo naučiti kako izvoditi slikovne i video operacije izvršavanjem projekta prepoznavanja objekata i strojnog učenja. Konkretno, napisat ćemo jednostavan kod za otkrivanje lica na slici.

Što je OpenCV?

OpenCV je biblioteka softvera za računalni vid i strojno učenje otvorenog koda. OpenCV je objavljen pod BSD licencom što ga čini besplatnim za akademsku i komercijalnu upotrebu. Ima sučelja C ++, Python i Java i podržava Windows, Linux, Mac OS, iOS i Android. OpenCV je dizajniran za računalnu učinkovitost i snažan fokus na aplikacije u stvarnom vremenu.

Kako instalirati OpenCV na Raspberry Pi?

Da bismo instalirali OpenCV, moramo imati instaliran Python. Budući da je Raspberry Pis unaprijed učitan Pythonom, možemo izravno instalirati OpenCV.

Upišite naredbe u nastavku kako biste bili sigurni da je vaš Raspberry Pi ažuriran i ažurirali instalirane pakete na vašem Raspberry Pi na najnovije verzije.

sudo apt-get updatesudo apt-get upgrade

Upišite sljedeće naredbe u terminal da biste instalirali potrebne pakete za OpenCV na svoj Raspberry Pi.

sudo apt install libatlas3-base libsz2 libharfbuzz0b libtiff5 libjasper1 libilmbase12 libopenexr22 libilmbase12 libgstreamer1.0-0 libavcodec57 libavformat57 libavutil55 libswscale4 libqtgui4 libqt4-test libqt4-test libqtcore

Upišite sljedeću naredbu za instaliranje OpenCV 3 za Python 3 na vašem Raspberry Pi, pip3 nam govori da će OpenCV biti instaliran za Python 3.

sudo pip3 instalirajte opencv-contrib-python libwebp6

Sada bi trebao biti instaliran OpenCV.

(ako je došlo do grešaka: ipak to možete učiniti slijedeći donju vezu

https://www.instructables.com/id/Raspberry-Pi-Hand…)

Ne žurite, moramo provjeriti je li pravilno instaliran ili nije

Testirajte svoj opencv na:

1. idite na svoj terminal i upišite "python"

2. zatim upišite "import cv2".

3.ta zatim upišite "cv2._ version_".

zatim instalirajte ove knjižnice

pip3 instalirajte python-numpy

pip3 instalirajte python-matplotlib

Testni kôd za otkrivanje lica na slici:

uvoz cv2

faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml");

image = cv2.imread ('naziv vaše datoteke') #example cv2.imread ('home/pi/Desktop/filename.jpg')

dobit ćete izlaz kao da su kvadratne kutije formirane na licima ljudi koji su na slici.

Korak 3: Prepoznavanje i prepoznavanje lica u videozapisu u stvarnom vremenu

uvoz cv2

uvoz numpy kao np

uvoz os

serijski uvoz

ser = serial. Serial ('/dev/ttyACM0', 9600, timeout = 1) #/dev/ttyACM0 se može promijeniti u vašem slučaju, ovisno o arduinu

cascadePath = "haarcascade_frontalface_default.xml"

faceCascade = cv2. CascadeClassifier (cascadePath)

prepoznavač = cv2.face.createLBPHFaceRecognizer ()

slike =

oznake =

za naziv datoteke u os.listdir ('Skup podataka'):

im = cv2.imread ('Skup podataka/'+naziv datoteke, 0)

images.append (im)

labels.append (int (filename.split ('.') [0] [0]))

#print naziv datoteke

names_file = open ('labels.txt')

names = names_file.read (). split ('\ n')

prepoznavač.train (slike, np.array (oznake))

print 'Trening završen… '

font = cv2. FONT_

HERSHEY_SIMPLEXcap = cv2. VideoCapture (1) # vaš video uređaj

lastRes = '' count = 0

dok (1):

_, frame = cap.read ()

siva = cv2.cvtBoja (okvir, cv2. COLOR_BGR2GRAY)

lica = faceCascade.detectMultiScale (sivo, 1.3, 5)

brojanje+= 1

za (x, y, w, h) u licima:

cv2.pravokutnik (okvir, (x, y), (x+w, y+h), (255, 0, 0), 2)

ako je broj> 20: res = imena [prepoznavač.predvidi (sivo [y: y+h, x: x+w])-1]

if res! = lastRes:

lastRes = res

ispis lastRes

ser.write (lastRes)

broj = 0

pauza

cv2.imshow ('okvir', okvir)

k = 0xFF & cv2.waitKey (10)

ako je k == 27:

pauza

cap.release ()

ser.close ()

cv2.destroyAllWindows ()

Korak 4: Pokretanje koda

Pokretanje koda
Pokretanje koda

1. Preuzmite datoteke priložene u prethodnom koraku

2. kopirajte svoje sive fotografije (6 slika/ uzoraka…..) u mapu sa skupom podataka

1. Tom Cruise 1_1, 1_2, 1_3, 1_4, 1_5, 1_6 (broj slike skupa podataka za otvoreniju mapu skupova podataka)

2. Brad Pitt-2_1, 2_2, 2_3, 2_4, 2_5, 2_6

3. Lav-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

kao što je gore navedeno, možete dodati oznake za odgovarajuće osobe,

pa ako pi otkrije bilo koje lice među 1_1, 1_2, 1_3, 1_4, 1_5, 1_6, tada je označeno kao Tom Cruise, stoga budite oprezni pri prijenosu fotografija ………………

a zatim spojite svoj arduino na svoj maline Pi i unesite promjene u main.py codeser = serial. Serial ('/dev/ttyACM0', 9600, timeout = 1) 3. unesite sve preuzete datoteke (main.py, mapa sa skupom podataka), haarcascade_frontalface_default.xml u jednoj mapi.)

3. Sada otvorite Raspi-terminal, pokrenite svoj kod pomoću "sudo python main.py"

Preporučeni: