Wskazówki i triki#
Tryb demo#
Tryb demo pozwala zademonstrować CMUcam4 bez procesora nadrzędnego (master). W trybie demo CMUcam4 wykonuje polecenie „TW” (Track Window), a następnie steruje dwoma standardowymi serwami hobbystycznymi w kierunku śledzonego obiektu, jednocześnie wyświetlając śledzony obiekt na standardowym telewizorze. Po wejściu CMUcam4 w tryb demo nie wyjdzie z niego, dopóki nie zostanie zresetowany. Wykonaj poniższe kroki, aby wejść w tryb demo:
Naciśnij i przytrzymaj przycisk reset na CMUcam4
Naciśnij i przytrzymaj przycisk użytkownika na CMUcam4
Zwolnij przycisk reset (nie zwalniaj przycisku użytkownika)
Poczekaj, aż czerwona pomocnicza dioda LED się zaświeci (2 sekundy)
Poczekaj, aż czerwona pomocnicza dioda LED zacznie migać z częstotliwością 10 Hz, a następnie zwolnij przycisk użytkownika
Telewizor powinien się włączyć (powinieneś zobaczyć ekran powitalny wyświetlony na telewizorze), jeśli CMUcam4 jest podłączony do telewizora
CMUcam4 będzie teraz dostosowywać się do warunków oświetleniowych przez najbliższe 5 sekund
Nie umieszczaj obiektu, który chcesz śledzić, przed CMUcam4 przez najbliższe 5 sekund
Poczekaj, aż czerwona pomocnicza dioda LED przestanie migać z częstotliwością 10 Hz
CMUcam4 zakończył teraz dostosowywanie się do warunków oświetleniowych
Piny serw obrotu (pan) i pochylenia (tilt) powinny wysyłać impulsy 1500 μs z częstotliwością 50 Hz
Umieść obiekt, który chcesz śledzić, przed CMUcam4 i naciśnij przycisk użytkownika
Jeśli czerwona pomocnicza dioda LED zacznie migać z częstotliwością 10 Hz, sprawdź połączenie modułu kamery OV9665
Moduł kamery OV9665 może być uszkodzony i najprawdopodobniej wymaga wymiany
Powinieneś teraz zobaczyć śledzony obiekt (lub podobny) wyświetlony na telewizorze, jeśli CMUcam4 jest podłączony do telewizora
Serwa obrotu (pan) i pochylenia (tilt), jeśli są podłączone, będą również próbować kierować kamerę w stronę śledzonego obiektu
Wypróbuj tę procedurę z różnymi obiektami w różnych środowiskach, aby zobaczyć, co działa najlepiej
CMUcam4 działa teraz w trybie demo
Naciśnij przycisk reset, aby wyjść z trybu demo.
Dla nieodwróconego działania serwa obrotu (pan) długości impulsów mniejsze niż 1500 µs muszą przesuwać pozycję X modułu kamery w prawo (z punktu widzenia modułu kamery), a długości impulsów większe niż 1500 µs muszą przesuwać pozycję X modułu kamery w lewo (z punktu widzenia modułu kamery).
Dla nieodwróconego działania serwa pochylenia (tilt) długości impulsów mniejsze niż 1500 µs muszą przesuwać pozycję Y modułu kamery w dół (z punktu widzenia modułu kamery), a długości impulsów większe niż 1500 µs muszą przesuwać pozycję Y modułu kamery w górę (z punktu widzenia modułu kamery).
Tryb zatrzymania (Halt)#
Tryb zatrzymania (halt) pozwala zatrzymać CMUcam4, gdy jest on nadal podłączony do Arduino. W trybie zatrzymania CMUcam4 pobiera bardzo mało energii i nie uniemożliwia programowania Arduino przez blokowanie jego portu szeregowego. Tryb zatrzymania jest konieczny tylko wtedy, gdy CMUcam4 zakłóca proces programowania Arduino. Jeśli tego nie robi, tryb zatrzymania jest niepotrzebny - zwykle tak właśnie jest. Po wejściu CMUcam4 w tryb zatrzymania nie wyjdzie z niego, dopóki nie zostanie zresetowany. Wykonaj poniższe kroki, aby wejść w tryb zatrzymania:
Naciśnij i przytrzymaj przycisk reset na CMUcam4
Naciśnij i przytrzymaj przycisk użytkownika na CMUcam4
Zwolnij przycisk reset (nie zwalniaj przycisku użytkownika)
Poczekaj, aż czerwona pomocnicza dioda LED się zaświeci (2 sekundy)
Zwolnij przycisk użytkownika
CMUcam4 jest teraz zatrzymany na czas nieokreślony
Naciśnij przycisk reset, aby wyjść z trybu zatrzymania.
Uwagi dotyczące lepszego śledzenia#
Lepsze śledzenie dzięki automatycznemu wzmocnieniu i balansowi bieli#
Automatyczne wzmocnienie (auto-gain) to wewnętrzny mechanizm sterowania, który dostosowuje poziom jasności obrazu, aby jak najlepiej pasował do otoczenia. Próbuje on znormalizować jasne i ciemne obszary obrazu tak, aby zbliżyły się do ogólnej jasności obrazu regulowanego ręcznie. Proces ten iteruje przez wiele klatek, w miarę jak kamera automatycznie dostosowuje poziomy jasności. Jeśli na przykład zostanie włączone światło i otoczenie stanie się jaśniejsze, kamera spróbuje dostosować jasność, aby przyciemnić cały obraz.
Balans bieli z kolei próbuje skorygować wzmocnienia kolorów kamery. Światło otoczenia w Twoim obrazie może nie być czysto białe. W takim przypadku kamera będzie postrzegać kolory inaczej. Kamera zaczyna od wstępnego oszacowania, ile wzmocnienia przydzielić każdemu kanałowi koloru. Jeśli jest aktywny, balans bieli będzie dostosowywać te wzmocnienia klatka po klatce tak, aby średni kolor w obrazie zbliżał się do koloru szarego. Empirycznie stwierdzono, że ta metoda „szarego świata” działa stosunkowo dobrze. Problem z balansem bieli szarego świata polega na tym, że jeśli jednolity kolor wypełni pole widzenia kamery, balans bieli powoli ustawi wzmocnienia tak, że kolor będzie wydawał się szary, a nie w swoim prawdziwym kolorze. Następnie, gdy jednolity kolor zostanie usunięty, obraz będzie miał niepożądane wzmocnienia kolorów, dopóki nie przywróci swojej szarej średniej.
Podczas śledzenia kolorów, jak w trybie demo, możesz chcieć pozwolić automatycznemu wzmocnieniu i balansowi bieli działać przez krótki czas, a następnie je wyłączyć. Będąc włączonymi przez okres około 5 sekund, kamera może ustawić swoje wzmocnienie jasności i wzmocnienia kolorów na to, co uzna za odpowiednie. Następnie ich wyłączenie powstrzyma kamerę przed niepotrzebną zmianą ustawień z powodu obiektu trzymanego blisko obiektywu, cieni itp. Gdyby automatyczne wzmocnienie i balans bieli nie zostały wyłączone, a kamera zmieniłaby swoje ustawienia dla wartości RGB lub YCbCr, to nowe zmierzone wartości mogłyby wypaść poza pierwotnie wybrane progi śledzenia koloru.
Moduł kamery wymaga włączenia automatycznego wzmocnienia (auto-gain), aby korzystać z balansu bieli.
Przestrzeń kolorów YUV (YCbCr)#
YCbCr to inna definicja przestrzeni kolorów niż bardziej znana przestrzeń RGB. W YCbCr dane o oświetleniu są przechowywane w osobnym kanale. Ze względu na tę właściwość, w trybie YCbCr kamera może być bardziej odporna na zmiany oświetlenia. Ponieważ jest to inna przestrzeń kolorów, obrazy w YCbCr nie wyglądają jak standardowe obrazy RGB, gdy są bezpośrednio mapowane przez program zrzutu klatki. Kanały RGB są mapowane na CrYCb. Więc w trybie YCbCr wartość zwracana jako parametr czerwony to w rzeczywistości Cr, parametr zielony to Y, a parametr niebieski to Cb. Więc jeśli chcesz śledzić czerwony obiekt, musisz spojrzeć na zrzuconą klatkę, aby zobaczyć, na co mapują się kolory tego obiektu w YCbCr. Wtedy powinno być możliwe znalezienie granic Cb i Cr przy jednoczesnym podaniu bardzo rozluźnionej granicy Y, co pokazuje, że oświetlenie nie jest bardzo ważne. Podczas używania YCbCr upewnij się, że bierzesz pod uwagę, że w odniesieniu do całego wejścia/wyjścia CMUcam4 czerwony mapuje się na Cr, zielony na Y, a niebieski na Cb.
Zauważ, że kanały RGB są mapowane tak, aby dać CrYCb, a nie YCbCr.
O module kamery#
Od włączenia kamera może potrzebować do 5 sekund, aby automatycznie dostosować się do światła. Drastyczne zmiany w otoczeniu, takie jak włączanie i wyłączanie świateł, mogą wywołać podobny czas ponownej regulacji. Podczas używania kamery na zewnątrz, ze względu na silne emisje podczerwieni (IR) słońca, nawet w stosunkowo pochmurne dni, prawdopodobnie konieczne będzie użycie filtra IR lub szarego filtra o neutralnej gęstości, aby zmniejszyć poziom światła otoczenia.
Funkcje udostępniane przez płytkę kamery mają na celu dostarczenie użytkownikowi zestawu narzędzi funkcji wizji kolorów. Rzeczywiste zastosowania mogą się znacznie różnić i są pozostawione wyobraźni użytkownika. Możliwość zmiany widocznego okna, pobierania statystyk koloru i światła oraz śledzenia kolorów może być splatana przez procesor hosta w celu tworzenia funkcjonalności wyższego poziomu.