Obsah:

Opencv Face Recognition: 4 kroky
Opencv Face Recognition: 4 kroky

Video: Opencv Face Recognition: 4 kroky

Video: Opencv Face Recognition: 4 kroky
Video: Live Face Recognition in Python 2024, Listopad
Anonim
Opencv Face Recognition
Opencv Face Recognition

Rozpoznávání obličejů je v dnešní době docela běžná věc, v mnoha aplikacích, jako jsou chytré telefony, mnoho elektronických přístrojů. Tento druh technologie zahrnuje spoustu algoritmů a nástrojů atd., Které používají některé vestavěné platformy SOC, jako je Raspberry Pi a open source počítačové vidění knihovny jako OpenCV, nyní můžete přidat rozpoznávání tváří do svých vlastních aplikací, jako jsou bezpečnostní systémy.

V tomto projektu vám řeknu, jak vytvořit rozpoznávání obličeje pomocí Raspberry Pi a pro zobrazení jména osoby jsme použili arduino+Lcd.

Krok 1: Věci, které potřebujete

Věci, které potřebujete
Věci, které potřebujete

1. Raspberry PI

2. ARDUINO UNO / NANO

DISPLEJ 3,16x2 lCD

4. RASPI-CAMERA / WEBcam (pro lepší výsledky dávám přednost webové kameře)

Krok 2: Opencv-Intro a instalace

Opencv-Intro a instalace
Opencv-Intro a instalace

OpenCV (open source knihovna počítačového vidění) je velmi užitečná knihovna - poskytuje mnoho užitečných funkcí, jako je rozpoznávání textu, rozpoznávání obličejů, detekce objektů, vytváření hloubkových map a strojové učení.

Tento článek vám ukáže, jak nainstalovat Opencv a další knihovny na Raspberry Pi, které se budou hodit při detekci objektů a dalších projektech. Odtud se naučíme, jak provádět operace s obrázky a videem prováděním projektu rozpoznávání objektů a strojového učení. Konkrétně napíšeme jednoduchý kód pro detekci tváří na obrázku.

Co je OpenCV?

OpenCV je open source knihovna softwaru pro počítačové vidění a strojové učení. OpenCV je vydáván pod licencí BSD, takže je zdarma pro akademické i komerční použití. Má rozhraní C ++, Python a Java a podporuje Windows, Linux, Mac OS, iOS a Android. OpenCV byl navržen pro výpočetní efektivitu a silné zaměření na aplikace v reálném čase.

Jak nainstalovat OpenCV na Raspberry Pi?

K instalaci OpenCV potřebujeme mít nainstalovaný Python. Vzhledem k tomu, že Raspberry Pis má předinstalovaný Python, můžeme OpenCV nainstalovat přímo.

Zadejte níže uvedené příkazy, abyste se ujistili, že je váš Raspberry Pi aktuální, a aktualizovali nainstalované balíčky na vašem Raspberry Pi na nejnovější verze.

sudo apt-get updatesudo apt-get upgrade

Do terminálu zadejte následující příkazy a nainstalujte požadované balíčky pro OpenCV na váš Raspberry Pi.

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

Zadejte následující příkaz pro instalaci OpenCV 3 pro Python 3 na váš Raspberry Pi, pip3 nám říká, že OpenCV bude nainstalován pro Python 3.

sudo pip3 nainstalujte opencv-contrib-python libwebp6

Nyní by měl být nainstalován OpenCV.

(pokud se vyskytly nějaké chyby: stále to můžete udělat pomocí následujícího odkazu

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

Nyní nespěchejte, musíme zkontrolovat, zda byl správně nainstalován nebo ne

Otestujte svůj opencv podle:

1. přejděte na svůj terminál a zadejte „python“

2. poté zadejte „import cv2“.

3. potom zadejte „cv2._ verze_“.

poté nainstalujte tyto knihovny

pip3 install python-numpy

pip3 install python-matplotlib

Testovací kód pro detekci tváří na obrázku:

importovat cv2

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

image = cv2.imread ('název vašeho souboru') #příklad cv2.imread ('home/pi/Desktop/filename.jpg')

získáte výstup, jako by se na tvářích lidí, kteří jsou na obrázku, vytvořily čtvercové krabice.

Krok 3: Detekce a rozpoznání tváře ve videu v reálném čase

importovat cv2

import numpy jako np

import os

importní seriál

ser = serial. Serial ('/dev/ttyACM0', 9600, timeout = 1) #/dev/ttyACM0 se ve vašem případě může změnit, závisí na Arduinu

cascadePath = "haarcascade_frontalface_default.xml"

faceCascade = cv2. CascadeClassifier (cascadePath)

rozpoznávání = cv2.face.createLBPHFaceRecognizer ()

obrázky =

štítky =

s názvem souboru v os.listdir ('Dataset'):

im = cv2.imread ('Datová sada/'+název souboru, 0)

images.append (im)

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

#název_tisku

names_file = open ('labels.txt')

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

rozpoznávání.train (obrázky, np.array (štítky))

tisk 'Školení Hotovo… '

font = cv2. FONT_

HERSHEY_SIMPLEXcap = cv2. VideoCapture (1) # vaše video zařízení

lastRes = '' počet = 0

zatímco (1):

_, frame = cap.read ()

šedá = cv2.cvtColor (rámeček, cv2. COLOR_BGR2GREY)

Faces = faceCascade.detectMultiScale (šedá, 1,3, 5)

počítat+= 1

pro (x, y, w, h) v plochách:

cv2.rectangle (rámeček, (x, y), (x+w, y+h), (255, 0, 0), 2)

pokud počet> 20: res = jména [rozpoznávač.předvídat (šedá [y: y+h, x: x+w])-1]

pokud res! = lastRes:

lastRes = res

vytisknout posledníRes

ser.write (lastRes)

počet = 0

přestávka

cv2.imshow ('rámeček', rámeček)

k = 0xFF & cv2.waitKey (10)

pokud k == 27:

přestávka

cap.release ()

ser.close ()

cv2.destroyAllWindows ()

Krok 4: Spuštění kódu

Spuštění kódu
Spuštění kódu

1. Stáhněte si soubory připojené v předchozím kroku

2. zkopírujte své šedé fotografie (6 obrázků/ ukázek …..) do složky datové sady

1. Tom Cruise 1_1, 1_2, 1_3, 1_4, 1_5, 1_6 (číslo obrázku datové sady pro více otevřenou složku datové sady)

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

stejně jako výše můžete přidat štítky pro příslušné osoby,

takže pokud pi detekuje jakoukoli tvář mezi 1_1, 1_2, 1_3, 1_4, 1_5, 1_6, pak byla označena jako Tom Cruise, takže při nahrávání fotografií buďte opatrní ………………

a poté připojte své arduino k malinovému Pi a proveďte změny v kodéru main.py = serial. Serial ('/dev/ttyACM0', 9600, timeout = 1) 3. vložte všechny stažené soubory (main.py, složka datové sady, haarcascade_frontalface_default.xml v jedné složce.)

3. Nyní otevřete Raspi-terminál a spusťte kód pomocí „sudo python main.py“

Doporučuje: