Përmbajtje:

Njohja e Fytyrës e Hapur: 4 Hapa
Njohja e Fytyrës e Hapur: 4 Hapa

Video: Njohja e Fytyrës e Hapur: 4 Hapa

Video: Njohja e Fytyrës e Hapur: 4 Hapa
Video: Красивые ТАПОЧКИ СЛЕДКИ на 2-х спицах. Без швов на подошве. Подробный мастер класс. 2024, Nëntor
Anonim
Njohja e Fytyrës e Hapur
Njohja e Fytyrës e Hapur

Njohja e fytyrës është një gjë mjaft e zakonshme sot, në shumë aplikacione si telefonat inteligjentë, shumë pajisje elektronike. Ky lloj teknologjie përfshin shumë algoritme dhe mjete, etj., I cili përdor disa platforma SOC të ngulitura si Raspberry Pi dhe vizion kompjuterik me burim të hapur bibliotekat si OpenCV, tani mund të shtoni njohjen e fytyrës në aplikacionet tuaja si, sistemet e sigurisë.

Në këtë projekt, unë do t'ju tregoj se si të krijoni një njohje të fytyrës duke përdorur një Raspberry Pi dhe ne kemi përdorur arduino+Lcd për të shfaqur emrin e personit..

Hapi 1: Gjërat që ju nevojiten

Gjërat që ju nevojiten
Gjërat që ju nevojiten

1. MJEDRS PI

2. ARDUINO UNO / NANO

3.16x2 lCD DISPLAY

4. RASPI-CAMERA / WEBcam (preferoj kamerën në internet për rezultate më të mira)

Hapi 2: Hapja dhe Instalimi

Hapja-Hyrje dhe Instalimi
Hapja-Hyrje dhe Instalimi

OpenCV (biblioteka e vizionit kompjuterik me burim të hapur) është një bibliotekë shumë e dobishme - ofron shumë veçori të dobishme të tilla si njohja e tekstit, njohja e fytyrës, zbulimi i objekteve, krijimi i hartave të thellësisë dhe mësimi i makinerisë.

Ky artikull do t'ju tregojë se si të instaloni Opencv dhe biblioteka të tjera në Raspberry Pi që do të jenë të dobishme kur bëni zbulimin e objekteve dhe projekte të tjera. Nga atje, ne do të mësojmë se si të kryejmë operacione me imazhe dhe video duke ekzekutuar një projekt të njohjes së objekteve dhe të mësimit të makinerisë. Në mënyrë të veçantë, ne do të shkruajmë një kod të thjeshtë për të zbuluar fytyrat në një imazh.

Çfarë është OpenCV?

OpenCV është një bibliotekë e softuerit të vizionit kompjuterik dhe mësimit të makinerisë. OpenCV lëshohet nën një licencë BSD duke e bërë atë falas për përdorim akademik dhe komercial. Ka ndërfaqe C ++, Python dhe Java dhe mbështet Windows, Linux, Mac OS, iOS dhe Android. OpenCV është krijuar për efikasitet llogaritës dhe një fokus të fortë në aplikimet në kohë reale.

Si të instaloni OpenCV në një Raspberry Pi?

Për të instaluar OpenCV, duhet të kemi të instaluar Python. Meqenëse Raspberry Pis janë të ngarkuar paraprakisht me Python, ne mund të instalojmë drejtpërdrejt OpenCV.

Shkruani komandat më poshtë për t'u siguruar që Raspberry Pi juaj është i përditësuar dhe për të përditësuar paketat e instaluara në Raspberry Pi tuaj në versionet më të fundit.

sudo apt-merrni përditësime sudo apt-merrni upgrade

Shkruani komandat e mëposhtme në terminal për të instaluar paketat e kërkuara për OpenCV në Raspberry Pi tuaj.

sudo apt instaloni libatlas3-bazë libsz2 libharfbuzz0b libtiff5 libjasper1 libilmbase12 libopenexr22 libilmbase12 libgstreamer1.0-0 libavcodec57 libavformat57 libavutil55 libswscale4 libqtgui4 libqt4-test libqtcore4

Shkruani komandën e mëposhtme për të instaluar OpenCV 3 për Python 3 në Raspberry Pi tuaj, pip3 na tregon se OpenCV do të instalohet për Python 3.

sudo pip3 instaloni opencv-contrib-python libwebp6

