Upload
hasana
View
38
Download
0
Embed Size (px)
DESCRIPTION
System obsługi prezentacji multimedialnej wykorzystujący kamerę cyfrową. Szymon Kossak Opieka naukowa: prof. dr hab. inż. Przemysław Rokita. Plan prezentacji. Prezentacja multimedialna Architektura systemu Opis działania Plany i możliwości rozwoju Pytania i odpowiedzi. - PowerPoint PPT Presentation
Citation preview
System obsługi prezentacji multimedialnej wykorzystujący kamerę cyfrową
Szymon KossakOpieka naukowa: prof. dr hab. inż. Przemysław Rokita
Politechnika Warszawska Warszawa 2007
2
Plan prezentacji
Prezentacja multimedialna Architektura systemu Opis działania Plany i możliwości rozwoju Pytania i odpowiedzi
Politechnika Warszawska Warszawa 2007
3
Prezentacja multimedialna
Prezentacja jest to proces przekazywania słuchaczom treści o zadanej tematyce
Prezentacja jest to dokument w postaci elektronicznej przedstawiający dany temat
Politechnika Warszawska Warszawa 2007
4
Prezentacja multimedialna (2)
Co jest potrzebne:
Komputer (lub inne źródło): Oprogramowanie (PowerPoint, Keynote) Plik z prezentacją Interfejs
Projektor cyfrowy Wskaźnik …
Politechnika Warszawska Warszawa 2007
5
Prezentacja multimedialna (3)
Co może sprawiać problemy?
Komputer (lub inne źródło) Oprogramowanie Plik z prezentacją Interfejs (?)
Projektor cyfrowy(?)
Wskaźnik
Politechnika Warszawska Warszawa 2007
6
Prezentacja multimedialna (4)
Wybrane zagadnienia: Umiejscowienie projektora
…
Politechnika Warszawska Warszawa 2007
7
Prezentacja multimedialna (4)
Wybrane zagadnienia: Umiejscowienie projektora
Możliwość w pełni automatycznej korekcji zniekształceń perspektywicznych
Politechnika Warszawska Warszawa 2007
8
Prezentacja multimedialna (4)
Wybrane zagadnienia: Umiejscowienie projektora
Możliwość w pełni automatycznej korekcji zniekształceń perspektywicznych
Niska rozdzielczość …
Politechnika Warszawska Warszawa 2007
9
Prezentacja multimedialna (4)
Wybrane zagadnienia: Umiejscowienie projektora
Możliwość w pełni automatycznej korekcji zniekształceń perspektywicznych
Niska rozdzielczość Zbudowanie dużego obrazu przy pomocy kilku
rzutników + automatyczna ich kalibracja
Politechnika Warszawska Warszawa 2007
10
Prezentacja multimedialna (4)
Wybrane zagadnienia:
Umiejscowienie projektora
Niska rozdzielczość Obsługa prezentacji
?
Politechnika Warszawska Warszawa 2007
11
Prezentacja multimedialna (5)
Obsługa prezentacji – obserwacje: Mało intuicyjna lub skomplikowana obsługa Mamy swoje przyzwyczajenia i nawyki
Ręczna obsługa Ręczne wskazywanie, zaznaczanie i pisanie
Bezpośredni kontakt Ruch budzi zainteresowanie
Politechnika Warszawska Warszawa 2007
12
Prezentacja multimedialna (5)
Dobry system powinien zapewniać (w jak największym stopniu):
Intuicyjność Ergonomię i swobodę obsługi Bezpośredni kontakt
Politechnika Warszawska Warszawa 2007
13
Plan prezentacji
Prezentacja multimedialna Architektura systemu Opis działania Plany i możliwości rozwoju Pytania i odpowiedzi
Politechnika Warszawska Warszawa 2007
14
Architektura systemu
Koncepcja
Politechnika Warszawska Warszawa 2007
15
Architektura systemu (2)
Niezbędne elementy systemu: Komputer Projektor cyfrowy Kamera usb Wskaźnik laserowy
Działanie: Rejestrowanie obrazu z kamery
Rozpoznawanie ruchu wskaźnika
Sterowanie prezentacją
Politechnika Warszawska Warszawa 2007
16
Architektura systemu (3)
Typowa kamera internetowa Interfejs USB Matryca CCD 0,3MPix 30fps przy rozdzielczości VGA
Politechnika Warszawska Warszawa 2007
17
Architektura systemu (3)
Typowa kamera internetowa Interfejs USB Matryca CCD 0,3MPix 30fps przy rozdzielczości VGA
Wskaźnik laserowy Niewielkie rozmiary Niedrogi i popularnie wykorzystywany podczas
prezentacji Punkt wskaźnika jest wyraźnie widoczny na tle
rzucanego przez projektor obrazu
Politechnika Warszawska Warszawa 2007
18
Architektura systemu (4)
OpenCV - biblioteka funkcji wykorzystywanych podczas obróbki obrazu, opartą o otwarty kod i zapoczątkowaną przez firmę Intel.
Ważne cechy: Wieloplatformowość Zoptymalizowana dla przetwarzania obrazu w czasie
rzeczywistym Umożliwia prostą obsługę kamery Wspomaga obróbkę i segmentację obrazu Wiele innych
Politechnika Warszawska Warszawa 2007
19
Architektura systemu (5)
SharperCV – projekt prowadzony przez Computer Science Department, Rhodes University.
Założenia: Opakowanie najbardziej przydatnych funkcji OpenCV Nowoczesne języki i środowiska programistyczne
(C# i platforma .NET)
Wydajność możliwie zbliżona do OpenCV Przyjazność i prostota (wygodne klasy, garbage collector)
Niestety zaprzestano prac nad projektem.
Politechnika Warszawska Warszawa 2007
20
Plan prezentacji
Prezentacja multimedialna
Architektura systemu Opis działania Plany i możliwości rozwoju Pytania i odpowiedzi
Politechnika Warszawska Warszawa 2007
21
Opis działania systemu
Kalibracja Położenia ekranu
względem kamery Jasności
Obsługa gestów Segmentacja i rozpoznawanie Rejestrowanie ruchu Proste gesty
Politechnika Warszawska Warszawa 2007
22
Opis działania - Kalibracja
Lokalizacja ekranu projekcji na obrazie z kamery i znalezienie odwzorowania homograficznego(na ekran komputera)
Stabilizacja obrazui wyznaczenie progujasności
Politechnika Warszawska Warszawa 2007
23
Algorytm detekcji narożników Harris’a/Plessey’a Analiza wartości własnych λ1 i λ2 macierzy M wykazała,
że dla miejsc obrazu zawierających narożniki, obie wartości λ1 i λ2 przyjmują duże wartości
Macierz składa się z sum (w otoczeniu 3x3) gradientów funkcji jasności I
2
2
y
I
y
I
x
I
y
I
x
I
x
I
M
Kalibracja położenia
Politechnika Warszawska Warszawa 2007
24
Kalibracja położenia (2)
Użyty algorytm detekcji narożników:
Dla każdego punktu oblicz min(λ1,λ2) tworząc obraz wartości własnych E
Na obrazie E pozostaw jedynie lokalne maksima (w najbliższym sąsiedztwie 3x3)
Odnajdź największą wartość max(E) i odrzuć wszystkie mniejsze od 0,1 • max(E)
Odnajdź 4 punkty o największych wartościach własnych, aby odległości między nimi przekraczały 80 pikseli (metryka euklidesowa)
Politechnika Warszawska Warszawa 2007
25
Kalibracja położenia (3)
System wykorzystuje możliwość wyświetlania na ekranie dowolnych kształtów
Algorytm detekcji narożników pracuje na obrazie różnicowym powstałym z obrazów przed i po wyświetleniu obrazu kalibrującego
Cechy dobrego obrazu kalibrującego: Powinien wyraźnie wskazać systemowi
jedynie 4 punkty na obrazie z kamery Nie może rozświetlać otoczenia ekranu
Politechnika Warszawska Warszawa 2007
26
Kalibracja położenia (4)
Wykrywanie narożników
Obraz tła Obraz różnicowy
Politechnika Warszawska Warszawa 2007
27
Kalibracja położenia (5)
Wykrywanie narożników
Obraz z oznaczonymi narożnikami ekranu projekcji
Politechnika Warszawska Warszawa 2007
28
Kalibracja położenia (6)
Odnalezienie przekształcenia homograficznego – pozwoli wyznaczyć pozycję wskaźnika na ekranie komputera
Rzutowanie punktu (perspektywa):
8 niewiadomych Założenie: dysponujemy 4 różnymi punktami
mamy więc 8 współrzędnych
Politechnika Warszawska Warszawa 2007
29
Kalibracja położenia (7)
Wyznaczanie a, b, c, d, e, f, g i h
(xi, yi), i = 1..3 – cztery znane nam punkty W, H – rozdzielczość rzucanego obrazu
Politechnika Warszawska Warszawa 2007
30
Kalibracja jasności
Pozwala na: Zminimalizowanie wpływu
Oświetlenia pomieszczenia Jasności projektora
Stabilizacja jasności obrazu – poprzez blokadę automatycznej regulacji ekspozycjikamery – wyłączenie jej po osiągnięciu możliwie niskiej wartości
Ustalenie progu jasności, poniżej którego obraz traktowany jest jako tło
Politechnika Warszawska Warszawa 2007
31
Opis działania systemu
KalibracjaPołożenia ekranu względem kamery
Jasności Obsługa gestów
Segmentacja i rozpoznawanie Rejestrowanie ruchu Proste gesty
Politechnika Warszawska Warszawa 2007
32
Obsługa gestów
Segmentacja i rozpoznawanie Obserwacja 1: punkt wskaźnika laserowego na
obrazie z kamery osiąga bardzo wysoką jasność (niemal biel, najintensywniejsza składowa czerwona)
Obserwacja 2: jeśli na obrazie znajduje się taki punkt, to najjaśniejszy piksel go lokalizuje
Politechnika Warszawska Warszawa 2007
33
Obsługa gestów
Segmentacja i rozpoznawanie Obserwacja 1: punkt wskaźnika laserowego na
obrazie z kamery osiąga bardzo wysoką jasność (niemal biel, najintensywniejsza składowa czerwona)
Obserwacja 2: jeśli na obrazie znajduje się taki punkt, to najjaśniejszy piksel go lokalizuje
Krok 1: Pobranie składowej czerwonej obrazu Krok 2: Odrzucenie tła przez progowanie (przy
użyciu wartości odnalezionej podczas kalibracji) Krok 3: Odnalezienie najjaśniejszego punktu
Politechnika Warszawska Warszawa 2007
34
Obsługa gestów (2)
Rejestrowanie ruchu Ruch lasera rejestrowany na potrzeby
rozpoznawania gestów powinien być ciągły (nieprzerwany kształt stworzony jednym ‘pociągnięciem’)
Politechnika Warszawska Warszawa 2007
35
Obsługa gestów (2)
Rejestrowanie ruchu Ruch lasera rejestrowany na potrzeby
rozpoznawania gestów powinien być ciągły (nieprzerwany kształt stworzony jednym ‘pociągnięciem’)
W rzeczywistości jest on często zbiorem oderwanych, pojedynczych punktów - tak na obrazie, jak i w wymiarze czasu (wynika to z niedoskonałości czasu reakcji niedrogich matryc)
Politechnika Warszawska Warszawa 2007
36
Obsługa gestów (3)
Rejestrowanie ruchu System działa w 2 trybach:
Oczekiwanie na ruch– test każdej napływającej ramki decyduje o zmianie trybu
Rejestrowanie ruchu– pozytywny wynik testu zawsze interpretowany jest jako kontynuacja ruchu– negatywny wynik ignorowany jest przez pewną ustaloną liczbę ramek (zliczanie ramek ‘pustych’)– dopiero po przekroczeniu tej liczby następuje decyzja o zakończeniu się ruchu
Politechnika Warszawska Warszawa 2007
37
Obsługa gestów (4)
‘Proste gesty’ Klasa Gesture – główne założenia:
Nagrywanie ruchu/ gestu
Politechnika Warszawska Warszawa 2007
38
Obsługa gestów (4)
‘Proste gesty’ Klasa Gesture – główne założenia:
Nagrywanie ruchu/ gestu Porządkowanie punktów oraz normalizacja
rozmiaru i położenia
Politechnika Warszawska Warszawa 2007
39
Obsługa gestów (4)
‘Proste gesty’ Klasa Gesture – główne założenia:
Nagrywanie ruchu/ gestu Porządkowanie punktów oraz normalizacja
rozmiaru i położenia Udostępnienie różnych form reprezentacji gestu:
– Podstawowe parametry: kierunek i zwrot
– Zbiór punktów (uporządkowany w czasie)
– Binarna reprezentacja kształtu - bitmapa
– Reprezentacje wektorowe (np. współrzedne wektora lub kierunek i długość wektora)
Politechnika Warszawska Warszawa 2007
40
Obsługa gestów (5)
‘Proste gesty’
Do klasyfikacji tych gestów wystarczy znać kąt wektora rozpiętego pomiędzy punktami początku i końca ruchu
Politechnika Warszawska Warszawa 2007
41
Obsługa gestów (5)
‘Proste gesty’
Do klasyfikacji tych gestów wystarczy znać kąt wektora rozpiętego pomiędzy punktami początku i końca ruchu
Możliwe użycie innych prostych właściwości jak na przykład środek ciężkości
Politechnika Warszawska Warszawa 2007
42
Opis działania systemu
KalibracjaPołożenia ekranu względem kamery
Jasności
Obsługa gestówSegmentacja i rozpoznawanie
Rejestrowanie ruchu
Proste gesty
Politechnika Warszawska Warszawa 2007
43
Plan prezentacji
Prezentacja multimedialna
Architektura systemu
Opis działania Plany i możliwości rozwoju Pytania i odpowiedzi
Politechnika Warszawska Warszawa 2007
44
Plany i możliwości rozwoju
Plany w ramach pracy naukowej Eksperymenty w ramach obsługi gestów
(testy skuteczności, spostrzeżenia, wnioski) Dla różnych reprezentacji gestu Dla różnych metod klasyfikacji
Politechnika Warszawska Warszawa 2007
45
Plany i możliwości rozwoju
Plany w ramach pracy naukowej Eksperymenty w ramach obsługi gestów
(testy skuteczności, spostrzeżenia, wnioski) Dla różnych reprezentacji gestu Dla różnych metod klasyfikacji
Dalsze plany Gadżety Zaawansowana segmentacja (pozwalająca
wykryć szybki ruch wskaźnika)
Politechnika Warszawska Warszawa 2007
46
Pytania
Politechnika Warszawska Warszawa 2007
47
Dziękuję za uwagę !
Politechnika Warszawska Warszawa 2007
48
Bibliografia
Raskar R., Beardsley P., A Self Correcting Projector, IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR), grudzień 2001, ss. 504-508
Popovich E., Karni Z. [red. Gotsman C.], PresenterMouse LASER-Pointer Tracking System, www.mpi-inf.mpg.de/~karni/presentermouse/report.pdf, 26 maj 2007
Parks D., Gravel J-P. of Faculty of Engineering at McGill University, Corner Detectors - Harris/Plessey Operator, www.cim.mcgill.ca/~dparks/CornerDetector/harris.htm, 5 czerwiec 2008
Prof. Wentworth P., Zhao X., Computer Science Dept, Rhodes University, SharperCV Project, www.cs.ru.ac.za/research/groups/SharperCV, 5 czerwiec 2008