Obsah:
- Krok 1: Veci, ktoré potrebujete
- Krok 2: Opencv-úvod a inštalácia
- Krok 3: Detekcia a rozpoznanie tváre vo videu v reálnom čase
- Krok 4: Spustenie kódu
Video: Rozpoznávanie tváre Opencv: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:58
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
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 (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
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:
Zrkadlo na rozpoznávanie tváre s tajným oddelením: 15 krokov (s obrázkami)
Zrkadlo na rozpoznávanie tváre s tajným oddelením: Vždy ma fascinovali stále kreatívne tajné oddelenia používané v príbehoch, filmoch a podobne. Keď som teda videl súťaž Secret Compartment Contest, rozhodol som sa s touto myšlienkou experimentovať a vytvoriť obyčajné zrkadlo, ktoré otvára
Zámok dverí na rozpoznávanie tváre: 8 krokov
Zámok dverí na rozpoznávanie tváre: Asi mesiac na výrobu predstavujem zámok dverí na rozpoznanie tváre! Snažil som sa, aby to vyzeralo tak úhľadne, ako to len bude možné, ale môžem len toľko, ako len 13-ročný. Tento zámok dverí na rozpoznanie tváre ovláda Raspberry Pi 4 so špeciálnou prenosnou batériou
Opencv Detekcia tváre, školenie a rozpoznávanie: 3 kroky
Opencv Rozpoznávanie, školenie a rozpoznávanie tváre: OpenCV je knižnica počítačového videnia s otvoreným zdrojovým kódom, ktorá je veľmi obľúbená pri vykonávaní základných úloh spracovania obrazu, ako je rozmazanie, miešanie obrazu, vylepšovanie kvality obrazu a videa, prahové hodnoty atď. Okrem spracovania obrazu, dokazuje to
Rozpoznávanie tváre a identifikácia - Arduino Face ID pomocou OpenCV Python a Arduino .: 6 krokov
Rozpoznávanie tváre a identifikácia | Arduino Face ID pomocou OpenCV Python a Arduino .: Rozpoznávanie tváre AKA face ID je v dnešnej dobe jednou z najdôležitejších funkcií mobilných telefónov. Preto som mal otázku „môžem mať pre svoj projekt Arduino identifikátor tváre“? a odpoveď je áno … Moja cesta začala takto: Krok 1: Prístup k nám
Rozpoznávanie tváre ESP32 CAM s podporou MQTT - AI-Thinker: 4 kroky
Rozpoznávanie tváre ESP32 CAM s podporou MQTT | AI-Thinker: Dobrý deň! Chcel by som sa podeliť o svoj kód pre projekt, keby som potreboval mať ESP CAM s rozpoznávaním tvárí, ktoré by mohlo odosielať údaje do MQTT. Tak dobre .. asi po 7 hodinách hľadania prostredníctvom viacerých príkladov kódu a hľadania toho, čo je čo, mám finis