480 likes | 665 Views
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.
E N D
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 Politechnika Warszawska Warszawa 2007
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
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
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
Prezentacja multimedialna (4) Wybrane zagadnienia: • Umiejscowienie projektora • … Politechnika Warszawska Warszawa 2007
Prezentacja multimedialna (4) Wybrane zagadnienia: • Umiejscowienie projektora • Możliwość w pełni automatycznej korekcji zniekształceń perspektywicznych Politechnika Warszawska Warszawa 2007
Prezentacja multimedialna (4) Wybrane zagadnienia: • Umiejscowienie projektora • Możliwość w pełni automatycznej korekcji zniekształceń perspektywicznych • Niska rozdzielczość • … Politechnika Warszawska Warszawa 2007
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
Prezentacja multimedialna (4) Wybrane zagadnienia: • Umiejscowienie projektora • Niska rozdzielczość • Obsługa prezentacji • ? Politechnika Warszawska Warszawa 2007
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
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
Plan prezentacji • Prezentacja multimedialna • Architektura systemu • Opis działania • Plany i możliwości rozwoju • Pytania i odpowiedzi Politechnika Warszawska Warszawa 2007
Architektura systemu • Koncepcja Politechnika Warszawska Warszawa 2007
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
Architektura systemu (3) • Typowa kamera internetowa • Interfejs USB • Matryca CCD 0,3MPix • 30fps przy rozdzielczości VGA Politechnika Warszawska Warszawa 2007
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
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
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
Plan prezentacji • Prezentacja multimedialna • Architektura systemu • Opis działania • Plany i możliwości rozwoju • Pytania i odpowiedzi Politechnika Warszawska Warszawa 2007
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
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
Kalibracja położenia • 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 Politechnika Warszawska Warszawa 2007
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
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 jedynie4 punkty na obrazie z kamery • Nie może rozświetlać otoczenia ekranu Politechnika Warszawska Warszawa 2007
Kalibracja położenia (4) • Wykrywanie narożników Obraz tła Obraz różnicowy Politechnika Warszawska Warszawa 2007
Kalibracja położenia (5) • Wykrywanie narożników Obraz z oznaczonymi narożnikami ekranu projekcji Politechnika Warszawska Warszawa 2007
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 punktamimamy więc 8 współrzędnych Politechnika Warszawska Warszawa 2007
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
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
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
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
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
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
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
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
Obsługa gestów (4) • ‘Proste gesty’ • Klasa Gesture – główne założenia: • Nagrywanie ruchu/ gestu Politechnika Warszawska Warszawa 2007
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
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
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
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
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
Plan prezentacji • Prezentacja multimedialna • Architektura systemu • Opis działania • Plany i możliwości rozwoju • Pytania i odpowiedzi Politechnika Warszawska Warszawa 2007
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
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
Pytania Politechnika Warszawska Warszawa 2007
Dziękuję za uwagę ! Politechnika Warszawska Warszawa 2007
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 Politechnika Warszawska Warszawa 2007