Obsah:

Rozpoznávanie tváre Opencv: 4 kroky
Rozpoznávanie tváre Opencv: 4 kroky

Video: Rozpoznávanie tváre Opencv: 4 kroky

Video: Rozpoznávanie tváre Opencv: 4 kroky
Video: Веб-семинар по 3D Vision и binpicking ENG от KUKA Nordic 2024, November
Anonim
Opencv rozpoznávanie tváre
Opencv rozpoznávanie tváre

Rozpoznávanie tváre je v dnešnej dobe celkom bežnou vecou, v mnohých aplikáciách, ako sú chytré telefóny, mnoho elektronických prístrojov. Tento druh technológie zahŕňa množstvo algoritmov a nástrojov atď., Ktorá používa niektoré vstavané platformy SOC, ako je Raspberry Pi a počítačové počítačové videnie s otvoreným zdrojovým kódom. knižnice ako OpenCV, teraz môžete pridať rozpoznávanie tváre do svojich vlastných aplikácií, ako sú napríklad bezpečnostné systémy.

V tomto projekte vám poviem, ako vytvoriť rozpoznanie tváre pomocou Raspberry Pi a na zobrazenie mena osoby sme použili arduino+Lcd.

Krok 1: Veci, ktoré potrebujete

Veci, ktoré potrebujete
Veci, ktoré potrebujete

1. MALINA PI

2. ARDUINO UNO / NANO

DISPLEJ 3,16x2 lCD

4. RASPI-CAMERA / WEBcam (pre lepšie výsledky uprednostňujem webovú kameru)

Krok 2: Opencv-úvod a inštalácia

Opencv-úvod a inštalácia
Opencv-úvod a inštalácia

OpenCV (open source knižnica počítačového videnia) je veľmi užitočná knižnica - poskytuje mnoho užitočných funkcií, ako je rozpoznávanie textu, rozpoznávanie tvárí, detekcia objektov, vytváranie hĺbkových máp a strojové učenie.

Tento článok vám ukáže, ako nainštalovať Opencv a ďalšie knižnice na Raspberry Pi, ktoré sa vám budú hodiť pri detekcii objektov a iných projektoch. Odtiaľ sa naučíme, ako vykonávať operácie s obrázkami a videom, a to spustením projektu rozpoznávania objektov a strojového učenia. Konkrétne napíšeme jednoduchý kód na detekciu tvárí na obrázku.

Čo je OpenCV?

OpenCV je open source knižnica softvéru pre počítačové videnie a strojové učenie. OpenCV je vydávaný pod licenciou BSD, vďaka čomu je bezplatný na akademické aj komerčné využitie. Má rozhrania C ++, Python a Java a podporuje systémy Windows, Linux, Mac OS, iOS a Android. OpenCV bol navrhnutý pre výpočtovú efektivitu a silné zameranie na aplikácie v reálnom čase.

Ako nainštalovať OpenCV na Raspberry Pi?

Na inštaláciu OpenCV potrebujeme mať nainštalovaný Python. Pretože v Raspberry Pis je vopred nainštalovaný Python, môžeme OpenCV nainštalovať priamo.

Napíšte nižšie uvedené príkazy, aby ste sa presvedčili, že je váš Raspberry Pi aktuálny, a aktualizuje nainštalované balíky na vašom Raspberry Pi na najnovšie verzie.

sudo apt-get updatesudo apt-get upgrade

Do terminálu zadajte nasledujúce príkazy, aby ste na váš Raspberry Pi nainštalovali požadované balíky pre OpenCV.

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

Zadajte nasledujúci príkaz a nainštalujte OpenCV 3 pre Python 3 na svoj Raspberry Pi, pip3 nám hovorí, že OpenCV bude nainštalovaný pre Python 3.

sudo pip3 nainštalujte opencv-contrib-python libwebp6

Teraz by mal byť nainštalovaný OpenCV.

(Ak sa vyskytli nejaké chyby: stále to môžete urobiť pomocou nasledujúceho odkazu

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

Teraz sa neponáhľajte, musíme skontrolovať, či bol správne nainštalovaný alebo nie

Otestujte svoj opencv podľa:

1. prejdite na svoj terminál a zadajte „python“

2. potom zadajte „import cv2“.

3. potom zadajte „cv2._ verzia_“.

potom nainštalujte tieto knižnice

pip3 install python-numpy

pip3 nainštalujte python-matplotlib

Testovací kód na rozpoznanie tvárí na obrázku:

import cv2

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

image = cv2.imread ('názov súboru') #example cv2.imread ('home/pi/Desktop/filename.jpg')

získate výstup, ako keby sa na tvárach ľudí, ktorí sú na obrázku, vytvorili štvorcové škatule.

Krok 3: Detekcia a rozpoznanie tváre vo videu v reálnom čase

import cv2

import numpy ako np

import os

importný seriál

ser = serial. Serial ('/dev/ttyACM0', 9600, timeout = 1) #/dev/ttyACM0 sa vo vašom prípade môže zmeniť, závisí od Arduina

cascadePath = "haarcascade_frontalface_default.xml"

faceCascade = cv2. CascadeClassifier (cascadePath)

rozpoznávač = cv2.face.createLBPHFaceRecognizer ()

obrázky =

štítky =

pre názov súboru v os.listdir ('Dataset'):

im = cv2.imread ('množina údajov/'+názov súboru, 0)

images.append (im)

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

#názov_tlače

names_file = otvorený ('labels.txt')

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

rozpoznávač.train (obrázky, np.array (štítky))

vytlačiť 'Tréning hotový… '

font = cv2. FONT_

HERSHEY_SIMPLEXcap = cv2. VideoCapture (1) # vaše video zariadenie

lastRes = '' počet = 0

zatiaľ čo (1):

_, frame = cap.read ()

šedá = cv2.cvtColor (rám, cv2. COLOR_BGR2GREY)

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

počítať+= 1

pre (x, y, w, h) v tvárach:

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

ak je počet> 20: res = mená [rozpoznávač.predpoved (sivý [y: y+h, x: x+w])-1]

ak res! = lastRes:

lastRes = res

vytlačiť poslednéRes

ser.write (lastRes)

počet = 0

prestávka

cv2.imshow ('rám', rám)

k = 0xFF & cv2.waitKey (10)

ak k == 27:

prestávka

cap.release ()

ser.close ()

cv2.destroyAllWindows ()

Krok 4: Spustenie kódu

Spustenie kódu
Spustenie kódu

1. Stiahnite si súbory priložené v predchádzajúcom kroku

2. skopírujte svoje sivé fotografie (6 obrázkov/ ukážok …..) do priečinka množiny údajov

1. Tom Cruise 1_1, 1_2, 1_3, 1_4, 1_5, 1_6 (číslo obrázku súboru údajov pre otvorenejší priečinok s množinou údajov)

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

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

ako je uvedené vyššie, môžete pridať štítky pre príslušné osoby,

Ak teda pi rozpozná akúkoľvek tvár medzi 1_1, 1_2, 1_3, 1_4, 1_5, 1_6, bolo označené ako Tom Cruise, takže pri odosielaní fotografií buďte opatrní ……………….

a potom pripojte arduino k malinovému Pi a vykonajte zmeny v main.py codeer = serial. Serial ('/dev/ttyACM0', 9600, timeout = 1) 3. vložte všetky stiahnuté súbory (main.py, priečinok množiny údajov, haarcascade_frontalface_default.xml v jednom priečinku.)

3. Teraz otvorte Raspi-terminál a spustite kód pomocou „sudo python main.py“

Odporúča: