Obsah:
- Krok 1: Věci, které potřebujete
- Krok 2: Opencv-Intro a instalace
- Krok 3: Detekce a rozpoznání tváře ve videu v reálném čase
- Krok 4: Spuštění kódu
Video: Opencv Face Recognition: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
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
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 (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
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:
Face Touch Alarm: 4 kroky (s obrázky)
Face Touch Alarm: Dotek naší tváře je jedním z nejběžnějších způsobů, jak se infikujeme viry, jako je Covid-19. Akademická studie z roku 2015 (https://www.ncbi.nlm.nih.gov/pubmed/25637115) zjistila, že se svých tváří dotýkáme v průměru 23krát za hodinu. Rozhoduji
Micro: bit MU Vision Sensor for Beginners - I2C and Shape Card Recognition: 8 Steps
Micro: bit MU Vision Sensor for Beginners - I2C and Shape Card Recognition: Dostal se mi do rukou snímač MU pro Micro: bit. Zdá se, že je to skvělý nástroj, který mi umožní vytvořit mnoho různých projektů založených na vizi. Bohužel se nezdá, že by k tomu bylo tolik průvodců a zatímco dokumentace je opravdu
Micro: bit MU Vision Sensor for Beginners - Label Values and Number Card Recognition: 6 Steps
Micro: bit MU Vision Sensor for Beginners - Label Values and Number Card Recognition: This is my second guide to the MU vision sensor. V tomto projektu naprogramujeme micro: bit tak, aby rozpoznával různé číselné karty pomocí hodnot štítků
Rozpoznávání a identifikace obličeje - Arduino Face ID pomocí OpenCV Python a Arduino .: 6 kroků
Rozpoznávání a identifikace obličeje | Arduino Face ID pomocí OpenCV Python a Arduino .: Rozpoznání obličeje AKA face ID je v dnešní době jednou z nejdůležitějších funkcí mobilních telefonů. Měl jsem tedy otázku " mohu mít ID tváře pro svůj projekt Arduino " a odpověď zní ano … Moje cesta začala takto: Krok 1: Přístup k
Real-time Face Recognition: an End-to-end Project: 8 Steps (with Pictures)
Real-time Face Recognition: an End-to-end Project: Na mém posledním tutoriálu zkoumajícím OpenCV jsme se naučili AUTOMATICKÉ SLEDOVÁNÍ OBJEKTU VISION. Nyní použijeme náš PiCam k rozpoznávání tváří v reálném čase, jak můžete vidět níže: Tento projekt byl proveden s touto fantastickou „Open Source knihovnou počítačového vidění“a