Spisu treści:
- Krok 1: Dostęp do kamery internetowej
- Krok 2: Identyfikacja twarzy
- Krok 3: Zbieranie danych
- Krok 4: Trening
- Krok 5: Rozpoznawanie twarzy
- Krok 6: Programowanie Arduino
Wideo: Rozpoznawanie i identyfikacja twarzy - Arduino Face ID przy użyciu OpenCV Python i Arduino.: 6 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:28
Rozpoznawanie twarzy AKA face ID to obecnie jedna z najważniejszych funkcji w telefonach komórkowych.
Miałem więc 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 kamery internetowej
krok 2: Identyfikacja twarzy.
Krok 3: Zbieranie danych
Krok 4: Trening
Krok 5: Rozpoznawanie twarzy
Krok 6: Programowanie Arduino
Poniżej wyjaśnię wszystkie kroki. Mam nadzieję, że ci to pomoże.
Krok 1: Dostęp do kamery internetowej
Pierwszym krokiem do rozpoznawania twarzy był dostęp do kamery lub wizji komputerowej. Ponieważ Indie są zablokowane, najtańszym rozwiązaniem, jakie znalazłem, było użycie kamery internetowej mojego komputera, do której miałem dostęp za pomocą programu python przy użyciu modułu openCV.
Być może myślisz, co to jest OpenCV, prawda?
OpenCV (Open Source Computer Vision Library) to biblioteka oprogramowania do wizji komputerowej i uczenia maszynowego typu open source. OpenCV został zbudowany, aby zapewnić wspólną infrastrukturę dla aplikacji widzenia komputerowego i przyspieszyć wykorzystanie percepcji maszynowej w produktach komercyjnych.
Jeśli Opencv jest zainstalowany na twoim komputerze, możesz zacząć. Jeśli nie, wykonaj ten krok.
otwórz wiersz polecenia i wpisz „pip install opencv”.
Ostrzeżenie: może pojawić się błąd, ponieważ „pip” nie jest rozpoznawany jako polecenie wewnętrzne lub zewnętrzne. dla których musisz dodać ścieżkę instalacji pip do zmiennej systemowej PATH. Przejrzyj ten post, może ci to pomóc.
stackoverflow.com/questions/23708898/pip-i…
Po zainstalowaniu OpenCV dobrze jest iść… Aby sprawdzić, czy jest poprawnie zainstalowany, otwórz interpreter Pythona i zaimportuj bibliotekę. Zobacz powyższy obrazek, który powinien być twoim wyjściem.
Pobierz plik Pythona „AccessTo_webcam.py” i uruchom go. Zamieściłem tam wszystkie niezbędne uwagi.
Proszę bardzo, teraz masz dostęp do kamery internetowej. Bardzo dobrze. przejdźmy do kroku 2.
Krok 2: Identyfikacja twarzy
za pomocą tego samego modułu OpenCV musimy określić, czy w strumieniu wideo jest twarz, czy nie.
OpenCV zapewnia metodę szkolenia lub wstępnie wytrenowane modele zwane klasyfikatorem kaskadowym. Wstępnie wytrenowane modele znajdują się w folderze danych w instalacji OpenCV. Udostępniam ten plik, po prostu pobierz go i umieść w folderze projektu. Folder, w którym przechowywany jest plik „AccessTo_webcam.py”. Jeśli jeszcze go nie stworzyłeś, zrób to.
Pobierz „haarcascade_frontalface_default” i umieść go w głównym folderze projektu.
Pobierz "Face_identification.py" i umieść go w głównym folderze projektu. Całe wyjaśnienie jest w nim zawarte.
Teraz możesz zidentyfikować twarze w strumieniu wideo. Przejdźmy więc do kroku 3.
Krok 3: Zbieranie danych
Aby rozpoznawać twarze, musimy wyszkolić nasz program Pythona. Do czego potrzebujemy pewnych danych.
Zbieranie danych jest raczej najłatwiejszym krokiem w tym projekcie. utwórz folder o nazwie „image_data” w głównym folderze projektu. Wewnątrz folderu „image_data” utwórz kilka dodatkowych folderów z imieniem i nazwiskiem osoby, w których będziemy przechowywać dane. na przykład:
W folderze "image_data" utworzyłem jeszcze dwa foldery o nazwach "HRK" i "Yahiya". jak pokazano na powyższym obrazku.
Teraz stwórz własne foldery i nazwij je.
Po utworzeniu folderów zacznij zbierać obrazy tej konkretnej osoby. Polecam zebranie blisko 20 zdjęć na osobę. Możesz również dodać więcej zdjęć, ale dopilnuj, aby dane zebrane dla wszystkich osób zawierały taką samą liczbę zdjęć. Pomaga zapewnić dokładność.
to wszystko, teraz przejdźmy do kroku 4.
Krok 4: Trening
W skrócie, przejrzymy wszystkie foldery i obrazy znajdujące się w folderze „image_data” i utworzymy słownik, który będzie zawierał identyfikator etykiety i odpowiednią nazwę. Jednocześnie załadujemy obraz, aby wykryć twarz w każdym obrazie, który nazywamy "Regionem zainteresowania" i utworzymy plik ".yml", który zawiera te informacje.
Zakładając, że masz dane zebrane dla osób X i Y.
oznaczymy osobę X jako 1, która będzie jego identyfikatorem etykiety, a nazwa będzie sama X. Wczytujemy obraz, aby znaleźć jego twarz, tj. Region zainteresowania i dołączamy dane do listy.
podobne kroki zostaną wykonane dla osoby Y. I na koniec utworzymy plik ".yml".
Pobierz plik „face_trainer.py” i umieść go w głównym folderze projektu. Wszystkie niezbędne wyjaśnienia znajdują się w samym pliku.
Po uruchomieniu tego programu przejdzie on przez wszystkie obrazy i utworzy dwa pliki o nazwach „labels.pickle” i „trainner.yml”. Teraz wyszkoliłeś swój własny model. więc przejdźmy do kroku 5.
Krok 5: Rozpoznawanie twarzy
Jeśli poprawnie wykonałeś wszystkie kroki, być może stworzyłeś własne wytrenowane dane. Teraz użyjemy tych danych do rozpoznawania twarzy.
Zasadniczo załadujemy nasze wytrenowane modele do pliku Pythona, uzyskamy dostęp do naszej kamery internetowej i zidentyfikujemy twarze w strumieniu wideo i wykonamy porównanie lub prognozę między bieżącą twarzą zidentyfikowaną w strumieniu wideo a modelem, który został wyszkolony. jeśli dane są dopasowane, to mówimy, że dana osoba została rozpoznana, to po prostu takie proste…
Pobierz "face_recognise.py" i uruchom go. Znajdują się w nim wszystkie niezbędne informacje. Teraz twoja twarz mogła zostać rozpoznana. jeśli dokładność nie jest dobra, spróbuj zaktualizować dane. jeśli wszystko w porządku, przejdźmy do kroku 6/
Krok 6: Programowanie Arduino
Ostatnim i ostatnim krokiem jest zaprogramowanie Arduino i zapewnienie sposobu komunikacji między pythonem a Arduino. Do komunikacji wykorzystałem „Komunikację szeregową”. Przejrzyj film, do którego załączyłem powyżej, aby dowiedzieć się, jak działa komunikacja szeregowa i ją ustanowić. Wszystkie wymagane pliki znajdziesz w opisie filmu.
Jeśli przejrzałeś film, pozwól, że wyjaśnię ci, co zrobiłem. Gdy moja twarz zostanie rozpoznana, podany identyfikator etykiety to 2. Gdy identyfikator etykiety wynosi 2, wyślę „1” jako dane szeregowe do mojego Arduino. Który włączy mój obwód ścigacza LED. Jeśli identyfikator etykiety jest inny niż 2, wyślę „0” jako dane szeregowe, co spowoduje wyłączenie mojego obwodu chaserowego LED.
Pobierz plik „ard_chaser.ino”. Jest to prosty program chaserowy LED, który wykorzystuje komunikację szeregową.
Podobnie pobierz plik „face_recogniser1.py”, który nawiąże komunikację szeregową między Arduino a programem Python.
Proszę bardzo. Mam nadzieję, że nauczyłeś się czegoś nowego. Subskrybuj mój kanał na YouTube, aby uzyskać więcej informacji związanych z pythonem i Arduino. Udostępnij to, jeśli Ci się spodobało. Wspieraj.
Dziękuję Ci.
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 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 Opencv: 4 kroki
Rozpoznawanie twarzy Opencv: 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 wbudowane platformy SOC, takie jak Raspberry
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”
Wykrywanie twarzy + rozpoznawanie: 8 kroków (ze zdjęciami)
Wykrywanie twarzy + rozpoznawanie: Jest to prosty przykład uruchamiania wykrywania i rozpoznawania twarzy za pomocą OpenCV z kamery. UWAGA: ZROBIŁEM TEN PROJEKT NA KONKURS CZUJNIKÓW I UŻYŁEM KAMERY JAKO CZUJNIKA DO ŚLEDZENIA I ROZPOZNAWANIA TWARZY. Tak więc nasz celW tej sesji 1. Zainstaluj Anacondę