Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Kalibracja stereowizyjnego systemu wizyjnego z użyciem pakietu Matlab Kraków, 2011
1. System stereowizyjny Stereowizja jest działem szeroko rozumianej wiedzy wchodzącej w dział nauki poświecony zagadnieniem widzenia komputerowego. Binokularne (stereoskopowe) widzenie komputerowe jest wzorowane na wykształconym w procesie ewolucji organizmów żywych (w tym i człowieka) systemie oceny perspektywy. W omawianym systemie na podstawie dwóch niezależnie rejestrowanych obrazów postrzeganych przez lewe i prawe oko, mózg tworzy trójwymiarowy obraz pozwalający na ocenę głębi i ostrości. Aby uzyskać wzajemnie jednoznaczne odwzorowanie współrzędnych przestrzeni (x,y,z) konieczna jest informacja o rzucie punktów przestrzeni na więcej niż jeden obraz. Na rys. 1, przedstawiono trzy punkty: P 1, P 2, P 3 reprezentujące wierzchołki odwzorowanej bryły w systemie stereoskopowym poprzez punkty p 1L, p 2L, p 3L w lewej kamerze oraz punkty p 1R, p 2R, p 3R w obrazie kamery prawej. W układzie kanonicznym odpowiadające sobie punkty w prawej i lewej płaszczyźnie obrazowej kamery są połączone tzw. liniami epipolarnymi. Rys. 1. Odwzorowanie stereoskopowe Linia epipolarna dla danego punktu w obrazie kamery prawej/lewej jest linią będącą obrazem prostej wychodzącej z ogniska c L /c P i przechodzącą przez odpowiednie punkty p R /p L. W szczególnym przypadku układu kamer, jaki stanowi układ kanoniczny, liniami epipolarnymi są proste równoległe do osi x przechodzącej przez obrazu kamery prawej i lewej. W specyficznych układach w których osie optyczne kamer nie są wzajemnie równoległe linie epipolarne nie są równoległe i przecinają sie w jednym punkcie zwanym punktem epipolarnym. Strona 2
W stereoskopowym systemie widzenia komputerowego para kamer usytuowana horyzontalnie względem siebie rejestruje obraz w sposób podobny do ludzkiego systemu HBV (ang. Human Binocular Vision). Jedyna różnica polega na tym że obraz rejestrowany przez kamery umożliwia ich zmienne usytuowaniu względem siebie co pozwala pozyskać informacje na temat głębi w funkcji różnic determinujących rejestrowane obrazy (mapa dysparycji), które są odwrotnie proporcjonalne do odległości od obserwowanego przedmiotu. Tak więc stereowizja jest techniką wizyjną umożliwiającą wyznaczanie współrzędnych punktów 3D na podstawie obrazów uzyskanych przy pomocy co najmniej dwóch urządzeń rejestrujących. Cel kalibracji systemu stereowizyjnego to wyznaczenie parametrów określających zależności pomiędzy układem podstawowym, układem związanym z pojedynczą kamerą oraz układem stereo, w celu możliwości wzajemnego dopasowania obrazów (rektyfikacja). 2. Opis ćwiczenia W oparciu o 16 odpowiadających sobie zdjęć wykonanych w technice stereowizyjnej odpowiednio o nazwach lewy01.jpg,.lewy16.jpg oraz prawy01.jpg,.prawy16.jpg, pogrupowanych w dwa niezależne pakiety zawierające dodatkowo pliki z procedury kalibracyjnej Calib_Results_lewy.mat i Calib_Results_prawy.mat, należy przeprowadzić procedurę kalibracji i rektyfikacji zdjęć z systemu stereowizyjnego przy użyciu Stereo Camera Calibration Toolbox zaimplementowanego w pakiet Matlab. 3. Procedura kalibracji systemu stereowizyjnego Uruchomić program Matlab i wywołać Stereo Camera Calibration Toolbox komendą stereo_gui w oknie głównym (rys. 1). Rys. 1. Stereo Camera Calibration Toolbox 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). Strona 3
Rys. 2. Ustawianie głównej ścieżki dostępu Przy pomocy urządzenia wskazującego wykonać <L-klik> na przycisku Load left and right calibration files (rys. 1). Matlab zapyta o indywidualną nazwę plików kalibracyjnych zawierających zestawienie danych z lewego oraz prawego zestawu kamerowego (rys. 3). Rys. 3. Wprowadzanie nazw zbiorczych plików kalibracyjnych Wprowadź nazwę pliku zawierającego dane z procedury kalibracji lewego zestawu (Calib_Results_lewy.mat), a następnie zatwierdzając przyciskiem <Enter> w następnym wierszu wprowadzić nazwę pliku zawierającego dane kalibracyjne z zestawu prawego (Calib_Results_prawy.mat). W odpowiedzi system wczyta dane zapisane w plikach kalibracyjnych i na ich podstawie wygeneruje parametry wewnętrzne (ang. intrinsic parameters) oraz parametry zewnętrzne (ang. extrinsic parameters) w postaci pozycji prawej kamery w odniesieniu do lewej (rys. 4). Rys. 4. Parametry zewnetrzne kalibrowanego układu stereowizyjnego Strona 4
Wprowadzenie do pamięci podręcznej komputera parametrów kalibracyjnych umożliwia, przeprowadzenie kalibracji układu stereo przy pomocy polecenia Run stereo calibration (rys. 1). Po przeprowadzeniu obliczeń możliwe jest wygenerowanie modelu parametrów zewnętrznych przy pomocy polecenia Show Extrinsic of stereo rig (rys. 5). Rys. 5. Model parametrów zewnętrznych układu stereowizyjnego Końcową operację kalibrowania układu stereowizyjnego stanowi zabieg rektyfikacji wywoływany poleceniem Rectify the calibration images (rys. 1). Wszystkie pary zdjęć stereowizyjnych użytych do kalibracji podlegają rektyfikacji. Przykładowe zestawienie rektyfikowanej pary zdjęcia stereowizyjnego przedstawiono na rys. 6. L R Rys. 6. Para zdjęć stereowizyjnych poddana rektyfikacji Strona 5
Strona 6