Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Szymon Kossak Opieka naukowa: prof. dr hab. inż. Przemysław Rokita

Podobne prezentacje


Prezentacja na temat: "Szymon Kossak Opieka naukowa: prof. dr hab. inż. Przemysław Rokita"— Zapis prezentacji:

1 Szymon Kossak Opieka naukowa: prof. dr hab. inż. Przemysław Rokita
System obsługi prezentacji multimedialnej wykorzystujący kamerę cyfrową Witam wszystkich. Dziękuję serdecznie za przyjście. Nazywam się.. Na dzisiejszej prezentacji przedstawię efekty moich prac związanych z tematem wspomagania obsługi prezentacji multimedialnych. W zasadzie 2 część/kontynuacja prezentacji z poprzedniego semestru Szymon Kossak Opieka naukowa: prof. dr hab. inż. Przemysław Rokita

2 Politechnika Warszawska Warszawa 2007
Plan prezentacji Prezentacja multimedialna Architektura systemu Opis działania Plany i możliwości rozwoju Pytania i odpowiedzi Pkt 1 - nawiązanie do poprzedniej prez. Co to prezentacja, co potrzebne, problemy, omawiane ostatnio zagadnienia i mój pomysł ułatwienie prezentowania Następnie rozwinięcie czyli ogólny zarys, koncepcja, użyte technologie Opis- najważniejsze elem rozpoznawania Co jeszcze pozostało do zrobienia, jakie są pomysły rozwoju Na koniec może zostanie trochę czasu na Państwa pytania 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 Prezentacja – jako proces lub dokument Proces – ‘prezentowanie’ przedstawianie pewnej tematyki Dok - w zasadzie zbiór slajdów, które +komentarz tworzą prezentację klasyczną Co potrzebujemy? 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 Może krzesła dla słuchaczy.. i poduszki 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 Problem głównie z interfejsem i projektorem. Zajmowałem się proj. - wybór miejsca (spotkanie biznesowe, seminarium) - niska rozdzielczość – niewielkie formaty - szczegółowa grafika, schematy, animacje, reklamy Politechnika Warszawska Warszawa 2007

6 Prezentacja multimedialna (4)
Wybrane zagadnienia: Umiejscowienie projektora obraz jak najmniej zniekształcony - korekcja perspektywy – zwykle tylko trapez równoramienny - rzutnik pod/nad ekranem - zwykle dobrze gdzieś w centrum Sali (ekran skierowany jest do słuchaczy) - nie może jednak zasłaniać - kable ! bez przedłużacza – PROBLEM Politechnika Warszawska Warszawa 2007

7 Prezentacja multimedialna (4)
Wybrane zagadnienia: Umiejscowienie projektora Możliwość w pełni automatycznej korekcji zniekształceń perspektywicznych System na obrazie z kamery lokalizował położenie ekranu oraz obrazu z projektora i odnajdywał taką homografię, aby w rezultacie otrzymać obraz prosty Politechnika Warszawska Warszawa 2007

8 Prezentacja multimedialna (4)
Wybrane zagadnienia: Umiejscowienie projektora Możliwość w pełni automatycznej korekcji zniekształceń perspektywicznych Niska rozdzielczość Wymaganie dużego ekranu (duża prezentacja reklamująca coś, chcemy widzieć szczegóły, symulatory, zapalony gracz ;) Rozwiązanie szybkie w zestawieniu i uruchomieniu Jak? Odpowiedzią było 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 Dokładniej przedstawiony był system kalibrujący 4 projektory, ale możliwości są bardzo duże (była wzmianka o systemie z 24 projektorami) Politechnika Warszawska Warszawa 2007

10 Prezentacja multimedialna (4)
Wybrane zagadnienia: Umiejscowienie projektora Niska rozdzielczość Obsługa prezentacji ? Więc ostatnio skupiłem się na projektorze, sam chcę wspomóc obsługę Jakie są MOJE spostrzeżenia i pomysły w kwestii tego problemu ? 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 Mało intuicyjna -żeby dobrze kontrolować prezentację, potrzeba klawiatury -myszką w powietrzu nie uda się zrobić wszystkiego -pilot - prosty czasem nie wystarczy, skomplikowany - trudny Przyzwyczajenia i nawyki -lubimy tablicę - możemy po niej bazgrać jak tylko chcemy - wkładamy trochę wysiłku, dodaje wartości treści - KONTAKT -folie - też wchodzimy w kontakt z ‘nośnikiem inf.’ - można wskazywać, zaznaczać i ZASŁANIAĆ :) - zasłaniamy - symulujemy tablicę -projektor - trudniej uzyskać ten efekt - też chcielibyśmy wskazać PALUCHEM (ok. mamy wskaźnik) - zaintrygować zasłaniając i bezpośrednio to kontrolując (a nie tylko klik klik i pojawia się tekst) Mniej cyfrowo, bardziej analogowo i namacalnie Poza tym RUCH, nie możemy być uwiązani 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 Założenia dobrego systemu wspierającego prezentowanie - Intuicja – bez dłuższego zastanowienia coś robimy, zaskakuje nas odpowiednią reakcją - Prostota i wygoda - Wrażenie namacalności Politechnika Warszawska Warszawa 2007

13 Politechnika Warszawska Warszawa 2007
Plan prezentacji Prezentacja multimedialna Architektura systemu Opis działania Plany i możliwości rozwoju Pytania i odpowiedzi Więc tyle we wstępie Zarys, koncepcja, technologie Politechnika Warszawska Warszawa 2007

14 Politechnika Warszawska Warszawa 2007
Architektura systemu Koncepcja 3 elementy niemal zawsze obecne podczas prezentowania - komputer, projektor, wskaźnik (i oczywiście ekran) Dodaktowo potrzebna jest niedroga kamerka, która skierowana będzie na ekran tak, aby obraz w pełni go obejmował (często kamerki wbudowane w laptopach) 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ą Czyli tak, potrzebujemy 4 elementy System ma działać w ‘prosty’ sposób Ci się pod tym kryje? Krótka charakterystyka sprzętu i technologii programistycznej Politechnika Warszawska Warszawa 2007

16 Architektura systemu (3)
Typowa kamera internetowa Interfejs USB Matryca CCD 0,3MPix 30fps przy rozdzielczości VGA System będzie współpracował z każdą typową kamerą usb Usb - da się podlaczyc ;P W miare dobry obraz.. W zasadzie najważniejsze (zawsze akwizycja jest najważniejsza) W zasadzie fps wiąże się z przetwornikami A/C 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 Cechy wskaźnika 2 pierwsze – zalety, które zachęcają do kupna kamery i wypróbowania systemu Istotna jest ostatnia – wskaźnik cechuje wysoka jasność, nawet w stosunku do rzutnika 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 Inne jak: Segmentation and Recognition Face Recognition Motion Tracking Structure from motion 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. Korzystam z c# ponieważ - Wygodny i prosty, wręcz beztroski - Ciekawe mechanizmy, np. delegates - Zintegrowane z platformą, dzięki czemu niewiarygodnie banalne tworzenie okienek ‘nakładek’ - Komunikacja z innymi aplikacjami – klasa SendKeys - Nowoczesny – pełne wsparcie dla Visty w .NET 3.0 - Oczywiście, nie wszystko się da, ale szczerze lubię ten język Politechnika Warszawska Warszawa 2007

20 Politechnika Warszawska Warszawa 2007
Plan prezentacji Prezentacja multimedialna Architektura systemu Opis działania Plany i możliwości rozwoju Pytania i odpowiedzi Opowiem jak wykorzystałem wszystko przed chwilą opisane 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 Najważniejsze elementy systemu, czyli kalibracja rozstawienia elementów oraz rozpoznawanie i obsługa gestów. Politechnika Warszawska Warszawa 2007

22 Opis działania - Kalibracja
Lokalizacja ekranu projekcji na obrazie z kamery i znalezienie odwzorowania homograficznego (na ekran komputera) Stabilizacja obrazu i wyznaczenie progu jasności Kamera widzi mniej więcej taki obraz. Znalezienie obrazu może być łatwe. Mamy pełną kontrolę nad tym co wyświetlamy, więc nad tym co oglądamy w kamerze. Uniezależnienie od warunków oświetlenia i otoczenia jest dużo trudniejsze. Zaczniemy od lokalizacji narożników ekranu. Politechnika Warszawska Warszawa 2007

23 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 Do wykrycia narożników wykorzystano funkcję z pakietu SharperCV opartą na algorytmie Harris’a/Plessey’a Najważniejszy – wniosek – obie wartości własne powinny być duże, wtedy narożnik jest wyraźniejszy 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) Obie wartości własne duże, więc mniejsza z nich musi być odpowiednio duża :) 3 krok – tzw quality – zapewnienie jakości narożników przez odrzucenie szumu 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 Jak działa kalibracja Jaki obraz wybrać Eksperymenty z prostokatami i 4 kwadratami (coś o pierwszej koncepcji) Przypomnialem sobie ze znam tez inne figury geometryczne Czas na przykład .. 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 Tak wygląda po detekcji narożników.. Co dalej z tymi punktami? 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 Rzutowanie sprowadza się to obliczenia dwóch równań Grafika komputerowa, algebra, macierze transformacji homograficznych 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 Podstawiamy wszystkie 10 wartości Obracamy macierz i mnożymy przez wektor po prawej stronie. Potrafimy się odnaleźć w przestrzeni kamery. Jesteśmy PRAWIE gotowi do wykrywania punktu. Politechnika Warszawska Warszawa 2007

30 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 ekspozycji kamery – 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 Powiem jak działa.. Politechnika Warszawska Warszawa 2007

31 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 Teraz troszkę o rozpoznawaniu punktu lasera, a później rejestrowaniu ruchu Politechnika Warszawska Warszawa 2007

32 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 Obserwacje, na których w zasadzie opiera się system Segmentacja i rozpoznawanie składa się z 3 prostych kroków Politechnika Warszawska Warszawa 2007

33 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 Krok 3 jest swojego rodzaju testem dla każdej ramki odpowiadającym na pytanie czy jest widoczny punkt wskaźnika czy nie. To na tyle z segmentacji i lokalizacji punktu. Przejdźmy do rejestracji ruchu Politechnika Warszawska Warszawa 2007

34 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’) Jakie ruchy bierzemy pod uwagę? Definicja ruchu lasera Politechnika Warszawska Warszawa 2007

35 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) (Oraz czasu ekspozycji ?) Może narysowac cos na tablicy Politechnika Warszawska Warszawa 2007

36 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 – 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 Można pomyslec o plynnej zmianie czulosci. Wraz z uplywem czasu od ostatniego wykrycia punktu maleje p-stwo kolejnego wykrycia. Można zwiekszyc czulosc (obnizyc prog) w otoczeniu ostatniego miejsca. Czyli mamy już rozpoznawanie ciaglego ruchu lasera. Pora na przekazanie zgromadzonych danych dalej. Politechnika Warszawska Warszawa 2007

37 Politechnika Warszawska Warszawa 2007
Obsługa gestów (4) ‘Proste gesty’ Klasa Gesture – główne założenia: Nagrywanie ruchu/ gestu Na potrzeby gromadzenia informacji o rejestracji ruchu powstała klasa Gesture. Podstawa – nagrywanie informacji o ruchu. Politechnika Warszawska Warszawa 2007

38 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 Nie tylko zachowanie kolejności, ale przesunięcie i zeskalowanie gestu do prostokąta o stałym, ustalonym wymiarze. Ideałem byłoby wygładzanie krzywej i jednostajne rozmieszczanie punktów. Politechnika Warszawska Warszawa 2007

39 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

40 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 Najprostsze gesty oparte jedynie na teście kierunku i zwrotu ruchu w oparciu o jego początek i koniec. Politechnika Warszawska Warszawa 2007

41 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 Można wtedy uzupełnić zestaw o łuki/łamane (co najmniej 8) Powinno udać się również rozpoznać okrąg. 13 kszałtów to dosyć bogaty zestaw. Politechnika Warszawska Warszawa 2007

42 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 OK.. Takie są główne zasady działania systemu. To wszystko jest w tej chwili zaimplementowane. Były pewne trudności.. Dokumentacja SharperCV, blokada ekspozycje bezpośrednio przez DirectShow (interfejs COM), mnóstwo testów Politechnika Warszawska Warszawa 2007

43 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

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 Na przykład bitmapa i klasyfikacja z wykorzystaniem PCA 10/20 jednostajnie rozmieszczonych punktów i klasyfikator najbliższego sąsiedztwa To samo na wektorach (zmniejszenie wplywu położenia, zwięk. wpływu kształtu) Tylko na kierunkach wektorów (skoro wszystkie tej samej długości) 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) Menu pod ekranem :))) Rysowanie – zaznaczanie na prezentacji Rysowanie – tablica – kilka tablic (kilka stron do bazgrania) – wysuwanie tej tablicy (zasłananie prezentacji) Intuicyjność Ergonomię i swobodę obsługi Bezpośredni kontakt Politechnika Warszawska Warszawa 2007

46 Politechnika Warszawska Warszawa 2007
Pytania Politechnika Warszawska Warszawa 2007

47 Politechnika Warszawska Warszawa 2007
Dziękuję za uwagę ! Politechnika Warszawska Warszawa 2007

48 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 Popovich E., Karni Z. [red. Gotsman C.], PresenterMouse LASER-Pointer Tracking System, 26 maj 2007 Parks D., Gravel J-P. of Faculty of Engineering at McGill University, Corner Detectors - Harris/Plessey Operator, 5 czerwiec 2008 Prof. Wentworth P., Zhao X., Computer Science Dept,  Rhodes University, SharperCV Project, 5 czerwiec 2008 Politechnika Warszawska Warszawa 2007


Pobierz ppt "Szymon Kossak Opieka naukowa: prof. dr hab. inż. Przemysław Rokita"

Podobne prezentacje


Reklamy Google