Tani, OpenCV duhet të instalohet.

(nëse ndodhin ndonjë gabim: prapë mund ta bëni duke ndjekur lidhjen më poshtë

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

Tani mos nxitoni, ne duhet ta kontrollojmë nëse është instaluar siç duhet apo jo

Testoni opencv tuaj duke:

1. shkoni në terminalin tuaj dhe shtypni "python"

2.pastaj shkruani "import cv2".

3.pastaj shkruani "cv2._ version_".

pastaj instaloni këto biblioteka

pip3 instaloni python-numpy

pip3 instaloni python-matplotlib

Kodi i testimit për të zbuluar fytyrat në një imazh:

import cv2

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

image = cv2.imread ('emri i skedarit tuaj') #shembull cv2.imread ('home/pi/Desktop/filename.jpg')

do të merrni daljen sikur një kuti katrore të jetë formuar në fytyrat e njerëzve që janë në foto.

Hapi 3: Zbulimi dhe njohja e fytyrës në një video në kohë reale

import cv2

importoni numpy si np

import os

serial importi

ser = serial. Serial ('/dev/ttyACM0', 9600, timeout = 1) #/dev/ttyACM0 mund të ndryshojë në rastin tuaj, varet nga arduino

cascadePath = "haarcascade_frontalface_default.xml"

faceCascade = cv2. CascadeClassifier (cascadePath)

njohës = cv2.face.createLBPHFaceRecognizer ()

imazhe =

etiketat =

për emrin e skedarit në os.listdir ('Dataset'):

im = cv2.imread ('Dataset/'+emri i skedarit, 0)

imazhe. shtoj (im)

etiketat.append (int (emri i skedarit. ndarje ('.') [0] [0]))

#print emri i skedarit

emrat_file = hapur ('labels.txt')

emrat = emrat_file.lexim (). ndarje ('\ n')

njohës.tren (imazhe, np. array (etiketa))

print 'Trajnimi u krye. Me Me '

font = cv2. FONT_

HERSHEY_SIMPLEXcap = cv2. VideoCapture (1) # pajisjen tuaj video

lastRes = "" numërimi = 0

ndërsa (1):

_, frame = cap.read ()

gri = cv2.cvtColor (kornizë, cv2. COLOR_BGR2GRAY)

fytyrat = faceCascade.detectMultiScale (gri, 1.3, 5)

numëroni+= 1

për (x, y, w, h) në fytyra:

cv2. drejtkëndësh (kornizë, (x, y), (x+w, y+h), (255, 0, 0), 2)

nëse numëroni> 20: res = emrat [njohësi.parashikimi (gri [y: y+h, x: x+w])-1]

nëse res! = lastRes:

lastRes = res

printoni lastRes

ser.write (lastRes)

numërimi = 0

pushim

cv2.imshow ('kornizë', kornizë)

k = 0xFF & cv2.waitKey (10)

nëse k == 27:

pushim

kapak. lëshim ()

ser.mbylle ()

cv2.destroyAllWindows ()

Hapi 4: Drejtimi i Kodit

Drejtimi i Kodit
Drejtimi i Kodit

1. Shkarkoni skedarët e bashkangjitur në hapin e mëparshëm

2. kopjoni fotot tuaja gri (6 imazhe/ mostra…..) në dosjen tuaj të të dhënave

1. Tom Cruise 1_1, 1_2, 1_3, 1_4, 1_5, 1_6 (numri i imazhit i vendosur të dhënave për dosjen më të hapur të të dhënave)

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

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

si më sipër ju mund të shtoni etiketat për personat përkatës,

kështu që nëse pi zbulon ndonjë fytyrë midis 1_1, 1_2, 1_3, 1_4, 1_5, 1_6, atëherë ajo u etiketua si Tom Cruise, kështu që ju lutemi kini kujdes kur ngarkoni fotot ……………….

dhe pastaj lidhni arduino -në tuaj me mjedrën Pi dhe bëni ndryshime në kodin kryesor.py codeser = serial. Serial ('/dev/ttyACM0', 9600, timeout = 1) 3. futni të gjithë skedarët e shkarkuar (main.py, dosja e të dhënave, haarcascade_frontalface_default.xml në një dosje.)

3. Tani hapni terminalin Raspi drejtoni kodin tuaj nga "sudo python main.py"

Recommended: