DETEKCJA PŁASZCZYZN W SCENIE TRÓJWYMIAROWEJ NA PODSTAWIE SEKWENCJI OBRAZÓW STEREOWIZYJNYCH Piotr Skulimowski Instytut Elektroniki Politechniki Łódzkiej ul. Wólczańska 211/215, 90-924 Łódź e-mail: piotr.skulimowski@p.lodz.pl Paweł Strumiłło Instytut Elektroniki Politechniki Łódzkiej ul. Wólczańska 211/215, 90-924 Łódź e-mail: pawel.strumillo@p.lodz.pl Detekcja płaszczyzn w obrazach stereowizyjnych sceny trójwymiarowej jest jednym z podstawowych etapów przetwarzania i analizy obrazów głębi w projektowanym urządzeniu elektronicznym wspomagającym osoby niewidome w samodzielnym poruszaniu się. Celem projektu, obejmującego ww zakres badań, jest opracowanie modelu mobilnego systemu przetwarzającego sekwencję obrazów scen trójwymiarowych na obrazy dźwiękowe [1]. Niniejszy reerat dotyczy problemu wyznaczania równań płaszczyzn w scenie trójwymiarowej na podstawie rejestrowanych sekwencji obrazów stereowizyjnych. 1. WYZNACZANIE OBRAZU GŁĘBI Niech jest dany stereowizyjny układ kamer, których osie optyczne są równoległe oraz linie skanowania przetworników obrazowych kamer są współliniowe. Układ spełniający powyższe warunki jest nazywany kanonicznym układem kamer [2]. W konstrukcjach rzeczywistych, uzyskanie tych warunków jest bardzo trudne, dlatego też stosuje się tzw. rektyikację obrazów stereowizyjnych dla uzyskania modelowego układu kanonicznego kamer [3]. Dodatkowo też, konieczne jest uprzednie przeprowadzenie korekcji geometrycznej obrazów podlegających zniekształceniom przez układy optyczne kamer [3]. Spełnienie powyższych warunków znacznie upraszcza proces wyznaczania obrazu głębi, gdyż linie epipolarne, tj. linie wzdłuż których poszukuje się dopasowania pomiędzy elementami lewego i prawego obrazu są prostymi równoległymi do poziomej krawędzi obrazu. W układzie kanonicznym kamer, różnica współrzędnych d = x L xr punktu sceny obrazowanego w lewej i prawej kamerze, jest nazywana dysparycją i jednoznacznie określa ona odległość (głębię) tego punktu sceny od układu kamer. Stosując podstawowe metody dopasowania blokowego można wyznaczyć mapę dysparycji z tzw. dokładnością pikselową. Obraz monochromatyczny, w którym dysparycja jest kodowana poziomem jasności nazywamy gęstą mapą dysparycji (rys. 1). Rysunek 1. Od lewej: obraz z kamery lewej, obraz z kamery prawej, mapa głębi (dysparycji); obiektom położonym bliżej odpowiadają obszary mapy o większej jasności
Związek pomiędzy współrzędnymi punktu P(X,Y,Z) sceny trójwymiarowej, a jego obrazem p(x,y) w układzie współrzędnych O(X,Y,Z) o początku umieszczonym w ognisku jednej z kamer, wyrażają równania: Bx X =, d By Y =, d Z B p = (1) d gdzie: d - dysparycja ( d = x L xp ), B - baza systemu stereowizyjnego (odległość osi optycznych kamer), zastosowano B = 82mm, p - ogniskowa kamery wyrażona w pikselach: =395 (rozdzielczość obrazów 512x384 punktów), x R, xl - współrzędne x obrazu punktu P widzianego odpowiednio w obrazach lewej i prawej kamery. 2. WYZNACZANIE PŁASZCZYZN W OBRAZIE SCENY TRÓJWYMIAROWEJ Niech P i (x,y,z) jest zbiorem punktów leżących w jednej płaszczyźnie układu współrzednych O(X,Y,Z). Przy wyłączeniu płaszczyzn przechodzących przez początek układu, równanie płaszczyzny w zdanym układzie współrzędnych można zapisać wzorem: Ax + By + Cz +1 = 0 (2) Przy czym wektor o współrzędnych [A,B,C] jest wektorem normalnym do tej płaszczyzny. Parametry A, B, C są wyznaczane na drodze poszukiwania minimum unkcji błędu ε za pomocą metody najmniejszych kwadratów: ( Ax + By + Cz 1) 2 ε = + (3) Warunkiem koniecznym istnienia minimum unkcji błędu jest zerowanie odpowiednich pochodnych cząstkowych. Po wykonaniu podstawowych przekształceń algebraicznych uzyskujemy układ trzech równań z niewiadomymi A, B i C: xx xy xz xy yy yz xz A yz B = zz C x y z (4) 3. WYZNACZANIE PŁASZCZYZNY PODŁOŻA Przyjmijmy, że jest znane położenie linii horyzontu w obrazach kamer. Inormację taką uzyskujemy z analizy sygnałów z czujników przyspieszeń związanych z układem kamer stereowizyjnych. Linia horyzontu jest prostopadła do kierunku przyspieszenia ziemskiego. Przyjmijmy też, że jest ona widoczna w obrazach kamer oraz widoczny jest obraz płaszczyzny podłoża (zob. rys. 1). Przy spełnieniu ww warunków, za punkty należące do podłoża uznane są punkty leżące na prostych równoległych do linii horyzontu i leżących poniżej tej linii oraz takie, których odległość od kamery jest największa (dysparycja najmniejsza). To założenie jest słuszne dla scen, w których najniżej leżącą płaszczyzną jest płaszczyzna podłoża.
Zgodnie z wymienionymi założeniami, przy wyznaczaniu płaszczyzny podłoża są brane pod uwagę tylko takie punkty, których dysparycja jest najmniejsza, ale większa od pewnej wartości progowej (im mniejsza wartość dysparycji tym większe błędy w wyznaczaniu odległości). Przyjęto też, że w obliczeniach są uwzględniane tylko takie punkty, których prawdopodobieństwo znalezienia się na płaszczyźnie podłoża jest największe, tj. przyjęto, że odcinek należy do płaszczyzny podłoża, jeżeli jego punkty mają najmniejszą wartość dysparycji oraz długość utworzonego z nich odcinka nie jest mniejsza niż P 1 =15 punktów obrazu. Założenie to pozwala na usuwanie zakłóceń oraz obszarów w mapie dysparycji o niedokładnie wyznaczonej głębi. Dodatkowo też, na podstawie wyliczonej wysokości kamery nad podłożem, można wykryć inną niż poziomą orientację płaszczyzny podłoża (np. schody prowadzące w dół lub w górę). 4. WYZNACZENIE NOWEGO UKŁADU WSPÓŁRZĘDNYCH ZWIĄZANEGO Z PŁASZCZYZNĄ PODŁOŻA Niech początek układu współrzędnych związany z podłożem jest punktem będącym rzutem początku układu współrzędnych związanych z kamerą na wyznaczoną płaszczyznę podłoża. Aby wyznaczyć początek tego układu współrzędnych należy znaleźć przecięcie prostej przechodzącej przez początek układu współrzędnych związanego z kamerą, z płaszczyzną podłoża. Nowy początek układu współrzędnych w poprzednio zdeiniowanym układzie współrzędnych ma współrzędne O ( x y, z ), gdzie: x A A + B + C =, 2 2 2 2 2 2 ', y B = A + B +, 2 2 2 C z C = A + B + (5) C Niech wersory nowego układu współrzędnych wyrażone we współrzędnych związanych z kamerą mają wartości: x '( xx, xy, xz ), y '( yx, yy, yz ), z '( zx, zy, zz ). Wersor y ' ma kierunek zgodny z wektorem [ A, B, C], wersor z ' leży na płaszczyźnie podłoża i wskazuje w głąb obrazu, wersor x ' jest iloczynem wektorowym (rys. 2) = (6) Rysunek 2. Układ związany z kamerą O i układ związany ze znalezionym podłożem O' Aby wyznaczyć współrzędne początku układu związanego z kamerą, tj. punktu O ( x, y, z ) w układzie współrzędnych O ' związanego z podłożem, należy rozwiązać poniższy układ równań:
[ 0,0,0] = [ x, y, z ] + x + y + z (7) Niech a 11 będzie kosinusem kierunkowym kąta między osiami Ox i zawiera kosinusy kierunkowe kątów pomiędzy pozostałymi osiami. O ' [3]. Tabela 1 Tabela 1. Kosinusy kierunkowe kątów pomiędzy osiami. O ' O ' O ' Ox Oy Oz a = x a = y a = z 11 X 12 X 13 X a = x a = y a = z 21 Y 22 Y 23 Y a = x a = y a = z 31 Z 32 Z 33 Z Można wykazać [3], że dowolny punkt o współrzędnych ( x, y, z) w układzie O ma x ',, w układzie O ', które można wyznaczyć z równania: współrzędne ( ) = x = y = z 11 12 13 x x x 21 23 23 y y y 31 32 33 z z z (8) Przeliczenie współrzędnych z układu O ' do układu O wyraża się zależnościami: x = x y = y z = z F F F 11 21 31 12 22 32 13 33 23 (9) 5. DETEKCJA PŁASZCZYZN PIONOWYCH Z WYKORZYSTANIEM TRANSFORMACJI HOUGHA Mając obraz dysparycji i współrzędne każdego punktu w układzie związanym ze znalezionym podłożem, można utworzyć obraz przeszkód S zrzutowany na płaszczyznę podłoża. Dla każdego punktu obrazu dysparycji znajdujemy jego współrzędne związane z x ',,. Jeśli spełniony jest warunek: podłożem ( ) y min < < y max (10) to wartości obrazu przeszkód są zwiększane według zależności S (, ) = ( ) +, gdzie y min 2 oraz y max są dobrane eksperymentalnie. Funkcja ( ) = z ma za zadanie uwzględnić perspektywę (im bardziej odległy jest odcinek prostopadły do podłoża, tym mniejsza jest jego długość w obrazie) oraz niedokładność wyznaczenia położenia punktów wynikającej z niedokładności wyznaczenia głębi z '. W następnym kroku obraz S jest poddawany transormacji Hougha. W obrazie tej transormacji jest znajdowane maksimum i jeśli wartość tego maksimum jest większa od zadanej wartości progowej H h to znaleziona linia jest interpretowana jako należąca do płaszczyzny ściany prostopadłej do podłoża. Punktom z otoczenia maksimum znalezionego w obrazie transormacji Hougha nadawana jest wartość zerowa. Aby znaleźć kolejną
płaszczyznę ściany, należy znaleźć kolejne maksimum w obrazie transormacji. Dla przyspieszenia obliczeń związanych z opisaną procedurą należy uwzględnić możliwie małą liczbę punktów. Można to zrobić wybierając punkty, które należą do płaszczyzn równoległych do podłoża. Zmniejszając liczbę tych płaszczyzn redukujemy liczbę znalezionych punktów. Ponadto transormację Hougha można zastosować tylko w pewnym przedziale kątów, bazując na inormacji z poprzednich ramek sekwencji. Rysunek 3 Obraz S (z lewej) i jego obraz transormacji Hougha (z prawej). Maksimom znalezionym w obrazie Hougha odpowiadają linie, które wykreślono w obrazie S. Rysunek 4. Wykreślone linie reprezentują proste będące przecięciem płaszczyzny podłoża i znalezionych ścian w obrazie. 6. WNIOSKI I DALSZE PRACE Detekcja płaszczyzn ma istotne znaczenie, ponieważ obszary obrazów sceny, które nie spełniają równań płaszczyzn, mogą być wstępnie traktowane jako przeszkody na drodze poruszającej się osoby niewidomej. Stosując tę ideę można wyznaczyć położenie przeszkód w scenie trójwymiarowej. Niech obraz przeszkód ma rozmiar W x H i reprezentuje rzeczywisty obszar WR x H R w scenie zgodnie z rysunkiem 5. Współrzędne każdego punktu w obrazie przeszkód dla płaszczyzny podłoża O ''( X '', Z'' ) są przeliczane do współrzędnych rzeczywistych danych w układzie O '( X ', Y ' = 0, Z' ), które następnie są przeliczane do układu O ( X, Y, Z ). Punkt ze sceny trójwymiarowej jest następnie przeliczany do współrzędnych obrazu danego we
współrzędnych (x,y). Na podstawie obrazu dysparycji jest wyznaczana współrzędna punktu sceny w układzie kamery O. Jeśli spełniony jest warunek H Y R Y Y R < T oraz istnieje pewnie wyznaczona niezerowa dysparycja, to punkt [ X '', Z'' ] reprezentujący ragment przestrzeni uznaje się jako punkt, który nie należy do przeszkody. W przeciwnym wypadku zachodzi jeden z przypadków: analizowany obszar jest przeszkodą, ragment przestrzeni jest cieniem przeszkody bądź jest obszarem niezdeiniowanym. T H jest pewną wartością progową, która pozwala na zakwaliikowanie niedokładności wynikających z obliczeń mapy dysparycji do obszaru odpowiadającego podłożu. Przyjęto T H =20-30cm. Wartość ta jest zależna od dokładności wyznaczenia głębi dla punktów podłoża. Dokładność ta zależy od bazy układu stereowizyjnego oraz skuteczności algorytmu wyznaczania mapy dysparycji [5]. Rysunek 5. Obraz widziany przez kamerę prawą oraz obraz przeszkód wyznaczony w płaszczyźnie podłoża (rzut z góry dla obszaru 10mx10m). Pola jasnoszare oznaczają przeszkody, a pola białe miejsca niewidoczne w obrazie głębi. Kamery znajdują się w środku dolnej krawędzi obrazu. Obraz przeszkód został uzyskany dla dysparycji wyznaczonej z dokładnością pikselową. Prowadzone obecnie prace skupiają się na analizie sekwencji stereowizyjnych. Mają one na celu opracowanie metod detekcji dowolnej liczby wycinków płaszczyzn, które zostaną wykorzystane do wyznaczania parametrów geometrycznych przeszkód oraz ich lokalizacji w scenie trójwymiarowej. 7. LITERATURA [1] P. Strumiłło, P. Pełczyński, M. Bujacz, M. Pec, Space perception by means o acoustic images: an electronic travel aid or the blind, ACOUSTICS High Tatras 06-33rd International Acoustical Conerence - EAA Symposium, Štrbské Pleso, Slovakia, October 4th - 6th, 2006, pp. 296 299. [2] B. Cyganek Komputerowe przetwarzanie obrazów trójwymiarowych, Akademicka Oicyna Wydawnicza EXIT, Warszawa 2002. [3] D. Rzeszotarski, P. Strumiłło, P. Pełczyński, B. Więcek, A. Lorenc, System obrazowania stereoskopowego sekwencji scen 3D, Zeszyty Naukowe Elektronika, str. 165 184, 2005. [4] M. Stark, Geometria analityczna, Monograie Matematyczne, Tom 26, Warszawa- Wrocław 1951. [5] P. Skulimowski, P. Strumiłło, Reinement o disparity map sequences rom stereo camera ego-motion parameters, ICSES 2006 International Conerence on Signals and Electronics Systems, Łódź, Poland, September 17-20, 2006, Łódź, Poland, pp. 379 382.