Zestawienie materiałów dla inteligentnej kamery śledzącej twarze
Przygotowanie
Użyj poniższych poleceń, aby skonfigurować moduły Pythona na płytce Raspberry Pi:
sudo pip3 install gpiozero
sudo pip3 install opencv-python
sudo pip3 install nmap
sudo pip3 install dlib
sudo pip3 install face_recoginition
Aby włączyć kamerę RPi, użyj sudo raspi-config, a następnie przejdź do „interfaces”.
Kodowanie
Napisz dwa różne kody: jeden do śledzenia obiektu docelowego, a drugi do śledzenia twarzy i kamery. Kamera uzyskuje współrzędne x i y twarzy, a następnie przekłada je na kąt ruchu serwomechanizmu. W kodzie śledzona jest tylko współrzędna x serwomechanizmu, a nie ruch y twarzy. Można jednak dodać jeszcze jeden serwomotor, aby śledzić ruch twarzy we współrzędnej y.
Zaimplementuj kod rozpoznawania twarzy, który został wcześniej napisany dla projektu robota do rozpoznawania twarzy, a następnie zaimportuj kilka nowych bibliotek do kodu. Upewnij się, że zaimportowałeś bibliotekę gpiozero do kodu, aby sterować serwomechanizmem. Następnie ustaw numer pinu Raspberry Pi do sterowania serwomechanizmem. Można użyć dowolnego pinu PWM Raspberry Pi. Do Raspberry Pi został dołączony Bonnet, którego pin A (a nie pin Raspberry Pi) umożliwia bezpośredni dostęp do sterowania serwomechanizmem.
Po uzyskaniu współrzędnej x twarzy, użyj jej do napisania wartości pozycji dla serwomechanizmu tak, aby wałek poruszał się jednocześnie z ruchem twarzy. Dzięki temu dołączona kamera również będzie się poruszać.
Połączenie
Podłączamy przewód dodatni serwomechanizmu (czerwony) do źródła zasilania 5 V, a przewód ujemny źródła zasilania (czarny) do pinu GND Raspberry Pi. Następnie należy podłączyć żółty przewód serwomechanizmu do pinu GPIO Raspberry Pi. Potem należy zamontować kamerę Raspberry Pi na serwomechanizmie (jak pokazano poniżej).
Testowanie
Uruchom kod i poruszaj twarzą przed kamerą. Kamera podąża za ruchami Twojej twarzy z tą samą prędkością, dzięki czemu można bezproblemowo nagrywać wideo pod dowolnym kątem.
Projekt może być dalej rozwijany, aby kamera podążała za liniowymi/pionowymi ruchami twarzy.