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

48
System obsługi prezentacji multimedialnej wykorzystujący kamerę cyfrową Szymon Kossak Opieka naukowa: prof. dr hab. inż. Przemysław Rokita

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ą

Page 1: 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

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

Politechnika Warszawska Warszawa 2007

2

Plan prezentacji

Prezentacja multimedialna Architektura systemu Opis działania Plany i możliwości rozwoju Pytania i odpowiedzi

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

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

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

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 …

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

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

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

Politechnika Warszawska Warszawa 2007

6

Prezentacja multimedialna (4)

Wybrane zagadnienia: Umiejscowienie projektora

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

Politechnika Warszawska Warszawa 2007

7

Prezentacja multimedialna (4)

Wybrane zagadnienia: Umiejscowienie projektora

Możliwość w pełni automatycznej korekcji zniekształceń perspektywicznych

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

Politechnika Warszawska Warszawa 2007

8

Prezentacja multimedialna (4)

Wybrane zagadnienia: Umiejscowienie projektora

Możliwość w pełni automatycznej korekcji zniekształceń perspektywicznych

Niska rozdzielczość …

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

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

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

Politechnika Warszawska Warszawa 2007

10

Prezentacja multimedialna (4)

Wybrane zagadnienia:

Umiejscowienie projektora

Niska rozdzielczość Obsługa prezentacji

?

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

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

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

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

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

Politechnika Warszawska Warszawa 2007

13

Plan prezentacji

Prezentacja multimedialna Architektura systemu Opis działania Plany i możliwości rozwoju Pytania i odpowiedzi

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

Politechnika Warszawska Warszawa 2007

14

Architektura systemu

Koncepcja

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

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ą

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

Politechnika Warszawska Warszawa 2007

16

Architektura systemu (3)

Typowa kamera internetowa Interfejs USB Matryca CCD 0,3MPix 30fps przy rozdzielczości VGA

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

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

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

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

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

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.

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

Politechnika Warszawska Warszawa 2007

20

Plan prezentacji

Prezentacja multimedialna

Architektura systemu Opis działania Plany i możliwości rozwoju Pytania i odpowiedzi

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

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

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

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

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

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

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

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)

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

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

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

Politechnika Warszawska Warszawa 2007

26

Kalibracja położenia (4)

Wykrywanie narożników

Obraz tła Obraz różnicowy

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

Politechnika Warszawska Warszawa 2007

27

Kalibracja położenia (5)

Wykrywanie narożników

Obraz z oznaczonymi narożnikami ekranu projekcji

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

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

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

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

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

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

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

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

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

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

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

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

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

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’)

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

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)

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

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

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

Politechnika Warszawska Warszawa 2007

37

Obsługa gestów (4)

‘Proste gesty’ Klasa Gesture – główne założenia:

Nagrywanie ruchu/ gestu

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

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

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

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)

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

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

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

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

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

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

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

Politechnika Warszawska Warszawa 2007

43

Plan prezentacji

Prezentacja multimedialna

Architektura systemu

Opis działania Plany i możliwości rozwoju Pytania i odpowiedzi

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

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

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

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)

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

Politechnika Warszawska Warszawa 2007

46

Pytania

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

Politechnika Warszawska Warszawa 2007

47

Dziękuję za uwagę !

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

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