POLITECHNIKA WROCŁAWSKA WYDZIAŁ ELEKTRONIKI KIERUNEK: SPECJALNOŚĆ: Elektronika i telekomunikacja (EiT) Elektroniczne i komputerowe systemy automatyki (ESA) PRACA DYPLOMOWA MAGISTERSKA Trójwymiarowa analiza sceny na podstawie aktywnej stereowizji AUTOR: Andrzej Stachno PROMOTOR: dr inż. Marek Wnuk OCENA PRACY: Wrocław 2
Spis treści. Spis treści... I 1. Trójwymiarowa analiza sceny na podstawie aktywnej stereowizji... 1.2 1.1. Cel pracy... 1.2 1.2. Wprowadzenie... 1.2 2. Odwzorowanie stereowizyjne... 2.4 3. Opis głowicy manipulacyjnej... 3.6 3.1. Kinematyka głowicy manipulacyjnej... 3.6 3.2. Kinematyka odwrotna głowicy manipulacyjnej... 3.9 4. Połączenie głowicy manipulacyjnej z kamerą aktywna głowica stereowizyjna... 4.11 4.1. Uwzględnienie zmiany kątów q 1, q 2 oraz q 3... 4.12 4.2. Uwzględnienie zmiany kąta q 2 (symetrycznie względem osi z )... 4.13 4.3. Uwzględnienie zmiany kąta q 2 przy q 1 = const, q 3 = const... 4.16 4.4. Uwzględnienie zmiany kąta q 3 przy q 1 = const, q 2 = const... 4.17 4.5. Uwzględnienie zmiany kąta q 1 przy q 2 = const, q 3 =... 4.19 5. Kalibracja parametrów wewnętrznych kamery... 5.21 5.1. Opis zależności geometrycznych dla metody uzależnień geometrycznych.... 5.22 5.2. Algorytm wyznaczania parametrów wewnętrznych kamery... 5.24 5.3. Kalibracja kamery metoda geometryczna... 5.3 5.3.1. Aspekt... 5.3 5.3.2. Odległość obrazowa... 5.31 6. Implementacja... 6.33 6.1. Stanowisko przeznaczone do badań stereowizyjnych... 6.33 6.1.1. Serwer wizyjny... 6.34 6.1.2. Głowica stereowizyjna... 6.34 6.1.2.1. Kamera... 6.35 6.1.2.2. Manipulator... 6.35 6.1.3. Komputer sterujący... 6.35 6.2. Realizacja praktyczna oprogramowania dla potrzeb doświadczenia aktywnej stereowizji... 6.35 I
6.2.1. Przetwarzanie obrazów... 6.37 6.2.2. Automatyczna kalibracja kamery... 6.37 6.2.3. Program nadzorujący wykonywanie eksperymentu... 6.39 7. Eksperymenty... 7.41 7.1. Kalibracja parametrów wewnętrznych kamery metodą uzależnień geometrycznych... 7.41 7.2 Kalibracja kamery metodą geometryczną... 7.45 7.3. Wyznaczanie położenia przestrzennego obiektów... 7.47 7.3.1. Pomiar położenia obiektu za pomocą poziomego symetrycznego przemieszczenia kamery... 7.48 7.3.2. Pomiar położenia obiektu uwzględniając dowolną zmianę kąta q 2 aktywnej głowicy stereowizyjnej... 7.51 7.3.3. Pomiar położenia obiektu uwzględniając dowolną zmianę kąta q 3 aktywnej głowicy stereowizyjnej... 7.53 7.3.4. Pomiar położenia obiektu uwzględniając dowolną zmianę kąta q 1 aktywnej głowicy stereowizyjnej... 7.55 7.3.5. Pomiar położenia obiektu za pomocą poziomego symetrycznego przemieszczenia kamery o odległość bazową dla kalibracji wykonanej metodą geometryczną... 7.58 7.4. Dyskusja uzyskanych wyników... 7.6 7.4.1. Kalibracja metodą uzależnień geometrycznych... 7.6 7.4.2. Kalibracja metodę geometryczną... 7.61 7.4.3. Lokalizacja obiektu... 7.61 8. Podsumowanie... 8.63 8.1. Wnioski z wykonanych prac... 8.63 8.2. Sugerowane rozszerzenia... 8.64 9. Literatura... 9.65 Dodatek A. Funkcje użyte w programach... A.66 Dodatek B. Obsługa programu nadzorującego eksperyment stereowizyjny... B.72 Dodatek C. Dyskietka z oprogramowaniem... C.73 II
1. Trójwymiarowa analiza sceny na podstawie aktywnej stereowizji. 1.1. Cel pracy. Celem pracy jest: Stworzenie stanowiska przeznaczonego do badań stereowizyjnych głowicy stereowizyjnej. Stanowisko takie powinno zapewniać możliwość zadawania i odczytywania dowolnych położeń dla układu akwizycji obrazów, powinno obrazować czynniki mające wpływ na dokładność lokalizacji obiektów znajdujących się na scenie, za pomocą odwzorowania stereowizyjnego. Opracowanie zmian konfiguracji głowicy stereowizyjnej wykorzystując analogie do sposobu pozyskiwania obrazów przez narząd wzroku człowieka. Wykonanie doświadczeń na podstawie zaproponowanych zmian konfiguracji głowicy stereowizyjnej obrazujących wpływ poszczególnych parametrów na jakość lokalizacji obiektów występujących w analizowanej scenie. 1.2. Wprowadzenie. Aby zrozumieć znaczenie oraz zadania systemu wizyjnego zastosowanego dla celów pozyskiwania informacji o otoczeniu, należy zastanowić się nad rolą systemu wzrokowego u człowieka. Nietrudno zauważyć, że warunkiem elastycznego i efektywnego pozyskiwania informacji jest umiejętność dopasowania się układu wizyjnego do istniejących warunków zewnętrznych. Taki sposób nazwać można aktywną analizą otaczającej nas przestrzeni. Aktywność w procesie akwizycji informacji zawartych w obrazach przez sztuczny układ optyczny uzyskać można drogą dostosowania systemu wizyjnego do otoczenia. Opracowanie to, bez wątpienia, nie wyczerpuje wszystkich możliwości jakie daje swobodne przemieszczanie układu stereowizyjnego. Dlatego niezmiernie ważne było to, aby osoby kontynuujące prace nad aktywnymi systemami wizyjnymi mogły w sposób łatwy rozszerzyć zaproponowany tu sposób podejścia do zagadnienia przestrzennej lokalizacji obiektów. 1. 2
W rozdziale drugim przedstawione zostały zagadnienia dotyczące odwzorowania stereowizyjnego. Poznanie idei lokalizacji obiektów na podstawie różnic zawartych w obrazach jest podstawą dalszych rozważań. Rozdział trzeci zawiera kompletny opis kinematyki głowicy manipulacyjnej oraz wyznaczoną kinematykę odwrotną. Zapoznanie się ze strukturą kinematyczną jest niezbędne aby móc w pełni wykorzystać jej własności. W rozdziale czwartym znajduje się opis aktywnej głowicy stereowizyjnej. Przedstawione tam zostały propozycje różnych konfiguracji głowicy dla potrzeb eksperymentów. Rozdział piąty zawiera opis kalibracji parametrów wewnętrznych kamery. Znajduje się tam propozycja automatycznej kalibracji odległości obrazowej i przesunięcia płaszczyzny obrazowej oraz tradycyjne, geometryczne podejście do tego problemu. W rozdziale szóstym umieszczony został szczegółowy opis implementacji. Przedstawiona została zarówno implementacja sprzętowa jak i programowa. W rozdziale siódmym zaprezentowano wyniki eksperymentów wykonanych za pomocą aktywnej głowicy stereowizyjnej. Rozdział ósmy zawiera podsumowanie. Zamieszczono tam końcowe wnioski i spostrzeżenia, które zrodziły się podczas prac nad głowicą stereowizyjną oraz w trakcie eksperymentów. Zawarte zostały również propozycje dalszej pracy nad tematem dotyczącym aktywnej stereowizji. W dodatku zamieszczono opisy głównych funkcji składających się na oprogramowanie eksperymentów. Do pracy dołączono dyskietkę zawierającą pełne postacie źródłowe oprogramowania. Na wstępie pragnę również złożyć serdeczne podziękowania Panu doktorowi inżynierowi Markowi Wnukowi za pomoc i cierpliwość okazaną podczas realizacji niniejszej pracy. 1. 3
2. Odwzorowanie stereowizyjne. Podstawowym zagadnieniem podczas analizy sceny na podstawie stereowizji, jest opracowanie mapy głębi, odwzorowującej położenie przestrzenne obiektów występujących w tejże scenie. W przypadku stereowizji dwukamerowej mapę głębi tworzy się na podstawie rozbieżności pomiędzy obrazami pochodzącymi z obu kamer, przy czym kamery te są wzajemnie od siebie oddalone. Sposób dokonania odwzorowania stereowizyjnego, w tego typu analizie obrazów, przedstawiony został na rysunku 2.1. ζ P (ξ, η, ζ) ζ P (ξ, η, ζ) x L x P l y L b ξ η P(x,y) L L L P(x,y) P P P Y L Y P x L x P Y L P(x,y) L L L x L Rys. 2.1. Rekonstrukcja trójwymiarowa. Na podstawie zależności geometrycznych wynikających z rysunku 2.1: x L l x P l = ξ ζ = ξ - b ζ (2.1) (2.2) 2. 4
y L l = η ζ położenie punktu P = (ξ,,η,ζ) można opisać jako: (2.3) ξ = η = ζ = x L b x L - x P y L b x L - x P l b x L - x P (2.4) (2.5) (2.6) Oznaczając różnicę w położeniu punktów x L i x P no obu obrazach jako d (disparity) równania (2.4), (2.5) i (2.6) przedstawić można jako: ξ = x L d b (2.7) η = y L d b (2.8) ζ = l d b (2.9) Uzyskane wyniki pozwalają na określenie położenia poszczególnych obszarów dwuwymiarowego obrazu w trójwymiarowej przestrzeni zewnętrznej. Podstawowym warunkiem jest tutaj poprawne wykonanie kalibracji odległości obrazowej l [1]. W tego typu analizie obrazów, układ dwóch kamer zastąpić można jedną kamerą, połączoną z urządzeniem przeznaczonym do jej przemieszczania w ściśle określony sposób. Dzięki takiemu rozwiązaniu możliwa jest aktywna akwizycja informacji dotyczących analizowanej sceny. 2. 5
3. Opis głowicy manipulacyjnej. Aby mieć możliwość zadania dowolnego położenia kamery lub uzyskania informacji o jej aktualnym położeniu, do jej przemieszczania użyto głowicy manipulacyjnej. 3.1. Kinematyka głowicy manipulacyjnej. Struktura kinematyczna urządzenia przeznaczonego do przemieszczania kamery Rys. 3.1. Struktura kinematyczna głowicy manipulacyjnej. 3. 6
przedstawiona została na rysunku 3.1. Zadanie kinematyki dla tak zdefiniowanej głowicy manipulacyjnej polega na wyrażeniu położenia i orientacji geometrycznego środka płaszczyzny obrazowej kamery umieszczonej na ramieniu tejże głowicy, w podstawowym układzie współrzędnych (x, y, z ). Zgodnie z algorytmem Denavita-Hartenberga [2] dla tak zdefiniowanej struktury kinematycznej głowicy manipulacyjnej zostały wyznaczone parametry przedstawione w tabeli 3.1. Ogniwo Θ i d i a i α i 1 q 1 π/2 2 q 2 L 1 3 q 3 q 2 L 2 -π/2 4 d π/2 5 e Tabela 3.1. Parametry Denavita-Hartenberga dla głowicy manipulacyjnej Za pomocą parametrów Denavita Hartenberga określone zostały macierze transformacji pomiędzy sąsiednimi układami współrzędnych: A 1 = cosq sinq 1 1 1 sinq1 cosq 1 (3.1) 1 A 1 2 = cosq sinq 2 2 sinq cosq 2 2 1 L cosq L 1 1 sinq 1 2 2 (3.2) 3. 7
3. 8 A 2 3 = 1 1 ) q sin(q L ) q cos(q ) q sin(q ) q cos(q L ) q sin(q ) q cos(q 2 3 2 2 3 2 3 2 3 2 2 3 2 3 (3.3) A 3 4 = 1 1 d 1 1 (3.4) A 4 5 = 1 e 1 1 1 (3.5) Za pomocą tak wyliczonych transformacji A i-1 i (q i ) wyznaczona została kinematyka głowicy manipulacyjnej [3] jako: K(q) = + + + + + 1 dc s L s L c s ec s ds c s L c s L c s s c s es s dc c c L c c L s s c c c 3 3 2 2 1 3 3 1 3 1 3 1 2 2 1 1 1 3 1 3 1 3 1 3 1 2 2 1 1 1 3 1 3 1 1 (3.6) gdzie: c i = cosq i ; s i = sinq i.
3.2. Kinematyka odwrotna głowicy manipulacyjnej. Podczas wyznaczania kinematyki odwrotnej zastosowano metodę geometrycznej analizy modelu szkieletowego. Polega ona na wyznaczeniu położenia poszczególnych przegubów głowicy manipulacyjnej opisanych za pomocą konfiguracji q w podstawowym układzie współrzędnych x, y, z, bez wykorzystywania do tego celu macierzy transformacji, a jedynie za pomocą geometrycznych zależności pomiędzy poszczególnymi przegubami. Rozwiązanie odwrotnego zadania kinematyki [3] dla głowicy manipulacyjnej można sprowadzić do problemu dwuwymiarowego, albowiem przemieszczenie płaszczyzny obrazowej o dowolny wektor zdekomponować można na dwa podstawowe ruchy: - obrót płaszczyzny ramion L 1 i L 2 wokół osi z układu podstawowego - przesunięcie płaszczyzny obrazowej w płaszczyźnie ramion L 1 i L 2 (z, w). Powyższe czynności obrazują rysunki 3.2a oraz 3.2b. Rys. 3.2.a. Obrót ramion L 1 i L 2 wokół Rys.3.2.b.Przesunięcie płaszczyznyobrazowej osi z układu podstawowego. w płaszczyźnie ramion L 1 i L 2 w, z. Przy zadanym wektorze położenia centralnego punktu płaszczyzny obrazowej [P x, P y,p z ], zgodnie z [3] otrzymujemy: 3. 9
q 1 = arctg P y P x + arcsin e 2 Px 2 + P y 2 (3.7) q 2 = arctg P z P + arccos L 1 2 - L 2 2 + P 2 w + P 2 z - d 2 w 2 L 2 1 P 2 2 w + P z (3.8) q 3 = q 2 + arccos L 1 2 + L 2 2 + d 2 - P 2 2 w - P z 2 L 2 - arctg 1 L 2 2 + d 2 d L 2 - π (3.9) gdzie: P w = 2 P x 2 + P y 2 - e 2 (3.1) Konstrukcja mechaniczna głowicy manipulacyjnej oparta jest na robocie dydaktycznym ROMIK. Robot ten posiada pięć stopni swobody. Wbudowany sterownik mikroprocesorowy umożliwia sterowanie z mikrokomputera dołączonego poprzez port szeregowy, za pomocą standardu RS 232. Dostosowując manipulator dla potrzeb doświadczenia zredukowano ilość stopni swobody z pięciu do trzech. Każdy z nich jest modułem obrotowym, tak więc głowica manipulacyjna ma strukturę typu 3R. Do napędów poszczególnych przegubów zastosowano silniki skokowe typu FA 23-4-1. Są to silniki czterofazowe wykonujące 2 kroków na obrót. Ruch z wałów silników przekazywany jest za pomocą przekładni zębatych i pasowych, dzięki czemu osiągany jest minimalny skok każdego z przegubów równy,56. Zakres ruchów poszczególnych ramion jest następujący: - kąt q 1 - obrót kolumny wokół podstawy: od do 356 - kąt q 2 ruch ramienia L 1 : od 5,66 do 123 - kąt q 3 ruch ramienia L 2 : od -73 do 56 3. 1
4. Połączenie głowicy manipulacyjnej z kamerą aktywna głowica stereowizyjna. Aktywna głowica stereowizyjna składa się z głowicy manipulacyjnej, opisanej w rozdziale 3, oraz kamery, umocowanej w taki sposób, aby środek płaszczyzny obrazowej znajdował się w punkcie opisanym jako efektor głowicy manipulacyjnej, a oś optyczna kamery pokrywała się z osią z osią z 5 układu współrzędnych należącego do efektora. Schematycznie obrazuje to rysunek 4.1. Poniżej przedstawione zostaną różne przypadki ustawienia aktywnej głowicy stereowizyjnej względem badanego obiektu wraz z teoretycznym opisem zależności występujących pomiędzy osiami wzajemnie odpowiadających sobie płaszczyzn obrazowych, na podstawie których opracowane zostały algorytmy wykorzystywane podczas rekonstrukcji stereowizyjnej. Podczas rozpatrywania poniższych przypadków za podstawę teoretyczną przyjęte zostały zależności przedstawione w rozdziale 2. Rys. 4.1 Głowica stereowizyjna. 4. 11
4.1. Uwzględnienie zmiany kątów q 1, q 2 oraz q 3. Obrazując zmianę kątów q 1, q 2 oraz q 3 podczas rekonstrukcji stereowizyjnej przy wyznaczania odległości ξ, η, ζ (współrzędne położenia obiektu względem środka płaszczyzny obrazowej pierwszego ujęcia), dowolną konfigurację głowicy stereowizyjnej można przedstawić w dwóch płaszczyznach. Pierwsza z nich jest płaszczyzną kąta obrotu (x,y ) przedstawiona na rysunku 4.2a, natomiast drugą jest płaszczyzna ramion (w z ) zobrazowana na rysunku 4.2b. Rys. 4.2a. Obrót głowicy stereowizyjnej Rys.4.2b. Obrót głowicy stereowizyjnej w płaszczyźnie kąta q 1. w płaszczyźnie ramion L 1 L 2. Wykorzystując zależności geometryczne przy położeniach ramion głowicy, zdefiniowane zgodnie z rysunkami 4.2a oraz 4.2b, różnice w odległościach: ξ ξ ; η η ; ζ ζ, można uzależnić od znanych wartości x 4, x 4, y 4 oraz parametrów głowicy stereowizyjnej. Dzięki temu, odległości ξ, η, ζ wyrażone względem centralnego punktu płaszczyzny obrazowej pierwszego ujęcia, można wyrazić za pomocą równań: ξ = x 5' [x 5 ' elcos q 1 + x 5 ' ex 5 sin q 1 - lx 5 R 1 sin q 1 - lx 5 e - l 2 R 1 cos q 1 + l 2 R 2 ] l [x 5 ' lcos q 1 + x 5 ' x 5 sin q 1 - lx 5 cos q 1 + l 2 sin q 1 ] - x 5 ' e l (4.1) 4. 12
η = y 5' [x 5 ' elcos q 1 + x 5 ' ex 5 sin q 1 - lx 5 R 1 sin q 1 - lx 5 e - l 2 R 1 cos q 1 + l 2 R 2 ] l [x 5 ' lcos q 1 + x 5 ' x 5 sin q 1 - lx 5 cos q 1 + l 2 sin q 1 ] - y 5 ' e l (4.2) ζ = x 5 ' elcos q 1 + x 5 ' ex 5 sin q 1 - lx 5 R 1 sin q 1 - lx 5 e - l 2 R 1 cos q 1 + l 2 R 2 x 5 ' lcos q 1 + x 5 ' x 5 sin q 1 - lx 5 cos q 1 + l 2 sin q 1 (4.3) gdzie: R 1 = L 1 cosq 2 + L 2 cosq 3 d sinq 3 (4.4) R 2 = L 1 cosq 2 + L 2 cosq 3 d sinq 3 (4.5) x 5 = x 5 cos q 3 - y 5 sin q 3 (4.6) q i = q i q i (4.7) Równania 4.1, 4.2 oraz 4.3 przedstawiają najbardziej uogólnioną postać odległości ξ, η, ζ w funkcji zmiany współrzędnych wewnętrznych q 1, q 2, q 3 głowicy stereowizyjnej. Rozpatrując teraz szczególne przypadki polegające na dopuszczeniu zmiany tylko jednej współrzędnej wewnętrznej i sparametryzowaniu dwóch pozostałych, równania te przedstawić można w postacie znacznie uproszczonej. 4.2. Uwzględnienie zmiany kąta q 2 (symetrycznie względem osi z ) Najmniej skomplikowanym przypadkiem z punktu widzenia odwzorowania stereowizyjnego jest zmiana kąta q 2, tak, aby środki płaszczyzn obrazowych przed i po przemieszczeniu kamery, leżały dokładnie na tej samej wysokości, przy zachowaniu q 1 = const oraz q 3 =. Taka konfiguracja głowicy sterującej przedstawiona została na rysunkach 4.3a i 4.3b. 4. 13
Rys. 4.3a. Konfiguracja głowicy Rys. 4.3b. Konfiguracja głowicy stereowizyjnej przy symetrycznym stereowizyjnej w płaszczyźnie ramion przemieszczeniu kamery. L 1 L 2 przy symetrycznym przemieszczeniu kamery W sytuacji tej, równania 4.1, 4.2 i 4.3 można zapisać jako: ξ = x 5' ( L 1 cosq 2 '' - L 1 cosq 2 ' ) x 5 ' - x 5 '' (4.8) η = y 5' ( L 1 cosq 2 '' - L 1 cosq 2 ' ) x 5 ' - x 5 '' (4.9) ζ = l ( L 1 cosq 2 '' - L 1 cosq 2 ' ) x 5 ' - x 5 '' + e (4.1) 4. 14
Jeżeli dokonane zostanie podstawienie: x 5 ' - x 5 '' = d (4.11) L 1 cosq 2 '' - L 1 cosq 2 ' = b (4.12) oraz e = to równania 4.8, 4.9 oraz 4.1 przybierają postać równań 2.7 2.9 z rozdziału 2. Na podstawie zależności geometrycznych z rysunku 4.3b oraz równania 4.12 wyznaczone zostały wartości kąta q 2 oraz q 2 (nachylenie ramienia L 1 przy pierwszym i drugim ujęciu) w zależności od zadanej bazy b: q 2 = arccos - b 2 L 1 (4.13) q 2 = π - arccos - b 2 L 1 (4.14) Rozszerzeniem ograniczeń z poprzedniego przypadku jest przyjęcie dowolnej, lecz stałej przy obu pomiarach wykonywanych podczas rekonstrukcji stereowizyjnej, wartości kąta q 3 (q 3 = q 3 = q 3 = const). Dla tak zdefiniowanych założeń równania 4.1, 4.2 i 4.3 przybierają postać zależności 4.8, 4.9 oraz 4.1. Natomiast kąty q 2 i q 2 (nachylenie ramienia L 1 przy pierwszym i drugim ujęciu), na podstawie zależności geometrycznych z rysunku 4.4 przy zadanej wartości bazy b, przedstawić można za pomocą równań: q 2 = q 3 + arccos - b 2 L 1 + π 2 (4.15) q 2 = q 3 - arccos - b 2 L 1 + π (4.16) 4. 15
Rys. 4.4. Konfiguracja głowicy stereowizyjnej w płaszczyźnie ramion L 1 L 2 przy symetrycznym przemieszczeniu kamery, dla dowolnej wartości kąta q 3. 4.3. Uwzględnienie zmiany kąta q 2 przy q 1 = const, q 3 = const. Istnieje tutaj całkowita dowolność w wyborze kątów q 2 oraz q 2 przy zachowaniu q 1 = q 1 = const, q 3 = q 3 = const. Sytuacja taka przedstawiona została na rysunkach 4.5a oraz 4.5b. Równania odwzorowania stereowizyjnego przedstawić można przedstawić można za pomocą zależności (4.8), (4.9), (4.1). Dodatkowo wykorzystać można przemieszczenie pionowe kamery (rys 4.5b). W takim przypadku równania odwzorowania stereowizyjnego przyjmują postać: ξ = x 5' ( L 1 sinq 2 ' - L 1 sinq 2 '' ) y 5 ' - y 5 '' (4.17) η = y 4' ( L 1 sinq 2 '' - L 1 sinq 2 ' ) y 4 ' - y 4 '' (4.18) 4. 16
ζ = l ( L 1 sinq 2 '' - L 1 sinq 2 ' ) y 4 ' - y 4 '' + e (4.19) gdzie: y 5 ' y 5 '' = d p (4.2) L 1 cosq 2 '' - L 1 cosq 2 ' = k (4.21) Rys. 4.5a. Konfiguracja głowicy Rys. 4.5b. Konfiguracja głowicy stereowizyjnej przy dowolnej zmianie stereowizyjnej w płaszczyźnie ramion kąta q 2. L 1 L 2 przy dowolnej zmianie kąta q 2. Za pomocą takiego przemieszczenia kamery możliwe jest dokonanie dwóch niezależnych pomiarów odległości ξ, η, ζ co pozwala na dokonanie korekty w ostatecznym wyniku lub uzyskanie dodatkowych informacji pomocnych podczas realizacji algorytmu przetwarzania obrazu. 4.4. Uwzględnienie zmiany kąta q 3 przy q 1 = const, q 2 = const. Podczas takiej zmiany konfiguracji głowicy stereowizyjnej zobrazowanej na rysunkach 4.6a oraz 4.6b, oba obrazy przesunięte są względem siebie o odległość b (baza pozioma) oraz odległość k (baza pionowa). 4. 17
Rys.4.6a. Konfiguracja głowicy Rys. 4.6.b. Konfiguracja głowicy stereowizyjnej przy dowolnej zmianie stereowizyjnej w płaszczyźnie ramion kąta q 3. L 1 L 2 przy dowolnej zmianie kąta q 3. Dodatkowo obrazy obrócone są względem siebie o kąt q 3. Wynika z tego, iż możliwe jest wykonanie dwóch niezależnych pomiarów względem bazy b oraz względem bazy k. Równania opisujące położenie przestrzenne badanego punktu, względem środka płaszczyzny obrazowej pierwszego ujęcia, na podstawie zależności 4.1, 4.2 i 4.3 można zapisać jako: ξ = x 5' [ L 2 (cosq 3 '' - cosq 3 ' ) - d (sinq 3 '' - sinq 3 ' )] x 5 ' - x 5 '' cos q 3 + y 5 '' sin q 3 (4.22) η = y 5' [ L 2 (cosq 3 '' - cosq 3 ' ) - d (sinq 3 '' - sinq 3 ' )] x 5 ' - x 5 '' cos q 3 + y 5 '' sin q 3 (4.23) ζ = l [ L 2 (cosq 3 '' - cosq 3 ' ) - d (sinq 3 '' - sinq 3 ' )] x 5 ' - x 5 '' cos q 3 + y 5 '' sin q 3 + e (4.24) 4. 18
Natomiast przestrzenną lokalizację tego samego punktu za pomocą odwzorowania stereowizyjnego, względem bazy k, przedstawić można jako: ξ = x 5' [ L 2 (sinq 3 ' - sinq 3 '' ) + d(cosq 3 ' - cosq 3 '' )] y 5 ' - y 5 '' cos q 3 - x 5 '' sin q 3 (4.25) η = y 5' [ L 2 (sinq 3 ' - sinq 3 '' ) + d(cosq 3 ' - cosq 3 '' )] y 5 ' - y 5 '' cos q 3 - x 5 '' sin q 3 (4.26) ζ = l [ L 2 (sinq 3 ' - sinq 3 '' ) + d(cosq 3 ' - cosq 3 '' )] y 5 ' - y 5 '' cos q 3 - x 5 '' sin q 3 + e (4.27) 4.5. Uwzględnienie zmiany kąta q 1 przy q 2 = const, q 3 =. Przypadek zmiany kąta q 1 przy q 2 = const i q 3 = sprowadzić można do sytuacji, podczas której przemieszczenie kamery wykonywane jest po okręgu. Promieniem tego okręgu jest rzut płaszczyzny ramion L 1 L 2 na płaszczyznę kąta obrotu q 1. Płaszczyzna obrazowa usytuowana jest poziomo, równolegle do płaszczyzny ramion L 1 L 2 głowicy manipulacyjnej. Sytuacja taka przedstawiona została na rysunku 4.7. Równania opisujące położenie punktu w przestrzeni zewnętrznej, względem pierwszego ujęcia, na podstawie zależności 4.1, 4.2 i 4.3, można przedstawić jako: ξ = x 5' [x 5 ' elcos q 1 + x5'ex5''sin q 1 - lx 5 ''Rsin q 1 - lx 5 ''e - l 2 Rcos q 1 + l 2 R] l [x 5 ' lcos q 1 + x 5 ' x 5 ''sin q 1 - lx 5 ''cos q 1 + l 2 sin q 1 ] - x 5' e l (4.28) η = y 5' [x 5 ' elcos q 1 + x 5 ' ex 5 ''sin q 1 - lx 5 ''Rsin q 1 - lx 5 ''e - l 2 Rcos q 1 + l 2 R] l [x 5 ' lcos q 1 + x 5 ' x 5 ''sin q 1 - lx 5 ''cos q 1 + l 2 sin q 1 ] - y 5 ' e l (4.29) 4. 19
ζ = x 5 ' elcos q 1 + x 5 ' ex 5 ''sin q 1 - lx 5 ''R1sin q 1 - lx 5 ''e - l 2 Rcos q 1 + l 2 R x 5 ' lcos q 1 + x 5 ' x 5 ''sin q 1 - lx 5 ''cos q 1 + l 2 sin q 1 (4.3) gdzie: R = L 1 cosq 2 + L 2 (4.31) q 1 = q 1 q 1 (4.32) Dzięki takiej zmianie położenia kamery możliwa jest obserwacja obiektu względem dwóch różnych punktów odniesienia bez przemieszczenia względem bazy b. Rys.4.7. Położenie płaszczyzny obrazowej podczas zmiany kąta q 1 głowicy stereowizyjnej. 4. 2
5. Kalibracja parametrów wewnętrznych kamery. Podczas wykonywania pomiarów na podstawie rekonstrukcji stereowizyjnej, opisanych równaniami (2.7), (2.8), (2.9), istotnym elementem jest znajomość parametru charakteryzującego kamerę, jakim jest odległość obrazowa l. Od wartości tej uzależniony jest najbardziej istotny pomiar mianowicie odległość wzdłuż osi optycznej od środka płaszczyzny obrazowej do badanego elementu otoczenia. Ponieważ odległość obrazowa l wyrażona jest w punktach ekranowych, dla tego nie jest możliwe dokonanie fizycznego jej pomiaru. ζ 3 -y ζ 4 ζ 1 ζ ζ 2 l l e R 1 R 4 e ξ 3 ξ 4 β + α β l e R 1 e l R 2 l e ξ 1 ξ 2 ξ Rys. 5.1. Kalibracja odległości parametrów wewnętrznych kamery. 5. 21
Drugim parametrem wewnętrznym kamery jest przesunięcie płaszczyzny obrazowej e względem punktu określonego jako efektor głowicy manipulacyjnej. Ze względu na specyfikę układu optycznego kamery, odległości tej nie można wyznaczyć za pomocą fizycznego pomiaru. Ponieważ odległość ta winna być wyrażona w jednostkach podstawowego układu współrzędnych (x,y,z ) poniżej pokazany zostanie sposób kalibracji przesunięcia płaszczyzny obrazowej e. 5.1. Opis zależności geometrycznych dla metody uzależnień geometrycznych. Metoda jaka zostanie przedstawiona polega na wyznaczeniu odległości obrazowej l oraz przesunięcia płaszczyzny obrazowej e na podstawie analizy serii obrazów tej samej sceny, przy odpowiednio zadanych warunkach brzegowych. Ideą tej metody jest wykonanie obrotu kamery o kąt β + α. Kąt β zdeterminowany jest przez uzyskanie obrazu punktu kalibrującego dokładnie w środku płaszczyzny obrazowej. Sytuację taką obrazuje rysunek 2.4. Na podstawie zależności 2.7, 2.8 oraz 2.9, po uwzględnieniu po uwzględnieniu przesunięcia płaszczyzny obrazowej e, przestrzenne położenie badanego punktu przedstawić można jako: ξ = x L d b (5.1) η = y L d b (5.2) ζ = l d b + e (5.3) Po przemieszczeniu układu (ξ 1,η 1,ζ 1 ) o kąt β do układu (ξ 2,η 2,ζ 2 ), na podstawie zależności geometrycznych występujących na rysunku 5.1 możemy zapisać: tg β = ξ 1 + R 1 (1 - cosβ) ζ 1 + R 1 sinβ (5.4) 5. 22
czyli: ζ 1 sinβ + R 1 (1 - cosβ) - ξ 1 cosβ = (5.5) Wykonując tradycyjny pomiar stereowizyjny (na podstawie 5.1 i 5.3): ζ 1 = l ξ 1 x 1 + e (5.6) ξ 1 = x 1 b 1 x 1 - x 2 (5.7) to równanie 5.5 można przedstawić jako: e = x 1 b 1 x 1 - x cosβ - R 1 (1 - cosβ) 2 sinβ - l x 1 2 b 1 x 1 - x 2 (5.8) Następnie, po przemieszczeniu układu o kąt α i wykonaniu analogicznego pomiaru stereowizyjnego względem układu (ξ 4,η 4,ζ 4 ). Na podstawie 5.3: l = (ζ 4 - e) ( x 4 - x 3 ) b 2 (5.9) Uzależniając ζ 4 od ζ 1 na podstawie zależności geometrycznych: ζ 4 = ζ 1 cosα - (R 1 + ξ 1 ) sinα (5.1) równanie 5.9 można przedstawić jako: l = (ζ 1 cosα - (R 1 + ξ 1 ) sinα - e) ( x 4 - x 3 ) b 2 (5.11) 5. 23
Po podstawieniu zależności 5.6 oraz 5.7 do 5.11 otrzymujemy: l = e (cosα - 1) - (R 1 - x 1 b 1 x 1 - x 2 ) sinα b 1 cosα x 1 - x 2 - (5.12) b 2 x 4 - x 3 Reasumując, uzyskane zostały dwa liniowe niezależne równania jednoznacznie identyfikujące parametry wewnętrzne kamery: e = x 1 b 1 x 1 - x cosβ - R 1 (1 - cosβ) 2 sinβ - l x 1 2 b 1 x 1 - x 2 (5.8) l = e (cosα - 1) - (R 1 - x 1 b 1 x 1 - x 2 ) sinα b 1 cosα x 1 - x 2 - (5.12) b 2 x 4 - x 3 gdzie: b 1 = R 2 R 1 b 2 = R 1 R 4 R i jest ramieniem obrotu kamery, utworzonym przez odpowiednią konfiguracje ramion L 1, L 2 głowicy manipulacyjnej. 5.2. Algorytm wyznaczania parametrów wewnętrznych kamery. Istotnym elementem podczas wykonywania kalibracji obu parametrów jest uzyskanie zerowego położenia obrazu punktu kalibrującego na płaszczyźnie obrazowej. Dlatego też kolejność postępowania podczas procesu kalibracji odległości obrazowej l oraz przesunięcia płaszczyzny obrazowej e aktywnej głowicy stereowizyjnej przy pomocy metody uzależnień geometrycznych przedstawić można za pomocą algorytmu: 5. 24
Krok 1. Dobrać kąt q 1 oraz długość ramienia R 1 (określoną przez: q 2, L 1, L 2 głowicy manipulacyjnej) w taki sposób, aby uzyskać obraz punktu kalibrującego x dokładnie w środku płaszczyzny obrazowej (rys. 5.2). -y ζ R 1 x = e l x ξ Rys. 5.2. Dobór kąta q 1 oraz długości ramienia R 1 w celu uzyskania zerowego położenia obrazu punktu kalibrującego na płaszczyzny obrazowej. 5. 25
Krok 2. Wykonać obrót o kąt β + α w płaszczyźnie kąta q 1 głowicy manipulacyjnej, tak aby obraz punktu kalibrującego nie wykraczał poza zakres płaszczyzny obrazowej, przy zachowaniu stałej długości ramienia R 1 (rys. 5.3). Wyznaczyć kąt β + α oraz położenie obrazu punktu kalibrującego x 4 na płaszczyźnie obrazowej. -y ζ 4 ζ l e β + α R 1 ξ 3 R 2 l ξ 1 e ξ Rys. 5.3.. Dobór kątów β + α w celu uzyskania współrzędnej x 4 położenia obrazu punktu kalibrującego na płaszczyzny obrazowej. 5. 26
Krok 3. Wykonać przemieszczenie głowicy stereowizyjnej o odległość bazową b 2 = R 4 R 1. (rys. 5.4) Wyznaczyć położenie obrazu punktu kalibrującego x 3 na płaszczyźnie obrazowej oraz przemieszczenie b 2. ζ 3 -y ζ 4 ζ l l e R 4 e ξ 3 ξ 4 β + α R 1 l ξ 1 e ξ Rys. 5.4.. Dobór ramienia R 4 w celu uzyskania współrzędnej x 3 położenia obrazu punktu kalibrującego na płaszczyzny obrazowej. 5. 27
Krok 4. Wykonać obrót o kąt -α w płaszczyźnie kąta q 1 głowicy manipulacyjnej, oraz dobrać długość ramienia R 2 tak aby obraz punktu kalibrującego nie wykraczał poza zakres płaszczyzny obrazowej (rys. 5.5). Wyznaczyć położenie obrazu punktu kalibrującego x 2 na płaszczyźnie obrazowej, oraz kąt α. -y ζ ζ 2 l β e l R 2 ξ 1 e ξ 2 ξ Rys. 5.5.. Dobór ramienia R 2 w celu uzyskania współrzędnej x 2 położenia obrazu punktu kalibrującego na płaszczyzny obrazowej. 5. 28
Krok 5. Wykonać przemieszczenie głowicy stereowizyjnej o odległość bazową -b 1 = R 1 R 2. (rys. 5.6) Wyznaczyć położenie obrazu punktu kalibrującego x 1 na płaszczyźnie obrazowej oraz przemieszczenie b 1. -y ζ 1 ζ ζ 2 β e l R 1 e l R2 ξ 1 l e ξ 2 ξ Rys. 5.6.. Dobór kąta β w celu uzyskania współrzędnej x 1 położenia obrazu punktu kalibrującego na płaszczyzny obrazowej. 5. 29
Krok 6. Na podstawie danych uzyskanych w krokach 2 do 5 wyznaczyć odległość obrazową l oraz przesunięcie płaszczyzny obrazowej e jako: [ξ 1 cosβ - R 1 (1 - cosβ)](1- cosα ) + (R sinβ 1 + ξ 1 )sinα l = b 1 cosα x 1 - x - b 2 cosα 2 x 4 - x + ξ (5.13) 1 (1 - cosα) 3 x 1 e = ξ 1 cosβ - R 1 (1 - cosβ) sinβ - ξ 1 l x 1 (5.14) gdzie: ξ 1 = x 1 b 1 x 1 - x 2 b 1 = R 2 R 1 b 2 = R 1 R 4 5.3. Kalibracja kamery metoda geometryczna. Metoda jaka zostanie przedstawiona polega na wykorzystaniu informacji o geometrii sceny do wyznaczenia podstawowych parametrów kamery pracującej w systemie sterowizyjnym. 5.3.1. Aspekt. Aspekt określa proporcje obszaru płaszczyzny obrazowej reprezentowanego przez pojedyńczy piksel obrazu. Dla prostokątnej siatki rastrowej o modułach m. x i m. y aspekt a definiuje się jako: 5. 3
a = m x m. y (5.15) Proponowana procedura znajdowania a dla danego układu akwizycji [1] polega na dokonaniu pomiaru długości wzorcowego obiektu przy jego dwóch ustawieniach (wzdłuż osi x i y). Stosunek uzyskanych wielkości (wyrażony w pikselach) pozwala na wyznaczenie aspektu: a = k x k. y (5.16) 5.3.2. Odległość obrazowa. Metoda wyznaczania odległości obrazowej l [] jaka zostanie przedstawiona pozwala uniknąć pomiaru odległości od obiektu do optycznego środka kamery, za cenę dwukrotnego pomiaru szerokości obrazu k i obiektu o znanej szerokości s. Obrazy k i pobierane są przy położeniach kamery względem obiektu różniących się o g wzdłuż osi optycznej kamery (rys. 2.5.1). g = g 2 - g 1 = l s ( 1 x 1-1 x 2 ) (5.17) l = g x 1 x 2 s (x 1 - x 2 ) (5.18) Ideą pomiaru odległości obrazowej l jest to aby zachowywała proporcje pomiędzy różnicą położeń obrazu obiektu a jego odległością. Wynika z tego iż odległość obrazowa powinna być wyrażona w wewnętrznych jednostkach obrazowych pikselach. Powyższa metoda spełnia to założenie. 5. 31
s g s g 2 g 1 x 2 x 1 l Rys. 5.7. Kalibracja odległości obrazowej. 5. 32
6. Implementacja. Poniżej przedstawiony zostanie opis sprzętowej realizacji aktywnej głowicy stereowizyjnej oraz opis oprogramowania wykonanego dla potrzeb eksperymentu. 6.1. Stanowisko przeznaczone do badań stereowizyjnych. Budowa stanowiska, przedstawiona na rysunku 6.1, oparta jest o autonomiczne jednostki pracujące pod kontrolą komputera sterującego. GŁOWICA STEREOWIZYJNA MANIPULATOR KAMERA KOMPUTER STERUJĄCY SERWER WIZYJNY Rys. 6.1. Budowa stanowiska przeznaczonego do badań stereowizyjnych. Poniżej omówiona zostanie budowa poszczególnych elementów stanowiska oraz wykorzystanie ich możliwości dla celów aktywnej analizy sceny. 6. 33
6.1.1. Serwer wizyjny. Serwer wizyjny jest autonomiczną jednostką zbudowaną w oparciu o procesory sygnałowe SHARC. Wejściem serwera jest czterowejściowa karta akwizycji obrazów umożliwiająca odbiór sygnałów wizyjnych z dołączonych kamer. Serwer komunikuje się z komputerem sterującym za pośrednictwem sieci Ethernet. W stanowisku wykorzystywany jest jako urządzenie dostarczające obraz z kamery do komputera sterującego. 6.1.2. Głowica stereowizyjna. Głowica stereowizyjna powstała z połączenia manipulatora dydaktycznego ROMIK z kamerą analogową. Wygląd zewnętrzny pokazany został na fotografii 6.1. Fot. 6.1. Głowica stereowizyjna wykonana dla potrzeb eksperymentu. 6. 34
6.1.2.1. Kamera. W pracy użyto kamery firmy UNITRA typu K17 wyposażonej w matrycę CCD. Kamera tego typu posiada wysoką rozdzielczość, stabilność oraz precyzję odtwarzania geometrii przestrzennej obrazu. Jako układ optyczny wykorzystano obiektyw firmy CARL ZEISS typu 2/1. 6.1.2.2. Manipulator. Manipulator dydaktyczny Romik posiada pięć stopni swobody. Wszystkie osie są sterowane silnikami skokowymi. Napędy z silników przenoszone są za pomocą przekładni zębatych. Dla potrzeb eksperymentu zredukowano ilość stopni swobody do trzech, usztywniono ramiona manipulatora oraz wykonano uchwyt przeznaczony do mocowania kamery. 6.1.3. Komputer sterujący. Komputer sterujący jest komputerem klasy PC wyposażonym w system operacyjny Linux. Jego zadaniem jest nadzorowaniem pracy całego stanowiska, przetwarzanie dostarczonych obrazów oraz wykonywanie na bieżąco obliczeń dotyczących położenia przestrzennego badanego obiektu na podstawie informacji dostarczonych z procesu przetwarzania obrazów. 6.2. Realizacja praktyczna oprogramowania dla potrzeb doświadczenia aktywnej stereowizji. Program składa się z trzech zasadniczych części. Pierwszą z nich jest zaimplementowany algorytm przetwarzania obrazów [4]. Drugą część stanowi automatyczna kalibracja parametrów wewnętrznych kamery, natomiast część trzecia nadzoruje wykonywanie doświadczeń polegających na wyznaczaniu przestrzennego położenia badanego obiektu. 6. 35
OBRAZ WEJŚCIOWY FILTRACJA BINARYZACJA LOKALIZACJA POŁOŻENIE OBIEK Rys. 6.2.Schemat blokowy algorytmu przetwarzania obrazów. 6. 36
6.2.1. Przetwarzanie obrazów. Podczas wykonywania przestrzennej analizy sceny na podstawie obrazów bardzo istotnym elementem jest sposób ich przetwarzania w celu pozyskania istotnych z punktu widzenia eksperymentu informacji. Schemat blokowy zastosowanego algorytmu przetwarzania obrazów przedstawiony został na rysunku 6.2. Po zamianie na postać cyfrową serwer wizyjny dostarcza obraz pobrany z kamery w postaci pliku graficznego (FBM). Obraz taki ma rozmiary 64 48 pikseli i zapisany jest za pomocą 256 odcieni szarości. Pierwszym etapem obróbki jest proces filtracji. Jego zadaniem jest redukcja szumów występujących w obrazie oraz wyostrzenie krawędzi przy przejściach pomiędzy poszczególnymi odcieniami szarości. Następnym etapem jest binaryzacja obrazu. Jej celem jest znaczna redukcja informacji zawartych w obrazie. Dla potrzeb eksperymentu binaryzacja realizowana jest za pomocą histogramu poprzez progowanie. Próg binaryzacji został dobrany w taki sposób, aby z otoczenia odwzorowanego w obrazie wyodrębnić punkty pochodzące od wskaźnika laserowego (diody LED). Po przejściu przez proces binaryzacji obraz składa się z pikseli przyjmujących wyłącznie wartości: dla tła i 1 dla obiektu. Ostatnim procesem jakiemu poddawany jest obraz jest lokalizacja, czyli określenie współrzędnych ekranowych położenia obiektu. Metoda jaka została zastosowana polega na wyznaczeniu środka ciężkości geometrycznej masy punktów [4] zaliczonych jako obiekt w procesie binaryzacji. 6.2.2. Automatyczna kalibracja kamery. Program automatycznej kalibracji kamery wykonany został na podstawie algorytmu przedstawionego w punkcie 2.4.2 Schemat blokowy przedstawiono na rysunku 6.3. Po rozpoczęciu działania programu następuje ustalenie długości ramienia R 1 utworzonego przy odpowiedniej konfiguracji głowicy manipulacyjnej. Pierwszym etapem jest ustalenie położenia kamery w taki sposób aby obraz zidentyfikowanego obiektu został usytuowany dokładnie w środku płaszczyzny obrazowej. Program realizuje tę czynność metodą połowienia. Po ustaleniu wymaganej pozycji następuje zmiana konfiguracji głowicy polegająca na przemieszczeniu wcześniej utworzonego ramienia R 1 o kąt β + α. 6. 37
START WYSUŃ RAMIĘ R 1 USTAL POŁOŻENIE ZEROWE α + β CZY PUNKT JEST NA OBRAZIE? TAK WYZNACZ WSPÓŁRZĘDNĄ X 3 NIE ZMNIEJSZ KĄT O (α + β) WYSUŃ RAMIĘ R 2 CZY PUNKT JEST NA OBRAZIE? TAK NIE ZMNIEJSZ RAMIĘ O R 2 WYZNACZ WSPÓŁRZĘDNĄ X 4 ZMNIEJSZ KĄT O (α + β)/2 CZY PUNKT JEST NA OBRAZIE? TAK NIE ZMNIEJSZ RAMIĘ O R 3 WYZNACZ WSPÓŁRZĘDNĄ X 2 ZMNIEJSZ RAMIĘ DO R 1 WYZNACZ WSPÓŁRZĘDNĄ X 1 OBLICZENIA WYNIK Rys. 6.3. Schemat blokowy programu automatycznej kalibracji. 6. 38
Drugim etapem jest pozyskanie informacji o położeniu obrazów punktu kalibrującego na płaszczyznach obrazowych rozsuniętych na odległość bazową R 2 R 1. Po każdej zmianie położenia kamery wykonywana jest operacja sprawdzenia czy obraz obiektu pozostaje w zakresie aktualnej płaszczyzny obrazowej. W przypadku gdy obraz nie znajduje się w określonym zakresie dokonywana jest korekta w konfiguracji głowicy. W przeciwnym wypadku wyznaczane są współrzędne położenia obrazu punktu kalibrującego na płaszczyźnie obrazowej. Jeżeli zostaną zebrane wszystkie potrzebne informacje następuje przemieszczenie ramienia R 2 o kąt (β + α)/2. Dzięki temu spełniony zostaje postulat aby kąty β i α były jak największe. Trzecim etapem jest pozyskanie informacji o położeniu punktu kalibrującego, w analogiczny sposób jak poprzednio, przy nowej konfiguracji głowicy stereowizyjnej. W ostatniej fazie programu wyznaczane są: odległość obrazowa l oraz przesunięcie płaszczyzny obrazowej e, za pomocą zebranych wcześniej w sposób aktywny informacji o położeniu punktu kalibrującego. 6.2.3. Program nadzorujący wykonywanie eksperymentu. Program nadzorujący jest narzędziem pozwalającym na powiązanie zaimplementowanych algorytmów z programową obsługą urządzeń wykorzystywanych dla potrzeb eksperymentu. Schemat blokowy przedstawiony został na rys 6.4. Po uruchomieniu programu następuje proces inicjalizacji głowicy stereowizyjnej. Polega on na sprowadzeniu wszystkich jej przegubów do położeń początkowych, względem których wykonywane będą dalsze zmiany konfiguracji. Po pomyślnym przejściu procesu inicjalizacji program oczekuje na wybór rodzaju eksperymentu. Kolejnym krokiem jest zarejestrowanie pierwszego obrazu z kamery przy pierwszej konfiguracji głowicy. Obraz ten jest poddawany obróbce, wynikiem której są współrzędne ekranowe obrazu badanego obiektu. Następnie głowica stereowizyjna przyjmuje drugą konfigurację rejestrując przy tym drugi obraz. Po wykonaniu obróbki drugiego obrazu oraz na podstawie danych z obrazu pierwszego wykonywane jest sprawdzenie poprawności uzyskanych informacji, polegające na określeniu czy na obu obrazach dokonano prawidłowego określenia współrzędnych ekranowych obiektu. Jeżeli dane są poprawne, wynikiem działania programu jest położenie przestrzenne badanego obiektu. 6. 39
INICJALIZACJA MANIPULATORA WYBÓR EKSPERYMENTU REJESTRACJA OBRAZU NR 1 PRZETWARZANIE WYZNACZANIE OBRAZU NR 1 POŁOŻENIA OBIEKTU PRZEMIESZCZENIE KAMERY REJESTRACJA OBRAZU NR 2 WYNIK PRZETWARZANIE OBRAZU NR 2 NIE SPRAWDZENIE POPRAWNOŚCI TAK Rys. 6.4. Schemat blokowy programu automatycznej kalibracji. 6. 4
7. Eksperymenty. Eksperymenty przeprowadzono przy pomocy stanowiska przeznaczonego do badań stereowizyjnych przedstawionego w punkcie 6.1 oraz scen testowych. Sceny testowe dobrane zostały w sposób umożliwiający zobrazowanie wpływu najistotniejszych parametrów na wyniki eksperymentu. 7.1. Kalibracja parametrów wewnętrznych kamery metodą uzależnień geometrycznych. Kalibrację odległości obrazowej l oraz przesunięcia płaszczyzny obrazowej e przeprowadzono przy pomocy sceny testowej utworzonej z trzech przegród wzajemnie nie przesłaniających się oddalonych od punktu centralnego podstawy manipulatora o a 1 = 3 [mm], a 2 = 53 [mm] i a 3 = 2 [mm]. Plan sceny testowej przedstawiony został na rysunku 4.1. 53 3 2 Rys 7.1. Scena testowa. 7. 41
Punktem kalibrującym był ślad jaki pozostawia promień pochodzący od wskaźnika laserowego na poszczególnych przegrodach. Eksperymenty wykonane zostały zgodnie z algorytmem przedstawionym w punkcie 5.2. Rezultaty w zależności od odległości wzdłuż osi optycznej kamery do punktu kalibrującego przedstawiono w tabeli 7.1. Odległości bazowe dobrane zostały w taki sposób, aby uzyskać maksymalne przesunięcie d obrazów punktu kalibrującego. a α = β [mm] [ ] b 1 b 2 e l [mm] [mm] [mm] [piksel] 3 5 5 1 87,41-1154,21 53 5 15 15 19, -1258,38 2 5 1 21 4899,4-1781,96 Tabela 7.1. Zależności odległości obrazowej oraz przesunięcia płaszczyzny obrazowej od odległości do punktu kalibrującego. Kalibrację powtórzono dla różnych odległości bazowych b 1,2 przy tej samej odległości do punktu kalibrującego (a= 53[mm]). Wyniki obrazuje tabela 7.2. α = β [ ] b 1 b 2 e l [mm] [mm] [mm] [piksel] 5 5 5 6,7-1396,15 5 1 1 131,93-1158,5 5 15 15 19, -1258,38 Tabela 7.2. Zależności odległości obrazowej oraz przesunięcia płaszczyzny obrazowej od odległości bazowych b 1,2. W tabeli 7.3 przedstawione zostały wyniki kalibracji w zależności od zmiany kątów α=β dla odległości a = 53 [mm] (wzdłuż osi optycznej kamery) do punktu kalibrującego przy stałej odległości bazowej b 1,2 = 1 [mm]. 7. 42
α = β [ ] b 1 b 2 e l [mm] [mm] [mm] [piksel] 1 1 1-43,62-1538,92 2 1 1 114,28-1352,86 3 1 1 169,18-1146,91 4 1 1 74,5-1777,21 5 1 1 55,96-1376,75 Tabela 7.3. Zależności odległości obrazowej oraz przesunięcia płaszczyzny obrazowej od wartości kątówα=β. Za pomocą wartości e i l uzyskanych w drodze kalibracji dokonano kontrolnych pomiarów współrzędnych punktu kalibrującego względem osi optycznej kamery. Wyniki przedstawione zostały w tabeli 7.4. a [mm] e [mm] l [piksel] ξ [mm] η [mm] ζ [mm] 3 87,41-1154,21 17,8 22,1 249,21 53 19, -1258,38 46,96-13,51 534,13 2 4899,4-1781,96 187,11-16,92 2143,44 Tabela 7.4. Kontrolny pomiar współrzędnych punktu kalibrującego. Ostateczne wartości odległości obrazowej l oraz przesunięcia płaszczyzny obrazowej e wyznaczone zostały przez uśrednienie wyników pochodzących z pomiarów dla odległości a = 53 [mm] do punktu kalibrującego i wynoszą: l = - 127,54 [pikseli] e = 1,54 [mm] 7. 43
Dla tych wartości wyznaczone zostały odległości wzdłuż osi optycznej kamery do punktów kalibracyjnych dla trzech badanych przegród oraz błąd względny pomiędzy tak wyznaczonymi odległościami, a odległościami podanymi w tabeli 7.4. Wyniki prezentuje tabela 7.5. a ζ [mm] [mm] ζ obl δ [mm] [%] 3 249,21 278,65 11,81 53 534,13 529,78,81 2 2143,44 255,22 4,12 Tabela 7.5. Wyniki lokalizacji punktu kalibrującego wzdłuż osi optycznej kamery otrzymane za pomocą wyznaczonych parametrów e oraz l. Można uznać, że zastosowanie tak wyznaczonych wartości odległości obrazowej l oraz przesunięcia płaszczyzny obrazowej e, pozwala określić położenie przestrzenne obiektu, znajdującego się w zakresie badanej sceny, z zadowalającą dokładnością. 7. 44
7.2 Kalibracja kamery metodą geometryczną. Kalibrację aspektu oraz odległości obrazowej metodą drugą wykonano za pomocą sceny testowej przedstawionej na rysunku 7.2. W wyniku eksperymentu otrzymano pary obrazów z których dwa przykładowe przedstawione zostały na rysunku 7.3a i 7.3b. s g 1 x 1 l g 2 x 2 g l Rys. 7.2. Plan sceny testowej dla potrzeb kalibracji. Rys. 7.3a. Obraz obiektu dla odległości g 1. Rys. 7.3b. Obraz obiektu dla odległości g 2. 7. 45
Wyniki uzyskane podczas pomiarów aspektu przedstawione zostały w tabeli 7.6. g 1 l x l y [mm] [piksel] [piksel] 17 332 329 1.9 2 29 29 1. 25 239 237 1.8 3 22 22 1. 35 175 175 1. 4 153 153 1. a Tabela 7.6. Wyniki pomiaru aspektu. Wyniki uzyskane podczas pomiarów odległości obrazowej metodą geometryczną dla obiektu o średnicy 49,2 [mm] przedstawione zostały w tabeli 7.7. G [mm] x 1 x 2 [piksel] [piksel] [piksel] 5 29 237 1317,88 1 29 22 1353,1 15 29 175 1345,44 2 29 153 1316,54 25 29 138 1337,85 l Tabela 7.6. Wyniki pomiaru odległości obrazowej metodą geometryczną. Ostateczne wartości odległości obrazowej l oraz aspektu a wyznaczone zostały przez uśrednienie wyników pomiarów i wynoszą: a = 1,3 1. l = 1334,14 [pikseli] 7. 46
7.3. Wyznaczanie położenia przestrzennego obiektów. Pomiary przestrzennego położenia obiektów przeprowadzono przy pomocy sceny testowej złożonej z trzech stopni o różnych wysokościach. Stopnie były oddalone od punktu centralnego podstawowego układu współrzędnych aktywnej głowicy stereowizyjnej o: - stopień A 5 [mm] - stopień B 1 [mm] - stopień C 2 [mm]. Plan sceny testowej przedstawiony został na rysunkach 7.4a, 7.4b oraz fotografii 7.1. Obiektem, którego położenie wyznaczano była dioda LED ustawiana kolejno na każdym stopniu. B A C 5 1 2 Rys. 7.4a. Plan sceny testowej dla pomiaru położenia widok z góry. A C Rys. 7.4b. Plan sceny testowej dla pomiaru położenia widok z boku. 7. 47
Fot.7.1. Scena testowa przystosowana do pomiarów położenia przestrzennego obiektów. Pomiary wykonano dla parametrów wewnętrznych kamery uzyskanych przy pomocy kalibracji przeprowadzonej w punkcie 7.1. Dodatkowo w punkcie 7.3.5 przeprowadzono kontrolny pomiar lokalizacji obiektu za pomocą poziomego symetrycznego przemieszczenia kamery o odległość bazową b przy pomocy parametrów wewnętrznych kamery wyznaczonych w drodze kalibracji metodą geometryczną przeprowadzonej w punkcie 7.2. 7.3.1. Pomiar położenia obiektu za pomocą poziomego symetrycznego przemieszczenia kamery. Pomiary wykonano dla różnych odległości bazowych przy zachowaniu q 3 = [ ] oraz q 1 =-184 [ ]. Wyniki dla trzech różnych lokalizacji obiektu względem środka pierwszej płaszczyzny obrazowej przedstawione zostały w tabelach 7.7 7.9. Obliczenia odległości wykonano na podstawie zależności (4.8) (4.1) oraz (4.13) i (4.14). W tabelach 7.1 7.12 przedstawiono wyniki pomiarów położenia badanego obiektu względem centralnego punktu podstawowego układu współrzędnych aktywnej głowicy stereowizyjnej. Wartości te zostały wyznaczone za pomocą równań kinematyki na podstawie kinematyki głowicy manipulacyjnej (3.6). 7. 48
B q 2 q 2 [mm] [ ] [ ] x 1 y 1 x 2 y 2 ξ η ζ [piksel] [piksel] [piksel] [piksel] [mm] [mm] [mm] 2 6,8 119,2-299 199 292 131 11 5 538 1 75,88 14,12-125 24 166-11 42-8 54 5 82, 97,1-53 28 92 1 18-8 541 2 87,2 92,8-11 27 44 19 4-9 584 1 88,6 91,4 4 26 3 22-1 -1 562 Tab. 7.7. Wyniki lokalizacji obiektu umieszczonego na stopniu A względem pierwszej płaszczyzny obrazowej uzyskane podczas przemieszczenia bazowego b. b q 2 q 2 [mm] [ ] [ ] x 1 y 1 x 2 y 2 ξ η ζ [piksel] [piksel] [piksel] [piksel] [mm] [mm] [mm] 2 6,8 119,2-227 -13 46-66 166 9 96 1 75,88 14,12-156 -2-26 114 963 5 82, 97,1-122 -55-13 91 974 2 87,2 92,8-14 -2-79 -8 83 1 132 1 88,6 91,4-99 -3-87 -6 82 2 168 Tab. 7.8. Wyniki lokalizacji obiektu umieszczonego na stopniu B względem pierwszej płaszczyzny obrazowej uzyskane podczas przemieszczenia bazowego b. b q 2 q 2 [mm] [ ] [ ] x 1 y 1 x 2 y 2 ξ η ζ [piksel] [piksel] [piksel] [piksel] [mm] [mm] [mm] 2 6,8 119,2 12-89 142-128 -18 136 1829 1 75,88 14,12 48-86 112-16 -75 134 1855 5 82, 97,1 64-88 95-98 -13 141 191 2 87,2 92,8 72-91 84-94 -12 151 1968 1 88,6 91,4 74-91 79-93 -148 182 2327 Tab. 7.9. Wyniki lokalizacji obiektu umieszczonego na stopniu C względem pierwszej płaszczyzny obrazowej uzyskane podczas przemieszczenia bazowego b. 7. 49
v b [mm] [mm] x y z [mm] [mm] [mm] 5 2-275 558 248 5 1-173 553 255 5 5-128 552 268 5 2-94 569 259 5 1-82 591 259 Tab. 7.1. Wyniki lokalizacji obiektu umieszczonego na stopniu A wyrażone w podstawowym układzie współrzędnych uzyskane podczas zmian przesunięcia bazowego b v b [mm] [mm] x y z [mm] [mm] [mm] 1 2-318 984 252 1 1-216 98 263 1 5-152 987 269 1 2-14 144 27 1 1-132 179 271 Tab. 7.11. Wyniki lokalizacji obiektu umieszczonego na stopniu B wyrażone w podstawowym układzie współrzędnych uzyskane podczas zmiany przesunięcia bazowego b v b [mm] [mm] x y z [mm] [mm] [mm] 2 2-16 1837 379 2 1 34 1857 397 2 5 87 198 49 2 2 127 1963 42 2 1 185 2319 451 Tab. 7.12. Wyniki lokalizacji obiektu umieszczonego na stopniu C wyrażone w podstawowym układzie współrzędnych uzyskane podczas zmiany przesunięcia bazowego b 7. 5
7.3.2. Pomiar położenia obiektu uwzględniając dowolną zmianę kąta q 2 aktywnej głowicy stereowizyjnej. Pomiary wykonano dla różnych zmian kąta q 2 przy q 3 = [ ]oraz q 1 =-183 [ ]. Maksymalną zmianę kąta q 2 dobrano w taki sposób, aby uzyskać maksymalną różnice położeń obrazów badanego obiektu na obu płaszczyznach obrazowych. Wyniki pomiarów dla trzech różnych odległości od obiektu do pierwszej płaszczyzny obrazowej przedstawione zostały w tabelach 7.13 7.15. W tabelach 7.16 7.18 zestawiono wyniki lokalizacji obiektu względem centralnego punktu podstawowego układu współrzędnych aktywnej głowicy stereowizyjnej. q 2 [ ] q 2 [ ] q 2 [ ] ξ [mm] η [mm] ζ [mm] 5 123,64 73,75 92 9 537 2 123,64 13,77 91 9 538 1 123,64 113,77 92 9 54 Tab. 7.13. Wyniki lokalizacji obiektu umieszczonego na stopniu A względem pierwszej płaszczyzny obrazowej uzyskane podczas zmiany kąta q 2. q 2 [ ] q 2 [ ] q 2 [ ] ξ [mm] η [mm] ζ [mm] 1 123,64 23,63 172 11 998 9 123,64 33,65 169 13 987 5 123,64 73,75 161 13 945 2 123,64 13,77 158 12 933 1 123,64 113,77 92 1 929 Tab. 7.14. Wyniki lokalizacji obiektu umieszczonego na stopniu B względem pierwszej płaszczyzny obrazowej uzyskane podczas zmiany kąta q 2. 7. 51
q 2 [ ] q 2 [ ] q 2 [ ] ξ [mm] η [mm] ζ [mm] 9 123,64 33,65-12 143 1921 5 123,64 73,75-11 131 1761 2 123,64 13,77-11 123 1666 1 123,64 113,77-11 126 173 Tab. 7.15. Wyniki lokalizacji obiektu umieszczonego na stopniu C względem pierwszej płaszczyzny obrazowej uzyskane podczas zmiany kąta q 2. v q 2 [mm] [ ] x y z [mm] [mm] [mm] 5 5-69 541 244 5 2-69 574 244 5 1-7 544 244 Tab. 7.16. Wyniki lokalizacji obiektu umieszczonego na stopniu A wyrażone w podstawowym układzie współrzędnych uzyskane podczas zmiany kąta q 2. v q 2 [mm] [ ] x y z [mm] [mm] [mm] 1 1-126 997 246 1 9-123 994 248 1 5-117 952 248 1 2-115 94 247 Tab. 7.17. Wyniki lokalizacji obiektu umieszczonego na stopniu B wyrażone w podstawowym układzie współrzędnych uzyskane podczas zmiany kąta q 2. 7. 52
v q 2 [mm] [ ] x y z [mm] [mm] [mm] 2 9 93 17 361 2 5 92 1663 358 2 2 97 1758 366 2 1 15 199 378 Tab. 7.18. Wyniki lokalizacji obiektu umieszczonego na stopniu C wyrażone w podstawowym układzie współrzędnych uzyskane podczas zmiany kąta q 2. 7.3.3. Pomiar położenia obiektu uwzględniając dowolną zmianę kąta q 3 aktywnej głowicy stereowizyjnej. Pomiary wykonano dla różnych zmian kąta q 3 przy zachowaniu q 1 =-184 [ ] oraz q 2 =123 [ ]. Wyniki dla trzech różnych położeń obiektu na planie sceny przedstawiono w tabelach 7.19 7.21. Przestrzenną lokalizację obiektu względem centralnego punktu podstawowego układu współrzędnych aktywnej głowicy stereowizyjnej zestawiono w tabelach 7.22 7.24. q 2 [ ] q 3 [ ] q 3 [ ] ξ [mm] η [mm] ζ [mm] 3, 1,3 3 48 528 2, 2,5 3 45 58 1, 3,2 2 44 5 Tab. 7.19. Wyniki lokalizacji obiektu umieszczonego na stopniu A względem pierwszej płaszczyzny obrazowej uzyskane podczas zmiany kąta q 3. 7. 53
q 2 [ ] q 3 [ ] q 3 [ ] ξ [mm] η [mm] ζ [mm] 3, 1,3-28 -4 741 2, 2,5-28 -4 764 1, 3,2-3 -5 8 Tab. 7.2. Wyniki lokalizacji obiektu umieszczonego na stopniu B względem pierwszej płaszczyzny obrazowej uzyskane podczas zmiany kąta q 3. q 2 [ ] q 3 [ ] q 3 [ ] ξ [mm] η [mm] ζ [mm] 3, 1,3 1 91 1262 2, 2,5 1 95 1332 1, 3,2 1 13 142 Tab. 7.21. Wyniki lokalizacji obiektu umieszczonego na stopniu C względem pierwszej płaszczyzny obrazowej uzyskane podczas zmiany kąta q 3. v q 2 [mm] [ ] x y z [mm] [mm] [mm] 5 3 24 5 285 5 2 24 57 281 5 1 26 527 281 Tab. 7.22. Wyniki lokalizacji obiektu umieszczonego na stopniu A wyrażone w podstawowym układzie współrzędnych uzyskane podczas zmiany kąta q 3. 7. 54