Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Kalibracja systemu wizyjnego z użyciem pakietu Matlab Kraków, 2011
1. Cel kalibracji Cel kalibracji stanowi wyznaczenie parametrów określających zależności pomiędzy układem podstawowym, a układem związanym z kamerą, parametrami układu optycznego oraz transformacją perspektywy. Ogólnie parametry wyznaczane w procedurze kalibracji kamery dzieli się na dwie grupy: parametry zewnętrzne (ang. extrinsic parameters) związane z przesunięciem i rotacją układu kamery względem układu związanego z obserwowaną sceną, parametry wewnętrzne (ang. intrinsic parameters) określające właściwości optyczne i elektryczne kamery, których liczba zależy od przyjętego modelu układu optycznego i kamery. W przypadku parametrów wewnętrznych oprócz ogniskowej obiektywu modeluje się zazwyczaj zniekształcenia radialne i styczne związane z układem optycznym. Wyznacza się również rzeczywiste współrzędne środka obrazu kamery, które nie muszą leżeć w geometrycznym środku matrycy przetwornika. Dla celów kalibracji została użyta płaska matryca z 7 kolumnami i 9 wierszami na przemianległych biało-czarnych pól o wymiarach nominalnych 27x27 mm (rys. 1). Rys. 1. Wzorzec kalibracyjny Strona 2
2. Uruchamianie środowiska kalibracyjnego Uruchomić program Matlab i wywołać Camera Calibration Toolbox komendą calib_gui (lub calib). Uwaga: Należy sprawdzić przy użyciu menu File set path czy toolbox_calib jest ustawiony jako ścieżka dostępu głównego (rys. 2). Rys. 2. Ustawianie głównej ścieżki dostępu Przy pomocy okna wyboru trybu kalibracji, pojawiającego się na ekranie (rys. 3) wybrać opcje Standard. Rys. 3. Camera Calibration Toolbox wybór trybu pracy Uwaga: Wybór trybu predefiniuje dalszą pracę z toolboxem. W trybie Standard wszystkie obrazy dla procedury kalibracji są przechowywane w pamięci komputera. Ma to Strona 3
pozytywny wpływ na ilość przeprowadzanych operacji dyskowych oraz czas obliczeń. W przypadku zbyt dużej liczby przetwarzanych obrazów o znacznym rozmiarze tryb Standard jest mało efektywny i należy zastąpić go trybem Memory efficent w którym każdy obraz jest przetwarzany pojedynczo bez użycia pamięci podręcznej komputera. Po wyborze trybu Standard uaktywni się okno Camera Calibration Toolbox w wybranej wersji Standard (rys. 4). Rys. 4. Camera Calibration Toolbo Standard Version Wskazówka: Wszystkie powyższe czynności mogą zostać pominięte poprzez użycie polecenia calib_gui(0) dla wywołania trybu standard lub calib_gui(1) dla trybu memory efficient. 3. Procedura kalibracji kamery z użyciem pakietu Matlab 3.1 Odczyt obrazów W oknie ścieżki bieżącej (rys. 5) ustawić ścieżkę dostępu do katalogu zawierającego obrazy przeznaczone do kalibracji Rys. 5. Lokalizacja ścieżki bieżącej (current directory) Przy użyciu urządzenia wskazującego, należy wykonać <L-kilk> na przycisku Image names (rys. 4). W oknie głównym programu należy podać nazwę bazową pliku bez rozszerzenia oraz po zatwierdzeniu format obrazu ( jego rozszerzenie). Możliwe jest zastosowanie obrazów z skalą szarości w formacie RAS, BMP, TIF, PGM, JPG oraz PPM (rys. 5). Strona 4
Rys. 5. Wprowadzanie obrazów do kalibracji Efekt powyższego kroku to automatyczna segregacja dostępnych plików posegregowanych na tablicy zbiorczej (rys. 6). Rys.6. Obrazy przeznaczone do kalibracji 3.2 Wykrywanie wzorca kalibracyjnego na obrazie Przy użyciu urządzenia wskazującego, należy wykonać <L-kilk> na przycisku Extract grid corners (rys. 4). W oknie dialogowym narzędzia (rys. 7), zaakceptować wybór wszystkich obrazów naciskając <Enter>. Rys. 7. Wywołanie narzędzia wykrywania wzorca siatki kalibracyjnej Strona 5
Następnie należy podać wymiary okna dla procedury wykrywania narożników. Można zaakceptować defaultowe propozycje programu (wintx=winty=5 [pix]), naciskając klawisz <Enter> (rys. 8.). Rys. 8. Parametry narzędzia wykrywania wzorca siatki kalibracyjnej Mechanizm wykrywania krawędzi posiada własny algorytm zliczania ilości pól siatki kalibracyjnej w pionie oraz w poziomie. Jest to szczególnie przydatne przy kalibracji obrazów z wzorcem kalibracyjnym zawierającym duża liczbę pól. Ze względu na fakt że wzorzec kalibracyjny użyty do ćwiczenia posiada tylko 63 pola, opcję automatycznego zliczania pól w pionie i poziomie należy wyłączyć wpisując 1 i zatwierdzając z klawiatury przy pomocy klawisza <Enter> (rys. 9). Rys. 9. Narzędzie zliczające pola siatki kalibracyjnej Następnie przy pomocy urządzenia wskazującego, należy wskazać w obrazie cztery narożniki zawierające się całkowicie wewnątrz wzorca, tak jak pokazano to na rys. 10. 1 2 4 3 Rys. 10. Estymacja siatki wzorca z obrazu Strona 6
W następnym etapie należy podać liczbę pól znajdujących się wzdłuż osi x (dla rys. 10 pięć) oraz liczbę pól znajdujących się wzdłuż osi y (dla rys. 10, siedem). Następnie algorytm poprosi o wprowadzenie wymiarów nominalnych wzorca. Wartość domyślnie ustawiona jest w mm, wprowadzamy 27 dla kierunku x oraz 27 dla kierunku y (rys. 11). Rys. 11. Parametry siatki wzorca kalibracyjnego Po wprowadzeniu powyższych danych program wygeneruje siatkę, która powinna wpisać się w kalibracyjny wzorzec oraz obliczyć współrzędne wszystkich narożników (rys. 12). Rys. 12. Wykrycie krawędzi wzorca na obrazie Jeżeli dopasowanie jest zadawalające (czerwone krzyże pokrywają się z krawędziami rzeczywistymi) na pytanie Need of an initial guess for distortion? (rys. 10), reagujemy wciskając klawisz <Enter>. W innym przypadku niezbędne jest wprowadzenie współczynnika dystorsji (w praktyce wartość współczynnika dystorsji kc, zawiera się w przedziale <-1,1>) dla poprawy wzajemnego dopasowania. Całą procedurę należy powtórzyć dla wszystkich zdjęć przeznaczonych do kalibracji. Strona 7
3.3 Kalibrowanie kamery Przy użyciu urządzenia wskazującego, należy wykonać <L-kilk> na przycisku Calibration (rys. 4). Program wygeneruje parametry wewnętrzne (ang. intrinsic parameters) określające właściwości optyczne i elektryczne kamery (rys. 13). Rys. 13. Parametry wewnętrzne Następnie należy wykonać <L-kilk> na przycisku Comp. Extrinsic (rys. 4) w celu obliczenia parametrów związanych z przesunięciem i rotacją układu kamery względem układu związanego z obserwowaną sceną (rys. 14). Rys. 14. Parametry zewnętrzne Ciekawą opcje stanowi możliwość wizualizacji parametrów zewnętrznych przy pomocy opcji Show Extrinsic (rys. 15). Rys. 14. Parametry zewnętrzne układ widoku kamery Przy pomocy opcji Save (rys. 4), zapisać otrzymane parametry w wybranej lokalizacji. Strona 8