System obsługi prezentacji multimedialnej wykorzystujący kamerę cyfrową

Post on 10-Jan-2016

36 views 0 download

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

Transcript of System obsługi prezentacji multimedialnej wykorzystujący kamerę cyfrową

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