wytwarzanie widokowej reprezentacji obiektów wg koncepcji sfery
Transkrypt
wytwarzanie widokowej reprezentacji obiektów wg koncepcji sfery
WYTWARZANIE WIDOKOWEJ REPREZENTACJI OBIEKTÓW WG KONCEPCJI SFERY WIDOKOWEJ Z RZUTOWANIEM PERSPEKTYWICZNYM Monika Dąbkowska, Wojciech S. Mokrzycki* [email protected], [email protected] Zespół Grafiki i Przetwarzania Obrazów Instytu Podstaw Informatyki PAN Ordona 21, 01–237 Warszawa *oraz Instytut Automatyki Systemów Dowodzenia Wojskowa Akademia Techniczna Kaliskiego 2, 00–908 Warszawa STRESZCZENIE Opracowanie dotyczy metody tworzenia dokładnego 2 21 W modelu widokowego wielościanów wypukłych (z ich pełnego 3W modelu powierzchniowego) przeznaczonego dla systemów identyfikacji wizualnej. Przedstawiona jest tu koncepcja generowania standardowych 2 21 W widoków modelu, ze sferą jako przestrzenią widokową i rzutowaniem perspektywicznym — w odróżnieniu od powszechnie stosowanego rzutowania równoległego. Takie podejście pozwala uzyskać widoki bardziej adekwatne do danych o rzeczywistych obiektach jakich może dostarczyć wizualny system akwizycji 2 21 W danych. SŁOWA KLUCZOWE wizualna identyfikacja obiektów, widokowa reprezentacja obiektów, sfera widokowa, rzutowanie perspektywiczne, warunek widoczności ścian, widok, aspekt, obszar jednowidokowy, kompletność reprezentacji. WSTĘP Wiedza, jaką posiadać musi system identyfikacji wizualnej obiektów do rozwiązywania zadań wizualnych, to opis obiektów. Stworzenie takich opisów nie jest jednak sprawą trywialną. Należy bowiem rozstrzygnąć, jaki typ modelu wybrać. Występują tutaj co najmniej dwie możliwości: • budowa formalnych modeli (reprezentacji) obiektów — konstruowanie pełnych dokładnych modeli obiektów oraz, ewentualnie, budowa specjalnych modeli przeznaczonych do identyfikacji (aspektowych, widokowych, itp.) na podstawie (dokładnych) modeli pełnych, • tworzenie przybliżonej reprezentacji obiektów na podstawie pozyskanych danych wizualnych o scenie, obrazów czy map głębi (map zasięgu). Po skonstruowaniu modeli przeznaczonych do identyfikacji proces rozpoznawania obiektów sprowadza się do pasowania elementów bazy modeli z danymi wywiedzionymi z informacji wizualnej o scenie. W rozważanej przez nas koncepcji identyfikacji wizualnej 3W obiektów w oparciu o 2 21 W dokładne mo- dele widokowe, występują obiekty widzialne, sztywne i nieprzezroczyste, a sama identyfikacja jest typu powierzchniowego (ang. surface-based), co oznacza, że odbywa się w oparciu o informację zawartą w powierzchni (powłoce) obiektu. W ogólności modele do identyfikacji mogą mieć różne postacie: • struktur lub zbiorów (charakterystycznych) obrazów lub widoków (aspektów), budowanych ręcznie (tj. dane geometryczne o obiekcie, często zgrubne, niekompletne, są ręcznie wprowadzane do systemu) lub automatycznie z wykorzystaniem dokumentacji technologicznej typu CAD lub w jeszcze inny sposób, • specjalnych układów — „wytrenowanych” sieci (np. logicznych czy neuronalnych) z wykorzystaniem zbioru obiektów treningowych (tj. modeli „wyuczonych” z wielu obrazów) i zależności statystycznych. Znanych jest wiele różnych reprezentacji obiektów geometrycznych. Jedną z nich jest reprezentacja powłokowa (ang. Brep), w której obiekt definiuje się przez podanie geometrycznych i fotometrycznych charakterystyk jego powierzchni. Stanowi ona wystarczający (pełny i dokładny) opis obiektu, może być wykorzystana jako podstawa do tworzenia widoków obiektu, a także używa jej przeważająca liczba badaczy przy projektowaniu modeli dla systemów identyfikacji wizualnej. Nie nadaje się ona jednak wprost do samej identyfikacji. Opisuje bowiem obiekty w 3W lokalnym układzie współrzędnych obiektu i nie jest uporządkowana ze względu na możliwe widoki. Stąd niezbędna jest reprezentacja inna, przeznaczona specjalnie na potrzeby wizualnej identyfikacji obiektów, np. reprezentacja widokowa w postaci bazy modeli (widoków). Baza modeli to zbiór M = {m1, m2, …, mn}, gdzie mi (i = 1..n) jest reprezentacją powłokową obiektu. Z drugiej strony, mi = {fi1, fi2, …, fip}, fij = 1..p, jest zbiorem płatów powierzchniowych i ich wzajemnych przestrzennych zależności. (Gdy powierzchnie redukują się do płaszczyzn, mamy do czynienia z wielościanami, dla których identyfikacja typu „surface-based” przekształca się w „edge-based”. Znikają bowiem geometryczne charakterystyki powierzchniowe, a cechy wyróżnione redukują się do krawędzi i ich układów w widokach (aspektów) oraz, ewentualnie, fotometrycznych charakterystyk ścian albo (co na jedno wychodzi) do układów sąsiednich ścian wielościanów. Gdy powierzchnie ścian są gładkie i jednobarwne, powierzchnie obiektu stają się bezcechowe, a jedynymi cechami na obiekcie są krawędzie i ich układy. W takich sytuacjach za cechy wyróżnione przyjmowane są właśnie krawędzie i ich układy.) Nie sposób wybrać właściwą reprezentację obiektu, gdy nie weźmie się pod uwagę celu, jakiemu ma ona służyć, tj. identyfikacji wizualnej obiektów w oparciu o bazę modeli. Zadanie identyfikacji wizualnej 3W obiektów w oparciu o bazę 2 21 W dokładnych modeli widokowych, w ogólnym spojrzeniu, zawiera następujące podetapy: • określenie klasy obiektów, jakie system będzie w stanie rozpoznawać (tzn. jakie mogą się pojawić w zadaniu) i zbudowanie dla nich modeli pełnych, uwzględniających kompletne (geometrycznofotometryczne) charakterystyki powierzchniowe, • określenie zadania identyfikacji i wybranie, spośród wszystkich cech, zawierających się w powierzchniach obiektów (w pełnych modelach obiektów), cech wyróżnionych dla zdefiniowanego zadania identyfikacji, w oparciu o które identyfikacja będzie prowadzona (bowiem użyta do identyfikacji cecha zależy od konkretnego zastosowania), • wygenerowanie 2 21 W dokładnych modeli widokowych, w oparciu o wybrane cechy wyróżnione, dla każdego z obiektów, które system będzie w stanie identyfikować, • zbudowanie bazy wszystkich widoków wszystkich modeli, • pozyskanie danych wizualnych o scenie i na ich podstawie zrekonstruowanie widocznych powierzchni obiektów, np. z mapy głębi sceny (opracowanie algorytmu rekonstrukcji), opierając się na własnościach geometryczno-fotometrycznych powierzchni, które wystąpią w mapie głębi (zrekonstruowanie tych powierzchni), • spasowanie każdego z obiektów występujących na scenie z jednym (lub wieloma) widokami z bazy widoków (zwykle zakłada się pasowanie wyglądu każdego z obiektów na scenie z każdym widokiem z bazy). KONCEPCJA SFERY WIDOKOWEJ Z RZUTOWANIEM PERSPEKTYWICZNYM Elementy przestrzeni widokowej: mała i duża sfera oraz stożek widokowy Wprowadzamy nowy schemat budowy widokowej reprezentacji obiektów, odmienny od znanej z literatury koncepcji sfery widokowej (z rzutowaniem równoległym). Ten nowy schemat nazywamy koncepcją sfery widokowej z perspektywą (SWP) (z rzutowaniem środkowym), [15,19]. W dalszej części artykułu zakłada się, dla uproszczenia rozumowania, że obiektami, dla których tworzony jest model widokowy są nieprzezroczyste wielościany wypukłe. Rys. 1. Ilustracja do koncepcji „sfery widokowej z perspektywą” Idea tego schematu jest następująca: niech będzie dany obiekt O ze środkiem geometrycznym w punkcie (0,0,0), dla którego zamierzamy stworzyć reprezentację widokową. Opiszmy na tym obiekcie sferę (małą, o promieniu r) w taki sposób, by środki geometryczne obiektu O i tej sfery pokrywały się (wówczas co najmniej jeden wierzchołek wielościanu będzie leżał na sferze). Skonstruujmy stożek widokowy o kącie rozwarcia 2α i nałóżmy go na sferę — możliwie najbliżej wierzchołka (którym jest punkt widokowy PW). Rozważmy teraz taki ruch stożka widokowego, że stale obejmuje on ściśle (małą) sferę opiętą na obiekcie oraz, że sfera wraz z obiektem pozostają cały czas nieruchome. Wówczas wierzchołek stożka widokowego (punkt PW) zakreśli (dużą) sferę zwaną sferą widokową z perspektywą (SWP), rys.1. Stożek widokowy jest modelem obszaru widzenia obserwatora (kamery, układu wizualnego systemu rozpoznającego), dla którego właściwym jest postrzeganie rzeczy w rzutowaniu perspektywicznym, a nie równoległym. Punkt widokowy PW to położenie obserwatora, a zarazem środek rzutowania perspektywicznego. Promień R sfery widokowej zależy od kąta rozwarcia stożka widokowego 2α oraz promienia r (małej) sfery opiętej na obiekcie O zgodnie z następującym wzorem: R= r sin α r = maxi=1..k 2 xvi + yvi 2 + zvi 2 Sfera widokowa SWP jest więc miejscem geometrycznym punktu widokowego PW rzutowania środkowego przy założeniu maksymalnego wypełnienia pola widzenia stożka przez obiekt. Kierunkiem rzutowania (osią widokową) jest prosta przechodząca przez środek sfery SWP oraz wierzchołek rzutowania (punkt PW). (Kąt 2α rozwarcia stożka widokowego jest parametrem technicznym głowicy akwizycyjnej (kamery), za pomocą której pozyskiwane są wizualne dane wejściowe o scenie. Parametr ten uwzględniamy jednak już na etapie tworzenia modelu widokowego obiektu, by możliwie najbardziej odpowiadał informacji o scenie uzyskiwanej potem za pośrednictwem kamery.) Przedstawiona koncepcja sfery widokowej z perspektywą gwarantuje, że widoki obiektu zdejmowane są zawsze z tej samej odległości od środka obiektu, co w efekcie prowadzi do otrzymania zestawu zestandaryzowanych widoków perspektywicznych obiektu. Widok, aspekt, obszar jednowidokowy, kompletność reprezentacji Wybierzmy na sferze SWP dowolny punkt widokowy PW i obliczmy, które cechy wyróżnione obiektu są z tego punktu widoczne (przy zachowaniu kąta widzenia 2α). Zestaw widocznych wyróżnionych cech obiektu nazywamy widokiem, a ich wzajemny układ (w widoku) — aspektem. Widok jest ograniczony konturem widoku — linią oddzielającą część widoczną obiektu od części niewidocznej — w przypadku wielościanu jest to zbiór ostatnich widocznych krawędzi. Widoki uzyskane dla różnych punktów widokowych mogą się charakteryzować tym samym aspektem bądź kilkoma różnymi aspektami. Widoki mające ten sam aspekt uznajemy za identyczne, a o widokach różnych mówimy wtedy, gdy ich aspekty są różne. Zbiór punktów PW na sferze widokowej, dla których zdjęte widoki mają ten sam aspekt, nazywamy obszarem jednowidokowym, [15,19] (jest to spójny, wielokątny wycinek sfery). Relacja pomiędzy aspektami (czyli układami cech na powierzchni obiektu) a obszarami jednowidokowymi (na sferze) jest wzajemnie jednoznaczna: dany aspekt może być widziany z dokładnie jednego obszaru jednowidokowego oraz z każdego punktu danego obszaru jednowidokowego można zobaczyć tylko jeden aspekt obiektu. Oznacza to, że dla danego obiektu i wybranego zestawu jego cech wyróżnionych, liczba aspektów widokowych jest równa liczbie obszarów jednowidokowych na sferze widokowej. Zatem, pokrywając w pełni SWP obszarami jednowidokowymi otrzymujemy pełny zestaw aspektów widokowych, czyli mamy zapewnioną kompletność widokowej reprezentacji tego obiektu. W dalszych rozważaniach będziemy używać jeszcze dwóch następujących terminów odnoszących się do danego widoku: wianek nieznikania oraz wianek niepojawiania się. Wianek nieznikania jest utworzony przez te ściany widoczne, które przylegają do konturu widoku. Wianek niepojawiania się jest utworzony przez niewidoczne ściany obiektu przylegające do konturu widoku, [15,19]. Zmiana aspektu widoku następuje po takim przemieszczeniu punktu widokowego PW, które powoduje zmianę przynajmniej w jednym z wianków ścian. Rys. 2. Ilustracja pojęć: widok, obszar jednowidokowy, wianki ścian Pojęcie aspektu widoku oraz obszaru jednowidokowego w przestrzeni (na sferze) widokowej są jednymi z podstawowych pojęć widokowej reprezentacji obiektów. W naszej koncepcji generowania widoków, pojęcie obszaru jednowidokowego jest mechanizmem, który umożliwia osiągnięcie i stwierdzenie kompletności modelu widokowego. Dany obszar jednowidokowy ograniczony jest krawędziami (łukami na sferze), z których każda należy albo do tego obszaru albo do obszaru sąsiedniego (ale nigdy do obu obszarów jednocześnie). Wybrana krawędź należy do danego obszaru, gdy została ona utworzona przez płaszczyznę ściany wianka niepojawiania się, jeśli zaś krawędź leży na płaszczyźnie ściany wianka nieznikania, to jest częścią obszaru sąsiedniego. Obszar jednowidokowy można wyznaczyć na dwa sposoby: • bezpośredni — wyznacza się granice zamkniętego obszaru na sferze widokowej, takiego, że z każdego jego punktu widać ten sam aspekt, • pośredni, incydentalny — wyznacza się położenia PW, dla których określone ściany modelu są widoczne jako linie, a określone krawędzie jako punkty, czyli znajduje się przejścia między sąsiednimi obszarami jednowidokowymi. Warunki widoczności ścian dla wielościanu wypukłego Aby ściana wielościanu wypukłego była (w pełni) widoczna, muszą być spełnione dwa następujące warunki: • cała ściana musi znajdować się w stożku widokowym, czyli kąt widzenia ściany, βi, musi być nie większy od kąta α półrozwarcia stożka widokowego kamery (βi < α), • kąt między wektorem normalnym ściany i tworzącą stożka widokowego musi być większy od kąta π prostego (θi > ). 2 OBLICZANIE OBSZARÓW JEDNOWIDOKOWYCH PRZY UŻYCIU KONCEPCJI STOŻKÓW DOPEŁNIAJĄCYCH Wprowadźmy jeszcze jedno nowe pojęcie — stożka dopełniającego. W przypadku ogólnym (dla całego modelu) stożek dopełniający to stożek współosiowy ze stożkiem widokowym, o wierzchołku w punkcie (0,0,0), tworzącej prostopadłej do tworzącej stożka widokowego i podstawie wspólnej ze stożkiem widokowym. Dla brył regularnych spełniony jest warunek, że kierunki wektorów normalnych ścian widocznych mieszczą się w kącie rozwarcia stożka dopełniającego, natomiast kierunki wektorów normalnych ścian niewidocznych są poza tym stożkiem. W sytuacji, gdy punkt widokowy porusza się po sferze widokowej, zmieniają swe położenie także stożek widokowy i stożek dopełniający, natomiast nieruchome pozostają model obiektu i wektory normalne jego ścian. Przy określonym torze ruchu punktu widokowego (wzdłuż pewnego koła wielkiego sfery widokowej) można wskazać ten wektor normalny, który jako pierwszy zetknie się z powierzchnią tworzącą stożka dopełniającego (wskutek ruchu tegoż stożka). Płaszczyzna ściany, która mu odpowiada, tworzy jedną krawędź obszaru jednowidokowego, tą, którą przetnie punkt widokowy poruszając się w ustalonym kierunku. Rys. 3. Poruszanie punktem widokowym W przypadku brył nieregularnych nie dla wszystkich widoków zachowana jest własność, że w tak skonstruowanym stożku dopełniającym mieszczą się zawsze wektory normalne ścian widocznych, a wektory normalne ścian niewidocznych są poza stożkiem. Aby rozwiązanie uogólnić na wszystkie widoki wielościanów wypukłych należało „zindywidualizować” stożki widokowe i dopełniające. Indywidualny stożek widokowy jest określony dla każdej ściany z obu wianków — jego osią jest nadal oś widokowa, a wierzchołkiem punkt widokowy, ale jego kąt rozwarcia jest mniejszy: wyznacza go nowa tworząca, która przechodzi przez ten z wierzchołków ściany, który jest najbardziej oddalony od osi widokowej. Tym najbardziej oddalonym wierzchołkiem będzie jeden z końców krawędzi konturu widoku. Indywidualny stożek dopełniający ma tą samą oś i wierzchołek (w punkcie (0,0,0)), a jego tworząca jest prostopadła do tworzącej indywidualnego stożka widokowego. Rys. 4. Stożki indywidualne Stożki indywidualne mogą zostać użyte w ten sposób, że po wyliczeniu widoku i wianków ścian, dla każdej z tych ścian wyznacza się parę stożków indywidualnych. Następnie oblicza się kąt jaki tworzy wektor normalny ściany z tworzącą indywidualnego stożka dopełniającego dla ściany. Gdy znane są kąty dla wszystkich ścian wianków, wybiera się spośród nich ten, który jest najmniejszy. Płaszczyzna odpowiadającej mu ściany utworzy jedną krawędź obszaru jednowidokowego. PODSUMOWANIE Przedstawiliśmy nową koncepcję automatycznego generowania dokładnych 2 21 W reprezentacji widokowych 3W obiektów, przeznaczonych do identyfikacji wizualnej, zwaną sferą widokową z rzutowaniem perspektywicznym. Różni się ona od znanej z literatury sfery widokowej (z rzutowaniem równoległym) tym, że wprowadza takie parametry tworzenia modeli, jakie występują na etapie pozyskiwania danych wizualnych o scenie (przez system kamerowy): rzutowanie perspektywiczne, kąt rozwarcia stożka widokowego. Naturalnym wynikiem zastosowania tej koncepcji jest standaryzacja widoków (wszystkie widoki obiektu są zdejmowane z tej samej odległości od środka obiektu) i narzucenie warunku na pozyskiwanie danych wizualnych (obiekt powinien wypełniać pole widokowe kamery). Zaproponowana przez nas realizacja tej koncepcji generowania widokowej reprezentacji obiektów umożliwia wypełnienie jednego z jej podstawowych wymogów: kompletności reprezentacji (kompletności zbioru widoków ze względu na cechy obiektów wyróżnione w danym zadaniu identyfikacji). BIBLIOGRAFIA 1990 [1] Bowyer K.W., Dyer Ch.R.: Aspect Graphs: An Introduction and Survey of Recent Results, SPIE, 1395 [2] Chen S., Freeman H.: Computing Characteristic Views of Quadric-surfaced Solids, Proc. 10th Int. PR, pp. 77–82 [3] Gigus Z., Malik J.: Computing the Aspect Graph for Line Drawings of Polyhedral Objects, IEEE Trans. PAMI, 12(2), pp. 113–122 [4] Stewman J.H., Bowyer K.W.: Direct Construction of the Perspective Projection Aspect Graph of Convex Polyhedra, CVGIP, 51(1), pp. 20–37 1991 [5] Flynn P.J., Jain A.K.: CAD-Based Computer Vision: from CAD Models to Relational Graphs, IEEE Trans. PAMI, 13(2), pp. 114–132 [6] Flynn P.J., Jain A.K.: BONSAI: 3D Object Recognition Using Constained Search, IEEE Trans. PAMI, 13(10), pp. 1166–1175 [7] Gigus Z., Canny J., Seidel R.: Efficiently Computing and Representing Aspect Graph of Polyhedral Objects, IEEE Trans. PAMI, 13(6), pp. 542–551 1992 [8] Koch R.: Model-based 3D Scene Analysis from Stereoscopic Image Sequences, Proc. Int. Soc. Photogram. Remote Sens. (Washington, DC), Aug. [9] Ponce J., Petitjean S., Kriegman D.J.: Computing Exact Aspect Graphs of Curved Objects, Proc. ECCV'92, Santa Margarita Ligure, Italy, LNCS, 588, pp. 599–614 1994 [10] Ambroszkiewicz S.: Rozpoznawanie wielościanów wypukłych w oparciu o mapę głębi, Raport Prace IPI PAN, nr 748, Warszawa [11] Kriegman D.J., Ponce J.: Representations for Recognizing Complex Curved 3D Objects, Object Representation in Computer Vision. Proc. Int. NSF-ARPA Workshop, NY, pp. 125–138, Dec. [12] Pentland A., Sclaroff S.: Object Recognition and Categorization Using Model Matching, Proc. Second CAD-Based Vision Workshop, pp. 258–265, Feb. 1995 [13] Shashua A.: Multiple-View Geometry and Photometry, Proc. 2nd Asian Conf. on CV, ACCV'95, Singapore, pp. 395–404, Dec. [14] Xiaobu Y.: A Mechanism of Automatic 3D Object Modelling, IEEE Trans. PAMI, 17(3), pp. 307– 311 1996 [15] Dąbkowska M., Mokrzycki W.S.: Generowanie widoków 3W obiektów do systemu wizualnej identyfikacji. Raport Prace IPI PAN, nr 809, Warszawa [16] Hlavač V., Leonardis A., Werner T.: Automatic Selection of Reference Views for Image-Based Scene Representations, Proc. 4th ECCV'96, vol. 1, Cambridge, UK, LNCS, 1064, pp. 526–535, Apr. [17] Rothwell C., Mundy J., Hoffman B.: Representing Objects Using Topology, Proc. Int. Workshop ECCV'96, Cambridge, UK, pp. 79–108, Apr. [18] Tarabanis K., Tsai R.Y., Kaul A.: Computing Occlusion-Free Viewpoints, IEEE Trans. PAMI, 18(3), pp. 279–292 1997 [19] Dąbkowska M., Mokrzycki W.S.: A Multiview Model of Convex Polyhedra, MG&V, 6(4), pp. 419–450 [20] Dorai C., Weng J., Jain A.K.: Optimal Registration of Object Views Using Range Data, IEEE Trans. PAMI, 19(10), pp. 1131–1138 [21] Madsen C.B., Christensen H.I.: A Viewpoint Planning Strategy for Determining True Angles on Polyhedral Objects by Camera Alignment, IEEE Trans. PAMI, 19(2), pp. 158–163 [22] Shimshoni I., Ponce J.: Finite-Resolution Aspect Graph of Polyhedral Objects, IEEE Trans. PAMI, 19(4), pp. 315–327 1998 [23] Dąbkowska M., Mokrzycki W.S.: Generowanie widoków wielościanów wypukłych z bezpośrednim wyznaczaniem obszarów jednowidokowych, Raport Prace IPI PAN, nr 861, Warszawa [24] Fitzgibbon A.W., Cross G., Zisserman A.: Automatic 3D Model Construction For Turn-Table Sequences, http://www.robots.ox.ac.uk/∼vgg, pp. 1–16 [25] Kovačič S., Leonardis A.: Planning Sequences of Views For 3D Object Recognition and Pose Determination, PR, 31(10), pp. 1407–1417