Katedra Inżynierii Wiedzy Wykład 4
O czym dzisiaj? Natural User Interface; Virtual Reality (VR); Augmented Reality (AR);
UI - User Interface działanie bezpośrednie - użytkownik porozumiewa się bezpośrednio z obiektami - np. przeciągnięcie pliku do kosza; wybór z menu - wybór jednej z opcji dostępnych w obiekcie menu; wypełnienie formularza - wypełnienie pól/odpowiedź na pytania prowadzi do pewnej akcji; język poleceń - wydawanie specjalnych poleceń (wraz z parametrami) umożliwiających podjęcie akcji systemu; język naturalny - wydawanie poleceń w języku naturalnym.
UI podział Text User Interface (TUI) klawiatura i tekst; Graphical User Interface (GUI) wskaźnik (myszka) i wyświetlacz graficzny; Voice User Interface (VUI) mikrofon i głośnik; Natural User Interface (NUI) gesty odczytywane przy pomocy kontrolera; Reality User Interface (RUI) elementy noszone przez użytkownika.
Nazwa Kinect for Xbox 360; Kinect; pierwotnie określany jako Projekt Natal; Powstanie i platforma docelowa Konsola Xbox; siódma generacja konsol; sprzedaż od października 2010; Inne urządzenia Wii Remote Plus; Playstation Move; Playstation Eye;
Rysunek: Kinect - budowa
Klawiatura, mysz, pad, joystick - są to typowe i najbardziej rozpowszechnione kontrolery do gier. Pojawienie się Ninteno Wii w 2006 roku zmieniło tę sytuację. Konsola znana jest głównie ze swojego bezprzewodowego kontrolera, pilota Wii, który może być używany jako urządzenie wskazujące i może wykrywać ruch w trzech wymiarach. Sony Move, który jest niejako następcą Ninteno Wii to właściwie zbliżone urządzenie o znacznie większej dokładności.
Motion Capture - czyli jak działa Kinect? technika stosowana w filmach i grach komputerowych; przechwytywanie ruchów aktorów w przestrzeni trójwymiarowej; zapis poszczególnych sekwencji ruchowych. Rysunek: Standardowy Motion Capture
Motion Capture w Kinect 48 charakterystycznych punktów na ciele człowieka (głownie stawy), ciało przedstawione jako szkielet składający się z punktów i kresek, wymagana wcześniejsza kalibracja urządzenia - rozpoznawanie sylwetki. Rysunek: Kinect Motion Capture
Rysunek: Kinect - w środku W środku: kamera RGB, kamera IR (podczerwień) do pomiaru głębi, źródło światła IR - dioda laserowa z dyfuzorem, zestaw mikrofonów (z funkcją redukcji echa), silnik do regulacji pochylenia urządzenia.
Rysunek: Schemat blokowy urządzenia ze strony http://www.primesense.com/?p=514
Rozdzielczość kamer kamera RGB: 1600x1200 (UXGA), kamera IR do pomiaru głębi: 1200x960 (VGA). Rozdzielczość 3D zakres głębi: od 0, 8m do 3, 5m, rozdzielczość x/y: 3mm (w odległości 2m), rozdzielczość z: 1cm (w odległości 2m). Pole widzenia w pionie: 57 stopni, w poziomie: 53 stopnie, przekątna: 70 stopni.
Przykładowe aplikacje Prosta aplikacja do sortowania i przeglądania zdjęć, Mapa 2D z możliwością przybliżania, oddalania i wyznaczania trasy przy pomocy kliknięcia: wskazanie ręką punktu początkowego oraz punktu docelowego, Płynny obrót modelu 3D - np. tomografia (z uwzględnieniem obrotu, zbliżenia oraz oddalenia obiektu), Złożona aplikacja, w której interfejs użytkownika ograniczony jest do minimum, a sterowanie programem odbywa się z wykorzystaniem Kinect.
Virtual Reality (VR) Sztuczne środowisko, które odbierane jest jednocześnie przez kilka zmysłów. Rysunek: Pierwsze urządzenie przedstawione jako Virtual reality device (prototyp zbudowany w 1962 roku). źródło: sensorama3d.com
Historia VR Headsight VR 1961r; Sword of Damocles 1968r, pierwszy zestaw VR / AR; nazwa VR 1987r.; automaty do gier z VR początek lat 90; SEGA VR 1993r.; Nintendo Virtual Boy 1995r. Occulus Rift 2016r.
Podział VR brak immersji prezentacja informacji bazująca np. na GPS (google earth); systemy hybrydowe bazujące na rzeczywistości rozszerzonej świat rzeczywisty z nałożonymi elementami, tzw. graphics on top of real world ; systemy immersyjne obecność wewnątrz symulacji.
VR vs AR zastąpienie rzeczywistości vs dodanie nowych, wirtualnych elementów do świata rzeczywistego; pełna immersja vs brak immersji (uwaga, w przypadku vr też można mówić o braku immersji); szerokie pole widzenia vs wąskie pole widzenia (poszerzamy widok o dodatkowe elementy tylko w niewiekim obszarze);
Rysunek: GUI vs VR vs AR
Augmented Reality - AR połączenie świata rzeczywistego oraz obiektów generowanych komputerowo; interaktywność w czasie rzeczywistym; Virtuality Continuumźdefiniowane w 1994 przez P. Milgrama i F. Kishino; wszystko pomiędzy światem rzeczywistym a rzeczywistością wirtualną określamy jako rzeczywistość mieszaną.
Rysunek: GUI vs VR vs AR * P. Milgram, H. Takemura, A. Utsumi, F. Kishino, Augmented Reality: A class of displays on the reality-virtuality continuum, 1994.
Aplikacje AR podział Marker-based - znaczniki w rzeczywistych lokacjach wykorzystywane najczęściej jako reklamy, rzadziej jako gry terenowe; pomiar aktywności użytkowników; Marker-less AR - bazujące na kamerze i na pomiarach GPS (plus kompas) pozwalające ustalić najbliższe otoczenie użytkownika; Augmented vision AR - czujniki: akcelerometr, żyroskop, ciśnienie, ruch, elementy odzieży pozwalające na pomiar funkcji (np. funkcji życiowych).
Poszerzamy możliwości interfejsu czujniki w telefonie Kategorie czujników czujniki ruchu ruch urządzenia, czyli np. żyroskop lub akcelerometr; czujniki środowiskowe czyli informacje o środowisku, w jakim obecnie znajduje się urządzenie: wilgotność, temperatura, oświetlenie czy ciśnienie; czujniki pozycji orientacja i magnetometr; czujniki kompozytowe bazujące na kilku innyczh czujnikach fizycznych
Kilka ciekawych przykładów akcelerometr przyspieszenie urządzenia (oś x, y oraz z), zatem jeżeli telefon spada, to uwzględniamy też czujnik grawitacji; popychając telefon leżący na stole zmieniamy wartość x na dodatnią; żyroskop obrót urządzenia wokół każdej z trzech osi; heart rate czujnik uderzeń serca w sytuacji, kiedy osoba dotyka ekranu urządzenia; oświetlenie oświetlenie telefonu w luksach; odległość / bliskość (proximity) dystans do najbliższej powierzchni; czujnik kompozytowy detektor kroków korzysta najczęściej z akcelerometru;
Co z sensorami w naszym urządzeniu? klasa SensorManager i dostęp do czujników z usługi systemowej getsystemservice; przyda się też znajomość kolekcji List do pobierania listy czujników List<Sensor> sensorlist; pobranie listy czujników przy pomocy metody getsensorlist; możemy pobrać wszystko: TYPE ALL, lub konkretny zestaw / czujnik: TYPE GRAVITY, TYPE HEART RATE, TYPE LIGHT; żeby korzystać z czujnika potrzebujemy nasłuchiwać danych, zatem przyda się konstrukcja znana nam z onclicklistener, ale tym razem będzie to SensorEventListener.
Pomysły interfejs do gry/aplikacji dla osoby niewidomej/niedowidzącej; interfejs do gry tekstowej; interfejs użytkownika do gry planszowej; interfejs do gry bazującej na Natural User Interface; interfejs do gry zmieniający się na bazie wyborów gracza; interfejs do gry przygodowej retro.
Dziękuję za uwagę