Spisu treści:
- Krok 1: Rzeczy, których potrzebujesz
- Krok 2: Opencv-Intro i instalacja
- Krok 3: Wykrywanie i rozpoznawanie twarzy na wideo w czasie rzeczywistym
- Krok 4: Uruchamianie kodu
Wideo: Rozpoznawanie twarzy Opencv: 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:30
Rozpoznawanie twarzy jest obecnie dość powszechną rzeczą w wielu aplikacjach, takich jak smartfony, wiele gadżetów elektronicznych. Ten rodzaj technologii obejmuje wiele algorytmów i narzędzi itp., które wykorzystują wbudowane platformy SOC, takie jak Raspberry Pi i wizja komputerowa typu open source biblioteki takie jak OpenCV, możesz teraz dodać rozpoznawanie twarzy do własnych aplikacji, takich jak systemy bezpieczeństwa.
W tym projekcie opowiem Ci, jak zbudować rozpoznawanie twarzy za pomocą Raspberry Pi i użyliśmy arduino+Lcd do wyświetlenia imienia osoby..
Krok 1: Rzeczy, których potrzebujesz
1. MALINOWY PI
2. ARDUINO UNO / NANO
WYŚWIETLACZ LCD 3,16x2
4. RASPI-CAMERA / WEBcam (wolę kamerę internetową, aby uzyskać lepsze wyniki)
Krok 2: Opencv-Intro i instalacja
OpenCV (open source computer vision library) to bardzo przydatna biblioteka - dostarcza wielu przydatnych funkcji, takich jak rozpoznawanie tekstu, rozpoznawanie twarzy, wykrywanie obiektów, tworzenie map głębi i uczenie maszynowe.
W tym artykule dowiesz się, jak zainstalować Opencv i inne biblioteki na Raspberry Pi, które przydadzą się podczas wykrywania obiektów i innych projektów. Stamtąd dowiemy się, jak wykonywać operacje na obrazie i wideo, wykonując projekt rozpoznawania obiektów i uczenia maszynowego. W szczególności napiszemy prosty kod do wykrywania twarzy na obrazie.
Co to jest OpenCV?
OpenCV to biblioteka oprogramowania do wizji komputerowej i uczenia maszynowego typu open source. OpenCV jest udostępniany na licencji BSD, dzięki czemu jest darmowy zarówno do użytku akademickiego, jak i komercyjnego. Ma interfejsy C++, Python i Java i obsługuje systemy Windows, Linux, Mac OS, iOS i Android. OpenCV został zaprojektowany z myślą o wydajności obliczeniowej i silnym skupieniu się na aplikacjach czasu rzeczywistego.
Jak zainstalować OpenCV na Raspberry Pi?
Aby zainstalować OpenCV, musimy mieć zainstalowany Python. Ponieważ Raspberry Pis jest wstępnie załadowany Pythonem, możemy bezpośrednio zainstalować OpenCV.
Wpisz poniższe polecenia, aby upewnić się, że Twoje Raspberry Pi jest aktualne i zaktualizować zainstalowane pakiety na Twoim Raspberry Pi do najnowszych wersji.
sudo apt-get aktualizacje sudo apt-get uaktualnienie
Wpisz następujące polecenia w terminalu, aby zainstalować wymagane pakiety dla OpenCV na swoim Raspberry Pi.
sudo apt zainstaluj libatlas3-base libsz2 libharfbuzz0b libtiff5 libjasper1 libilmbase12 libopenexr22 libilmbase12 libgstreamer1.0-0 libavcodec57 libavformat57 libavutil55 libswscale4 libqtgui4 libqtcore4test lib
Wpisz następujące polecenie, aby zainstalować OpenCV 3 dla Pythona 3 na twoim Raspberry Pi, pip3 mówi nam, że OpenCV zostanie zainstalowany dla Pythona 3.
sudo pip3 zainstaluj opencv-contrib-python libwebp6
Teraz należy zainstalować OpenCV.
(jeśli wystąpiły jakieś błędy: nadal możesz to zrobić, klikając poniższy link)
https://www.instructables.com/id/Raspberry-Pi-Hand…)
Teraz nie spiesz się, musimy sprawdzić, czy został poprawnie zainstalowany, czy nie
Przetestuj swój opencv poprzez:
1. przejdź do swojego terminala i wpisz „python”
2. następnie wpisz "import cv2".
3.następnie wpisz "cv2._wersja_".
następnie zainstaluj te biblioteki
pip3 zainstaluj python-numpy
pip3 zainstaluj python-matplotlib
Kod testowy do wykrywania twarzy na obrazie:
importuj cv2
faceCascade = cv2. CascadeClassifier("haarcascade_frontalface_default.xml");
image = cv2.imread('nazwa twojego pliku') #przykład cv2.imread('home/pi/Desktop/filename.jpg')
Otrzymasz wynik jak kwadratowe pudełka uformowane na twarzach osób, które są na zdjęciu.
Krok 3: Wykrywanie i rozpoznawanie twarzy na wideo w czasie rzeczywistym
importuj cv2
importuj numer jako np
importuj system
importuj serial
ser = serial. Serial('/dev/ttyACM0', 9600, timeout=1) # /dev/ttyACM0 może się zmienić w twoim przypadku, zależy od arduino
cascadePath = "haarcascade_frontalface_default.xml"
faceCascade = cv2. CascadeClassifier(cascadePath)
rozpoznawanie=cv2.face.createLBPHAceRecognizer()
obrazy=
etykiety=
dla nazwy pliku w os.listdir('Zbiór danych'):
im=cv2.imread('Zestaw danych/'+nazwa pliku, 0)
obrazy.append(im)
etykiety.append(int(nazwapliku.split('.')[0][0]))
#drukuj nazwę pliku
names_file=open('labels.txt')
names=names_file.read().split('\n')
rozpoznawanie.pociąg(obrazy, np. tablica (etykiety))
print 'Szkolenie zakończone… '
czcionka = cv2. FONT_
HERSHEY_SIMPLEXcap=cv2. VideoCapture(1) # Twoje urządzenie wideo
lastRes=''liczba=0
podczas (1):
_, ramka=całk.odczyt()
szary=cv2.cvtColor(ramka, cv2. COLOR_BGR2GRAY)
twarze = twarzCascade.detectMultiScale(szary, 1,3, 5)
liczba+=1
dla (x, y, w, h) w ścianach:
cv2.rectangle(ramka, (x, y), (x+w, y+h), (255, 0, 0), 2)
if count>20: res=names[recognizer.predict(szary[y:y+h, x:x+w])-1]
if res!=lastRes:
lastRes=res
drukuj lastRes
ser.write(lastRes)
liczba=0
przerwa
cv2.imshow('ramka', ramka)
k = 0xFF & cv2.waitKey(10)
jeśli k == 27:
przerwa
cap.zwolnienie()
ser.zamknij()
cv2.zniszczWszystkieOkna()
Krok 4: Uruchamianie kodu
1. Pobierz pliki załączone w poprzednim kroku
2. skopiuj szare zdjęcia (6 obrazów/próbek…..) do folderu zestawu danych
1. Tom Cruise 1_1, 1_2, 1_3, 1_4, 1_5, 1_6 (numer obrazu zestawu danych dla bardziej otwartego folderu zestawu danych)
2. Brad Pitt-2_1, 2_2, 2_3, 2_4, 2_5, 2_6
3. Lew-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
podobnie jak powyżej możesz dodać etykiety dla odpowiednich osób,
więc jeśli pi wykryje jakąkolwiek twarz spośród 1_1, 1_2, 1_3, 1_4, 1_5, 1_6, to został oznaczony jako Tom Cruise, więc zachowaj ostrożność podczas przesyłania zdjęć………………
a następnie podłącz arduino do raspberry Pi i dokonaj zmian w koderze main.py = serial. Serial('/dev/ttyACM0', 9600, timeout=1) 3. wstaw wszystkie pobrane pliki (main.py, folder dataset, haarcascade_frontalface_default.xml w jednym folderze.)
3. Teraz otwórz terminal Raspi, uruchom swój kod przez "sudo python main.py"
Zalecana:
Wykrywanie, szkolenie i rozpoznawanie twarzy Opencv: 3 kroki
Opencv Face Detection, Training and Recognition: OpenCV to biblioteka komputerowa o otwartym kodzie źródłowym, która jest bardzo popularna do wykonywania podstawowych zadań przetwarzania obrazu, takich jak rozmycie, mieszanie obrazów, poprawianie jakości obrazu i wideo, progowanie itp. Oprócz przetwarzania obrazu, to udowodnić
Rozpoznawanie i identyfikacja twarzy - Arduino Face ID przy użyciu OpenCV Python i Arduino.: 6 kroków
Rozpoznawanie i identyfikacja twarzy | Arduino Face ID przy użyciu OpenCV Python i Arduino.: Rozpoznawanie twarzy AKA face ID jest obecnie jedną z najważniejszych funkcji w telefonach komórkowych. Tak więc miałem pytanie „czy mogę mieć identyfikator twarzy dla mojego projektu Arduino” a odpowiedź brzmi tak… Moja podróż zaczęła się następująco: Krok 1: Dostęp do nas
Rozpoznawanie twarzy w praktyce: 21 kroków
Rozpoznawanie twarzy w praktyce: Jest to temat, który mnie tak fascynuje, że nie mogę spać: Widzenie komputerowe, wykrywanie obiektów i ludzi za pomocą przeszkolonego modelu
Rozpoznawanie twarzy CAM ESP32 z obsługą MQTT - AI-myśliciel: 4 kroki
Rozpoznawanie twarzy CAM ESP32 z obsługą MQTT | AI-Thinker: Witam! Chciałem udostępnić mój kod do projektu, w którym potrzebowałem mieć ESP CAM z rozpoznawaniem twarzy, który mógłby wysyłać dane do MQTT. No cóż… po może 7 godzinach przeszukiwania wielu przykładów kodu i szukania tego, co jest, mam skończenie
Rozpoznawanie twarzy w czasie rzeczywistym: kompleksowy projekt: 8 kroków (ze zdjęciami)
Rozpoznawanie twarzy w czasie rzeczywistym: kompleksowy projekt: W moim ostatnim samouczku dotyczącym OpenCV nauczyliśmy się AUTOMATYCZNEGO ŚLEDZENIA OBIEKTÓW WIZJI. Teraz użyjemy naszego PiCam do rozpoznawania twarzy w czasie rzeczywistym, jak widać poniżej:Ten projekt został wykonany przy użyciu tej fantastycznej biblioteki „Open Source Computer Vision Library”